Forum S.T.A.L.K.E.R. Strona Główna S.T.A.L.K.E.R.
Tibia
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy     GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Tworzenie OTS

 
Napisz nowy temat   Odpowiedz do tematu    Forum S.T.A.L.K.E.R. Strona Główna -> Poradniki
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Mac
Grafik
Grafik



Dołączył: 08 Sty 2008
Posty: 19
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Pią 14:55, 11 Sty 2008    Temat postu: Tworzenie OTS

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 LINK NA DOLE POSTU (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 [link widoczny dla zalogowanych] , 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:

Kod:

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

Kod:

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

Kod:

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

YurOTS 0.9.4d: [link widoczny dla zalogowanych]

Kod:

Scan taken on 11 Jan 2008 22:26:00 (GMT)
AntiVir    Found nothing
ArcaVir    Found nothing
Avast    Found nothing
AVG Antivirus    Found nothing
BitDefender    Found nothing
ClamAV    Found nothing
CPsecure    Found nothing
Dr.Web    Found nothing
F-Prot Antivirus    Found nothing
F-Secure Anti-Virus    Found nothing
Fortinet    Found nothing
Ikarus    Found nothing
Kaspersky Anti-Virus    Found nothing
NOD32    Found nothing
Norman Virus Control    Found nothing
Panda Antivirus    Found nothing
Rising Antivirus    Found nothing
Sophos Antivirus    Found nothing
VirusBuster    Found nothing
VBA32    Found nothing


Post został pochwalony 0 razy

Ostatnio zmieniony przez Mac dnia Sob 0:30, 12 Sty 2008, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum S.T.A.L.K.E.R. Strona Główna -> Poradniki Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

Skocz do:  

Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001 phpBB Group

Chronicles phpBB2 theme by Jakob Persson (http://www.eddingschronicles.com). Stone textures by Patty Herford.
Regulamin