[Quest API] Add Merchant Events to Perl/Lua. (#2452)

- Add EVENT_ALT_CURRENCY_MERCHANT_BUY to Perl/Lua.
- Add EVENT_ALT_CURRENCY_MERCHANT_SELL to Perl/Lua.
- Add EVENT_MERCHANT_BUY to Perl/Lua.
- Add EVENT_MERCHANT_SELL to Perl/Lua.

This will allow server operators to track or do specific stuff based on if a person buys X item from Y NPC or whatever.
This commit is contained in:
Kinglykrab
2022-09-28 04:02:42 -04:00
committed by GitHub
parent e883703b2f
commit 90406e0328
7 changed files with 126 additions and 3 deletions
+27 -1
View File
@@ -154,7 +154,11 @@ const char *QuestEventSubroutines[_LargestEventID] = {
"EVENT_EQUIP_ITEM_CLIENT",
"EVENT_UNEQUIP_ITEM_CLIENT",
"EVENT_SKILL_UP",
"EVENT_LANGUAGE_SKILL_UP"
"EVENT_LANGUAGE_SKILL_UP",
"EVENT_ALT_CURRENCY_MERCHANT_BUY",
"EVENT_ALT_CURRENCY_MERCHANT_SELL",
"EVENT_MERCHANT_BUY",
"EVENT_MERCHANT_SELL"
};
PerlembParser::PerlembParser() : perl(nullptr)
@@ -1708,6 +1712,28 @@ void PerlembParser::ExportEventVariables(
break;
}
case EVENT_ALT_CURRENCY_MERCHANT_BUY:
case EVENT_ALT_CURRENCY_MERCHANT_SELL: {
Seperator sep(data);
ExportVar(package_name.c_str(), "currency_id", sep.arg[0]);
ExportVar(package_name.c_str(), "npc_id", sep.arg[1]);
ExportVar(package_name.c_str(), "merchant_id", sep.arg[2]);
ExportVar(package_name.c_str(), "item_id", sep.arg[3]);
ExportVar(package_name.c_str(), "item_cost", sep.arg[4]);
break;
}
case EVENT_MERCHANT_BUY:
case EVENT_MERCHANT_SELL: {
Seperator sep(data);
ExportVar(package_name.c_str(), "npc_id", sep.arg[0]);
ExportVar(package_name.c_str(), "merchant_id", sep.arg[1]);
ExportVar(package_name.c_str(), "item_id", sep.arg[2]);
ExportVar(package_name.c_str(), "item_quantity", sep.arg[3]);
ExportVar(package_name.c_str(), "item_cost", sep.arg[4]);
break;
}
default: {
break;
}