Ogłoszenie

Proszę o reklamowanie tego forum ponieważ będzie tu dużo tematów i odp na wasze pytania.

#1 2010-07-10 18:06:53

Zoren

Administrator

Zarejestrowany: 2010-07-08
Posty: 20
Punktów :   

Poradnik do ots

Witam Tu wam napisze jak zrobić swojego 1 ots (skrypt nie jest mój)

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

Kod:

   Spoiler:

    ---------------------------- 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.com/

    -- 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:

   

Kod:

 Spoiler:

    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 ;-)

 

Kod:

 Spoiler:

    <?
    //---------------------------- 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.

Kod:

 Spoiler:

    <?
    //---------------------------- 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.

   

Kod:

Spoiler:

    <?xml version="1.0"?>

Teraz ustalamy jaki ma być dolny kod postaci.

   

Kod:

 Spoiler:

    <account pass="lolek"

Tutaj można ustawić ile ma się mieć dni pacc'a.

   

Kod:

Spoiler:

    type="1" premDays="15">

Teraz doklejamy to najważniejsze. W miejscu ,,Azorea" wpisujemy nick postaci, która chcemy zrobić.

Kod:

   Spoiler:

    <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.

 

Kod:

  Spoiler:

    <character name="Misjonarz"/>

I dodajemy ostatnią linijkę, w której nic nie zmieniamy.

 

Kod:

  Spoiler:

    </account>

Całość powinna wyglądać wtedy tak:

 

Kod:

  Spoiler:

    <?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:

   

Kod:

 Spoiler:

    <?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

   

Kod:

 Spoiler:

   <player name="Azorea"

Teraz dodajemy to i w miejscu 159786 wpisujemy górny kod czyli nazwę poprzedniego pliku.

 

Kod:

  Spoiler:

    account="159786"

Tutaj ustawiamy płeć postaci. 0 to kobieta, a natomiast 1 mężczyzna.

   

Kod:

 Spoiler:

    sex="1"

Dodajemy to.

Kod:

   Spoiler:

    lookdir="1"

Teraz wpisujemy exp jaki ma mieć stworzona przez nas postać.

Kod:

    Spoiler:

    exp="98800"

Tutaj ustalamy profesje postaci. 1- Sorcerer, 2- Druid, 3- Paladin i 4- Knight

 

Kod:

  Spoiler:

    voc="1"

Tu natomiasto podajemy lvl zgodny z podanym wcześniej doświadczeniem (exp) postaci.

 

Kod:

  Spoiler:

    level="20"

Tutaj ustawiamy kim ma być postać. 0- Zwykły gracz, 1- Tutor, 2-Counsoller (chyba :-P), 3- GameMaster

 

Kod:

  Spoiler:

    access="0"

Teraz ustawiamy ilość posiadanego capa przez postać.

   

Kod:

 Spoiler:

    cap="300"

Poziom magiczny postaci.

 

Kod:

  Spoiler:

    maglevel="45"     Spoiler:

    <account pass="lolek"

Tutaj można ustawić ile ma się mieć dni pacc'a.

Kod:

   Spoiler:

    type="1" premDays="15">

Teraz doklejamy to najważniejsze. W miejscu ,,Azorea" wpisujemy nick postaci, która chcemy zrobić.

   

Kod:

Spoiler:

    <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.

   

Kod:

 Spoiler:

    <character name="Misjonarz"/>

I dodajemy ostatnią linijkę, w której nic nie zmieniamy.

   

Kod:

 Spoiler:

    </account>

Całość powinna wyglądać wtedy tak:

   

Kod:

Spoiler:

    <?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:

   

Kod:

Spoiler:

    <?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

 

Kod:

  Spoiler:

    <player name="Azorea"

Teraz dodajemy to i w miejscu 159786 wpisujemy górny kod czyli nazwę poprzedniego pliku.

 

Kod:

  Spoiler:

    account="159786"

Tutaj ustawiamy płeć postaci. 0 to kobieta, a natomiast 1 mężczyzna.

   

Kod:

 Spoiler:

    sex="1"

Dodajemy to.

   

Kod:

Spoiler:

    lookdir="1"

Teraz wpisujemy exp jaki ma mieć stworzona przez nas postać.

 

Kod:

  Spoiler:

    exp="98800"

Tutaj ustalamy profesje postaci. 1- Sorcerer, 2- Druid, 3- Paladin i 4- Knight

Kod:

   Spoiler:

    voc="1"

Tu natomiasto podajemy lvl zgodny z podanym wcześniej doświadczeniem (exp) postaci.

   

Kod:

 Spoiler:

  level="20"

Tutaj ustawiamy kim ma być postać. 0- Zwykły gracz, 1- Tutor, 2-Counsoller (chyba :-P), 3- GameMaster

Kod:

   Spoiler:

    access="0"

Teraz ustawiamy ilość posiadanego capa przez postać.

 

Kod:

  Spoiler:

    cap="300"

Poziom magiczny postaci.

   

Kod:

 Spoiler:

    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.

Kod:

    Spoiler:

    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.

   

Kod:

Spoiler:

    <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ć :-)

   

Kod:

 Spoiler:

    <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.

   

Kod:

 Spoiler:

   <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.

   

Kod:

 Spoiler:

    <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 ;-)

   

Kod:

Spoiler:

    <depots><depot depotid="1"><item id="2590"><inside><item id="2594"/></inside></item></depot></depots>

I kończymy tymi 2 linijkami.

   

Kod:

Spoiler:

    <storage/>
    </player>

Poprawnie zrobiona całość powinna wyglądać tak:

   

Kod:

 Spoiler:

    <?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.

Offline

 

Stopka forum

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


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.golden-dragon.pun.pl www.narutomojadroganinja.pun.pl www.boxmanager.pun.pl www.orzelkolno.pun.pl www.acpbf.pun.pl