Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 10/11/18 in all areas

  1. 1 point
  2. 1 point
    Dastgir

    NPC Help

    That's signboard. It's on clientside
  3. 1 point
    AnnieRuru

    OnNPCKillEvent changes

    https://github.com/HerculesWS/Hercules/pull/2061 before understanding this pull request, let's talk about the history of OnNPCKillEvent History during the time OnNPCKillEvent implement, monster only spawn on the fields and dungeon, in this syntax ** Create a permanent monster spawn: <map name>,<x>,<y>,<xs>,<ys>%TAB%monster%TAB%<monster name>%TAB%<mob id>,<amount>,<delay1>,<delay2> and the monsters that spawned with event labels were only use in job changer quests *monster("<map name>", <x>, <y>, "<name to show>", <mob id>, <amount>{, "<event label>";} Note: if you noticed some parameter missing, yup those were added later. Notice the permanent monster spawn during that time still doesn't support event labels So, in order to trigger the permanent monster spawn, OnNPCKillEvent was the only way (during that time) this was to separate the trigger between OnNPCKillEvent and monster with event labels Why separate them ? there's a good reason to separate them, aleos also said in this issue in fact, this bug was also brought up several times during eathena ... Let's give 2 examples: Example 1: Bot-killer script Bot-killer script is intended to kill bots, and bots usually only appear on fields/dungeon which makes OnNPCKillEvent: label an ideal solution to work on them currently, Bot-Killer script doesn't trigger with job changer script or event script because the job changer npc, the monster was spawned with event labels example like priest job change quest -> you have to kill all the undeads within 5 minutes imagine ... IF the Bot-Killer script was able to trigger monster with event labels, while the players was rushing against time, suddenly a bot-killer script pops up !! this is enough to make them fail the test ... same thing goes to other event scripts such as devil square when players were busy killing monsters, trying to get the most kills, suddenly a bot-killer script pops up !! enough to make them lose the 1st place Example 2: MVP ranking script + MVP Ladder game MVP ranking script ... show the top 10 MVP hunters in your server MVP ladder game ... a game to form a party then kill MVPs inside arena currently, the MVP ranking script doesn't record the MVP kills from MVP ladder game the reason is ... the MVP ladder game spawn the MVPs with event labels ... imagine IF the OnNPCKillEvent label able to trigger monster with event label players just has to replay the MVP ladder game again and again to earn themselves the best MVP hunter ... each game adds 39 kills, so cheap !! Don't need to find MVPs on the field anymore now that's defeat the purpose of MVP hunting .... I mean the MVP ranking script So why propose the change now ? Things has changed since then, especially with the introduction of instance script since all instance monster has event labels, previously said that monster only spawn on the fields and dungeon no longer apply Take a look back at Example 2 ... the MVP ranking script currently the MVP ranking only record the MVP kills that spawn MVP tombs but it doesn't record the kills from instance ... for example Nacht Sieger or Nidhoggur's Shadow or even Lighthalzen MVP Now here's the tricky part ... Example 1: Bot-Killer If we keep it as it is, the script works fine and if let OnNPCKillEvent run event labels, bot-killer can trigger inside job change npc (BUG) Example 2: MVP ranking script + MVP Ladder game If we keep it as it is, the MVP ranking script doesn't record the MVP kills from instance script (BUG) and if allow OnNPCKillEvent run event labels, MVP ranker script record the kills from MVP ladder game (BUG) both options are not a perfect solution but there is a way to actually solve all these problem, find this line OnNPCKillEvent: replace with ... OnNPCKillEvent: if ( getmapflag( strcharinfo(PC_MAP), mf_nosave ) ) end; let ALL OnNPCKillEvent: doesn't trigger on the map that has nosave mapflag simple because, all job changer npc and event maps has nosave mapflag ... this is easy this simple solution actually solve both example's problem above .... well actually I also has another patch ready ... but not sure if this setting make things more complicated ? well ... currently still in the discussion stage ~
×
×
  • Create New...

Important Information

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