My script so far:
Code: Select all
use os;
use uo;
include "include/canAccess";
include "include/attributes";
var text :=;
const SEARCH_RANGE := 10;
program makevendor(who, deed)
EraseObjProperty(who, "IsMeditating");
EraseObjProperty(who, "HealTimer");
if(!can_access(who, deed))
return;
endif
if(!ReserveItem(deed))
return;
endif
var place;
foreach static in (ListStaticsAtLocation(who.x, who.y, who.z, ITEMS_IGNORE_MULTIS, who.realm))
var value := static.objtype;
if(static.z == who.z)
if(value == 0x4F6)
var sign;
place := CreateNpcFromTemplate("playervendor", who.x, who.y, who.z);
if(!place)
SendSysMessage( who, "Your vendor has not been created");
return;
else
text := RequestInput(who,who.backpack,"What would you like to name your vendor?");
SendSysMessage(who, "You have successfully created a vendor");
SetObjProperty(place, "master", who.serial);
SetObjProperty(place, "mn", who.name);
SetObjProperty(place, "r", 1500);
SetName(place, text + " (" + who.name + ")");
if(!DestroyItem(deed))
RevokePrivilege(place, "invul");
SetObjProperty(place, "guardkill", 1);
ApplyRawDamage(place, (GetHp(place) + 5));
endif
exit;
endif
endif
endforeach
var sign;
place := CreateNpcFromTemplate("playervendor", who.x, who.y, who.z);
if(!place)
SendSysMessage( who, "Your vendor has not been created");
return;
else
text := RequestInput(who,who.backpack,"What would you like to name your vendor?");
SendSysMessage(who, "You have successfully created a vendor");
SetObjProperty(place, "master", who.serial);
SetObjProperty(place, "mn", who.name);
SetObjProperty(place, "r", 1500);
if (text)
SetName(place, text + " (" + who.name + ")");
endif
if(!DestroyItem(deed))
RevokePrivilege(place, "invul");
SetObjProperty(place, "guardkill", 1);
ApplyRawDamage(place, (GetHp(place) + 5));
endif
if(who.multi.serial)
var multi := who.multi;
var sign;
foreach thing in (multi.components)
if(thing.objtype == 0xbd2)
sign := thing;
break;
endif
endforeach
if(!sign)
SendSysMessage(who, "You cannot place a vendor here.");
return;
endif
if(!GetObjProperty(sign, "Public"))
SendSysMessage(who, "You can only place vendors in public houses.");
return;
endif
place := CreateNpcFromTemplate("playervendor", who.x, who.y, who.z);
if(!place)
SendSysMessage( who, "Your vendor has not been created");
return;
else
SendSysMessage(who, "You have successfully created a vendor");
SetObjProperty(place, "master", who.serial);
SetObjProperty(place, "mn", who.name);
SetObjProperty(place, "r", 1500);
if(!DestroyItem(deed))
RevokePrivilege(place, "invul");
SetObjProperty(place, "guardkill", 1);
ApplyRawDamage(place, (GetHp(place) + 5));
endif
endif
else
SendSysMessage( who, "You cannot place your vendor here");
return;
endif
endprogram
No idea what im doin wrong..C:\pol096\scripts>ecompile -a
EScript Compiler v1.05
Copyright (C) 1994-2007 Eric N. Swanson
Compiling: ../scripts/items/vendorDeed.src
Unhandled reserved word: endforeach
Error compiling statement at C:\pol096\scripts\items\vendorDeed.src, Line 43
Error in IF statement starting at File: C:\pol096\scripts\items\vendorDeed.src,
Line 21
Error compiling statement at C:\pol096\scripts\items\vendorDeed.src, Line 21
Error compiling statement at C:\pol096\scripts\items\vendorDeed.src, Line 19
Error detected in program body.
Error occurred at C:\pol096\scripts\items\vendorDeed.src, Line 43
Execution aborted due to: Error compiling file
C:\pol096\scripts>