Eh ok new problemo..
Uhm, it tells me he doesnt have this pet... any ideas on how i could fix this? Maybe write a whole new simple script..
Ok i did this
Code: Select all
if(!pet)
CreateNpcFromTemplate( pet, player.x, player.y, player.z );
endif
and got an error(in game) it said "take care of error text = "Object does not support members" be sure to feed it!
entire function:
Code: Select all
function Load_Ticket_Data(player, ticket)
if(!canclaim(player,GetObjProperty(ticket, "pettemplate")))
say("You have no chance of controlling that!");
return;
endif
var tempdata := 0;
var newpet := 0;
var pet;
if(ticket.objtype == 0x14f0)
tempdata := GetObjProperty(ticket, "petserial");
say("Oh, let me find your pet for you. One moment, please.");
sleep(1);
var petserial := GetObjProperty(ticket, "petserial");
mystorage := GetObjProperty(me, "Pets");
if(petserial in mystorage)
pet := SystemFindObjectBySerial(petserial);
endif
if(!pet)
CreateNpcFromTemplate( pet, player.x, player.y, player.z );
endif
SetObjProperty(pet, "master", player.serial);
SetObjProperty(pet, "prevtamed", 1);
EraseObjProperty(pet,"stabled");
EraseObjProperty(pet,"days");
pet.script := "tamed";
RestartScript(pet);
RevokePrivilege(pet, "invul");
MoveCharacterToLocation(pet, player.x, player.y, player.z, MOVECHAR_FORCELOCATION);
var holder := array;
mystorage := GetObjProperty(me, "Pets");
foreach thing in mystorage
if(thing != pet.serial)
holder.append(thing);
endif
endforeach
mystorage := holder;
SetObjProperty(me, "Pets", mystorage);
EraseObjProperty(pet, "NextCounter");
say("Take care of " + pet.name + " and be sure to feed it!");
DestroyItem(ticket);
else
TakeItem(player, ticket);
endif
endfunction