Dzi¶ wam wyt³umaczê jak zrobiæ swój w³asny OTS i jak siê nim "obs³ugiwaæ".
Je¿eli chodzi o silnik zajmiemy siê silnikiem Evolutions 0.8 pod Tibiê 8.0 w wersji XML, a pó¼niej SQL (Tylko taki mi siê uda³o znale¶æ)
Jak poprawnie skonfigurowaæ OTS'a [XML oraz wiêkszo¶æ opcji do SQL'a]
Informacji dot. zmiennej dowiecie siê w tek¶cie.
-------- config.lua --------
-- Config file for OTServ --
----------------------------
- Lokalizacja folderu data
datadir = "data/"
-- Lokalizacja mapy
map = "data/world/evolutions.otbm"
-- Rozszerzenie mapy, teraz jest u¿ywane OTBM, dawniej by³o u¿ywane OTX
mapkind = "OTBM"
-- Lokalizacja pliku MapStore mapy
mapstore = "data/world/evolutions-mapstore.xml"
-- Lokalizacja pliku HouseStore mapy
housestore = "data/world/evolutions-housestore.xml"
-- Plik, gdzie s± wpisane bany
banIdentifier = "data/bans.xml"
-- Nazwa servera
servername = "DreaMWavE"
-- Lokacja Servera
location = "Poland & England"
-- IP servera, przewaznie wpisuje sie IP z http://whatismyip.com lub auto
ip = "auto"
-- Port server'a, domyslnie 7171
port = "7171"
-- Adres servera, najlepiej wpisac domene / ip ACCMaker'a...
url = "http://dreamwave.servegame.com"
-- Wlasciciel servera
ownername = "Major"
-- Adres e-mail wlasciciela
owneremail = ""
-- Typ swiata (pvp, no-pvp, pvp-enforced)
worldtype = "pvp"
-- Exhauset (1000 = 1s)
exhausted = 1000
-- Exhauset dla czarow "nie agresywych" czyli takich jak: exura, utani hur, utamo vita, exani tera (1000 - 1s)
exhaustedheal = 1000
-- Ile milisekund dodac jezeli gracz ma exhauset i prubuje wypowiedziec nastepny raz czarl (1000 = 1 second)
exhaustedadd = 200
-- Ile gracz musi czekac, by zniknol mu pz po walce z potworem (1000 - 1s)
pzlocked = 60*1000
-- Oplata za domek ( daily - dzienna, weekly - tygodniowa, monthly - miesieczna )
houserentperiod = "weekly"
-- Wiadomosc dnia - Massange of the day
motd = "Welcome to DreaMWavE OTS. Please choose your character and have fun."
-- Numer wiadomosc dnia, gdy piszesz nastepna wpisz kolejna liczbe naturalna
motdnum = "1"
-- Wiadomosc po zalogowaniu
loginmsg = "Welcome to DreaMWavE OTS, you can be supported on ur site, http://dreamwave.servegame.com ."
-- Ile polaczen z jednego ip jest mozliwe? ( 0 - nieskonczonosc )
logintries = 0
-- how long the retry timeout until a new login can be made (without disabling the ip)
-- No i widzicie, kazdy moze sie zaciac na jednym pytanku;d
retrytimeout = 60*1000
-- Ile trzeba poczekac, jezeli IP jest wolne
logintimeout = 0
-- Czy mozna sie logowac na ta sama postac w tej samej chwili ( 1 - yes, 0 -no )
allowclones = 0
-- Limit postaci, ktore moga sie zalogowac [pacc ona nieobowiazuje]
maxplayers = "100"
-- Typ bazy danych (mysql, sqlite), narazie omijamy
sql_type = "mysql"
--- Konfiguracja dot. bazy danych (tylko MySQL)
sql_host = "localhost"
sql_user = "root"
sql_pass = ""
sql_db = "otserv"
--- Konfiguracja dot. bazy danych (tylko SQLite)
sqlite_db = "db.s3db"
-------------------------------------------------------------------------------------------------
---------------------------- Evolutions Basic Configuration ----------------------------
-------------------------------------------------------------------------------------------------
-- Nazwa swiata
worldname = "Evolutions 7.92 RPG"
-- Co ile ma sie save'owac silnik
autosave = 10
-- Czy ma byc wlaczony cap system?
capsystem = "no"
-- Po ilu minutach ma byc kickniety player? (1 = 1 minute)
kicktime = 15
-- Ile summonow moze postawic gracz
maxsummons = 2
-- Maxymalna ilosc rzeczy w depot
maxdepotitems = 1000
-- Czy trzeba sie uczyc czarow
learnspells = "no"
-- Czy wszyscy maja premium account
freepremium = "no"
-- Czy bolty/strzaly sie koncza
removeammunation = "yes"
-- Czy runy sie koncza
removerunecharges = "yes"
-- Czy sa wlaczone hotkeye
itemhotkeys = "yes"
-- Czy mozna celowac w graczy z battle list
battlewindowplayers = "yes"
-- Czy ma byc wlaczony account manager
accountmanager = "yes"
-- Czy summony maja sie tp do gracza gdy on sie oddali
summonsfollow = "yes"
-- Czy mozna zmieniac outfit
outfitchange = "yes"
-- damage to players with the same feet
-- Niewiem od czego to;s
feetdamage = "yes"
-- Typ gildi (Tylko SQL)(ingame - w grze/online - w acc, wymagany w najnowszym Swelia ACC )
guildsystem = "ingame"
-------------------------------------------------------------------------------------
----------------------------------- Multipliers -----------------------------------
-------------------------------------------------------------------------------------
-- Rejt expa
expmul = 10
-- Ile razy wiecej ma sie dostawac expa na pvp-enfo
expmulpvp = 2
-- Rejt loota
lootmul = 1
-- Rejt skila (kongifurowalny takze w data/vocations.xml)
skillmul = 1
-- Rejt magic lvla (konfigurowalny takze w data/vocations.xml)
manamul = 1
-- Ile potworow moze sie zrespawnowac na tym samym spawnie
spawnmul = 1
-- Cena jednej kratki domku
houseprice = 200
-- Wymagany lvl do kupienia chatki
houselevel = 20
-- Maximum wpisanych deadow jednej postaci
maxdeathentries = 10
-- Budder wiadomosc, jak szybko dostaniesz muted (domyslnie = 4)
messagebuffer = 4
-- minimum action interval (default = 200)
-- Niewiem;<
minactioninterval = 200
-- Protection level
protectionlimit = 50
-- sila krytycznego udezenia oraz zdazalnosc {zdazalnosc, sila w procentach}
criticaldamage = {"0", "0"}
---------------------------------------------------------------------------------------
-------------------------- Skull System configuration -------------------------
---------------------------------------------------------------------------------------
-- Czas w kturym stracisz white skulla (1 - 1 minutes)
whitetime = 15
-- Czas po jakim stracisz jednego fraga (1 - 1 minutes)
fragtime = 1*60
-- Ile fragow potrzeba na bana
banunjust = 6
-- Po ilu fragach dostajesz bana
redunjust = 3
-- Ile trwa ban (1 - 1 hour)
bantime = 24*1
--------------------------------------------------------------------------------------
------------------------------- GM access rights --------------------------------
--------------------------------------------------------------------------------------
-- Jaki access jest potrzebny do chodzenia oraz otwierania drzwi od domkow
accesshouse = 3
-- Jaki access jest potrzebny by sie zalogowac, kiesy server jest zamkniety
accessenter = 1
--Jaki access jest potrzebny by niedostawac hitow, ignorowac exha, cap limit oraz by potworki nieatakowaly
accessprotect = 3
-- Jaki access jest potrzebny by moc mowic na deafulcie i miec kolory na publicznych kanalach
accesstalk = 1
-- Jaki access jest potrzebny by "rzucac" rzeczami
accessremote = 3
-- Jaki access trzeba miec by jak sie spojrzy na rzecz to widzisz jej id i pozycje
accesslook = 2
Ok... Idziemy dalej :
Szczegó³y dot. robienia konta [XML]
Podam Wam teraz kawa³ek kodu "Account", a pó¼niej wyt³umaczê co jest od czego ;-)
<?xml version="1.0"?>
<account pass="tibia" premDays="0"premEnd="0">
<characters>
<character name="Account Manager"/>
</characters>
</account>
T³umaczenie :
- Wersja XML'a, zawsze siê zaczyna tym skrypt *.xml
pass="tibia" - Has³o do konta
premDays="0" - Ilo¶æ dni Premium Account
premEnd="0" - Kiedy ma siê zkoñczyæ Premium Account (Niewiem jaki jest format?)
>
- Rozpoczêcie wpisu jakie postacie maj± byæ na tym koncie...
- W name="" wpisujemy nazwê postaci
- Zakoñczenie wpisu dot. postaci na tym koncie.
- Zakoñczenie wpisu dot. konta
I Idziemy Dalej ..
Szczegó³y dot. robienia postaci [XML]
Tak jak wy¿ej, podam kawa³ek kodu a pó¼niej wyt³umaczenie.
<?xml version="1.0" encoding="UTF-8"?>
<player name="GM Xidaozu" account="222222" sex="1" lookdir="1" exp="1373950" voc="1" level="45" access="5" cap="0" maglevel="18" soul="0" maxdepotitems="1000" lastlogin="1183805998">
<spawn x="1001" y="1005" z="7"/>
<temple x="1000" y="1000" z="7"/>
<health now="855" max="855" food="0"/>
<mana now="830" max="830" spent="1567"/>
<skull redskulltime="0" redskull="0"/>
<look type="128" head="20" body="30" legs="40" feet="50" addons="0"/>
<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>
<addons>
<addon outfit="128" type="3"/>
<addon outfit="129" type="3"/>
<addon outfit="130" type="3"/>
<addon outfit="131" type="3"/>
<addon outfit="132" type="3"/>
<addon outfit="133" type="3"/>
<addon outfit="134" type="3"/>
<addon outfit="143" type="3"/>
<addon outfit="144" type="3"/>
<addon outfit="145" type="3"/>
<addon outfit="146" type="3"/>
<addon outfit="151" type="3"/>
<addon outfit="152" type="3"/>
<addon outfit="153" type="3"/>
<addon outfit="154" type="3"/>
</addons>
<deaths/>
<spells/>
<blessings/>
<inventory/>
<depots>
<depot depotid="1">
<item id="2590"/>
</depot>
</depots>
<storage/>
</player>
T³umaczenie:
<?xml version="1.0" encoding="UTF-8"?> - Rozpoczêcie skryptu
<player
name="GM Xidaozu" - Nazwa postaci
account="222222" - Numer konta, na którym jest postaæ
sex="1" - P³eæ [0- Kobietka;), 1- Mê¿czyzna)
lookdir="1" - W któr± trone patrzy postaæ po zalogowaniu (1-dó³, 2-lewo, 3-góra, 4-prawo)
exp="1373950" - Ile punktów do¶wiadczenia ma postaæ
voc="1" - Jak± profesje ma postaæ (1-Sorcerer, 2-Druid, 3-Palladin, 4-Knight [reszta w data/vocations.xml]
level="45" - Level postaci
access="5" - Pozycja postaci (0-player, 1-Tutor, 2-Senior Tutor/Consullor, 3-GameMaster, 4-Senior GameMaster, 5-GOD)
cap="0" - Ilo¶æ capa, któr± posiada postaæ
maglevel="18" - Który postac ma magiczny lvl
soul="0" - Ilo¶æ souli, któr± posiada postaæ
maxdepotitems="1000" - Maximum itemów, które postaæ mo¿e mieæ w depocie
lastlogin="" - Niewarto ruszaæ, silnik sam to wpisze po wylogowaniu siê postaci z otsa
>
<spawn x="1001" y="1005" z="7"/> - Wspólrzêdne spawn'u postaci (czyli tam gdzie sie wylogowala)
<temple x="1000" y="1000" z="7"/> - Wspolrzêdne temple postaci (czyli tam gdzie ma sie odrodzic po dedzie, po /t)
<health now="855" max="855" food="0"/> - Zycie, teraz, maxymalnie ile zycia, ile zjedlismy foda.
<mana now="830" max="830" spent="0"/> - Mana, teraz, maxymalnie ile many.
<skull redskulltime="0" redskull="0"/> - Co do redskulltime to niewiem w jakim formacie sie zapisuje :looz:, a redskull to chyba jest opcja 0 - wy³±czone, 1 - W³±czone
<look type="128" head="20" body="30" legs="40" feet="50" addons="0"/> - Wygl±d postaci, typ wygladu (w tym przypadku peletynka jezeli sie niemyle), kolor g³ówki, kolor cia³a, kolor spodni, kolor botów, czy ma zalozone addony (1-pierwszy, 2-drugi, 3-oba)
<skills>
<skill skillid="0" level="10" tries="0"/> - Fist Figting (zmiana skila w level)
<skill skillid="1" level="10" tries="0"/> - Club Fighting (zmiana skila w level)
<skill skillid="2" level="10" tries="0"/> - Sword Fighting (zmiana skila w level)
<skill skillid="3" level="10" tries="0"/> - Axe Fighting (zmiana skila w level)
<skill skillid="4" level="10" tries="0"/> - Distance Fighting (zmiana skila w level)
<skill skillid="5" level="10" tries="0"/> - Shielding (zmiana skila w level)
<skill skillid="6" level="10" tries="0"/> - Fishing (zmiana skila w level)
</skills>
<addons>
<addon outfit="128" type="3"/> - Ogólny opis: outfit to numer outfita, type to czy maja byc addony (1-pierwszy, 2-Drugi, 3-Oba)
<addon outfit="129" type="3"/>
<addon outfit="130" type="3"/>
<addon outfit="131" type="3"/>
<addon outfit="132" type="3"/>
<addon outfit="133" type="3"/>
<addon outfit="134" type="3"/>
<addon outfit="143" type="3"/>
<addon outfit="144" type="3"/>
<addon outfit="145" type="3"/>
<addon outfit="146" type="3"/>
<addon outfit="151" type="3"/>
<addon outfit="152" type="3"/>
<addon outfit="153" type="3"/>
<addon outfit="154" type="3"/>
</addons>
<deaths/>
<spells/>
<blessings/>
<inventory/>
<depots>
<depot depotid="1"> - numer depotu (wpisuje sie w properties depotu na mapce)
<item id="2590"/> - id itemu, którego chcemy u¿eæ w depo
</depot>
</depots>
<storage/>
</player>
I to tyle,
Temat jest mój i zastrzegam sobie prawa autorskie i zabraniam publikowania na innych forach bez mojej zgody.
/Barbossa
Offline
Nigdy tego nie pojmowa³em te ca³e sql. Mimo, ¿e napisa³e¶ ³adnie i przejrzy¶cie to i tak tego nie zrozumie. Nigdy nie mieszam siê w sprawy ots'a. Ale chêtnie spróbujê.
Offline