PenUltima Online Forum Index Official Core: 096.7
Official Core: 097 2008-02-26
Donate towards the POL web hosting bill!
 POL Home   FAQ   Search    Memberlist   Usergroups    Register    Profile   Log in to check your private messages   Log in
Some Tool

 
Post new topic   Reply to topic    PenUltima Online Forum Index -> Custom Script Releases
Display posts from previous:   

Author Message
Unfaithful



Joined: 11 Jun 2007
Posts: 38

PostPosted: Mon Jul 30, 2007 2:28 pm    Post subject: Some Tool Reply with quote

Maybe it will be usefull for someone
Code:
//////////////////////////////////////////////////////////////////////
//Drac0 30-07.2007
//Komenda do kopiowania zawratosci kufrow / bankow do cfg
//Korzystajac z roznego rozadzju parametrow mozemy zapisywa/tworzyc itemy
// 1 - SSkrzynka Bankowa
// 2 - Kufer/plecak
// 3 - Zczytywanie z configa
// Po jednorazowym uzyciu nalezy wyczyscic configa ;]]
//////////////////////////////////////////////////////////////////////
//ENGLISH VERSION
//Command was created to move items from backup to real data if someone lost his bank
// 1 - Bank box
// 2 - Container
// 3 - Read from config and create
// Just for 1 use then u must clean up your config file.
//////////////////////////////////////////////////////////////////////
use os;
use uo;
use cfgfile;
use basic;

include "util/bank";

program textcmd_wipebank(who,parm)
if(!parm)
//SendSysMessage(who,"1- kopiowanie banku, 2- kopiowanie pojemnika , 3- tworzenie z configa ");
SendSysmessage(who,"1 for bank, 2 for container, 3 for create");
endif
if(parm == "1")
kopiujbank(who);
elseif(parm == "2")
kopiujpojemnik(who);
elseif(parm == "3")
stworz(who);
endif
endprogram

function kopiujbank(who)
//Sendsysmessage(who,"Wskaz gracza ktorego skrzynke bankowa chcesz skopiowac");
Sendsysmessage(who,"Choose player");
var tgt := Target(who);
var bankbox := FindBankBox(tgt);
var elem := array;
var ilosc := 1;
foreach item in EnumerateItemsInContainer(bankbox)

elem:={ };
elem.append({"NAME",  item.desc});
elem.append({"ID",    item.objtype});
elem.append({"COLOR", item.color});
elem.append({"USES",  item.usescript});
elem.append({"EQUS",  item.equipscript});
elem.append({"UEQUS",  item.unequipscript});
elem.append({"NB",  item.newbie});
elem.append({"GR",  item.graphic});
elem.append({"AM",  item.amount});
elem.append({"WG",  item.weight});
elem.append({"PROP", pack(propy(who,item))});
AppendConfigFileElem("itemtool", "ITEMEK", "ITEM "+ilosc, elem);
ilosc  += 1;
sleepms(5);
endforeach
endfunction

function stworz(who);
var itemki := ReadConfigFile("itemtool");
var plecak := CreateItemincontainer(who.backpack,"backpack",1);
var yx := GetConfigStringKeys(itemki);
var hmm;
var obj;
var licznik := 1;
foreach name in yx
if((licznik > 125) || (plecak.weight > 50000))
MoveObjectToLocation(plecak,who.x,who.y,who.z,"britannia",MOVEOBJECT_FORCELOCATION);
plecak := CreateItemincontainer(who.backpack,"backpack",1);
licznik := 0;
endif
hmm := itemki[name];
if(hmm)
if(Cint(hmm.wg) > 9000)
obj := CreateItemAtLocation(who.x,who.y,who.z,hmm.id,hmm.am,who.realm);
else
obj := Createitemincontainer(plecak,hmm.id,hmm.am);
endif
obj.color := hmm.color;
obj.usescript := hmm.uses;
obj.equipscript := hmm.equs;
obj.unequipscript := hmm.uequs;
obj.newbie := hmm.newbie;
obj.graphic := hmm.gr;
obj.desc := hmm.name;
if(hmm.prop)
var propki := array;
propki := unpack(hmm.prop);
var dlugosc := propki.size();
var i,h;
h := 2;
for(i := 1; i <= dlugosc; i:=i+1)
SetObjProperty(obj,propki[i][h-1],propki[i][h]);
endfor
endif
endif
licznik := licznik +1;
sleepms(5);
endforeach
endfunction

function kopiujpojemnik(who);
//Sendsysmessage(who,"Wskaz pojemnik ktory chcesz skopiowac");
SendSysMessage(who,"Choose container");
var tgt := Target(who);
var elem := array;
var ilosc := 1;
foreach item in EnumerateItemsInContainer(tgt)

elem:={ };
elem.append({"NAME",  item.desc});
elem.append({"ID",    item.objtype});
elem.append({"COLOR", item.color});
elem.append({"USES",  item.usescript});
elem.append({"EQUS",  item.equipscript});
elem.append({"UEQUS",  item.unequipscript});
elem.append({"NB",  item.newbie});
elem.append({"GR",  item.graphic});
elem.append({"AM",  item.amount});
elem.append({"PROP", pack(propy(who,item))});
AppendConfigFileElem("itemtool", "ITEMEK", "ITEM "+ilosc, elem);
ilosc  += 1;
sleepms(5);
endforeach
endfunction

function propy(who,item)
var araj := array;
foreach propname in GetObjPropertyNames(item)
araj.append({propname,GetObjProperty(item, propname)});
                sleepms(2);
   endforeach
    return araj;
endfunction

Post new topic   Reply to topic    PenUltima Online Forum Index -> Custom Script Releases All times are GMT - 4 Hours
Page 1 of 1

 




Powered by phpBB © 2001, 2005 phpBB Group :: Theme & Graphics by GHS & Scott E. Royalty