Jump to content

Emistry

Support Leaders
  • Content Count

    526
  • Joined

  • Days Won

    21

Everything posted by Emistry

  1. https://github.com/HerculesWS/Hercules/archive/master.zip there are no pre-compiled version anymore.
  2. search at openkore in case you want answer for your openkore bot. http://openkore.com/index.php/ServerType#Compilation_Date
  3. i think the font size is different based on the font that installed in your machine. For instance, I might see the normal font size in my client, but other players could possible see a font with different size. (client settings are exactly the same) it's better that you default it to normal font size. or enforce the default font size maybe.
  4. .@aid = getcharid( 3,rid2name( $pvp_aid ) );if ( .@aid ) { delitem 501,1,.@aid;}else { query_sql( "DELETE FROM `inventory` WHERE `nameid` = 501 AND `char_id` = "+$pvp_aid+" LIMIT 1" );}
  5. you can use another variable to store the total extra status point given. when reset npc do a status reset, just add the total extra status point given. resetstatus;StatusPoint += EXTRA_STATUS_POINTS;end;
  6. if "x event" and "y event" are 2 separated NPC. then it wouldn't conflict.
  7. well, if we are to follow logical flow, the menu part shouldn't be reachable since it's empty. Not sure why would official server would allow it if this happened in official server. by the way, the method of checking using this way isn't good in term of dynamic. if ( .@menu$ == "::::::::::" ) { because if users adjusted the loop size / array , the condition will be bypass again if they didnt update / add extra ":" into it. personally think that, hardcoded value shall be avoided as much as possible during npc execution.
  8. I believe this is what he mentioned ... https://raw.githubusercontent.com/HerculesWS/Hercules/master/npc/custom/card_remover.txt
  9. by default, you should show your full script. if you're referring to a blank menu, that mean your script didnt provide a checking for no equipments selection in the menu. for ( .@i = EQI_HEAD_TOP; .@i <= EQI_SHOES; .@i++ ) { .@item_id = getequipid( .@i ); if ( .@item_id != -1 ) { .@menu$ = .@menu$ + getitemname( .@item_id ); .@equip_count++; } .@menu$ = .@menu$ + ":";}if ( .@equip_count ) { .@part = select( .@menu$ );}else { mes "You didn't wear any equipments.";}
  10. .@ori = countitem(Oridecon_Stone); if ( .@ori >= 5 ) { getitem Oridecon, .@ori / 5; delitem Oridecon_Stone, .@ori / 5 * 5; message strcharinfo(0), "Refined "+ ( .@ori / 5 * 5 ) +" Oridecon Stones, got "+ ( .@ori / 5 ) +" Oridecons."; } about this part ... i think should delete the items before give the user new items. if the player hold 99% of Elunium Stone and try to exchange into Elunium with the healer. the healer will probably give the Elunium, and the players overweight, items maybe not given / dropped on floor.
    1. Emistry

      Emistry

      time flies ...

       

    2. AnnieRuru

      AnnieRuru

      HAHAHA, that was 3 years ago

      that time I have drama with rathena admin (Arcenciel), but that was already resolved later

       

      honestly I don't have anything else to teach you already o.o

      I sensed you just level up again in this past 1 year

      and now the only thing I'm better than you is just algorithm scripts and source modification

      - algorithm scripts is very hard to teach

      - I still learning source modification from Haru o.o

      so I dunno how to teach you anymore

    3. Emistry

      Emistry

      haha ... I am sure definitely there are still more to learn from you. Algorithm is fun, but very hard. Quite lazy to learn source mod.

  11. OnPCLoadMapEvent is better if you want to block it from woe since they can recall the guild member using skill which bypass the woe portal. @@Garr your script will caused error when loaded since no char is attached to call the strcharinfo() script command. beside it need loadevent mapflag to make it work.
  12. Emistry

    Mes

    - script whisper -1,{ OnWhisperGlobal: .@aid = getcharid( 3,@whispervar0$ ); if ( !.@aid ) { dispbottom "char not found."; } else if ( attachrid( .@aid ) ) { mes "You have been murdered."; close2; unitkill .@aid; } end;} npc:whisper # player_name
  13. Emistry

    assci

    use GRF Editor to extract these files.
  14. double check all your script that using the rid2name script command
  15. // Modifying these options requires updates to the corresponding casesetarray .menu_options$[0], "^FF0000>^000000 Cancel", "^0000FF>^000000 Exchange "+ .pod_name$ +" for "+ .points_name$;
  16. if you want ... BLOCK_SKILL BLOCK_COMMAND BLOCK_DROP BLOCK_ATCOMMAND BLOCK_GSTORAGE BLOCK_NOIDEAWHATELSETOPOSTHERE i just random post..O_O about this part + unsigned int blockedattack :1;+ unsigned int blockedskill :1;+ unsigned int blockedchat :1; how about just make use only one variable and store all the enum value since it's bitmask ?? with this, we can easily create another script command that get all the blocked state. Example : if ( getpcblock() & BLOCK_MOVE ) { mes "your movement is still blocked.";}
  17. about Gerz method, just thinking how about make it into support bitmask ? * 1 = block move * 2 = block attack * 4 = block skill * 8 = block chat * 16 = immune attack we can block several state at once. With these you can update these states at once without need to call the script command for multiple times ? btw, can make us of const.txt to support constants usage for better readability. Example : BLOCK_MOVE | BLOCK_ATTACK | BLOCK_SKILL | BLOCK_CHAT Example Usage : // to enable blockpcblock 2000000, BLOCK_MOVE , true;pcblock 2000000, BLOCK_MOVE | BLOCK_ATTACK | BLOCK_SKILL , true;// to disable blockpcblock 2000000, BLOCK_MOVE , false;pcblock 2000000, BLOCK_MOVE | BLOCK_ATTACK | BLOCK_SKILL , false; then we can deprecate the pcblockmove
  18. something similar .... but i am agree with AnnieRuru, no point to make it as instances... it's not really an instance to begin with.
  19. @Master AnnieRuru http://nn.nachtwolke.com/dev/npclist/?q=45-999%2C10000-10090&qq=search
  20. I know, but I also refer to those files like quest_db.conf produce_db.txt sc_config.txt map_index.txt skill_db.txt etc when you got so many files to import , so it's better to just group them all together rather than having those "2" suffix.
  21. Does Hercules plan to implement the import folder for db directory ?? just like the one in rAthena. https://github.com/rathena/rathena/tree/master/db/import-tmpl
  22. double check your settings. https://github.com/HerculesWS/Hercules/blob/master/conf/inter-server.conf
×
×
  • Create New...

Important Information

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