Jump to content

AnnieRuru

Members
  • Posts

    2044
  • Joined

  • Last visited

  • Days Won

    51

Everything posted by AnnieRuru

  1. prontera,155,185,5 script kjsdhfskfh 1_F_MARIA,{ sc_start SC_INCMSPRATE,1000,100; end; } tested on rAthena, this increase my maximum SP by 100% for 1 second no idea why you say it gives base SP ... I tested with a swordsman equip whole body with wilow_card swordsman lv50, 111 SP -> click on NPC = 222 SP boosted with lots of wilow_card, 1141 SP -> 2282 SP boosted with service for you, 1975 SP -> 3386 SP ... ok this one questionable (58%) probably because the shitty way how we add the value btw nice to know some members still using hercules, thought that forum dead think should go back hercules support more and less on rathena forum ...
  2. [Status]: Map Server is now online. [Info]: Received Fame List of '0' characters. [Status]: Received '35' guild castles from char-server. [Info]: 'AnnieRuru' logged in. (AID/CID: '2000000/150000', IP: '127.0.0.1', Group '99'). [Status]: Done reading '15' zones in 'db/re/map_zone_db.conf'. [Info]: Done loading '1009' NPCs: -'0' Warps -'0' Shops -'1009' Scripts -'0' Spawn sets -'0' Mobs Cached -'0' Mobs Not Cached [Status]: Event 'OnInit' executed with '70' NPCs. [Status]: Event 'OnInterIfInit' executed with '0' NPCs. [Status]: Event 'OnInterIfInitOnce' executed with '0' NPCs. [Status]: NPC_Event:[OnAgitStart] Run (22) Events by @AgitStart. [Status]: NPC_Event:[OnAgitEnd] Run (22) Events by @AgitEnd. [Status]: NPC_Event:[OnAgitStart] Run (22) Events by @AgitStart. db/re/map_zone_db.conf is hercules only you have (24) ... you have 2 more OnAgitStart, I can understand 1 is from previous script, but you have 1 more extra try find that one out [Info]: HCP: War of Emperium has been initiated. hmm ... from smokey's or dastgir's hercules battleground ? don't think so, what does battleground has to do with woe LOL it come from something else
  3. the screenshot was tested on hercules setunitdata .@mobid, UDT_HP, 5; setunitdata .@mobid, UDT_MAXHP, 5; UDT_ is hercules constant
  4. OnAgitInit: requestguildinfo getcastledata("guild_vs2", CD_GUILD_ID); end; // xsa missing end??? OnRecvCastle123: flagemblem getcastledata("guild_vs2", CD_GUILD_ID); end; no, its not missing end, its call fall through if you do like this, the flag emblem will not load when the server startup the same with the label OnEmpBreak: the way you do it, the emperium wont respawn whenever someone break the emperium /* db\castle_db.txt 99,guild_vs2,guild_vs2 Test Castle,test flag,1 */ guild_vs2,52,52,4 script test flag GUILD_FLAG,{ dispbottom "========================="; .@gid = getcastledata("guild_vs2", 1); //CD_GUILD_ID == rathena , 1 == hercules dispbottom "owner of the castle : "+( ( .@gid )? "["+ getguildname(.@gid) +"]" : "<none>" ); dispbottom "agit check : "+( ( agitcheck() )?"on":"off" ); dispbottom "gvg_castle mapflag : "+( ( getmapflag( strcharinfo(3), mf_gvg_castle )?"on":"off" ) ); dispbottom "========================="; end; OnInit: if ( agitcheck() == false && !getcastledata("guild_vs2", 1) || agitcheck() == true ) donpcevent strnpcinfo(0)+"::OnAgitStart"; setmapflag "guild_vs2", mf_gvg_castle; flagemblem getcastledata("guild_vs2", 1); setarray .mob, 1646,3, // Lord Knight Seyren 1647,3, // Assassin Cross Eremes 1648,3, // Whitesmith Harword 1649,3, // High Priest Magaleta 1650,3, // Sniper Shecil 1651,3, // High Wizard Katrinn 2235,3, // Paladin Randel 2236,3, // Creator Flamel 2237,3, // Professor Celia 2238,3, // Champion Chen 2239,3, // Stalker Gertie 2240,3, // Clown Alphoccio 2241,3; // Gypsy Trentini .mobsize = getarraysize(.mob); end; OnEmpBreak: announce "The Emperium has fallen", bc_map|bc_woe; killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead"; setcastledata "guild_vs2", 1, getcharid(2); donpcevent "::OnRecvCastle123"; maprespawnguildid "guild_vs2", getcharid(2), 2; sleep 7000; if ( agitcheck() == false ) end; OnAgitStart: .@mobid = monster("guild_vs2",49,49,"EMPERIUM",1288,1,strnpcinfo(NPC_NAME)+"::OnEmpBreak"); setunitdata .@mobid, UDT_HP, 5; setunitdata .@mobid, UDT_MAXHP, 5; if ( getcastledata("guild_vs2", 1) ) { for ( .@i = 0; .@i < .mobsize; .@i += 2 ) for ( .@j = 0; .@j < .mob[.@i +1]; ++.@j ) guardian "guild_vs2", 0, 0, "--ja--", .mob[.@i], strnpcinfo(0)+"::OnGuardianDead"; } else { for ( .@i = 0; .@i < .mobsize; .@i += 2 ) monster "guild_vs2", 0,0, "--ja--", .mob[.@i], .mob[.@i +1], strnpcinfo(0)+"::OnGuardianDead"; } end; OnAgitEnd: killmonster strnpcinfo(4), strnpcinfo(0)+"::OnEmpBreak"; killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead"; end; OnGuardianDead: if ( getcastledata( strcharinfo(3), 1 ) ) guardian strcharinfo(3), 0,0,"--ja--", killedrid, strnpcinfo(0)+"::OnGuardianDead"; else monster strcharinfo(3), 0,0, "--ja--", killedrid, 1, strnpcinfo(0)+"::OnGuardianDead"; end; OnAgitInit: requestguildinfo getcastledata("guild_vs2", 1); OnRecvCastle123: flagemblem getcastledata("guild_vs2", 1); end; OnGuildBreak: setcastledata "guild_vs2", 1, 0; donpcevent "::OnRecvCastle123"; end; } where is the infinite loop ? I only see lots of MVP in the map ... map-server.exe all green
  5. http://herc.ws/board/topic/7170-slot-machine/?do=findComment&amp;comment=87874
  6. the answer to this topic is OnPCUseSkillEvent yes, many are broken, even mine in hercules plugin release also broken LOL skill_avail ... that's an interesting suggestion but due to the complexity of the skill database, I wonder how many field needed clone a skill ID item_avail only needs 2, mob_avail can have up to 12, skill_avail .... hmmm ... lazy to count ?
  7. 1. no, like I said, something is missing from my script, you still have to add more lines on the official script to make it spawn whenever someone break the emperium 2. I think its better to write a custom woe script to demonstrate, because the official woe are quite complex https://annieruru.blogspot.com/2019/01/how-to-create-your-own-woe-castle-map.html /* db\castle_db.txt 99,guild_vs2,guild_vs2 Test Castle,test flag,1 */ guild_vs2,52,52,4 script test flag GUILD_FLAG,{ dispbottom "========================="; .@gid = getcastledata("guild_vs2", CD_GUILD_ID); dispbottom "owner of the castle : "+( ( .@gid )? "["+ getguildname(.@gid) +"]" : "<none>" ); dispbottom "agit check : "+( ( agitcheck() )?"on":"off" ); dispbottom "gvg_castle mapflag : "+( ( getmapflag( strcharinfo(3), mf_gvg_castle )?"on":"off" ) ); dispbottom "========================="; end; OnInit: if ( agitcheck() == false && !getcastledata("guild_vs2", CD_GUILD_ID) || agitcheck() == true ) donpcevent strnpcinfo(0)+"::OnAgitStart"; setmapflag "guild_vs2", mf_gvg_castle; flagemblem getcastledata("guild_vs2", CD_GUILD_ID); setarray .mob, // 1646,1, // Lord Knight Seyren // 1647,1, // Assassin Cross Eremes // 1648,1, // Whitesmith Harword // 1649,1, // High Priest Magaleta // 1650,1, // Sniper Shecil // 1651,1, // High Wizard Katrinn // // 2235,1, // Paladin Randel // 2236,1, // Creator Flamel // 2237,1, // Professor Celia // 2238,1, // Champion Chen 2239,1, // Stalker Gertie 2240,1, // Clown Alphoccio 2241,1; // Gypsy Trentini .mobsize = getarraysize(.mob); end; OnEmpBreak: announce "The Emperium has fallen", bc_map|bc_woe; killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead"; setcastledata "guild_vs2", 1, getcharid(2); donpcevent "::OnRecvCastle123"; maprespawnguildid "guild_vs2", getcharid(2), 2; sleep 7000; if ( agitcheck() == false ) end; OnAgitStart: monster "guild_vs2",49,49,"EMPERIUM",1288,1,strnpcinfo(0)+"::OnEmpBreak"; setunitdata $@mobid, UMOB_HP, 5; if ( getcastledata("guild_vs2", CD_GUILD_ID) ) { for ( .@i = 0; .@i < .mobsize; .@i += 2 ) for ( .@j = 0; .@j < .mob[.@i +1]; ++.@j ) guardian "guild_vs2", 0, 0, "--ja--", .mob[.@i], strnpcinfo(0)+"::OnGuardianDead"; } else { for ( .@i = 0; .@i < .mobsize; .@i += 2 ) monster "guild_vs2", 0,0, "--ja--", .mob[.@i], .mob[.@i +1], strnpcinfo(0)+"::OnGuardianDead"; } end; OnAgitEnd: killmonster strnpcinfo(4), strnpcinfo(0)+"::OnEmpBreak"; killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead"; end; OnGuardianDead: if ( getcastledata( strcharinfo(3), CD_GUILD_ID ) ) guardian strcharinfo(3), 0,0,"--ja--", killedrid, strnpcinfo(0)+"::OnGuardianDead"; else monster strcharinfo(3), 0,0, "--ja--", killedrid, 1, strnpcinfo(0)+"::OnGuardianDead"; end; OnAgitInit: requestguildinfo getcastledata("guild_vs2", CD_GUILD_ID); OnRecvCastle123: flagemblem getcastledata("guild_vs2", CD_GUILD_ID); end; OnGuildBreak: setcastledata "guild_vs2", 1, 0; donpcevent "::OnRecvCastle123"; end; } this is the full script that should do what you want AFTER you learn how to write your own castle, then apply this method into official script, OK ? EDIT: I just saw no.3 these are just coordinate, just change them from the *monster/*guardian script command .@i++ is set .@i, .@i +1; .@i += 2 is equal to set .@i, .@i +2; yes, 100% done in scripting
  8. 1. why you ask question on rathena board when the script was solved on hercules board ? http://herc.ws/board/topic/16523-hhow-to-make-it-report-actual-sold-item-count/ I can't even merge topic because you ask in different forum 2. why you use a function instead of npc ? issit because you want this to be use from an item ? and since you ask in rathena forum, I use rathena specific script commands, that throw error on hercules prontera,155,185,4 script Mass Junk Seller 1_M_MERCHANT,{ disable_items; getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) { if ( getiteminfo( @inventorylist_id[.@i], 2 ) == IT_ETC && inarray( .item_deny, @inventorylist_id[.@i] ) == -1 ) { .@id[.@c] = @inventorylist_id[.@i]; .@amount[.@c] = @inventorylist_amount[.@i]; .@zeny_total += getiteminfo( .@id[.@c], 1 ) * .@amount[.@c] *(100 + .Overcharge[ getskilllv("MC_OVERCHARGE")] )/100; ++.@c; } } if ( !.@c ) { mes "you don't have any items to sell"; close; } mes "Are you sure selling :"; for ( .@i = 0; .@i < .@c; ++.@i ) mes .@amount[.@i] +"x "+ getitemname(.@id[.@i]); mes "for "+ F_InsertComma(.@zeny_total) +" Zeny ?"; next; if ( select( "Yes", "No" ) == 2 ) close; if ( Zeny + .@zeny_total > MAX_ZENY ) { mes "You can't carry that much Zeny."; close; } for ( .@i = 0; .@i < .@c; ++.@i ) delitem .@id[.@i], .@amount[.@i]; mes "All item sold for "+ F_InsertComma(.@zeny_total) +" Zeny"; Zeny += .@zeny_total; close; OnInit: setarray .Overcharge[0], 0, 7,9,11,13,15,17,19,21,23,24; setarray .item_deny, 907,908,909, 7539; end; } EDIT: and the reason probably why your script give infinite loop error is because I used .@c to store the total amount of possible items, and you reuse .@c in a loop
  9. erm ............................................................................................. ...............................................Official WoE is like this https://irowiki.org/wiki/War_of_Emperium https://irowiki.org/wiki/War_of_Emperium_2 https://irowiki.org/wiki/War_of_Emperium_Training_Edition ok, so you just want to make for fun https://annieruru.blogspot.com/2019/01/how-to-create-your-own-woe-castle-map.html - script EmperiumGuardian FAKE_NPC,{ OnInit: setarray .mob, 1646,5, // Lord Knight Seyren 1647,5, // Assassin Cross Eremes 1648,5, // Whitesmith Harword 1649,5, // High Priest Magaleta 1650,5, // Sniper Shecil 1651,5, // High Wizard Katrinn 2235,5, // Paladin Randel 2236,5, // Creator Flamel 2237,5, // Professor Celia 2238,5, // Champion Chen 2239,5, // Stalker Gertie 2240,5, // Clown Alphoccio 2241,5; // Gypsy Trentini .mobsize = getarraysize(.mob); setarray .castle$[0], "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; end; OnAgitStart: callsub OnAgitStartFunction, 0, 20; OnAgitStart2: callsub OnAgitStartFunction, 20, 30; OnAgitStartFunction: .@start_index = getarg(0); .@end_index = getarg(1); for ( .@i = .@start_index; .@i < .@end_index; ++.@i ) { if ( getcastledata( .castle$[.@i], CD_GUILD_ID ) ) { for ( .@j = 0; .@j < .mobsize; .@j += 2 ) for ( .@k = 0; .@k < .mob[.@j +1]; ++.@k ) guardian .castle$[.@i], 0, 0, "--ja--", .mob[.@j], strnpcinfo(0)+"::OnGuardianDead"; } else { for ( .@j = 0; .@j < .mobsize; .@j += 2 ) monster .castle$[.@i], 0,0, "--ja--", .mob[.@j], .mob[.@j +1], strnpcinfo(0)+"::OnGuardianDead"; } } end; OnAgitEnd: callsub OnAgitEndFunction, 0, 20; OnAgitEnd2: callsub OnAgitEndFunction, 20, 30; OnAgitEndFunction: .@start_index = getarg(0); .@end_index = getarg(1); for ( .@i = .@start_index; .@i < .@end_index; ++.@i ) killmonster .castle$[.@i], strnpcinfo(0)+"::OnGuardianDead"; end; OnGuardianDead: if ( getcastledata( strcharinfo(3), CD_GUILD_ID ) ) guardian strcharinfo(3), 0,0,"--ja--", killedrid, strnpcinfo(0)+"::OnGuardianDead"; else monster strcharinfo(3), 0,0, "--ja--", killedrid, 1, strnpcinfo(0)+"::OnGuardianDead"; end; //OnAgitBreakEvent: // donpcevent can't include getarg, like a function .... } there is still something missing here, when the emperium breaks, all these monster has to replace with guardians which you have to edit on the npc/guild/agit_main.txt and npc/guild2/agit_main_se.txt directly http://herc.ws/board/topic/4848-woe-castle-auto-assign-on-guild/?do=findComment&amp;comment=31251
  10. that is correct https://github.com/rathena/rathena/blob/fdc48770aa1aa459b0c12fb297e9b684502fb988/npc/custom/woe_controller.txt#L15-L17 I use same method as Euphy, since woe script was rewrite by him oh, that script doesn't support woe:te because it was implement much later, and by that time Euphy already inactive
  11. while I was in the middle of writing this, the previous post shows up ok there are 4 topics, which I can only recommend 1st one (which was done by me) 2nd and 3rd topic, the link is dead, eathena forum down 4th topic, uses OnPCLoadMapEvent actually since Euphy rewrite the WoE system, we don't have to use that trick anymore just don't run the OnAgitStart: label for that particular castle is enough // https://rathena.org/board/topic/118185-woe-random-castle/ // remember to disable these links //== npc\guild\agit_controller.txt //== npc\guild2\agit_start_se.txt //== npc\re\guild3\agit_start_te.txt - script castle_randomize FAKE_NPC,{ OnInit: setarray .castle$[0], "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; // bindatcmd "cas", strnpcinfo(0)+"::OnDebug", 99, 100; end; OnWed2000: OnSat2000: OnAgitInit: if ( ( gettime(DT_DAYOFWEEK) == WEDNESDAY && gettime(DT_HOUR) >= 20 && gettime(DT_HOUR) < 22 ) || ( gettime(DT_DAYOFWEEK) == SATURDAY && gettime(DT_HOUR) >= 20 && gettime(DT_HOUR) < 22 ) ) agitstart; end; OnWed2200: OnSat2200: agitend; end; OnAgitStart: .@r = rand(0,19); sleep 100; announce "The Castles open today is "+ getcastlename( .castle$[.@r] ) +" !!", bc_woe; for ( .@i = 0; .@i < 20; ++.@i ) { if ( .castle$[.@i] != .castle$[.@r] ) { removemapflag .castle$[.@i], mf_gvg_castle; killmonster .castle$[.@i], "Agit#"+ .castle$[.@i] +"::OnAgitBreak"; gvgoff .castle$[.@i]; } } end; OnAgitEnd: for ( .@i = 0; .@i < 20; ++.@i ) if ( !getmapflag( .castle$[.@i], mf_gvg_castle ) ) setmapflag .castle$[.@i], mf_gvg_castle; end; OnSun2000: OnAgitInit2: if ( ( gettime(DT_DAYOFWEEK) == SUNDAY && gettime(DT_HOUR) >= 20 && gettime(DT_HOUR) < 22 ) ) agitstart2; end; OnSun2200: agitend2; end; OnAgitStart2: .@r = rand(20,29); sleep 100; announce "The Castles open today is "+ getcastlename( .castle$[.@r] ) +" !!", bc_woe; for ( .@i = 20; .@i < 30; ++.@i ) { if ( .castle$[.@i] != .castle$[.@r] ) { .@str$ = substr( .castle$[.@i], 0, 1 ) + substr( .castle$[.@i], 8, 9 ); removemapflag .castle$[.@i], mf_gvg_castle; killmonster .castle$[.@i], "Steward#"+ .@str$ +"::OnStartArena"; gvgoff .castle$[.@i]; } } end; OnAgitEnd2: for ( .@i = 20; .@i < 30; ++.@i ) if ( !getmapflag( .castle$[.@i], mf_gvg_castle ) ) setmapflag .castle$[.@i], mf_gvg_castle; end; //OnDebug: switch ( atoi( .@atcmd_parameters$ ) ) { case 0: warp "aldeg_cas01",216,23; end; case 1: warp "aldeg_cas02",213,23; end; case 2: warp "aldeg_cas03",205,31; end; case 3: warp "aldeg_cas04",36,217; end; case 4: warp "aldeg_cas05",27,101; end; case 5: warp "gefg_cas01",197,181; end; case 6: warp "gefg_cas02",176,178; end; case 7: warp "gefg_cas03",244,166; end; case 8: warp "gefg_cas04",174,177; end; case 9: warp "gefg_cas05",194,184; end; case 10: warp "payg_cas01",139,139; end; case 11: warp "payg_cas02",38,25; end; case 12: warp "payg_cas03",269,265; end; case 13: warp "payg_cas04",270,28; end; case 14: warp "payg_cas05",30,30; end; case 15: warp "prtg_cas01",197,197; end; case 16: warp "prtg_cas02",157,174; end; case 17: warp "prtg_cas03",16,220; end; case 18: warp "prtg_cas04",291,14; end; case 19: warp "prtg_cas05",266,266; end; case 20: warp "arug_cas01",87,219; end; case 21: warp "arug_cas02",89,256; end; case 22: warp "arug_cas03",141,293; end; case 23: warp "arug_cas04",141,293; end; case 24: warp "arug_cas05",141,293; end; case 25: warp "schg_cas01",120,272; end; case 26: warp "schg_cas02",162,193; end; case 27: warp "schg_cas03",338,202; end; case 28: warp "schg_cas04",120,272; end; case 29: warp "schg_cas05",120,272; end; default: } end; }
  12. https://annieruru.blogspot.com/2019/01/compare-getunitdata-on-rathenahercules.html
  13. 2.5 add F_MesItemInfo https://drive.google.com/file/d/1qwY8ZZFhEsLd28OZYaQvSIhyX2dVe8IJ/view I also add into item requirement field, just because I feel like it =/
  14. //quick option to disable all renewal option, used by ./configure //#define PRERE just uncomment this line, my test server load pre-re npc files instead of my usual npc/re files if you still think *its not the ragnarok I used to know* then I would say that's unofficial try check battle config folders and see what you still can mess around https://github.com/rathena/rathena/tree/master/conf/battle and if that also fails, then I'm sorry, you can still ask in source request, but be specific on what you want
  15. 4. getcartitem ? getstorageitem ? source edit you want to write a player AI script ???? make this suggestion to the "@autopilot" project LOL and ... yes everything source edits
  16. so you also changed the max job level to 90, so its custom I see yes, exactly what I want to say
  17. conf/battle/player.conf // Can a normal player by-pass the skill tree? (Note 1) player_skillfree: no // When set to yes, forces skill points gained from 1st class to be put into 1st class // skills, and forces novice skill points to be put into the basic skill. (Note 1) player_skillup_limit: yes // Quest skills can be learned? (Note 1) // Setting this to yes can open an exploit on your server! quest_skill_learn: no // When skills are reset, quest skills are reset as well? (Note 1) // Setting this to yes can open an exploit on your server! // NOTE: If you have quest_skill_learn set to yes, quest skills are always reset. quest_skill_reset: no note that all these are official settings the custom script you used , they have already mess up some of the battle configurations so yup, you probably didn't change these settings, and use that script, == mess up your character supposedly your characters should spend all the skills points before job changing ...
  18. 1. I'm actually thinking "@reloadnpc" is superior than "@reloadscript" "@reloadnpc" only reload 1 single file, but "@reloadscript" will reload all scripts on the server, possibly disrupt other's players playing experience actually you have to tell what is your actual idea, I never really heard anything about having to use "@reloadscript" in npc script or items 2. well, according to what I heard from Euphy, Hercules actually left some footprints in your computer after the server boot up once ( and only cleared when shut down/restart computer ) after that, after 2nd time boot up your server, it just load the memory directly from the RAM ... which according to rathena, that is not very resource friendly but think about it ... once a computer is meant to host the server, means it supposed to rerun the map-server/char-server/login-server again and again, example, if server crash, hercules can restart itself much faster than rathena so left some footprints behind make sense yes, hercules is also more developer friendly PS: use Shift+Enter instead of Enter
  19. are you saying that emistry has .... preview item feature that my script lacks ? forgive me I have forgotten which stuffs I had fixed on the emistry's script I lost emistry's mission board version 1.6, anyone still having that ? I tested the one floating on the forum, they are mostly filled with bugs try describe what are the feature you are looking after
  20. nonono, I thought you got scam that you bought this script from unknown person you know, this happens a lot I have a habit that most of my useful scripts are never put to release, and most of my scripts are hidden inside script request section and I heard a few story that some scammer has claim my script as theirs and sell them in paid service that's why now I have started to reorganize all my past work into my google drive
  21. never use "@reloadscript" on a live server use "@reloadnpc npc/zzz.txt" well, that's my default script file apparently Hercules doesn't have "@reloadnpc" ... hmm ....
  22. http://herc.ws/board/topic/15329-deprecation-notice/?do=findComment&amp;comment=84976 2.4d Hercules only https://drive.google.com/file/d/1G5gGxcxzZmSHE_r_XlofseqtSsj-ji7L/view run regular expression find pow.(([0-9]*),([0-9]*).); and replace with \2**\3; the rest insert manually
  23. prontera,155,185,5 script sjdfkshf 1_F_MARIA,{ if ( .cloneid ) { getmapxy .@map$, .@x, .@y, UNITTYPE_MOB, .cloneid; mesf "map -> %s", .@map$; mesf "X -> %d", .@x; mesf "Y -> %d", .@y; mesf "str -> %d", getunitdata( .cloneid, UDT_STR ); mesf "agi -> %d", getunitdata( .cloneid, UDT_AGI ); mesf "vit -> %d", getunitdata( .cloneid, UDT_VIT ); mesf "int -> %d", getunitdata( .cloneid, UDT_INT ); mesf "dex -> %d", getunitdata( .cloneid, UDT_DEX ); mesf "luk -> %d", getunitdata( .cloneid, UDT_LUK ); close; } getmapxy .@map$, .@x, .@y, UNITTYPE_PC; .cloneid = clone( .@map$, .@x, .@y, strnpcinfo(0)+"::OnDead", getcharid(0) ); end; OnDead: .cloneid = 0; end; }
  24. reminds me when I played The Sims 3 XD yeah all the vegetables that I plant in sims ... this reminds me, The sims 3 has sprinkles https://www.carls-sims-3-guide.com/skills/gardening/ so if we install a sprinkles then we don't have to water it every day other than that, yeah, this would be awesome if this is part of housing instance script
  25. if anyone interested looking for Epoque's past bonuses project, members has mirror it http://herc.ws/board/topic/933-epoque-expansion-pack/ but actually, everyone now has learned how to use GIT, so commit to a side branch in rAthena repo is unnecessary most of us use fork from rathena, and we develop our own stuffs on the fork oh and, hercules supports plugin, if you actually code it, I could transfer it into plugin format should look something like this https://github.com/AnnieRuru/Release/blob/master/plugins/bonus sample/bAddMaxWeight_0.3.c
×
×
  • Create New...