Jump to content

Brian

Members
  • Posts

    2223
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by Brian

  1. There is a guide on the wiki: Compiling.
  2. trunk/src/common/mmo.h edit the YYYYMMDD to your new packet version. #ifndef PACKETVER #define PACKETVER 20120410 #endif
  3. Yes, last time I checked this worked. trunk/npc/scripts_guild.conf For example: (only Prontera 3 is open) // -------------------------------------------------------------- // - Guild Wars - // -------------------------------------------------------------- // ----------------------- War of Emperium ---------------------- // - Guild WoE time settings npc: npc/guild/agit_controller.txt // - Guild NPC Template file npc: npc/guild/agit_main.txt // - Al De Baran // npc: npc/guild/aldeg_cas01.txt // npc: npc/guild/aldeg_cas02.txt // npc: npc/guild/aldeg_cas03.txt // npc: npc/guild/aldeg_cas04.txt // npc: npc/guild/aldeg_cas05.txt // - Geffen // npc: npc/guild/gefg_cas01.txt // npc: npc/guild/gefg_cas02.txt // npc: npc/guild/gefg_cas03.txt // npc: npc/guild/gefg_cas04.txt // npc: npc/guild/gefg_cas05.txt // - Payon // npc: npc/guild/payg_cas01.txt // npc: npc/guild/payg_cas02.txt // npc: npc/guild/payg_cas03.txt // npc: npc/guild/payg_cas04.txt // npc: npc/guild/payg_cas05.txt // - Prontera // npc: npc/guild/prtg_cas01.txt // npc: npc/guild/prtg_cas02.txt npc: npc/guild/prtg_cas03.txt // npc: npc/guild/prtg_cas04.txt // npc: npc/guild/prtg_cas05.txt // - Treasure Room Protection //npc: npc/guild/trs_rp.txt
  4. Is your request similar to this? http://www.eathena.ws/board/index.php?showtopic=214203 empbreak_test.txt
  5. /CeresCP/config.php //WOE // sun = sunday, mon = monday, tue = tuesday, wed = wednesday, thu = thursday, fri = friday, sun = sunday // place week_day(start_time, end_time) and a ';' between the times the freya default woe times is set as an example // there is no limit you can place as many as you want, no spaces are needed, but using it you can understand. $CONFIG['woe_time'] = 'tue(2100, 2300); sat(1600, 1800); ';
  6. trunk/npc/re/merchants/renters.txt
  7. Here's a gettime check you could add right after the NPC header: if (gettime(3) != 0) { mes "[sunglasses Trader]"; mes "zZzZZ zzZZZ ..."; mes " "; mes "(I am only awake between 12am - 1am.)"; close; } Or to actually disable/enable the NPC, you could add this before the end of the first NPC: OnInit: OnClock0100: if (gettime(3) != 0) disablenpc strnpcinfo(3); end; OnClock0000: enable strnpcinfo(3); end;
  8. All of the Linux shell scripts are in QUOTE boxes in post #1.
  9. Here you go: - script double_exp_2weeks -1,{ OnInit: // original Base/Job Exp and Drop Rates set .bexp_rate, 25; set .jexp_rate, 25; set .drop_rate, 25; if (atoi(gettimestr("%Y%m%d",9)) < 20130203) { setbattleflag "base_exp_rate", .bexp_rate*100 * 2; setbattleflag "job_exp_rate", .jexp_rate*100 * 2; setbattleflag "item_rate_common", .drop_rate*100 * 2; setbattleflag "item_rate_heal", .drop_rate*100 * 2; setbattleflag "item_rate_use", .drop_rate*100 * 2; setbattleflag "item_rate_equip", .drop_rate*100 * 2; setbattleflag "item_rate_card", .drop_rate*100 * 2; atcommand "@reloadmobdb"; announce "The Double Exp Event continues!", bc_all; } end; OnDay0203: // Feb 3 setbattleflag "base_exp_rate", .bexp_rate*100; setbattleflag "job_exp_rate", .jexp_rate*100; setbattleflag "item_rate_common", .drop_rate*100; setbattleflag "item_rate_heal", .drop_rate*100; setbattleflag "item_rate_use", .drop_rate*100; setbattleflag "item_rate_equip", .drop_rate*100; setbattleflag "item_rate_card", .drop_rate*100; atcommand "@reloadmobdb"; announce "The Double Exp Event has ended.", bc_all; end; } Set your original base/job/drop rates in lines 4-6. Set the date when the event will end on lines 8 and 23.
  10. Edit /fluxcp-1.0/themes/default/monster/view.php and remove these lines indicated: Index: themes/default/monster/view.php =================================================================== --- themes/default/monster/view.php (revision 1125) +++ themes/default/monster/view.php (working copy) @@ -200,8 +200,6 @@ <th>Delay</th> <th>Cancelable</th> <th>Target</th> - <th>Condition</th> - <th>Value</th> </tr> <?php foreach ($mobSkills as $skill): ?> <tr> @@ -213,14 +211,6 @@ <td><?php echo $skill['delay'] ?>s</td> <td><?php echo htmlspecialchars(ucfirst($skill['cancelable'])) ?></td> <td><?php echo htmlspecialchars(ucfirst($skill['target'])) ?></td> - <td><em><?php echo htmlspecialchars($skill['condition']) ?></em></td> - <td> - <?php if (!is_null($skill['value']) && trim($skill['value']) !== ''): ?> - <?php echo htmlspecialchars($skill['value']) ?> - <?php else: ?> - <span class="not-applicable">None</span> - <?php endif ?> - </td> </tr> <?php endforeach ?> </table>
  11. Fixed, thanks for letting us know! It was an IPB bug. http://community.invisionpower.com/resources/bugs.html/_/ip-board/upgrade-to-331-sql-error-r36907
  12. I think "Application" is for pre-defined programs that your router knows the ports of. (Ex: if you picked Remote Desktop Protocol, your router would know to open port 3389) Since "RO Server" is probably not listed, you should leave Application blank and enter the port numbers manually (just like you did). Did you start the login/char/map servers? Did you open ports 6900,6121,5121 in Windows Firewall on your computer?
  13. Correct, trunk/sql-files/main.sql creates a `guild_castle` for the default 8 guardians (visibleG0 - visibleG7). For 12 guardians, you should modify your SQL table to this: DROP TABLE IF EXISTS `guild_castle`; CREATE TABLE IF NOT EXISTS `guild_castle` ( `castle_id` int(11) unsigned NOT NULL default '0', `guild_id` int(11) unsigned NOT NULL default '0', `economy` int(11) unsigned NOT NULL default '0', `defense` int(11) unsigned NOT NULL default '0', `triggerE` int(11) unsigned NOT NULL default '0', `triggerD` int(11) unsigned NOT NULL default '0', `nextTime` int(11) unsigned NOT NULL default '0', `payTime` int(11) unsigned NOT NULL default '0', `createTime` int(11) unsigned NOT NULL default '0', `visibleC` int(11) unsigned NOT NULL default '0', `visibleG0` int(11) unsigned NOT NULL default '0', `visibleG1` int(11) unsigned NOT NULL default '0', `visibleG2` int(11) unsigned NOT NULL default '0', `visibleG3` int(11) unsigned NOT NULL default '0', `visibleG4` int(11) unsigned NOT NULL default '0', `visibleG5` int(11) unsigned NOT NULL default '0', `visibleG6` int(11) unsigned NOT NULL default '0', `visibleG7` int(11) unsigned NOT NULL default '0', `visibleG8` int(11) unsigned NOT NULL default '0', `visibleG9` int(11) unsigned NOT NULL default '0', `visibleG10` int(11) unsigned NOT NULL default '0', `visibleG11` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`castle_id`), KEY `guild_id` (`guild_id`) ) ENGINE=MyISAM;
  14. Here's an idea: edit the mob spawns in trunk/npc/re/mobs/dungeons/lhz_dun.txt and add an event label so when those monsters are killed, they trigger a script the script could do calculations for 1.5% drop rate and also calculate which random item to drop from an array 1. (this example is with the default lhz_dun04 mobs) You would edit your permanent monsters spawns for mob ID 2500-2520. lhz_dun04,0,0,0,0 monster Randel 2221,50,5000,0,"custom_lhz4_drops::OnLhz4MobDead" lhz_dun04,0,0,0,0 monster Flamel 2222,50,5000,0,"custom_lhz4_drops::OnLhz4MobDead" lhz_dun04,0,0,0,0 monster Celia 2223,50,5000,0,"custom_lhz4_drops::OnLhz4MobDead" lhz_dun04,0,0,0,0 monster Chen 2224,50,5000,0,"custom_lhz4_drops::OnLhz4MobDead" lhz_dun04,0,0,0,0 monster Gertie 2225,50,5000,0,"custom_lhz4_drops::OnLhz4MobDead" lhz_dun04,0,0,0,0 monster Alphoccio 2226,50,5000,0,"custom_lhz4_drops::OnLhz4MobDead" lhz_dun04,0,0,0,0 monster Trentini 2227,50,5000,0,"custom_lhz4_drops::OnLhz4MobDead" 2. the custom drop script: - script custom_lhz4_drops -1,{ OnInit: // list the item_id of your equips here setarray .items[0], 2607,2285,5170; end; OnLhz4MobDead: if (rand(1000) < 15) { // 1.5% chance set .@item_id, .items[rand(getarraysize(.items))]; if (checkweight(.@item_id,1)) { getitem .@item_id,1; } else { getmapxy(.@map$,.@x,.@y,0); makeitem .@item_id,1, .@map$,.@x,.@y; } } end; }
  15. In that case, you could use compare: - script quit_pt -1,{ OnPcDieEvent: if (compare(strcharinfo(3),"1@synav") && getcharid(0) == getpartyleader(getcharid(1),2)) warpparty "prontera",150,150,getcharid(1); end; }
  16. in phpMyAdmin: click the Import tab next to "Browse your computer", click the button and browse to the SQL upgrade file on your computer (ex: upgrade_svn17086.sql) click the Go button at the bottom (repeat for any additional SQL upgrade files)
  17. An installer for kRO files? or rAthena server files? This sounds kind of like what CalciumKid had been doing with the Miruku client. I forget which program he used to make the multi-part installer that had 3 .cab files).
  18. That only blocks Assumptio on GvG maps (they can still cast it in town, then enter the WoE castle). Instead, you could use a script to remove SC_ASSUMPTIO when they enter guild castles: - script remove_assumptio -1,{ OnPCLoadMapEvent: if (getmapflag(strcharinfo(3),mf_gvg)) sc_end SC_ASSUMPTIO; end; } aldeg_cas01 mapflag loadevent aldeg_cas02 mapflag loadevent aldeg_cas03 mapflag loadevent aldeg_cas04 mapflag loadevent aldeg_cas05 mapflag loadevent gefg_cas01 mapflag loadevent gefg_cas02 mapflag loadevent gefg_cas03 mapflag loadevent gefg_cas04 mapflag loadevent gefg_cas05 mapflag loadevent payg_cas01 mapflag loadevent payg_cas02 mapflag loadevent payg_cas03 mapflag loadevent payg_cas04 mapflag loadevent payg_cas05 mapflag loadevent prtg_cas01 mapflag loadevent prtg_cas02 mapflag loadevent prtg_cas03 mapflag loadevent prtg_cas04 mapflag loadevent prtg_cas05 mapflag loadevent nguild_alde mapflag loadevent nguild_gef mapflag loadevent nguild_pay mapflag loadevent nguild_prt mapflag loadevent schg_cas01 mapflag loadevent schg_cas02 mapflag loadevent schg_cas03 mapflag loadevent schg_cas04 mapflag loadevent schg_cas05 mapflag loadevent arug_cas01 mapflag loadevent arug_cas02 mapflag loadevent arug_cas03 mapflag loadevent arug_cas04 mapflag loadevent arug_cas05 mapflag loadevent
  19. There is also a guide on the wiki: @go.
  20. Brian

    Idle command

    I support this suggestion. Since sd->idletime already exists, it would be easy to expose that data to a script command and @command. I agree.
  21. I think logs should be write-only (only INSERT sql queries; never UPDATE or DELETE). Only in database, the struct will be the same for all items, being stackable with a pointer having its unique uid for each item, which will be used for non stackable as well to save a little ram. Yea that's what I was thinking too--NOT stacking them in sql, so each can be a separate row with its own unique_id (and the server "stacks" them before sending the inventory list to the client). A /db/ file to list which stackable items will be tracked with UIDs sounds like the most user-friendly way. I suggest LIFO (pick the stackable item with the highest unique_id). I think this would fit the majority of trades/transfers involving multiple stackable items.
  22. Brian

    Mapflag NPC

    I wrote this a few years ago, before @mapflag was created: test_setmapflag.txt It's missing newer mapflags and it could be improved (like PMing the npc instead of clicking it).
  23. It's because both of those files contain SQL queries for 2 databases, "ragnarok" and "logs". If you have all your tables in 1 database, you can execute the SQL Upgrade files as-is. If you have 2 separate databases (ragnarok & logs), then make sure you execute queries for picklog on the "logs" database.
  24. There is a check in @monster that prevents you from spawning an Emperium: trunk/src/map/atcommand.c if (mob_id == MOBID_EMPERIUM) { clif_displaymessage(fd, msg_txt(83)); // Monster 'Emperium' cannot be spawned. return -1; } To allow @monster 1288, delete those lines and recompile.
  25. @Glitch_: I just read your post today, and I will look into it now. I forgot to put the variable name in quotes ... "$#halloween_event" Here is your script with that fixed: http://rathena.kpaste.net/e752021?raw
×
×
  • Create New...