ExTrEmE OTS

FoRuM eXtReMe OTS


#1 2008-03-23 14:25:44

Draxu

Administrator

Zarejestrowany: 2008-03-23
Posty: 14
Punktów :   

Poradnik Dla Totalnie Zielonych

By Isecross

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,

PoradNik nie jest mój należy on do Isecross - żeby nie było niedomówień


By Isecross

Offline

 

Stopka forum

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


Darmowe Forum | Ciekawe Fora | Darmowe Fora
dog argentyński sprzedam projektowanie-zaproszen-slubnych.eu