This should prevent any optimizations being done on the "1 char string"
This also fully documents the packet and expands the uses of
quest::say/QuestSay
- quest::set_rule(string rule_name, string rule_value)
Example: quest::set_rule("Zone:UseZoneController", "false") - Sets the rule "Zone:UseZoneController" to "false" for the current zone.
- quest::get_rule(string rule_name)
Example: quest::get_rule("Zone:UseZoneController") - Returns true/false depending upon if it's enabled/disabled.
- Example NPC script here: https://pastebin.com/akKKN2NS
…er("timername"). This allows developers to pause and resume the given timer on the current NPC.
Added lua method eq.is_paused_timer("timername") to check to see if y…
…ou have a paused timer or not. Example usage:
if(eq.is_paused_timer("test"))then
e.self:Say("You have a paused timer.");
else
e.self:Say("You do not have a paused timer.");
end
(credit goes to Cavedude)
NPCs were setting a singular chance value and each item was checking based on this value, making the probability field not a random chance per item.
This removes the probability field from NPCs, SetMerchantProbability() and GetMerchantProbability() and makes the probability field truly random chance.
Special thanks to ChaosSlayerZ for noticing the issue here: http://www.eqemulator.org/forums/showthread.php?t=41731
- When a zone boots, it will spawn an invisible npc by the name of zone_controller
- Lua and Perl scripts can be represented with this npc as zone_controller.pl/lua
- This NPC's ID is ruled be define ZONE_CONTROLLER_NPC_ID 10
- Two EVENT's uniquely are handled with this NPC/controller (They only work with the zone_controller NPC)
- EVENT_SPAWN_ZONE :: All NPC spawns in the zone trigger the controller and pass the following variables:
$spawned_entity_id
$spawned_npc_id
- EVENT_DEATH_ZONE :: All NPC deaths in the zone trigger the controller event and pass the following variables:
$killer_id
$killer_damage
$killer_spell
$killer_skill
$killed_npc_id