Forum Forum o OTs by Wrobel Strona Główna


FAQ Szukaj Użytkownicy Profil

 RejestracjaRejestracja   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 
jak postawic ots

 
Napisz nowy temat   Odpowiedz do tematu    Forum Forum o OTs by Wrobel Strona Główna -> Poradniki
Zobacz poprzedni temat :: Zobacz następny temat  
czeski_wymiatacz


Moderator
Dołączył: 09 Mar 2007
Posty: 55
Przeczytał: 0 tematów

Ostrzeżeń: 1/5
Skąd: CHOJNA

PostWysłany: Pon 12:15, 12 Mar 2007    Temat postu: jak postawic ots

Krok po Kroku: Czyli tworzenie i udoskonalanie OTS

Witam.

Myślę, że każdemu początkującemu przyda się krótki poradnik, gdzie dowie się, jak stworzyć swój własny OTS. 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 Wink
Tutaj podaje link do YurOTS 0.9.4b:
Cytat:
[link widoczny dla zalogowanych]


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ć Smile Miejsca oznaczone gwiazdką oznaczają
ważniejsze informacje Smile

[glow=blue:2c0d355f0a]Konfiguracja Config.lua[/glow:2c0d355f0a]
Cytat:
---------------------------- 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 Smile

-- the ip the server should redirect too *
ip = "86.63.99.152" <------ Nasze IP. Aby je sprawdzić wchodzimy na [link widoczny dla zalogowanych]

-- The messagebox you sometimes get before you choose characters *
motd = "Witamy na SiwekOTS Smile" <------ 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 Smile

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

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

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

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

[glow=red:2c0d355f0a]Zmienianie cen run[/glow:2c0d355f0a]
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:
Cytat:
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 Wink

[glow=green:2c0d355f0a]Pełna konfiguracja Account Makera[/glow:2c0d355f0a]
Pierw zaczynamy od ściągnięcia WebServa najlepiej 1.2. Można pobrać z tąd
>>>Click<<<
Instalujemy i odpalamy. Pierw trzeba skonfigurować go opiszę tutaj jak.

No więc pierwsze okienko. Tutaj najlepiej wszystko zostawmy i przejdÂĽmy dalej.


2 okienko. Tutaj możemy ustawić czy chcemy sterować serverem ręcznie czy nie. Osobiście nie polecam Razz Więc najlepiej idziemy dalej.


W tym oknie też dobrze jest wszystko zostawić. Więc znów idziemy dalej.


Tutaj także idziemy dalej, gdyż nie ma tutaj nic takiego do zmieniania Razz


Tutaj użytkowników neostrady dobrze zaznaczyć Bazę MySQL i zaznaczyć MySQL Max.


Do acc makera nie będziemy potrzebowali servera FTP więc idziemy dalej.


Dla tych co posiadają no-ip powinni zaznaczyć tą opcje, a jeżeli nie to idziemy dalej i to już koniec Smile


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 Wink

Cytat:
<?
//---------------------------- 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 Wink

Acc maker do rooka. Wklejamy po prostu pliki z folderu accmaker_rook i otwieramy config.php tak jak poprzednio notatnikiem.

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


[glow=orange:2c0d355f0a]Ręczne tworzenie postaci[/glow:2c0d355f0a]
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ć Wink

Pierw wklejamy to.
Cytat:
<?xml version="1.0"?>


Teraz ustalamy jaki ma być dolny kod postaci.
Cytat:
<account pass="lolek"


Tutaj można ustawić ile ma się mieć dni pacc'a.
Cytat:
type="1" premDays="15">


Teraz doklejamy to najważniejsze. W miejscu ,,Azorea" wpisujemy nick postaci, która chcemy zrobić.
Cytat:
<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.
Cytat:
<character name="Misjonarz"/>


I dodajemy ostatnią linijkę, w której nic nie zmieniamy.
Cytat:
</account>


Całość powinna wyglądać wtedy tak:
Cytat:
<?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:

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

[glow=red:2c0d355f0a]Pamiętaj przy nazwie o dopisaniu .xml!!![/glow:2c0d355f0a]

Pierwszy krok mamy za sobą teraz trzeba stworzyć plik z postaćią Smile
Więc otwieramy notatnik i piszemy:
Zaczynamy tak jak poprzednio od tej linijki:
Cytat:
<?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
Cytat:
<player name="Azorea"


Teraz dodajemy to i w miejscu 159786 wpisujemy górny kod czyli nazwę poprzedniego pliku.
Cytat:
account="159786"


Tutaj ustawiamy płeć postaci. 0 to kobieta, a natomiast 1 mężczyzna.
Cytat:
sex="0"


Dodajemy to.
Cytat:
lookdir="1"


Teraz wpisujemy exp jaki ma mieć stworzona przez nas postać.
Cytat:
exp="98800"


Tutaj ustalamy profesje postaci. 1- Sorcerer, 2- Druid, 3- Paladin i 4- Knight
Cytat:
voc="1"


Tu natomiasto podajemy lvl zgodny z podanym wcześniej doświadczeniem (exp) postaci.
Cytat:
level="20"


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


Teraz ustawiamy ilość posiadanego capa przez postać.
Cytat:
cap="300"


Poziom magiczny postaci.
Cytat:
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.
Cytat:
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.
Cytat:
<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 Wink To raczej dla trochę bardziej wtajemniczonych, ponieważ newbie mogą się w tym nie połapać, ale mogę póÂĽniej o tym napisać Smile
Cytat:
<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.
Cytat:
<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.
Cytat:
<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 Wink
Cytat:
<depots><depot depotid="1"><item id="2590"><inside><item id="2594"/></inside></item></depot></depots>


I kończymy tymi 2 linijkami.
Cytat:
<storage/>
</player>


Poprawnie zrobiona całość powinna wyglądać tak:
Cytat:
<?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>


[glow=brown:2c0d355f0a]Tworzenie potworów[/glow:2c0d355f0a]

Wiem, że jest to bardzo prosta rzecz, ale nie każdy wie jak zrobić własnego potwora, a przynajmniej jak dodawać różne rzeczy. No więc zacznijmy. No więc zaczynamy od wejścia do folderu z OTS następnie data/monsters i otwieramy notatnik i norujemy w nim:

Jak zawsze na początek tą linijkę:
Cytat:
<?xml version="1.0"?>


Teraz należy dodać to i wpisujemy nazwę potworka np. ja dałem Wizard
Cytat:
<monster name="Wizard"


Teraz ustalamy level oraz magic level potwora. Wiemy oczywiście, że im wyższy lvl i m lvl to mocniej bije Wink
Cytat:
level="50" maglevel="85"


Teraz ustawiamy ile przy expie 1x miałby mieć doświadczenia nasz potwór. Jak damy 10 to przy expie 3x będzie dawał nie 10, a 30 Wink
Cytat:
experience="8000"


Dodajemy to:
Cytat:
pushable="0"


Teraz ustawiamy jak dobrą ma mieć potwór zbroję oraz jak dobrą obronę.
Cytat:
armor="51" defense="62"


Teraz dodajmy to.
Cytat:
canpushitems="1" staticattack="50" changetarget="200"


I ustalamy szybkość potworka. Teraz akurat nie jest taki szybki Smile
Cytat:
speed="325">


Teraz ustawiamy jak dużo potwór ma mieć życia oraz ile ma mieć maksymalnie Smile
Cytat:
<health now="12000" max="12000"/>


Teraz ustalamy wygląd naszego potworka. Najlepiej skopiować tą linijkę od innego potwora, mój to akurat hero =]
Cytat:
<look type="73" head="20" body="30" legs="40" feet="50" corpse="3128"/>


Jeżeli to ma być potwór, który atakuje z dystansu to ustawiamy targetdistance na powyżej 1 (1- 1 kratka)
Cytat:
<combat targetdistance="1" runonhealth="0"/>


Teraz ustawiamy ataki. Dajmy mu przykładowo, aby atakował bronią i atakował nas z exori.
Cytat:
<attacks>
<attack type="melee" mindamage="150" maxdamage="270" probability="100" />
<attack type="instant" name="exori" exhaustion="500" cycleticks="5000" probability="70"/>
</attacks>


Teraz ustawmy na co miałby być odporny. Załóżmy, że będzie widział niewiedzialnych, nie zaatakujemy go trucizną oraz z energi np. hmm, exevo mort hur.
Cytat:
<defenses>
<defense immunity="invis"/>
<defense immunity="poison"/>
<defense immunity="energy"/>
</defenses>


Teraz ustawiamy co potwór ma wymawiać podczas gry Smile Często przynosi to trochę zabawy jak potworek krzyczy ,,twoj kumpel jest noobem, twoja kumpela jest noobem i ty też jesteś noobem" ;p przykładowo Smile Jeżeli chcemy, aby potworek nie krzyczał ciągle to samo to dodajemy drugą taką samą linijkę tylko zmieniamy tekst Smile
<voices>
<voice sentence="twoj kumpel jest noobem, twoja kumpela jest noobem i ty też jesteś noobem!"/>
</voices>

Teraz chyba najważniejsze Smile Ustawianie loota. Nie wiem co to są za itemy, ale to mniejsza z tym.

Więc jeżeli ustawić, aby przykładowo wypadało crown armor to należy dodać taką linijkę:
Cytat:
<item id="2491" chance="1899"/>

W miejscu z 2491 wpisujemy ID crown armor, a chance jak często ma wypadać.

Jak zrobić, żeby np. pięniądze wylatywały nie po 1 tylko po 2?? Otóż tak:
Cytat:
<item id="2148" countmax="10" chance1="100000" chancemax="0"/>

W miejscu item id jest już podany id gold coins, teraz w countmax ustawiamy ile maksymalnie może wypaść tych pieniędzy np. teraz maksymalnie wypadnie 10gp i przy chance tak jak wyżej jak często ma wypadać cash.

Teraz jak zrobić, żeby wypadał z potwora backpack albo bag, a w nim itemy?? Otóż tak.
Wpisujemy:
Cytat:
<inside>
<item id="2392" chance="1818"/> <-------- ID baga, może być backpack
<item id="2544" countmax="10" chance1="20000" chancemax="0"/> <--------- to co ma wypadać z niego, przykładowo strzały, maksymalnie 10.
</inside> <----------- To dodajemy

Tak wygląda już przykładowo gotowy loot.
[quote]<loot>
<item id="2491" chance="1899"/>
<item id="2487" chance="1009"/>
<item id="2148" countmax="100" chance1="100000" chancemax="0"/>
<inside>
<item id="2392" chance="1818"/>
<item id="2544" countmax="10" chance1="20000" chancemax="0"/>
</inside>
</item>
</loot>


Teraz wystarczy dodać to:
Cytat:
</monster>


I to wszystko Wink

Na gotowy wzór pokaże już gotowego Hero. U nas powinno wyglądać wszystko tak samo tylko można pozmieniać to co powyżej Wink
Cytat:
<?xml version="1.0"?>
<monster name="Hero" level="30" maglevel="50" experience="1200" pushable="0" armor="41" defense="42" canpushitems="1" staticattack="50" changetarget="200" speed="278">
<health now="1400" max="1400"/>
<look type="73" head="20" body="30" legs="40" feet="50" corpse="3128"/>
<combat targetdistance="1" runonhealth="0"/>

<attacks>
<attack type="melee" mindamage="100" maxdamage="250" probability="100" />
<attack type="distance" name="arrow" mindamage="52" maxdamage="130" cycleticks="3000" probability="100" />
</attacks>

<defenses>
<defense immunity="paralyze"/>
<defense immunity="invisible"/>
<defense immunity="fire"/>
<defense immunity="poison"/>
<defense immunity="energy"/>
</defenses>

<voices>
<voice sentence="Let's have a fight!"/>
<voice sentence="I will sing a tune at your grave."/>
<voice sentence="Have you seen princess Lumelia?"/>
<voice sentence="Welcome to my battleground!"/>
</voices>
<loot>
<item id="2491" chancęe="1899"/>
<item id="2487" chance="1009"/>
<item id="2148" countmax="100" chance1="100000" chancemax="0"/>
<item id="1949" chance="10009"/>
<item id="2456" chance="10090"/>
<item id="2661" chance="10000"/>
<item id="2681" cćhance="10000"/>
<item id="2121" chance="6666"/>
<item id="2666" countmax="3" chance1="2000ż0" chancemax="0"/>

<item id="1987" chance="10000">
<inside>
<item id="2392" chance="1818"/>
<item id="2519" chance="1444"/>
<item id="2488" chance="1411"/>
<item id="2487" chance="1201"/>
<item id="2071" chance="10000"/>
<item id="2544" countmax="10" chance1="20000" chancemax="0"/>
<item id="2652" chance="10000"/>
<item id="2164" chance="1393"/>
<item id="2391" chance="1668"/>
<item id="2744" chance="6696"/>
</inside>
</item>
</loot>
</monster>


Teraz zapisujemy to jako format xml, chyba kaÂżdy wie jak, a jak nie to napiszcie to dorobiĂŞ ,,Jak zrobiĂ? format xml" Smile


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora

Zobacz poprzedni temat :: Zobacz następny temat  
Wrobel


Administrator
Dołączył: 09 Mar 2007
Posty: 31
Przeczytał: 0 tematów

Ostrzeżeń: 0/5


PostWysłany: Pon 15:19, 12 Mar 2007    Temat postu:

Nie działa link do webservera -.- Razz Kopiowałeś od kogos ^_^ Napisz jakis swoj poradnik a nie Smile pzdr

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora

Zobacz poprzedni temat :: Zobacz następny temat  
czeski_wymiatacz


Moderator
Dołączył: 09 Mar 2007
Posty: 55
Przeczytał: 0 tematów

Ostrzeżeń: 1/5
Skąd: CHOJNA

PostWysłany: Pon 17:45, 12 Mar 2007    Temat postu:

haha -.- malo smieszne po 1. nie znam sie na tibi tak dobrze zeby napisac poradnik po 2.juz mnie to ciagle pisanie postow dla samego siebie nudzi moglbys gdzies to forum wystawic ja juz wystawilem na 2 top listach a nie jestem administratorem wiec nie powinienem i troche bys zadbal o reputacje wlasnego forum a nie...siedzisz i tylko krytykujesz po 3. tera naprawde odchodze i juz nie wroce bynajmniej nie w ciagu miesiaca znajdz sobie nowego moderatora

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora

Zobacz poprzedni temat :: Zobacz następny temat  
Kucusix


Zainteresowany
Dołączył: 10 Mar 2007
Posty: 55
Przeczytał: 0 tematów

Ostrzeżeń: 2/5
Skąd: Venore

PostWysłany: Nie 15:05, 18 Mar 2007    Temat postu:

MI TEZ NIE DZIALA ;P

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora

Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Forum o OTs by Wrobel 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, 2005 phpBB Group
 
Regulamin