Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Everything posted by AnnieRuru

  1. @@Oxxy use this tool to convert what Haru just said XD http://www.asciitohex.com/ EDIT: the reason why we can't fix some bugs is because we have a very crappy and messy coding format in the source code when we directly fix the bugs, most of the time, is just a temporary measurement to permanently get rid of the bugs, the 1st step is of course make the source code have higher readability only a good structure code and a readable coding style that understood by many users, can help make our emulator less bug
  2. I don't remember that one now that you mentioned it, I remember I bought Ragnarok Online Guide Book (which was rumor its sux) from Lowyat Plaza I will scan them later
  3. some people actually doesn't believe I've played Ragnarok Online LOL so I dig up my precious childhood memory storage box, and scan all those access cards really, its my childhood memory @Emistry sure have seen them before EDITING : yeah this IPB forum sucks ...
  4. http://irowiki.org/wiki/Rogue_Job_Change_Guide even the iro wiki said just need to collect 1 of the 4 sets, the scripts also looks like that https://github.com/HerculesWS/Hercules/blob/master/npc/jobs/2-2/rogue.txt#L672-L680 https://github.com/HerculesWS/Hercules/blob/master/npc/jobs/2-2/rogue.txt#L953 in 1 of 15 chance you get that crazy requirement https://github.com/HerculesWS/Hercules/blob/master/npc/jobs/2-2/rogue.txt#L528-L532 but have an easier maze https://github.com/HerculesWS/Hercules/blob/master/npc/jobs/2-2/rogue.txt#L771-L894
  5. version 1.5 is just plugin no patch needed that previous patch about addtomobdata was already merge some time ago
  6. hmm ... I just noticed my LMS script will drop bones at town, instead of in the event map ... wonder I should fix it or not anyways ... http://upaste.me/45a42239512dab16d @Litro that is what I meant, trick the pc_dead function into thinking battle->bc->bone_drop = 0 after run that function, battle->bc->bone_drop = original_value it shouldn't be that hard to do it
  7. Edited, tested this prontera,155,185,5 script kjdhsfsjhf 1_F_MARIA,{ detachrid; if ( C_REDa != 1 );}yeah if it doesn't run a function ... yes, try comment this line if ( C_RED != 0xFF0000 ) end;if your server runs fine comment this line, you have to update your server to use this script
  8. This topic now mark as outdated Haru fixed the queue iterator script commands so its no longer needed for this kind of modification sample battleground queue script http://upaste.me/ab3022385d0127b7f . . @@Quazi I just noticed you changed .score[1] into .score[10] no wonder you got that error OnRedDead: callsub L_Dead, 1;OnBlueDead: callsub L_Dead, 2;L_Dead: .... .score[ getarg(0) ]--; if you want to change into 10, then the callsub should also has the argument change to 10
  9. well, its kinda expected the map isn't as good as Olrox ... compare with the screenshot I can feel something off 1. did you switch the position of the alliance and the horde camp ? 2. and the bridge, in the screenshot its vertical, but your map has horizontal bridge
  10. wow ... after I learn about the prefix increment ... it really do run faster than post-fix increment http://upaste.me/a70722381339369d1 postfix increment -> 109~125 mili-seconds ( same as above ) prefix increment -> 93~109 mili-seconds now stick to this type // callfunc "counting_sort_index", <input array>, <sorted array> {, no. of elements };function script counting_sort_index { .@total = .@size = getarg( 2, getarraysize( getarg(0) ) ); copyarray .@arr, getarg(0), .@size; while ( .@i < .@size ) setd ".@index_"+ .@arr[.@i] +"["+( .@tmp[.@arr[.@i]]++ )+"]", .@i++; do { .@index = getarraysize(.@tmp) -1; .@out[--.@size] = getd( ".@index_"+ .@index +"["+( --.@tmp[.@index] )+"]" ); } while( .@size ); copyarray getarg(1), .@out, .@total; return;}
  11. not interested its just a game can be play by 1 person I prefer to write pvp/bg/event scripts that can enjoy by many players play together, that's the true spirit of MMO also this map https://www.eathena.ws/board/index.php?showtopic=205672 actually do feels more like a pac-man map ...
  12. oh that one ... I made before, but that still has bugs https://rathena.org/board/topic/77120-i-need-a-code-3/ the old mob controller system can only detect 2 factions, which is the player side and the monster side in that script, I made the monster side killable for players, and the monster can search and destroy the player until the middle of the room but the monster side ( .ai_action[AI_ACTION_TYPE] == AI_ACTION_TYPE_DETECT ) can't detect the emperium because it seems the emperium also belongs to the monster side so AI_ACTION_TYPE_DETECT can't detect the emperium what I did on that script, is whenever a monster move close to emperium, it deduct the count, so the monster didn't attack the emperium at all just reduce the counter from 100, when it reach 0, you guys failed this seems to be the bug for the mob controller system made by Lance it can search and destroy players, but the monster doesn't seems to be able to attack the emperium not sure the mobevent script command that I'm going to do later ... can fix this bug or not ...
  13. what happen if that player disconnect, but some other players join to fill in the gap, but that disconnected players wants to rejoin, but its full ? will it kick the last player for the former player to join, or that disconnected player having bad luck can't rejoin ?
  14. I already told this before =/ http://herc.ws/board/topic/11415-costumeitem-adds-stats/?hl=makedword use MakeDWord check instead of alternate_item function check
  15. @@JoyRo you mean like, if the person was previous join horde side,that player accidentally disconnected, but still able to rejoin as horde ? hmm, I always thought I shouldn't include the rejoining process because if that side is losing, player will want to quit and join the winning side for more rewards :X
  16. oh it really works didn't read the documentation carefully EDIT: maybe can change offline player ... prontera,150,185,5 script setgroupid 1_F_MARIA,{// dispbottom getgroupid() +" "+ getgmlevel(); if ( getgmlevel() < 99 ) { mes "admin only"; close; } mes "input the player name"; next; if ( input( .@name$, 1, 23 ) ) { mes "invalid name length"; close; } .@aid = getcharid( 3, .@name$ ); if ( !.@aid ) { if ( !query_sql( "select account_id, name from `char` where name = '"+ escape_sql(.@name$) +"'", .@aid, .@name$ ) ) { mes "the player you input doesn't exist"; close; } } else .@name$ = rid2name( .@aid ); mes "the player is"; mes callfunc( "F_MesColor", C_BLUE ) + .@name$ + callfunc( "F_MesColor", C_BLACK ); mes "input the group ID"; next; if ( input ( .@groupid, 0, 99 ) ) { mes "invalid group id"; close; } if ( isloggedin( .@aid ) ) { if ( setgroupid( .@groupid, .@aid ) == false ) { mes "group ID doesn't exist"; close; } } query_sql "update login set group_id = "+ .@groupid +" where account_id = "+ .@aid; mes "The player "+ callfunc( "F_MesColor", C_BLUE ) + .@name$ + callfunc( "F_MesColor", C_BLACK ); mes "has change group ID into "+ callfunc( "F_MesColor", C_RED ) + .@groupid; close;}nope, if I wanna change offline player group ID, the setgroupid can't detect the playerand possible for a GM to disable that player from logging in with invalid group
  17. interesting o.o I wish to have that map since you already post up the script, why not post up the map as well ? so I can make this as free release @@almarket23
  18. like this enough { Id: 2301 AegisName: "Cotton_Shirt" Name: "Cotton Shirt" Type: 5 Buy: 10 Weight: 100 Def: 10 Job: 0x00000080 Loc: 65536 OnEquipScript: <" if ( checkmount() ) { setoption Option_Dragon1; } changebase Job_Rune_Knight; "> OnUnequipScript: <" changebase Class; ">},since you already have the job: 0x80 field
  19. ... it seems we have setgroupid, but we don't have checkgrouplevel @@Emistry, go make that script command XD the reason is, if I somehow set the group belongs to non-existent group ID ... [Warning]: pc_authok: AnnieRuru (AID:2000000) logged in with unknown group id (7)! kicking..... . prontera,155,185,5 script setgroupid 1_F_MARIA,{ dispbottom getgroupid() +" "+ getgmlevel(); if ( getgmlevel() < 99 ) { mes "admin only"; close; } mes "input the player name"; next; if ( input( .@name$, 1, 23 ) ) { mes "invalid name length"; close; } .@aid = getcharid( 3, .@name$ ); if ( !.@aid ) { mes "the player you input doesn't exist"; close; } mes "the player is"; .@name$ = rid2name( .@aid ); mes callfunc( "F_MesColor", C_BLUE ) + .@name$ + callfunc( "F_MesColor", C_BLACK ); mes "input the group ID"; next; if ( input ( .@groupid, 0, 99 ) ) { mes "invalid group id"; close; } setgroupid .@groupid, .@aid; query_sql "update login set group_id = "+ .@groupid +" where account_id = "+ .@aid; mes "The player "+ callfunc( "F_MesColor", C_BLUE ) + .@name$ + callfunc( "F_MesColor", C_BLACK ); mes "has change group ID into "+ callfunc( "F_MesColor", C_RED ) + .@groupid; close;}though, I tested there is no need to use OnPCLogoutEventdirectly set with query_sql works fine without logging out it seems the login table is left untouch
  20. honestly skill related src is not really my forte but this one seems to be possible, just... a hunch and I'm not really doing this like the charms plugin trick use pre-hook and post-hook on that function, and trick that function into thinking that player is actually lower level than usual like addhookpre battle->calc_weapon_attack ... _pre ... addhookpost battle->calc_weapon_attack ... _post then battle_calc_weapon_attack_pre CREATE player_data ssd->actual_level = sd->status.base_level; sd->status.base_level = battle->bc->max_blvl_nerf; trick that function into thinking that player has lower level and battle_calc_weapon_attack_post getfromMSD sd->status.base_level = ssd->actual_level; return the player level back to original something like that
  21. impossible the status_get_sc_def function do too many things if want to make this as a plugin, at least this part has to become its own function https://github.com/HerculesWS/Hercules/blob/cf142dc21aafd6bf0a483c87f32c219375ae116a/src/map/status.c#L6888-L6916 EDIT: sry I was writing scripts, confused script function with source function maybe @@4144 will be interested in doing this
  22. ... fix the guild exp tax gain, hocus-pocus broken then I fix hocus-pocus, guild exp tax NOW break again ... these 2 seems to hate each other haiz ... have to make a decision 1.2 plugin - fixed an issue that when player hit that cap level, they are unable to pay guild tax exp ... again ... . . there is an issue with this plugin, in other words, SA_LEVELUP skill from hocus-pocus is nullify after the player hit the cap levelin order to make experience tax to the guild from killing normal monster works everything else at the above list will still works, don't worry, tested if somebody has a better idea how to fix this rare bug, always welcome any suggestion
  23. you want this to last permanently or only temporary until logout ? there is a script command setgroupid that temporary change the group id if you want it permanent, can set a temporary player variable and query_sql at OnPCLogoutEvent
  24. 1.1 - fixed an issue that when player hit that cap level, they are unable to pay guild tax exp - fixed an issue that player should've stop earning exp, but they are actually gain 1 exp --- blame to the cap_value command inside pc_calcexp function 1.1a plugin - fixed player can still gain exp by spamming hocus-pocus skill, SA_LEVELUP to be exact
  25. 1.5 plugin - fix an issue that when using @hide, the market clone also clone as invisible ---- the real issue about this is, if that GM do @marketkill, the surrounding client will crash
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.