Tibia Dex

Forum Tibia

  • Nie jesteś zalogowany.
  • Polecamy: Gry

#1 2009-12-21 15:09:56

YaHoOo

Użytkownik

Zarejestrowany: 2009-12-21
Posty: 10
Punktów :   

Tworzenie OTS

Zacznę od krótkiego wstępu, co to jest OTS? Ots jest to skrót od angielskiego wyrażenia Open Tibia Server (nie będę tu dosłownie tłumaczyć). Prosto mówiąc własny server Tibii w domciu . W tym artykule opiszę z grubsza OTS pod Tibię 7.6.

Na początku ściągamy YurOTS 0.9.4d (najłatwiej się nauczyć). Zaczynamy na początku od rozpakowania pliku i umieszczenia go w jednym katalogu. Jeżeli brakuje jakiegoś pliku.dll je z http://www.dll-files.com , kopiujemy plik tibia.dat z katalogu tibii 7.6 (jeżeli go nie ma) do katalogu z otsem. Teraz zabieramy się do pracy. Otwieramy plik config.lua w notatniku. Wygląda on tak:

   

---------------------------- OTServ configuration ------------------------------
    -- ścieżka do katalogu data
    datadir = "data/"
    -- ścieżka do mapy
    map = "data/world/test.otbm"
    -- OTBM for binary, SQL for SQL map, XML for OTX maps
    mapkind = "OTBM"
    -- SQL for acc/player info from SQL, XML for acc/player info from XML
    sourcedata = "XML"
    -- wiadomość, którą otrzymuje gracz po zalogowaniu się
    loginmsg = "Welcome to YurOTS"
    -- port na jakim serwer stoi
    port = "7171"
    -- nazwa serwera
    servername = "YurOTS"
    -- nick posiadacza serwera
    ownername = "Yurez"
    -- e-mail hostera
    owneremail = ""
    -- link do strony otsa
    url = ""
    -- położenia (kraj)
    location = "Poland"
    -- zewnętrzne ip (z http://www.whatismyip.com , nie z no-ip!)
    ip = "127.0.0.1"
    -- wiadomość, która wyskakuje przed wyborem postaci
    motd = "Welcome to YurOTS"
    motdnum="0"
    -- szyfrowanie haseł md5 (nie tak ważne)
    md5passwords = "no"
    -- typ serwera: pvp, no-pvp, pvp-enforced
    worldtype = "pvp"
    -- limit graczy
    maxplayers = "28"
    -- exhausted time in ms (1000 = 1sec)
    exhausted = 2000
    -- exhaustion time dla czarów leczących(1000 = 1sec)
    exhaustedheal = 1000
    -- 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
    -- zezwolenie na logowanie się na postać przez kilka osób  równocześnie
    allowclones = 0
    -- nazwy profesji
    vocations = {"a sorcerer", "a druid", "a paladin", "a knight"}
    promoted_vocations = {"a master sorcerer", "an elder druid", "a royal paladin", "an elite knight"}
    --- SQL part (nie ruszaj!)
    sql_host = "localhost"
    sql_user = "root"
    sql_pass = ""
    sql_db   = "otserv"
    --- SQL MAP part (nie ruszaj!)
    sqlmap = "test_map"
    map_host = "localhost"
    map_user = "root"
    map_pass = ""
    map_db   = ""
    ------------------------- YurOTS basic configuration ---------------------------
    -- nazwa światu (seen on the character list when logging in)
    worldname = "YurOTS"
    -- czas co jaki serwer się zapisuje (0 = off, 5 = 5min, 60 = hour)
    autosave = 10
    -- cap system włączony? (yes/no)
    capsystem = "no"
    -- do you want players to learn spells before they can use them? (yes/no)
    learnspells = "yes"
    -- pacc dla wszystkich? (yes/no)
    freepremmy = "no"
    -- pacc mają czekać w kolejce do logowania? (yes/no)
    queuepremmy = "yes"
    -- Ile %         {exp, mana, skill, eq, bp} traci się podczas śmierci
    diepercent = {"7", "7", "7", "7", "100"}
    -- ile summonów może posiadać gracz?
    maxsummons = 2
    -- summony dla każdej profesji? (yes/no)
    summonsallvoc = "no"
    -- zniszczenie speara (0 - nigdy, 100000 - zawsze)
    spearlosechance = 50
    -- anti-afk – maksymalny czas stania bez ruchu (1 = 1min)
    kicktime = 15
    -- maksymalna ilość rzeczy w depo
    maxdepotitems = 1000
    maksymalna ilość rzeczy w domku
    maxhousetileitems = 10
    -- ile deadów zapisuje się w pliku postaci?
    maxdeathentries = 10
    -- mana zurzywana przez rod{snakebite, moonlight, volcanic, quagmire, tempest} rod
    rodmana = {"2", "3", "5", "8", "13"}
    mana zurzywana przez wand of {vortex, dragonbreath, plague, cosmic energy, inferno}
    wandmana = {"2", "3", "5", "8", "13"}
    -- zasięg rod {snakebite, moonlight, volcanic, quagmire, tempest} rod
    rodrange = {"4", "3", "2", "1", "3"}
    -- zasięg  wand of {vortex, dragonbreath, plague, cosmic energy, inferno}
    wandrange = {"4", "3", "2", "1", "3"}
    -- obrażenia zadawane burstami
    -- domyślne od (1*lvl+5*mlvl)*0.24 do (1*lvl+5*mlvl)*0.55
    burstarrowdmg = {"1.0", "5.0", "0.24", "0.55"}
    --------------------------- Multipliers and gains ------------------------------
    -- o ile więcej dają doświadczenia potwory
    expmul = 10
    -- o ile więcej dają doświadczenia gracze (pvp-enforced)
    expmulpvp = 2
    -- szybkość rośnięcia skillo: 1 - rl tibia, 10 – 10x szybciej etc. {no-voc, sorcerer, druid, paladin, knight}
    weaponmul = {"1", "1", "1", "1", "40"}
    distmul = {"1", "1", "1", "40", "1"}
    shieldmul = {"1", "1", "1", "20", "20"}
    manamul = {"1", "3", "3", "2", "2"}
    -- ile hp, many, capu rośnie, gdy zdobywa się poziomy{no-voc, sorcerer, druid, paladin, knight}
    capgain = {"10", "10", "10", "20", "25"}
    managain = {"5", "30", "30", "15", "5"}
    hpgain = {"5", "5", "5", "10", "15"}
    -- ile szybciej regeneruje się mana, hp po posiłku (1 - rl tibia)
    healthtickmul = 5
    manatickmul = 5
    -------------------------------- Skull system ----------------------------------
    -- ile ujustów do red skulla?
    redunjust = 3
    -- ile ujustów do bana?
    banunjust = 6
    -- czas posiadania white skulla po zaatakowaniu gracza? (1 = 1min)
    hittime = 1
    -- czas posiadania white skulla po zabiciu gracza? (1 = 1min)
    whitetime = 15
    -- czas posiadania red skulla? (1 = 1min)
    redtime = 6*60
    -- czas zanim stracimy 1 ujusta (1 = 1min)
    fragtime = 12*60
    ------------------------------ GM access rights --------------------------------
    -- access do otwierania drzwi i wchodzenia do domków
    accesshouse = 3
    -- access do logowania się bez kolejki lub gdy serwer jest zamknięty
    accessenter = 2
    -- access do bycia ignorowanym przez potwory
    accessprotect = 2
    -- access kolorowego pisania w kanałach publicznych (#c blabla )
    accesstalk = 1
    -- access do przesuwania rzeczy oddalonych od nas
    accessremote = 3
    -- access do zobaczenia ID I pozycji przedmiotu
    accesslook = 2

Teraz objaśnię strukturę plików postaci.
Plik account naszej postaci znajduje się w katalogu „data/accounts” pod nazwą (nazwa to będzie numer naszego accounta, więc każdy wg własnego uznania) np. 1.xml . Tak wygląda przykładowy plik account:

    <?xml version="1.0"?>
    <account pass="nasze haslo" type="1" premDays="15">
    <characters>
    <character name="GM Yurez" />
    <character name="Yurez" />
    </characters>
    </account>

Gdzie:
-pass -> hasło do accounta
-premDays -> ilość dni premium account (działa tylko w starych wersjach, tutaj nie!)
-character name -> imię naszej postaci
-type -> ???

Teraz objaśnię strukturę pliki postaci. Pliki postaci znajdują się w katalogu „data/players” pod nazwą postaci (nazwa musi być ta sama, co character name w poprzednim pliku).W moim przypadku będzie to Yurez. Plik powinien wyglądać następująco (oczywiście to tylko przykład, plik może się znacząco różnić!):

   

<?xml version="1.0"?>
    <player name="Yurez" account="1" sex="1" lookdir="1" exp="714722" voc="1" level="36" access="0" cap="30" maglevel="18" lastlogin="0" premticks="35345000" promoted="1" banned="0">
    <spawn x="136" y="56" z="7"/>
    <temple x="160" y="54" z="7"/>
    <skull type="0" kills="0" ticks="0" absolve="0"/>
    <health now="930" max="930" food="1000"/>
    <mana now="1250" max="1250" spent="62"/>
    <look type="128" head="63" body="82" legs="120" feet="114"/>
    <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="10" tries="0"/>
    <skill skillid="6" level="10" tries="0"/>
    </skills>
    <spells>
    <spell words="utamo vita"/>
    <spell words="exura"/>
    <spell words="adori gran flam"/>
    <spell words="adevo mas hur"/>
    <spell words="exevo gran mas vis"/>
    <spell words="adori gran"/>
    <spell words="utani hur"/>
    <spell words="utani gran hur"/>
    </spells>
    <deaths>
    <death name="GM Yurez" level="37" time="1136040430"/>
    </deaths>
    <inventory>
    <slot slotid="1"><item id="2493"/></slot>
    <slot slotid="3"><item id="1988">
    <inside>
    <item id="2120"/>
    <item id="2304" count="49"/>
    </inside>
    </item>
    </slot>
    <slot slotid="4"><item id="2494"/></slot>
    <slot slotid="6"><item id="2390"/></slot>
    <slot slotid="7"><item id="2495"/></slot>
    <slot slotid="8"><item id="2195"/></slot>
    <slot slotid="10"><item id="2163"/></slot>
    </inventory>
    <depots>
    <depot depotid="1">
    <item id="2590">
    <inside>
    <item id="2594">
    <item id="2002">
    <inside>
    <item id="2160" count="97"/>
    </inside>
    </item>
    </inside>
    </item>
    </depot>
    </depots>
    <storage>
    <data key="5015" value="1"/>
    </storage>
    </player>

Gdzie:
-player name -> imię postaci musi być takie same w pliku accounta,
-account -> numer accounta w moim przypadku 1 (numer taki sam jak w pliku „data/accounts”),
-sex -> płeć postaci,
-lookdir -> kierunek zwrócenia postaci (np. północny),
-voc -> profesja,
-exp -> ilość doświadczenia,
-level -> poziom,
-access -> prawa dostępu. 0 – normalny gracz, 3 – GM (ustawiane w commands.xml),
- maglevel -> poziom magiczny,
-spawn -> współrzędne logowania na mapie (sprawdza się je za pomocą edytora map),
-temple -> współrzędne świątyni (gdy player zgnie właśnie tam się pojawia),
-health -> życie, now -> aktualne życie, max -> maksymalne życie,
-mana -> mana, reszta tak samo jak wyżej,
-look type -> wygląd (kolory), najlepiej tu nie ruszać, a przestawiać sobie w czasie gry,
-skills -> nasze skille oto spis który numer to który skill:
1 – fist fighting
2 – club fighting
3 – sword fighting
4 – axe fighting
5 – distance fighting
6 – shielding
7 – fishing
-inventory -> nasz ekwipunek,
-slot slotid="1" -> miejsce w naszym ekwipunku:
1= hełm
2= amulet
3= plecak
4= zbroja
5= prawa ręka
6= lewa Ręka
7= nogawice
8= buty
9= pierścień
10= miejsce na strzały
-count -> liczba jakiś rzeczy np. boltów, gp, runów,
-lastlogin – czas ostatniego logowania,
-premticks – czas pozostałego pacca,
-promoted – promocja; 0 – brak, 1- posiadanie,
-banned – status bana; 0 – brak, 1 – ban,

By Isecross

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.rozowa.pun.pl www.weight-loss.pun.pl www.cabal-online.pun.pl www.mohercorps.pun.pl www.hrithikroshan.pun.pl