By Siwek
Witam.
Myślę, że każdemu początkującemu przyda się krótki poradnik, gdzie dowie się, jak stworzyć swój własny OTS. Opisane są tutaj podstawowe rzeczy typu config.lua, acc maker, tworzenie potworów, zmienianie cen run. życzę miłej lektury ; )
No więc powinniśmy zacząć od najważniejszej rzeczy... czyli śćiągnięciu OTS ;-) Może to być dowolny OTS, ponieważ są one do siebie bardzo podobne.
Następnie rozpakowywujemy plik i zaczynamy od config.lua, którego otwieramy za pomocą notatnika. Właściwości-----> Otwórz za pomocą------> Notatnik
Tutaj już wam pokażę co powinniście lub możecie uzupełnić :-) Miejsca oznaczone gwiazdką oznaczają ważniejsze informacje :-)
Konfiguracja Config.lua
---------------------------- OTServ configuration ------------------------------
-- datadir datadir = "data/"
-- sets what map to load map = "data/world/test.otbm" <------ Â?cieżka do mapy. Przy zmienieniu jej na mapę o nazwie ,,moja" wystarczy zmienić ,,test" na ,,moja".
-- OTBM for binary, SQL for SQL map, XML for OTX maps mapkind = "OTBM" <------ To zostawiamy.
-- SQL for acc/player info from SQL, XML for acc/player info from XML sourcedata = "XML" <------ To zostawiamy.
-- the message the player gets when he logs in loginmsg = "Witam na SiwekOTS" <------ Napis, który pojawia się po zalogowaniu do gry na kanale Default.
-- the port otserv listens on * port = "7171" <------ Port Servera. Najlepiej zostawić taki jaki jest.
-- name of our server servername = "SiwekOTS" <------ Nazwa servera.
-- name of the owner of our server ownername = "GM Misjonarz" <------ Posiadacz servera.
-- email of the owner of our server owneremail = "" <------ E-mail posiadacza servera.
-- the url for more server info url = "" <------ Strona servera. Nie jest konieczna
-- the location of the server location = "Poland" <------ To raczej zostawiamy :-)
-- the ip the server should redirect too * ip = "86.63.99.152" <------ Nasze IP. Aby je sprawdzić wchodzimy na http://www.whatismyip
-- The messagebox you sometimes get before you choose characters * motd = "Witamy na SiwekOTS :-)" <------ Tekst, który pojawia się przed listą postaci. motdnum="0"
-- use md5 passwords for accounts, yes/no md5passwords = "no"
-- world type. options: pvp, no-pvp, pvp-enforced * worldtype = "pvp" <------ Typ świata.
Krótki opis ,,PvP- Można się zabijać" ,,PvP-Enforced- Za zabicie gracza dostaje się doświadczenie" ,,No-PvP- Nie można się zabijać.
-- max number of players allowed * maxplayers = "40" <------ Maksymalna ilość osób na serverze.
-- exhausted time in ms (1000 = 1sec) * exhausted = 1000 <------ Jak szybko można strzelać z runek. Poniżej 1000 można strzelać z macro =P
-- exhaustion time for healing spells (1000 = 1sec) exhaustedheal = 1000 <------ Jak szybko można się leczyć czarami spontaniczymi (exura, exura gran, exura vita)
-- how many ms to add if the player is already exhausted and tries to cast a spell (1000 = 1sec) exhaustedadd = 300
-- how long does the player has to stay out of fight to get pz unlocked in ms (1000 = 1sec) pzlocked = 10*1000
-- allow multiple logins of the same char allowclones = 0 <------ Ile osób może grać 1 charem. Przydatne do PvP :-)
-- vocation names vocations = {"a sorcerer", "a druid", "a paladin", "a knight"} <------ Najlepiej zostawić promoted_vocations = {"a master sorcerer", "an elder druid", "a royal paladin", "an elite knight"} <------ Też najlepiej zostawić
--- SQL part sql_host = "localhost" sql_user = "root" sql_pass = "" sql_db = "otserv"
--- SQL MAP part sqlmap = "test_map" map_host = "localhost" map_user = "root" map_pass = "" map_db = ""
------------------------- YurOTS basic configuration ---------------------------
-- name of your world (seen on the character list when logging in) worldname = "Siwek OTS" <------ Nazwa Servera
-- how often do server saves it's state (0 = off, 5 = 5min, 60 = hour) autosave = 10 <------ Co jaki czas ma następować zapis servera.
-- do you want to enable cap system? (yes/no) capsystem = "no" <------ Czy ma być cap system??
-- do you want players to learn spells before they can use them? (yes/no) * learnspells = "no" <------ Czy trzeba uczyć się czarów??
-- do you want to give premium account to all players? (yes/no) freepremmy = "no" <------ Czy gracze mają zaczynać z Premium Account
-- do you want premium players to wait in queue as others? (yes/no) queuepremmy = "yes"
-- how much % of {exp, mana, skill, eq, bp} do you lose when dying diepercent = {"7", "7", "7", "7", "100"} <------ Jakie są szanse na stratę doświadczenia, m lvl, skilli, eq lub backpacka
-- how many summons player can have maxsummons = 2 <------ Maksymalna ilość summonów.
-- do you want to give summons for all vocations? (yes/no) summonsallvoc = "no" <------ Czy wszystkie profesje mogą tworzyć summona (Knight biega z 2 ds'ami?:-P)
-- chance of losing a spear when shot (0 - none lost, 100000 - all lost) spearlosechance = 50 <------ Po ilu uderzeniach spear ma ulec zniszczeniu
-- anti-afk - maximum idle time to kick player (1 = 1min) kicktime = 15 <------ Po ilu minutach po nie oddawaniu oznak życia gracz ma zostać wyrzucony z gry
-- maximum number of items player can keep in his/her depot maxdepotitems = 10000 <------ Maksymalna ilość itemów w depo
-- maximum number of items on a house tile (including those in containers) maxhousetileitems = 20 <------ Maksymalna ilość itemów na jednej kratce domku
-- how much death entries are saved in players file (old are deleted) maxdeathentries = 10
-- mana consumend by {snakebite, moonlight, volcanic, quagmire, tempest} rod rodmana = {"2", "3", "5", "8", "13"} <------ Najlepiej to i 3 poniższe zostawić.
-- mana consumed by wand of {vortex, dragonbreath, plague, cosmic energy, inferno} wandmana = {"2", "3", "5", "8", "13"} <------ Najlepiej to i 2 poniższe zostawić.
-- shooting range of {snakebite, moonlight, volcanic, quagmire, tempest} rod rodrange = {"4", "3", "2", "1", "3"} <------ Najlepiej to i 1 poniższy zostawić.
-- shooting range of wand of {vortex, dragonbreath, plague, cosmic energy, inferno} wandrange = {"4", "3", "2", "1", "3"} <------ Najlepiej to zostawić.
-- damage of burst arrows blast -- default is from (1*lvl+5*mlvl)*0.24 to (1*lvl+5*mlvl)*0.55 <------ Obrażenia od burst arrow burstarrowdmg = {"1.0", "5.0", "0.24", "0.55"} <------ Obrażenia od burst arrow
--------------------------- Multipliers and gains ------------------------------
-- experience multiplier (how much faster you got exp from monsters) * expmul = 4 <------ Mnożnik expa.
-- experience multiplier for pvp-enforced (how much faster you got exp from players) expmulpvp = 2 <------ Przy PvP-Enforced po zabiciu gracza dostajemy jego doświadczenie. Tutaj jest mnożnik tego doświadczenia ;-)
-- skill multipliers: 1 - rl tibia, 10 - ten times faster etc. {no-voc, sorcerer, druid, paladin, knight} weaponmul = {"5", "5", "5", "5", "40"} <------ Jak szybko mają rosnąć skille: fist, sword, axe i club figting distmul = {"1", "1", "1", "40", "1"} <------ Jak szyko ma rosnąć distance shieldmul = {"5", "5", "5", "20", "30"} <------ Jak szybko ma rosnąć shielding manamul = {"1", "3", "3", "2", "2"} <------ Jak szybko ma rosnąć magic level
-- how much points of life,mana,cap do you get when advancing {no-voc, sorcerer, druid, paladin, knight} capgain = {"10", "10", "10", "20", "25"} <------ Ile co level dana profesja ma otrzymywać capa managain = {"5", "30", "30", "15", "5"} <------ Ile co level dana profesja ma otrzymywać many hpgain = {"5", "5", "5", "10", "15"} <------ Ile co level dana profesja ma otrzymywać życia
-- how much faster do you recovery life,mana after eating food (1 - rl tibia) healthtickmul = 10 <------ O ile razy szybciej ma rosnąć życie niż w rl tibii manatickmul = 10 <------ O ile razy szybciej ma rosnąć mana niż w rl tibii
-------------------------------- Skull system ----------------------------------
-- how many unjustified kills to get a red skull redunjust = 3 <------ Po ilu zabiciach mamy otrzymać red skulla (tylko w PvP)
-- how many unjustified kills to get banned banunjust = 6 <------ Po ilu zabiciach mamy otrzymać automatycznego bana
-- how long do you have white skull after attacking player (1 = 1min) hittime = 1
-- how long do you have white skull after killing player (1 = 1min) whitetime = 15 <------ Czas trwania white skulla
-- how long do you have red skull (1 = 1min) redtime = 6*60 <------ Czas trwania red skulla. Im więcej osób tutaj zabijemy tym dłużej mamy. Po zabiciu 3 osób czekamy 3h, po 4 graczach 4h itd.
-- how long do you have to wait to lose 1 unjustified kill (1 = 1min) fragtime = 12*60
------------------------------ GM access rights -------------------------------- To już zostawimy :-)
-- access to walk into houses and open house doors accesshouse = 3
-- access to login without waiting in the queue or when server is closed accessenter = 3
-- access to ignore damage, exhaustion, cap limit and be ignored by monsters accessprotect = 3
-- access to broadcast messages and talk in colors (#c blabla - in public channels) accesstalk = 3
-- access to move distant items from/to distant locations accessremote = 3
-- access to see id and position of the item you are looking at accesslook = 3
Tak więc po uzupełnieniu tych ważnych i mniej ważnych pól mamy właściwie OTS gotowego.
Zmienianie cen run
Ale zapewne nie jeden z was chciał by, aby na serverze nie były takie drogie runy. Jak to zrobić?? Właśnie tak: Wchodzimy w folder z OTS następnie data/npc/scripts Otwieramy plik runes.lua za pomocą notatnika i zmieniamy następujące rzeczy:
Zrobię tutaj przykład z hmm. Mamy oto takie 2 linijki:
elseif msgcontains(msg, 'hmm') then buy(cid,2311,100,40)
Tekst, który gracz musi wypowiedzieć, aby kupić daną runę. Ilość strzałów w zakupionej runie Suma pieniędzy zakupu runy
Czyli teraz przykładowo gdybyśmy napisali do NPC: >Hi >hmm
Musieli byśmy zapłacić 40 gp, a otrzymali byśmy hmm o wartości 100 strzałów. Tak zmieniamy przy każdej runie, a będzie wszystko ok ;-)
Pełna konfiguracja Account Makera
Pierw zaczynamy od ściągnięcia WebServa najlepiej 1.2. Można pobrać z tąd http://www.webserv.pl/?page=pobierz
Instalujemy i odpalamy. Pierw trzeba skonfigurować go opiszę tutaj jak.
No więc pierwsze okienko. Tutaj najlepiej wszystko zostawmy i przejdzmy dalej.
http://img227.imageshack.us/img227/9065/p00101nr.th.jpg
2 okienko. Tutaj możemy ustawić czy chcemy sterować serverem ręcznie czy nie. Osobiście nie polecam :-P Więc najlepiej idziemy dalej.
http://img495.imageshack.us/img495/2505/p00110dn.th.jpg
W tym oknie też dobrze jest wszystko zostawić. Więc znów idziemy dalej.
http://img227.imageshack.us/img227/4426/p00126xe.th.jpg
Tutaj także idziemy dalej, gdyż nie ma tutaj nic takiego do zmieniania :-P
http://img227.imageshack.us/img227/5337/p00132sw.th.jpg
Tutaj użytkowników neostrady dobrze zaznaczyć Bazę MySQL i zaznaczyć MySQL Max.
http://img227.imageshack.us/img227/9807/p00146vk.th.jpg
Do acc makera nie będziemy potrzebowali servera FTP więc idziemy dalej.
http://img395.imageshack.us/img395/407/p00157at.th.jpg
Dla tych co posiadają no-ip powinni zaznaczyć tą opcje, a jeżeli nie to idziemy dalej i to już koniec :-)
http://img476.imageshack.us/img476/1136/p00163dt.th.jpg
Następnie włączamy WebServer i w pasku mamy ikonkę z takim komputerkiem. Klikamy na nią PPM i wybieramy folder główny. Otwiera nam się folder httpd, gdzie musimy umieścić pliki z acc makera. Przy acc makerze z YurOTS jest plik index.php, config.php, newacc.php.
Opiszę tutaj jak skonfigurować config.php z acc makera przy YurOTS, ale wszystkie działają na podobnej zasadzie ;-)
<? //---------------------------- OTS directories -------------------------------- $diraccount = 'C:\\Downloads\\OTS3\YurOTS_094b\\ots\\data\\accounts'; <----- Tutaj podajemy ścieżke do pliku account przy OTS. Zróbcie to na obecnym wzorze i pamiętajcie o 2 kreskac ,,\\" $dirplayer = 'C:\\Downloads\\OTS3\YurOTS_094b\\ots\\data\\players'; <----- Tutaj to co powyżej tylko ścieżke do folderu players $dirvip = 'C:\\Downloads\\OTS3\YurOTS_094b\\ots\\data\\vip'; <----- A tutaj do folderu vip
//----------------------------- All vocations ---------------------------------- $lvl = '20'; // initial level <---- Tutaj wpisujemy z jakim lvl ma zaczynać każda postać $exp = '98800'; // initial exp (must be correct with level) <---- Tutaj podajemy ilość expa. Uwaga!! Musi być taka jaka jest potrzebna na dany lvl!!! $cap = '300'; // initial capacity <---- Tutaj podajemy ile postać ma posiadać capa jak zaczyna. Nie potrzebne jeżeli mamy wyłączony system capacity.
// spawn place $spawnx = '160'; <---- Współrzędna ,,x" gdzie mamy zacząć na mapie. Najlepiej temple. $spawny = '54'; <---- Współrzędna ,,y" gdzie mamy zacząć na mapie. $spawnz = '7'; <---- Współrzędna ,,z" gdzie mamy zacząć na mapie.
// temple $templex = '160'; <---- Współrzędna ,,x" temple, w którym każdy gracz zaczyna po śmierci $templey = '54'; <---- Współrzędna ,,y" temple. $templez = '7'; <---- Współrzędna ,,z" temple.
// do not change! if (!defined('MALE')) define('MALE', 1); if (!defined('FEMALE')) define('FEMALE', 0); if (!defined('SORC')) define('SORC', 1); if (!defined('DRUID')) define('DRUID', 2); if (!defined('PALADIN')) define('PALADIN', 3); if (!defined('KNIGHT')) define('KNIGHT', 4);
//-------------------------------- Sorcerer ------------------------------------ // Looks $look[SORC][MALE] = '9'; <---- Tutaj ustawiamy wygląd chłopaka (dobrze zostawić, ale można się pobawić. Jeżeli chcecie mogę wam opisać jak zrobić, żeby zacząć np. z wyglądem Hero, $look[SORC][FEMALE] = '58'; <----- To co powyżej, tylko że wygląd dziewczyny
// HP, mana, magic level $health[SORC] = '295'; <------ Ile sorc ma mieć życia jak zacznie gre $mana[SORC] = '395'; <------ Ile sorc ma mieć many jak zacznie gre $mlvl[SORC] = '45'; <------ Jaki sorc ma mieć magic level jak zacznie gre
// Skills: fist,club,sword,axe,dist,shld,fish $skill[SORC] = array(10, 10, 10, 10, 10, 15, 10); <---- Skille z jakimi zaczyna sorc
// Eq: helm, amul, bp, armor, rght, left, legs, boot, ring, ammo $equip[SORC] = array(2490, 2129, 1988, 2463, 2423, 2525, 2468, 2643, 2164, 0); <--- Ekwipunek z jakim zaczyna sorcerer
// Backpack: $bp[SORC] = '<item id="2152" count="50"/><item id="2311" count="100"/>'; <----- Co ma mieć sorcer w backpacku po zaczęciu gry.
Tutaj wpisujmy ID itemu, który ma mieć sorcer w backpacku. W tym wypadku są tutaj platynki, a 2 item to hmm Ilość rzeczy. Przykładowo tutaj gracz zaczyna z 50 platynkami i hmm o ilości 100 strzałów. Przy itemach np. crown armor count niema znaczenia więc zostawiamy np. 1
Oczywiście w tym przykładzie opisałem tylko sorca, ale dalej mamy jeszcze w kolejności druida, paladyna i knighta. U nich sytuacja wygląda tak samo tylko zmieniamy im np. eq, skille, hp, mane wedle uznania ;-)
Acc maker do rooka. Wklejamy po prostu pliki z folderu accmaker_rook i otwieramy config.php tak jak poprzednio notatnikiem.
<? //---------------------------- OTS directories -------------------------------- $diraccount = 'c:\\YurOTS\\data\\accounts'; <---- Tak jak przy powyższym acc makerze podajemy ścieżke do folderu account $dirplayer = 'c:\\YurOTS\\data\\players'; <---- Tutaj ścieżke do folderu players $dirvip = 'c:\\YurOTS\\data\\vip'; <---- I tutaj do VIP
//-------------------------------- Rookie -------------------------------------- // spawn place $spawnx = '85'; <---- Współrzędna ,,x" spawnu. Najlepiej temple na rooku. $spawny = '211'; <---- Współrzędna ,,y" spawnu. Najlepiej temple na rooku. $spawnz = '7'; <---- Współrzędna ,,z" spawnu. Najlepiej temple na rooku.
// temple $templex = '85'; <---- Współrzędna ,,x" temple na rooku. $templey = '211'; <---- Współrzędna ,,y" temple na rooku. $templez = '7'; <---- Współrzędna ,,z" temple na rooku.
// Looks (male, female) $look[1] = '130'; <----- Wygląd chłopaka. $look[0] = '138'; <----- Wygląd dziewczyny.
// Eq: helm, amul, bp, armor, rght, left, legs, boot, ring, ammo $equip = array( 0, 0, 1988, 2467, 0, 2382, 0, 0, 0, 0); <------ Początkowy ekwipunek.
// Backpack: $bp = '<item id="2674" count="1"/>'; <------ Itemy w backpacku. W tym przypadku 1 jabłko. ?>
Ręczne tworzenie postaci
No więc tutaj opiszę ręczne tworzenie postaci. Co prawda nie jest potrzebne zabardzo kiedy posiadamy acc makera, ale warto wiedzieć na jakiej podstawie powstaje takie konto. W tym celu otwieramy notatnik i notujemy. Napiszę kawałek po kawałku, żeby wszystko opisać ;-)
Pierw wklejamy to.
<?xml version="1.0"?>
Teraz ustalamy jaki ma być dolny kod postaci.
<account pass="lolek"
Tutaj można ustawić ile ma się mieć dni pacc'a.
type="1" premDays="15">
Teraz doklejamy to najważniejsze. W miejscu ,,Azorea" wpisujemy nick postaci, która chcemy zrobić.
<characters> <character name="Azorea"/> </characters>
Jeżeli chcemy mieć 2 postacie na koncie doklejamy przed </characters> to i w miejscu ,,Misjonarz" Wpisujemy nick 2 postaci.
<character name="Misjonarz"/>
I dodajemy ostatnią linijkę, w której nic nie zmieniamy.
</account>
Całość powinna wyglądać wtedy tak:
<?xml version="1.0"?> <account pass="lolek" type="1" premDays="15"> <characters> <character name="Misjonarz" /> <character name="Azorea"/> </characters> </account>
Teraz należy to napisać w formacie *.xml Załóżmy, że konto będzie miało nr. 159786 Więc wchodzimy w Plik>Zapisz jako... I postępujemy zgodnie z obrazkiem:
http://img482.imageshack.us/img482/6783 … 1ai.th.jpg
W miejscu ,,Nazwa pliku" wpisujemy przykładowo 159786.xml W ,,Zapisz jako typ" Tutaj musimy roziwnąć listę i wybrać ,,Wszystkie pliki" I zapisujemy konto w folderze z OTS data>accounts
Pamiętaj przy nazwie o dopisaniu .xml!!!
Pierwszy krok mamy za sobą teraz trzeba stworzyć plik z postaćią :-) Więc otwieramy notatnik i piszemy: Zaczynamy tak jak poprzednio od tej linijki:
<?xml version="1.0"?>
Teraz dopisujemy to i w miejscu z nickiem Azorea wpisujemy nick postaci, która podaliśmy w poprzednim pliku z kontem
<player name="Azorea"
Teraz dodajemy to i w miejscu 159786 wpisujemy górny kod czyli nazwę poprzedniego pliku.
account="159786"
Tutaj ustawiamy płeć postaci. 0 to kobieta, a natomiast 1 mężczyzna.
sex="0"
Dodajemy to.
lookdir="1"
Teraz wpisujemy exp jaki ma mieć stworzona przez nas postać.
exp="98800"
Tutaj ustalamy profesje postaci. 1- Sorcerer, 2- Druid, 3- Paladin i 4- Knight
voc="1"
Tu natomiasto podajemy lvl zgodny z podanym wcześniej doświadczeniem (exp) postaci.
level="20"
Tutaj ustawiamy kim ma być postać. 0- Zwykły gracz, 1- Tutor, 2-Counsoller (chyba :-P), 3- GameMaster
access="0"
Teraz ustawiamy ilość posiadanego capa przez postać.
cap="300"
Poziom magiczny postaci.
maglevel="45"
I dopisujemy to. Tutaj nic nie zmieniamy, ponieważ to po zalogowaniu samo się uzupełni, a dotyczy tego, kiedy ostatnio postać była zalogowana.
lastlogin="0">
Teraz ujmę to jako 1. Tutaj wpisujemy współrzędne spawnu, czyli gdzie ma się po zalogowaniu postać pojawić i temple, czyli miejsca gdzie postać odradza się po śmierci.
<spawn x="160" y="54" z="7"/> <temple x="160" y="54" z="7"/> <health now="295" max="295" food="0"/> <mana now="395" max="395" spent="0"/>
Tutaj możemy ustawić wygląd postaci, jednak najlepiej jest to zostawić, ale przy potworach istnieją podobne linijki, każdą można zamienić i będziemy wyglądać inaczej ;-) To raczej dla trochę bardziej wtajemniczonych, ponieważ newbie mogą się w tym nie połapać, ale mogę później o tym napisać :-)
<look type="9" head="20" body="30" legs="40" feet="50"/>
Teraz ustalamy skille postaci. 0- Fist Fighting, 1- Club Fighting, 2- Sword Fighting, 3- Axe Fighting, 4- Distance Figting, 5- Shielding, 6- Fishing.
<skills> <skill skillid="0" level="10" tries="0"/> <skill skillid="1" level="10" tries="0"/> <skill skillid="2" level="10" tries="0"/> <skill skillid="3" level="10" tries="0"/> <skill skillid="4" level="10" tries="0"/> <skill skillid="5" level="15" tries="0"/> <skill skillid="6" level="10" tries="0"/> </skills>
Teraz podajemy ID skrzynki w depo (tej szarej) pod 7.6 jest to ID 2490, a pod 7.5 najlepiej sprawdzić w Map Editorze.
<inventory><slot slotid="1"><item id="2490"/></slot> </inventory>
Teraz podajemy ID szkrzynki depo (tej brązowej) Są tutaj podane pod 7.6 więc sprawdzić w Map Editorze ;-)
<depots><depot depotid="1"><item id="2590"><inside><item id="2594"/></inside></item></depot></depots>
I kończymy tymi 2 linijkami.
<storage/> </player>
Poprawnie zrobiona całość powinna wyglądać tak:
<?xml version="1.0"?> <player name="Azorea" account="159786" sex="1" lookdir="1" exp="98800" voc="1" level="20" access="0" cap="300" maglevel="45" lastlogin="0"> <spawn x="160" y="54" z="7"/> <temple x="160" y="54" z="7"/> <health now="295" max="295" food="0"/> <mana now="395" max="395" spent="0"/> <look type="9" head="20" body="30" legs="40" feet="50"/> <skills> <skill skillid="0" level="10" tries="0"/> <skill skillid="1" level="10" tries="0"/> <skill skillid="2" level="10" tries="0"/> <skill skillid="3" level="10" tries="0"/> <skill skillid="4" level="10" tries="0"/> <skill skillid="5" level="15" tries="0"/> <skill skillid="6" level="10" tries="0"/> </skills> <inventory><slot slotid="1"><item id="2490"/></slot> </inventory> <depots><depot depotid="1"><item id="2590"><inside><item id="2594"/></inside></item></depot></depots> <storage/> </player>
No to mam nadzieje, że już każdy zrozumiał o co biega w OTS. To oczywicie nie są wszystkie funkcje jakie są na OTS ale o tym już sami się dowiecie gdy bardziej zapuścicie się w tajniki OTS'ów.
|