npc RunNPCScript(int ID, int scriptNum, untyped args)
{
// Invalid script
if(scriptNum < 1 || scriptNum > 511)
{
LogPrint("Invalid script ID ( %d ) passed to RunNPCScript. \n Valid range is (1 to 511). Aborting. \n", ID);
return Debug->NULL();
}
npc n = Screen->CreateNPC(ID);
n->Script = scriptNum;
int sz = SizeOfArray(args);
if(sz)
{
sz = ( sz > 7 ) ? 7 : sz-1;
for (; sz >= 0; --sz)
n->InitD[sz] = args[sz];
}
return n;
}
lweapon RunLWeaponScript(int ID, int scriptNum, untyped args)
{
// Invalid script
if(scriptNum < 1 || scriptNum > 511)
{
LogPrint("Invalid script ID ( %d ) passed to RunLWeaponScript. \n Valid range is (1 to 511). Aborting. \n", ID);
return Debug->NULL();
}
lweapon n = Screen->CreateLWeapon(ID);
n->Script = scriptNum;
int sz = SizeOfArray(args);
if(sz)
{
sz = ( sz > 7 ) ? 7 : sz-1;
for (; sz >= 0; --sz)
n->InitD[sz] = args[sz];
}
return n;
}
lweapon RunEWeaponScript(int ID, int scriptNum, untyped args)
{
// Invalid script
if(scriptNum < 1 || scriptNum > 511)
{
LogPrint("Invalid script ID ( %d ) passed to RunEWeaponScript. \n Valid range is (1 to 511). Aborting. \n", ID);
return Debug->NULL();
}
eweapon n = Screen->CreateEWeapon(ID);
n->Script = scriptNum;
int sz = SizeOfArray(args);
if(sz)
{
sz = ( sz > 7 ) ? 7 : sz-1;
for (; sz >= 0; --sz)
n->InitD[sz] = args[sz];
}
return n;
}
Comments