function CityRPG_AssembleEvents()
{
// Basic Input
registerInputEvent("fxDTSBrick", "onEnterLot", "Self fxDTSBrick" TAB "Player player" TAB "Client gameConnection");
registerInputEvent("fxDTSBrick", "onLeaveLot", "Self fxDTSBrick" TAB "Player player" TAB "Client gameConnection");
registerInputEvent("fxDTSBrick", "onTransferSuccess", "Self fxDTSBrick" TAB "Player Player" TAB "Client GameConnection");
registerInputEvent("fxDTSBrick", "onTransferDecline", "Self fxDTSBrick" TAB "Client GameConnection");
registerInputEvent("fxDTSBrick", "onJobTestPass", "Self fxDTSBrick" TAB "Player Player" TAB "Client GameConnection");
registerInputEvent("fxDTSBrick", "onJobTestFail", "Self fxDTSBrick" TAB "Player Player" TAB "Client GameConnection");
// Basic Output
registerOutputEvent("fxDTSBrick", "requestFunds", "string 80 200" TAB "int 1 9000 1");
registerOutputEvent("GameConnection", "MessageBoxOK", "string 30 50" TAB "string 80 500");
// Pain-in-the-Ass Output
for(%a = 1; $CityRPG::portion[%a] !$= ""; %a++)
{
%sellFood_Portions = %sellFood_Portions SPC $CityRPG::portion[%a] SPC %a;
}
registerOutputEvent("fxDTSBrick", "sellFood", "list" @ %sellFood_Portions TAB "string 45 100" TAB "int 1 50 1");
for(%b = 1; isObject(JobSO.job[%b]); %b++)
{
if(strlen(JobSO.job[%b].name) > 7)
%jobName = getSubStr(JobSO.job[%b].name, 0, 6) @ ".";
else
%jobName = JobSO.job[%b].name;
%doJobTest_List = %doJobTest_List SPC strreplace(%jobName, " ", "") SPC %b;
}
registerOutputEvent("fxDTSBrick", "doJobTest", "list NONE 0" @ %doJobTest_List TAB "list NONE 0" @ %doJobTest_List TAB "bool");
for(%c = 1; isObject($CityRPG::prices::weapon::name[%c]); %c++)
{
%sellItem_List = %sellItem_List SPC strreplace($CityRPG::prices::weapon::name[%c].uiName, " ", "") SPC %c;
}
registerOutputEvent("fxDTSBrick", "sellItem", "list" @ %sellItem_List TAB "int 0 500 1");
for(%d = 0; %d < ClientGroup.getCount(); %d++)
{
%subClient = ClientGroup.getObject(%d);
serverCmdRequestEventTables(%subClient);
messageClient(%subClient, '', "\c6Your Event Tables have been updated. If you do not know what that means, ignore this message.");
}
}
function fxDTSBrick::sellItem(%brick, %item, %markup, %client)
{
if(isObject(%client.player) && !%client.player.serviceOrigin && isObject(%brick))
{
%name = $CityRPG::prices::weapon::name[%item].uiName;
if(CitySO.minerals >= $CityRPG::prices::weapon::mineral[%item])
{
%client.player.serviceType = "item";
%client.player.serviceItem = %item;
%client.player.serviceFee = $CityRPG::prices::weapon::price[%item] + %markup;
%client.player.serviceMarkup = %markup;
%client.player.serviceOrigin = %brick;
messageClient(%client,'',"\c6A service is offering to sell you one \c3" @ %name SPC "\c6for \c3$" @ %client.player.serviceFee SPC "\c6.");
messageClient(%client,'',"\c6Accept with \c3/yes\c6, decline with \c3/no\c6.");
}
else
messageClient(%client, '', '\c6A service is trying to offer you %1 \c3%2\c6, but the city needs \c3%3\c6 more minerals to produce it!', CityRPG_DetectVowel(%name), %name, ($CityRPG::prices::weapon::mineral[%item] - CitySO.minerals));
}
else if(%client.player.serviceOrigin && %client.player.serviceOrigin != %brick)
messageClient(%client, '', "\c6You already have a charge request from another service! Type \c3/no\c6 to reject it.");
}
I think the first snippet is ok, but the second one doesn't register the items in the drop down.