Some Tool

Post your Custom Scripts or Packages.
Post Reply
Unfaithful
Neophyte Poster
Posts: 38
Joined: Mon Jun 11, 2007 1:35 pm

Some Tool

Post by Unfaithful »

Maybe it will be usefull for someone

Code: Select all

//////////////////////////////////////////////////////////////////////
//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 Reply