Jump to content

Dastgir

Members
  • Posts

    331
  • Joined

  • Last visited

Everything posted by Dastgir

  1. Replace if (getequipname(1) == "") goto No_Head; with if (getequipname(EQI_HEAD_TOP) == "") goto No_Head;
  2. Weekend Double Exp Event: - script FloatingRates -1,{ OnInit: OnClock0001: if(gettime(4)==6 || gettime(4)==0 ) { set .br,getbattleflag("base_exp_rate")*2; set .jr,getbattleflag("job_exp_rate")*2; setbattleflag("base_exp_rate"), .br; setbattleflag("job_exp_rate"), .jr; atcommand "@reloadmobdb"; end; } if(gettime(4) == 1) { announce "Weekend Exp Event is finished",bc_all,0xFF6060; atcommand "@reloadbattleconf"; atcommand "@reloadmobdb"; } end; OnMinute02: if(gettime(4)==6 || gettime(4)==0 ) { announce "Weekend Exp Event(Base:"+.br/100+"x, Job:"+.jr/100+"x) is active!!",bc_all,0xFF6060; } end; }
  3. Hey Ryu, Sorry But Am Linking to this topic: http://rathena.org/b...luas-new-items/ I have uploaded full lua decompiled. EDIT: Is it really kro files, my files doesn't seem to match with you. Maybe IRO File? Iteminfo.lua even shows view id till 872
  4. Added a Link for kRO Decompiled Lua(NOT TRANSLATED) (JUST CONVERTED TO LUA)
  5. You are using renewal mechs, comment all the#define lines in src/config/renewal.h
  6. Own map? Do you have the map?
  7. Take the Checksum of the new patcher with the tool provided,write that checksum in the main.ini PatcherSum= Then Open Thor Generator and pack it as Client/Patcher. Then In Main.ini put the name of thor generated at PatcherPath= eg.: PatcherPath=Patcher.thor
  8. In Thor Patcher, there's option below to choose Encoding As "Ascii" or "Unicode" If your text is something like "¾ÆÀÌÅÛ" Then Select Ascii, if your text are boxes or korean then select Unicode. And It should work fine.
  9. Simply that it will allow @warp to splendide and allow @warp from splendide.
  10. Ha... Fake Annie Account?? Anyways Dicastes Field monster : http://svn.rathena.org/svn/rathena/trunk/npc/re/mobs/fields/dicastes.txt Remove splendide mapflag restricted 7 From /conf/mapflag/restricted.txt So you can use warp in splendide.as well as warp to splendide!!
  11. http://rathena.org/board/user/5816-crystaleye/page__tab__topics
  12. Your Script is wrongly setup, Suppose @gain = 1 @bonus = 1 @deduction = 3 then set @gain, @gain + @bonus - @deduction; i.e 1+1-3 = -1 set gold, gold + @gain ; it is gold - 1 = Gold Minused. And you have set @gain,rand (.@maxgaingold); it will randomize from 0-.@maxgaingold Maybe its ur default behaviour you want. Anyways player should also have earn the gold points.(Script gives gold points) Just A Little modification you can do Change this if(@gain){ dispbottom "-|You got: " +@gain+ " gold| - |Total: " +gold+ " gold|- "; }else{ dispbottom "-|You got: NOTHING! |- "; } To if(@gain==0){ dispbottom "-|You got: NOTHING! |- "; }else{ dispbottom "-|You got: " +@gain+ " gold| - |Total: " +gold+ " gold|- "; } so it will show even if you lose points.
  13. Can you tell error in map-server? To Change Timer Simply Change OnTimer20000: 20000 means 20 seconds. to remove timer remove these lines, attachnpctimer ""+strcharinfo(0)+""; initnpctimer; And OnTimer20000: atcommand "@kick "+strcharinfo(0); end;
  14. Its just not useful because one can only get location and sprite info, which is easy to get via logging in and just doing "/where" how can it leak the functioning of the script? Functioning should be manually checked, there's no info on grf which shows npc functioning.!!
  15. I also had the same problem, THEN I REALIZED THAT KEEPING TOO MANY NPC IN A MAP, causes that problem, I mean basically, the client does not handle to show too many npcs in such a small view area. So just lessen some npcs from main town.
  16. Add this in atcommand.c ACMD_FUNC(clear) { int i; if(!message || !*message) { clif_displaymessage(fd,"Usage: @clear inventory|cart|storage|gstorage"); return 0; } if (sd->state.storage_flag == 1) { clif_displaymessage(fd, msg_txt(250)); return -1; } if (strcmp (message,"cart") == 0){ nullpo_retr(-1,sd); if (pc_iscarton(sd) == 0) { clif_displaymessage(fd, msg_txt(1396)); // You do not have a cart to be cleaned. return -1; } if (sd->state.vending == 1) { //Somehow... return -1; } for( i = 0; i < MAX_CART; i++ ){ if(sd->status.cart[i].nameid > 0){ pc_cart_delitem(sd, i, sd->status.cart[i].amount, 1, LOG_TYPE_OTHER); } } clif_clearcart(fd); clif_updatestatus(sd,SP_CARTINFO); clif_displaymessage(fd, msg_txt(1397)); // Your cart was cleaned. return 0; } else if (strcmp (message,"storage") == 0){ int j; nullpo_retr(-1,sd); j = sd->status.storage.storage_amount; for (i = 0; i < j; ++i) { storage_delitem(sd, i, sd->status.storage.items[i].amount); } storage_storageclose(sd); clif_displaymessage(fd, msg_txt(1394)); // Your storage was cleaned. return 0; } else if (strcmp (message,"gstorage") == 0){ int j; struct guild *g; struct guild_storage *gstorage; nullpo_retr(-1,sd); g = guild_search(sd->status.guild_id); if (g == NULL) { clif_displaymessage(fd, msg_txt(43)); return -1; } if (sd->state.storage_flag == 2) { clif_displaymessage(fd, msg_txt(251)); return -1; } gstorage = guild2storage2(sd->status.guild_id); if (gstorage == NULL) {// Doesn't have opened @gstorage yet, so we skip the deletion return -1; } j = gstorage->storage_amount; gstorage->lock = 1; // Lock @gstorage: do not allow any item to be retrieved or stored for (i = 0; i < j; ++i) { guild_storage_delitem(sd, gstorage, i, gstorage->items[i].amount); } storage_guild_storageclose(sd); gstorage->lock = 0; // Cleaning done, release lock clif_displaymessage(fd, msg_txt(1395)); // Your guild storage was cleaned. return 0; } else if (strcmp (message,"inventory") == 0){ nullpo_retr(-1, sd); for (i = 0; i < MAX_INVENTORY; i++) { if (sd->status.inventory[i].amount && sd->status.inventory[i].equip == 0) { pc_delitem(sd, i, sd->status.inventory[i].amount, 0, 0, LOG_TYPE_COMMAND); } } clif_displaymessage(fd, msg_txt(20)); // All of your items have been removed. return 0; } else{ clif_displaymessage(fd, "Command Usage: @clear inventory|cart|storage|gstorage"); return 0; } } and Add this, ACMD_DEF(clear), Hope you know where to put it.! I won't suggest "all" option.
  17. ------ src/map/status.h ----- #ifdef RENEWAL # define MAX_REFINE 20 #else # define MAX_REFINE 10 #endif If Renewal, Change "20" to "100". If Pre-Renewal, Change "10" to "100". Recompile There are various methods in script. Use this in your script 1) for ( .@i = 1; .@i <= 100; .@i = .@i +1){ successrefitem <equipment slot>; } OR 2) atcommand "@refine <equipment Slot> 100";
  18. Its a source code ofcourse, I will make it 2hours later(will reach home in 2 hours), if someone makes a patch before me its good, otherwise wait for me. Here's my Source Code: 1) Battle.c Add This { "castrate_dex_scale2", &battle_config.castrate_dex_scale2, 150, 1, INT_MAX, }, Below { "mob_size_influence", &battle_config.mob_size_influence, 0, 0, 1, }, Around 5800 line. 2) Battle.h Add this int castrate_dex_scale2; // added by [Dastgir Pojee] Below int castrate_dex_scale; // added by [MouseJstr] Line 348 3) Skill.c Find // calculate base cast time (reduced by dex) if( !(skill_get_castnodex(skill_id, skill_lv)&1) ) { Replace the if contents with if( !(skill_get_castnodex(skill_id, skill_lv)&1) ) { int scale; if (sd->status.class_ >= 4054 && sd->status.class_ <= 4112){scale = battle_config.castrate_dex_scale2 - status_get_dex(bl);} else{scale = battle_config.castrate_dex_scale - status_get_dex(bl);} if( scale > 0 ) // not instant cast if (sd->status.class_ >= 4054 && sd->status.class_ <= 4112){time = time * scale / battle_config.castrate_dex_scale2;} else{time = time * scale / battle_config.castrate_dex_scale;} else return 0; // instant cast } Line 13690 Then Find default: if (battle_config.delay_dependon_dex && !(delaynodex&1)) Replace two If Contents with (there is if condition below this one also.) if (battle_config.delay_dependon_dex && !(delaynodex&1)) { // if skill delay is allowed to be reduced by dex int scale; if (sd->status.class_ >= 4054 && sd->status.class_ <= 4112){scale = battle_config.castrate_dex_scale2 - status_get_dex(bl);} else{ scale = battle_config.castrate_dex_scale - status_get_dex(bl);} if (scale > 0) if (sd->status.class_ >= 4054 && sd->status.class_ <= 4112){time = time * scale / battle_config.castrate_dex_scale2;} else{time = time * scale / battle_config.castrate_dex_scale;} else //To be capped later to minimum. time = 0; } if (battle_config.delay_dependon_agi && !(delaynodex&1)) { // if skill delay is allowed to be reduced by agi int scale = battle_config.castrate_dex_scale - status_get_agi(bl); if (sd->status.class_ >= 4054 && sd->status.class_ <= 4112){int scale = battle_config.castrate_dex_scale2 - status_get_agi(bl);} else{ int scale = battle_config.castrate_dex_scale - status_get_agi(bl);} if (scale > 0) if (sd->status.class_ >= 4054 && sd->status.class_ <= 4112){time = time * scale / battle_config.castrate_dex_scale2;} else{time = time * scale / battle_config.castrate_dex_scale;} else //To be capped later to minimum. time = 0; } Add castrate_dex_scale2: 180 in skill.conf Diff File:3rd Job Castrate.diff
  19. Just enable the showerror In config/errors.php I guess, It will show you the exact error. Making it easy for us to solve ur problems.
  20. Treasure spawns at Midnight 12 from server time and is removed when woe starts.
  21. Just add rss feed on ur notice url, and it will be seen on the thor patcher.
  22. @ emong 83 C4 04 84 C0 0F 84 E3 00 00 00 is the hex code. No idea what to change to but maybe try 83 C4 04 84 C0 E9 E4 00 00 00 90 It was only 5 minute work to find it.
  23. Dastgir

    PIN Code

    1 thing is , its irritating to players, because when someone enters a number, the number changes its position, and player have to find where the new number is located.
×
×
  • Create New...