Ir para conteúdo

Hiper Tutorial


4291226

Posts Recomendados

Hiper Tutorial

O tutorial será dividido em algumas partes.

1ª Itens.xml
2ª Account Manager
3ª Stages
4ª Segurança
5ª config.lua
1ª “Básico” vamos dizer assim
2ª Evolutions Basic Configuration = Evoluções de configuração básicas
3ª Multipliers = Multiplicadores
4ª Skull System configuration = Configuração do sistema de PK’S
5ª GM access rights = Acessos diretos GM.
6ª Vocation XML
7ª Spells
8ª No-Ip
9ª No-Ip
10ª Action
11ª Movements
12ª Auto Restart
13ª Quest Por Script
14ª Aprenda a diminuir o lag


1ª Items.xml





Usuários XTibia, como sempre estou respondendo na área de Suporte e vim notando que muitas dúvidas são relacionadas ao arquivo Items.xml, um arquivo muito simples porem muitos ainda não sabem como usá-lo. Então resolvi fazer um tuto ensinando como usa-lo, pelo menos uma noção básica.



-----------------------------------------------------------------------------------------------------------------------------------------------

Indice:
1º Passo: Como abrir o items.xml
2º Passo: Reconhecendo as linhas do Items.xml
3º Passo: Editando Items


-----------------------------------------------------------------------------------------------------------------------------------------------


1º Passo: Como abrir o items.xml.

Entre na pasta de seu OtServer e vá na pasta Data->Items, cique com o botão Direito do mouse em cima do arquivo Items.xml e vá em abrir com. Abra-o com um Bloco de Notas.


-----------------------------------------------------------------------------------------------------------------------------------------------

2º Passo: Reconhecendo as Linhas do Items.xml.

Em codes de items que podem ser equipados vocês sempre encontraram linhas, na mesma ordem, a partir delas você pode
editar o item mudando seu ataque, seu peso, sua descrição....

Vou agora usar o code da Golden Armor de Exemplo:

<item id="2466" name="golden armor">
<attribute key="description" value="It's an enchanted armor."/>
<attribute key="weight" value="8000"/>
<attribute key="armor" value="14"/>
<attribute key="slotType" value="body"/>
</item>

Em vermelho está a linha em que você define o nome do item, no caso Golden Armor. Esta linha também define o id do item.


Em azul está a linha que define a descrição do Item que aparece quando você dá look no Item após o nome do mesmo. No nosso caso a Golden Armor ficaria assim ''You see a Golden Armor. It's an enchanted armor''.

Em verde está a linha onde é definido o peso do Item, no nosso exemplo o peso da Golden Armor é 80.0 oz. Muitos devem estar pensando como é 80.0 oz se está escrito 8000 value? Simples a fórmula do peso é sempre adicionar duas casas de 0 no final, por exemplo se você quer que um item pese 100.0 oz escreva no value 10000 adicionando 2 zeros ao valor inteiro do peso do Item.

Em marrom está a linha em que você define a ''armor'' do Item, se ele for uma armadura.


Em laranja está a linha em que você define o Slot em que o Item vai ser equipado.
Para armaduras <attribute key="slotType" value="body"/>
Para boots <attribute key="slotType" value="feet"/>
Para legs <attribute key="slotType" value="legs"/>
Para necklaces <attribute key="slotType" value="necklace"/>
Para elmos <attribute key="slotType" value="head"/>
Para backpacks <attribute key="slotType" value="backpack"/>
Para rings <attribute key="slotType" value="ring"/>
Para armas de Duas Mãos (incluindo Bows, Crossbows e derivados) <attribute key="slotType" value="two-handed"/>

Como já devem ter percebido, no code da Golden Armor não estavam presentes todas linhas de codes, então aqui vai as linhas que lá não estavam:

<attribute key="defense" value="38"/>
Linha que define a defense do Item.

<attribute key="attack" value="50"/>
Linha que define o ataque do Item.

<attribute key="weaponType" value="sword"/>
Está linha sempre aparecerá caso o Item seja uma arma e é essa linha que definirá qual skill o Item vai treinar. Apenas em caso de munições muda está regra citada anteriormente.
Para swords <attribute key="weaponType" value="sword"/>
Para axes <attribute key="weaponType" value="axe"/>
Para shields <attribute key="weaponType" value="shield"/>
Para equipes de distance <attribute key="weaponType" value="distance"/>
Para munições como bolts, arrows e etc <attribute key="weaponType" value="ammunition"/>

<attribute key="ammoType" value="bolt"/>
Está linha define o tipo de munição. Tipo bolt, arrow, burst arrow, poison arrow, power bolt entre outros.

<attribute key="increaseMagicPercent" value="10"/>
Caso o item aumente o ataque mágico ao usuário está linha definirá quantos % o Item aumentará.

-----------------------------------------------------------------------------------------------------------------------------------------------

3º Passo: Editando Items.

Agora vou mostrar à vocês como Editar um Item, apesar de eu já ter explicado etapa por etapa vou mostrar pondo a mão em massa.

Vou editar a Golden Armor:


<item id="2466" name="golden armor">
<attribute key="description" value="It's an enchanted armor."/>
<attribute key="weight" value="8000"/>
<attribute key="armor" value="14"/>
<attribute key="slotType" value="body"/>
</item>

Nome: golden armor
Descrição: It's an enchanted armor.
Peso: 80.0oz
Armor: 14

Para:
<item id="2466" name="armadura de ouro">
<attribute key="description" value"É uma armadura encantada."/>
<attribute key="weight" value="10000"/>
<attribute key="armor" value="20"/>
<attribute key="slotType" value="body"/>
Nome: armadura de ouro
Descrição: É uma armadura encantada.
Peso: 100.0oz
Armor: 20


-----------------------------------------------------------------------------------------------------------------------------------------------

Account Manager:




Dividirei este TUTORIAL EM 6 PARTES

1ª Básico
2ª Posição/Mana/HP
3ª Skills
4ª Itens
5ª Itens do Depot
6ª Keys

<?xml version="1.0" encoding="UTF-8"?>
<player name="Account Manager" account="111111" sex="1" lookdir="2" exp="4200" voc="4" level="8" access="0" cap="380" maglevel="0" soul="0" maxdepotitems="1000" lastlogin="0">
<spawn x="2700" y="2386" z="6"/>
<temple x="2700" y="2386" z="6"/>
<health now="190" max="190" food="0"/>
<mana now="40" max="40" spent="0"/>
<skull redskulltime="0" redskull="0"/>
<look type="128" head="0" body="94" legs="126" feet="81" 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/>
<deaths/>
<spells/>
<blessings/>
<inventory>
<slot slotid="1">
<item id="2457"/>
</slot>
<slot slotid="2">
<item id="2173"/>
</slot>
<slot slotid="3">
<item id="1988">
<inside>
<item id="2160" count="2"/>
<item id="2190"/>
<item id="2182"/>
<item id="2456"/>
<item id="2120"/>
</inside>
</item>
</slot>
<slot slotid="4">
<item id="2463"/>
</slot>
<slot slotid="5">
<item id="2509"/>
</slot>
<slot slotid="6">
<item id="2383"/>
</slot>
<slot slotid="7">
<item id="2647"/>
</slot>
<slot slotid="8">
<item id="2643"/>
</slot>
<slot slotid="10">
<item id="2544" count="1"/>
</slot>
</inventory>
<depots>
<depot depotid="1">
<item id="2590">
<inside>
<item id="2594">
<inside>
<item id="2152" count="50"/>
</inside>
</item>
</inside>
</item>
</depot>
</depots>
</storage>
</player>

Explicando:

1ª Parte

<player name="Account Manager" >>> Nome do Personagem
account="111111" >>> Conta dele.
sex="1" >>> Sexo.Só existe sexo 1 e 0
lookdir="2" >>> Para onde o player estara olhando.
exp="4200" >>>Quanto de exp. terá.
voc="4" >>> Vocação dele.
level="8" >>> Level dele.
access="0" >>> Acesso. Lembrando 0 não tem acesso algum.
cap="380" >>> Quanto de Capacidade ira ter
maglevel="0" >>> Magic Level que terá
soul="0" >>> Quanto de soul terá.
maxdepotitems="1000" >>> Quantos item poderá ter no Deposito
lastlogin="0"> >>> Quantas vezes já se logou

2ª Parte

 <spawn x="2700" y="2386" z="6"/> = Onde esta.Aconselho deixar no mesmo lugar do Templo.
<temple x="2700" y="2386" z="6"/> = Posição do templo
<health now="190" max="190" food="0"/> = quanto te vida terá,mínima e máxima e de food.Aconselho deixar 0 o food
<mana now="40" max="40" spent="0"/> = quanto de mana terá, mínima e máxima.
<skull redskulltime="0" redskull="0"/> = Quanto tempo de redskull falta, e se tem redskull
<look type="128" head="0" body="94" legs="126" feet="81" addons="0"/> = roupa que o personagem usara de inicio.

3ª Parte

 <skills>
<skill skillid="0" level="10" tries="0"/> = Quanto tera de Skill de First Figther
<skill skillid="1" level="10" tries="0"/> = Quanto tera de Skill de Club Figther
<skill skillid="2" level="10" tries="0"/> = Quanto tera de Skill de Sword Figther
<skill skillid="3" level="10" tries="0"/> = Quanto tera de Skill de Axe Figther
<skill skillid="4" level="10" tries="0"/> = Quanto tera de Skill de Distance Figther
<skill skillid="5" level="10" tries="0"/> = Quanto tera de Skill de Shielding Figther
<skill skillid="6" level="10" tries="0"/> = Quanto tera de Skill de fishing Figther
</skills>

4ª Parte

 <inventory>
<slot slotid="1">
<item id="2457"/>
</slot> = Helmet
<slot slotid="2">
<item id="2173"/>
</slot> = Colar
<slot slotid="3">
<item id="1988">
<inside> = Backpack
Item dentro da BackPack.
<item id="2160" count="2"/> = Dinheiro, aqui no caso e 2 crystal cones
<item id="2190"/> = Aqui no caso Wand of Vortex
<item id="2182"/> = Aqui no caso Snakebite Rod
<item id="2456"/> = Aqui no caso Bow
<item id="2120"/> = Aqui no caso Rope
</inside>
</item>
Itens que terá no corpo, Lembrando Cada slot vale 1 coisa
</slot>
<slot slotid="4">
<item id="2463"/> = Plate Armor.Ou seja, slot 4 = armor
</slot>
<slot slotid="5">
<item id="2509"/> = Steel Shield.Ou seja, slot 5 = Shield
</slot>
<slot slotid="6">
<item id="2383"/> = Spike Sword.Ou seja, slot 6 = Sword/Axe/Club
</slot>
<slot slotid="7">
<item id="2647"/> = Plate Legs.Ou seja, slot 7 = Legs
</slot>
<slot slotid="8">
<item id="2643"/> = Leather Boots.Ou seja, slot 8 = boots
</slot>
<slot slotid="10">
<item id="2544" count="1"/> = Arrows.ou seja, slot 10 = Flechas
</slot>
</inventory>

5ª Parte

 <depots>
<depot depotid="1">
<item id="2590"> = Loker
<inside>
<item id="2594"> = Deposit Chest
<inside>
<item id="2152" count="50"/> = Platium coins.Ta dentro do Loker
</inside>
</item>
</inside>
</item>
</depot>
</depots>

6ª Parte

<storage>
<data key="10001001" value="8912896"/>
<data key="10001002" value="8978432"/>
<data key="10001003" value="9043968"/>
<data key="10001004" value="9109504"/>
<data key="10001005" value="9175040"/>
<data key="10001006" value="9240576"/>
<data key="10001007" value="9306112"/>
<data key="10001008" value="9633792"/>
<data key="10001009" value="9699328"/>
<data key="10001010" value="9764864"/>
<data key="10001011" value="9830400"/>
<data key="10001012" value="10158080"/>
<data key="10001013" value="10223616"/>
<data key="10001014" value="10289152"/>
<data key="10001015" value="10354688"/>
</storage>
</player>

-----------------------------------------------------------------------------------------------------------------------------------------------

3ª Stages




<?xml version="1.0"?>
<stages>
<!—stage minlevel="1" maxlevel="100000" multiplier="8"></stage>
</stages>

Explicando:

Em verde são partes essenciais para não ocorrer erros.
Em vermelho é o mínimo de level, no caso 1.
Em Azul é o Maximo de level.
Em Negrito é a experiência quantas vezes vai multiplicar.

-----------------------------------------------------------------------------------------------------------------------------------------------

4º Segurança (Para quem tem problemas com NUKER’S)




Va na pasta do seu Server, depois abra a pasta data após isso ache o arquivo ADMIN (sem maiúsculo) click com o botão direito va em editar, após isso abrira algo assim : (Admin do Yourots 1.2 v 8.1)

<?xml version="1.0"?>
<otadmin enabled="1">
<security onlylocalhost="1" maxconnections="2" loginrequired="1" loginpassword="aries" />
<encryption required="0" >
<!-- key type="RSA1024XTEA" file="rsakey.private" -->
</encryption>
</otadmin>

Explicando:

Em Vermelho são as partes essenciais para não ocorrer erro com esse arquivo.
Em Negrito É a única linha que deve ser alterada, o que vamos alterar nesta linha e a parte em Azul o que está em azul coloque uma coisa bem difícil substituindo o aries ficando assim:

<?xml version="1.0"?>
<otadmin enabled="1">
<security onlylocalhost="1" maxconnections="2" loginrequired="1" loginpassword="hahahahhahahahahaha" />
<encryption required="0" >
<!-- key type="RSA1024XTEA" file="rsakey.private" -->
</encryption>
</otadmin>

PS:Não coloque igual eu, coloque algo muito difícil para não sofre com os nukers.

-----------------------------------------------------------------------------------------------------------------------------------------------
5ª Config.lua

Essa parte do tutorial e bem complexa, qualquer duvida posta ou manda MP que eu respondo.
A parte sobre config.lua será dividida em 5 partes.

1ª “Básico” vamos dizer assim
2ª Evolutions Basic Configuration = Evoluções de configuração básicas
3ª Multipliers = Multiplicadores
4ª Skull System configuration = Configuração do sistema de PK’S
5ª GM access rights = Acessos diretos GM.

Tradução by Google Tradutor

1ª Parte – Básico.



-- map location
map = "data/world/Test.otbm"

É a localização do mapa que o server ira usar.O mapa geralmente fica na pasta data/world/nomedomap, sempre coloque o otbm depois do nome, se ele for em OTBM se for em XML deixe .xml ou então .OTX.

-- mapkind
-- options: OTBM for binary map, XML for OTX map
mapkind = "OTBM"

Coloque o tipo do mapa, se ele é OTBM, XML, OTX.(Sempre coloque dentro das ")

--map store location (for XML only)
mapstore = "data/world/Test-mapstore.xml"

Localização do mapstore.xml.(Sempre coloque dentro das ")

-- house store location (for XML only)
housestore = "data/world/Test-housestore.xml"

Onde fica o housestore.xml.(Sempre coloque dentro das ")

-- bans storage (for XML only)
banIdentifier = "data/bans.xml"

Arquivo que fica registrado todos os players banidos do servidor.(Sempre coloque dentro das ")

-- server name
servername = "Yurots 1.0"

Nome do servidor aqui, no caso é : Yurots 1.0, mas você pode trocar.(Sempre coloque dentro das ")

-- server location
location = "Brasil"

Localização do servidor.

-- server ip (the ip that server listens on)
ip = "1"

substitua o numero 1 pelo seu ip, que você acha neste site: www.meuip.com.br

-- server port (the port that server listens on)
port = "7171"

Porta que o servidor usará.Padrão 7171.(Sempre coloque dentro das ")

-- server url
url = "http://www.xtibia.com/forum"

Site do servidor.(Não e necessário preencher).(Sempre coloque dentro das ")

-- server owner name
ownername = "GOD Bon ou Bon"

Nome do dono do ot, no caso GOD Bon

-- server owner email
owneremail = "bon@xtibia.com"

E-mail do dono do servidor.(Não necessário o preenchimento).

-- world type
-- options: pvp, no-pvp, pvp-enforced
worldtype = "pvp"

Onde você determina qual será o tipo do servidor, nesse caso pvp.

-- exhausted time in ms (1000 = 1 second)
exhausted = 1000

De quanto em quanto tempo ficará esgotado, no caso 1000 = 1 segundo, 2000 = 2 segundos.

-- exhausted time in ms for non-aggressive spells (1000 = 1 second)
exhaustedheal = 1000

De quanto em quanto tempo ficará esgotado para magias não agressivas.

-- how many ms to add if the player is already exhausted and tries to cast a spell (1000 = 1 second)
exhaustedadd = 200

Não me recordo, estarei pesquisando para logo editar esse poste.

-- how long does the player has to stay out of fight to get pz unlocked in ms (1000 = 1 second)
pzlocked = 60*1000

Quanto tempo apos atacar um player terá de ficar sem entrar em arias "pz"

-- house rent period
-- options: daily, weekly, monthly
houserentperiod = "weekly"

Alugar casa período, as opções são: Diariamente, semanalmente ou mensalmente no caso aqui: semanalmente.

-- motd (the message box that you sometimes get before you choose characters)
motd = "Welcome To Yurots 1.0"
motdnum = "1"

É o que aparece apos você digitar seu login e senha.O numero 1 significa ligado e o 0 desligado.

-- login message
loginmsg = "Welcome To Yurots 1.0"

Mensagem que aparecera quando se logar.

-- how many logins attempts until ip is temporary disabled
-- set to 0 to disable
logintries = 0

uantos logins tentativas até ip é temporária deficientes.O numero 0 significa desabilitado.

-- how long the retry timeout until a new login can be made (without disabling the ip)
retrytimeout = 60*1000

Quanto tempo a repetir tempo até que um novo login pode ser feita (sem desativar o ip)

-- how long the player need to wait until the ip is allowed again
logintimeout = 0

Quanto tempo o jogador precisa esperar até que o ip seja permitido novamente

-- allow clones (multiple logins of the same char)
-- options: 0 (no), 1 (yes)
allowclones = 1

Essa geralmente é um problema para quem tem ot pois permite vários logins no mesmo char.1 significa sim e 2 significa não.

-- max number of players allowed
maxplayers = "100"

Maximo de pessoas que podem ficar on-line simultânea mente.

-- SQL type
-- options: mysql, sqlite
sql_type = "mysql"

Não mecher.

--- MySQL part (ignore if you are using SQLite)
sql_host = "localhost"
sql_user = "root"
sql_pass = ""
sql_db = "otserv"

Não mexer.

--- SQLite part (ignore if you are using MySQL)
sqlite_db = "db.s3db

Não mexer.

Bom, aqui encerra-se a parte Básica

.Começando a parte 2º Evoluções de configuração

2ª Parte – Evoluções de configuração.



 -- world name (shows in the character list)
worldname = "Yurots"

Será o nome do world, vou dar exemplo no tibia global, se tem 1 char chamado lolol, ai ele e do mundo de chimera ira aparecer o nome dele e na frente chimera certo?Para isso serve esta parte.

 -- time to save the server (default = 5)
autosave = 2

Tempo para dar o Auto-Save, aconselho deixar 2, mas e opcional.

 -- do you want to enable cap system? (yes/no)
capsystem = "no"

Se terá o sistema de capacidade que a pessoa pode levar.Se deixar Yes quer dizer que o capacidade sistema estará ativa,assim fazendo com que ocupe capacidade e no que não ocupe.

 -- anti-afk - maximum idle time to kick player (1 = 1min)
kicktime = 15

Kick os jogadores que ficarem sem mexer por mais de 15 minutos, você pode deixar quanto quiser, mas aconselho o 15.

 -- how many summons player can have
maxsummons = 2

Maximo de sumons que os sorcerer,druids,máster sorcerer, Elder druid poderão fazer, padrão do tibia global é 2.

 -- maximum items in depot
maxdepotitems = 1000

Maximo de itens no Dp ou banco como preferir chamar.

 -- learn spells (yes/no)
learnspells = "no"

Se precisa ou não comprar spells.Legenda: no para não ter de comprar e Yes para ter que comprar ou aprender defina como quiser.

 -- do you want everyone to have premium
freepremium = "no"

Se já seram Premium ou terão de adquirir in game ou com outro meio.Legenda: no que terão que compra e Yes que já terão.

 -- remove ammunation? (bolts/arrows)
removeammunation = "yes"

Se quiser que gaste bolts/arrows deixa em Yes, se não quiser troque por no.

 -- remove rune charges? (sd/hmm/gfb)
removerunecharges = "yes"

Mesmo caso que o décima so que aqui e para runas.

 -- use item hotkeys? (yes/no)
itemhotkeys = "yes"

Se será permitido o uso de itens via Hotkeys, lembrando que no tibia global é permitido.

 -- shoot trough battle window on players? (yes/no)
battlewindowplayers = "yes"

Infelizmente esse eu não sei x0.

 -- use account manager? (yes/no)
accountmanager = "yes"

Server para saber se o Account manager será usado.Legenda: Yes se ele for usado, no se ele não for usado.

 -- summon follows master everywhere
summonsfollow = "yes"

Server para Ativar ou Desativar o sistema de fallow, que no caso e 1 segue um “mestre”.Yes significa que esta ativado e no que esta desativado, deixe ativado.

 -- allow outfit change
outfitchange = "yes"

Serve para sabermos se é possível trocar de outfit.Yes significa que pode e no que não pode.

 -- damage to players with the same feet
feetdamage = "yes"

Apenas deixe marcado Yes.A explicação é extensa e não sei como explicar.

 -- guild system type (SQL only)(ingame/online)
-- online guild system requires the latest Swelia AAC
guildsystem = "ingame"

Se haverá o guild sistema.



A 2 Parte vai ficando por aqui.Vamos dar inicio a 3 ª Parte – Multiplicadores.

3ª Parte - Multiplicadores



 -- experience multiplier (how much faster you got exp from monsters)
expmul = 10

Significa quantas x será a experiência do ot, no caso 10.(Aconselho a configurar pelo stages.)

 -- experience multiplier for pvp-enforced (how much faster you got exp from players)
expmulpvp = 2

Quanto de Experiência vai ser multiplicada quando o Server tiver enforced.

 -- monster lootrating (how much faster you get items from monsters)
lootmul = 1

E mais ou menos a chance de dropar item, no caso e de 1 igual ao tibia global, mas você pode escolher outro numero eu gosto de usar 7 x0.

 -- skill multiplier (another multiplier in data/vocations.xml)
skillmul = 1

Mesmo que o do loot mais agora o dos skill’s.

 -- manaspent multiplier (another multiplier in data/vocations.xml)
manamul = 1

Mesmo que o do loot so que agora para o Magic Level (ML)

 -- how many monsters spawn at a time in 1 spawn
spawnmul = 1

Tempo de Respaw.

 -- Price for each SQM when buying a house
houseprice = 200

Preço por cada SQM da Casa, no caso 200.

 -- level to buy a house
houselevel = 20

Level mínimo para poder adquirir uma casa.Tibia global = 50.

 -- maximum death entries per player
maxdeathentries = 10

É histórico de morte no XML do Player

 -- max message buffer (default = 4)
-- how fast you get muted
messagebuffer = 4

Maximo de mensagens seguidas, se ultra passado fica sem conseguir falar por 5 seg.

 -- minimum action interval (default = 200)
minactioninterval = 200

Intervalo mínimo de uma ação.

 -- protection for those under this level
protectionlimit = 20

Proteção ant-Pk’s.Antes de chegar lvl 20 os players não podem morrer por PK’S

 -- critical damage and chance {chance, extra damage percent}
criticaldamage = {"0", "0"}

Se terá dano extra.Deixa como está é melhor x0


Fim da Parte 3.Vamos iniciar a 4 Parte – Skull Sistema – Sistema de Pk’s.

4ª Parte – Skull Sistema – Sistema de Pk’s.



-- time to lose a white skull (1 = 1 minute)
whitetime = 15

Tempo que fica com WithSkull, sem ter matado ninguém.

 -- time to lose one frag (1 = 1 minute)
fragtime = 1*60

Tempo que fica Skull White após matar alguém.

 -- ban unjust, how many frags you need to get banned (1 = 1 frag)
banunjust = 6

Depois de matar quantos players ele é banido.

 -- red skull unjust, how many frags you need to get a red skull (1 = 1 frag)
redunjust = 3

Quantos players precisa matar para REDSKULL

 -- bantime, for how long the player is banned (1 = 1 hour)
bantime = 24*1

Tempo do banimento, por REDSkull.


Finalizamos a 4 parte.Vamos iniciar a 5ª Parte – Gm acesso.

5ª Parte – Gm acesso.



-- access to walk into houses and open house doors
accesshouse = 3

Com quanto de acesso Gm pode entrar nas casas e abrir portas, no caso aqui 3.

 -- access to login without waiting in the queue or when server is closed
accessenter = 1

Acesso ao servidor quanto esta full sem esperar na fila,ou quando esta of-line.

 -- access to ignore damage, exhaustion, cap limit and be ignored by monsters
accessprotect = 3

Não sofre dano dos players, não tem o sistema de cap, não é visto por monstros.

 -- access to broadcast messages and talk in colors (#c blabla - in public channels)
accesstalk = 1

Acesso para falar colorido.

 -- access to move distant items from/to distant locations
accessremote = 3

Acesso para mover itens para lugares longes.

 -- access to see id and position of the item you are looking at
accesslook = 2

Acesso para ver ID E POSIÇÃO DO ITEM

Fim :)
Esse demorou.


-----------------------------------------------------------------------------------------------------------------------------------------------

6ª Parte – Vocation.xml




Vocation.xml é onde ficam todas as vocações que o open tibia Server possui, hoje vou ensiná-los a editá-las.Primeiro vá na pasta do seu ot abra a pasta DATA, depois procure o arquivo vocation.xml.Agora vou usar como exemplo o Sorcerer:

<vocation id="1" name="Sorcerer" description="a sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="1" gainmanaticks="3" gainmanaamount="10" gainsoulticks="120" gainsoulamount="1" maxsoul="100" manamultiplier="1.1" attackspeed="1500" prevoc="1" basespeed="220">
<diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/>
<formula damage="1.2" defense="1.1" armor="1.1"/>
<skill id="0" multiplier="1.5"/>
<skill id="1" multiplier="2.0"/>
<skill id="2" multiplier="2.0"/>
<skill id="3" multiplier="2.0"/>
<skill id="4" multiplier="2.0"/>
<skill id="5" multiplier="1.5"/>
<skill id="6" multiplier="1.1"/>
</vocation>


Explicando

<vocation id="1" >>> ID da vocação.
name="Sorcerer" >>> Nome da vocação
description="a sorcerer" >>> O que aparecera quando der Look.
gaincap="30" >>> Quanto vai ganhar de capazidade.
gainhp="5" >>> Quanto vai ganhar de vida.
gainmana="30" >>> Quanto vai ganhar de mana.
gainhpticks="6" >>> De quantos segundos a HP do player vai regenerar
gainhpamount="10" >>> De quanto o HP vai regenerar
gainmanaticks="3" >>> Mesma coisa do gainhpticks
gainmanaamount="20" >>> Quanto de Mana vai Regenerar
gainsoulticks="120" >>> Tempo que regenera a Soul
gainsoulamount="1" >>> Quantidade de Soul que Subira
maxsoul="100" >>> Quantidade máxima de Soul.
manamultiplier="1.3" >>> ML da vocação ( Não sei explicar muito bem )
attackspeed="850" >>> Velocidade do Ataque.
prevoc="1" >>> Não mexer
basespeed="220">>> SPEED do char, quanto estiver correndo.

<diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/> = Provabilidade de perder item, Ml, LvL, Skills.

<formula damage="1.2" defense="1.1" armor="1.1"/> = Formula do char.Geralmente e usado para balancear as vocações

<skill id="0" multiplier="1.5"/>
<skill id="1" multiplier="2.0"/>
<skill id="2" multiplier="2.0"/>
<skill id="3" multiplier="2.0"/>
<skill id="4" multiplier="2.0"/>
<skill id="5" multiplier="1.5"/>
<skill id="6" multiplier="1.1"/>

Velocidade que ira subir cada Skill.

-----------------------------------------------------------------------------------------------------------------------------------------------

8ª Parte – Criando IP Fixo by Lord Lolzao.




8.1:Vamos dar inícios aos trabalhos, primeiramente entre nesse site www.no-ip.com, após isso aparecera essa tela como na imagem abaixo:
imagem1441.jpg

8.2Agora clique em sign-up Now! Como na imagem abaixo:
imagem2549.jpg

8.3:Abrira uma pagina, como na imagem abaixo:
imagem3601.jpg
OBS: Preencha os dados corretamente.

8.4:Após isso faça o login, após fazer o login aparecera uma imagem assim:
imagem4986.jpg

8.5:Depois clique em ADD no canto esquerdo do site como na imagem:
imagem5448.jpg

8.6:Abrira a seguinte tela, preencha os dados, explicarei o que colocar em cada coisa na imagem:
imagem6773.jpg

8.7:Dessa a pagina ate o fim e clique em create Host.
Pronto agora baixe o Arquivo do no-ip explicarei logo embaixo:

Entre nesse site: http://www.no-ip.com/downloads.php?sid=a17...1f2086e28c1a361
Escolha seu sistema operacional, clique em cima dele, após isso aparecera esta tela, e clique no circulado, espere fazer o Donwload então esta pronto. Obrigado.
imagem7271.jpg


-----------------------------------------------------------------------------------------------------------------------------------------------

9º Usando o Programa da no-ip.




9.1:Depois de ter feito o que a parte 8 do tutorial fala instale o arquivo, após isso abra ele, aparecera esta imagem quando ele estiver abrindo:
imagem8450.jpg

9.2:Faça seu login após isso abrira isso:
imagem9978.jpg

9.3:Assinale a lacuna após fazer isso a carinha deve ficar assim:
imagem10182.jpg

Pronto seu IP fixo esta criado, sempre que abrir seu Server deixe o programa da no-ip aberto.


-----------------------------------------------------------------------------------------------------------------------------------------------

10 ª Parte - Actions:




Primeira Parte

Actions.xml:

*O que é?
*Função?
*Como Usa-lo?

*O que é?

Actions.xml é um arquivo localizado na pasta actions no qual você “registra” todas as ações do seu ot, ou seja, você configura as ações: qual id vai aciona-la, qual script vai ser acionado, se é action, item ou uniqueid.

*Função?
A partir do momento que uma ação é registrada no seu actions.xml a função dele é acionar o script quando a ação ocorre, ou seja, sem o actions.xml as o scripts não seriam acionados e as ações não acontecerião.

*Como Usa-lo?
Para Registrar uma ação no actions.xml você cria a chamada “tag”.

Existem 3 tipos de tags:
As que registram um itemid;
As que registram um uniqueid;
As que registram um actionid.

Itemid:
Usado quando você quer que a ação aconteça sempre que você usar aquele item. A tag do itemid fica assim:

<action itemid="ID DO ITEM" script="Nome do Script.lua" />

Uniqueid:
Usado quando você quer que a ação aconteça somente em um único item, esse por sua vez tem um id único (por isso o nome uniqueid).O uniqueid você coloca no mapeditor (nas propriedades do item, questid). A tag de uniqueid fica assim:

<action uniqueid="UNIQUEID" script="Nome do Script.lua" />

Actionid:
Usado quando você quer que a ação aconteça em 2 ou mais itens diferentes. O actionid você coloca no mapeditor (nas propriedades, actionsid). A tag do actionid fica assim:

<action actionid="ACTIONID" script="Nome Do Script.lua" />

Atenção: o conteúdo a seguir foi retirado do tópico: http://www.xtibia.com/forum/index.php?showtopic=13854

Function  onUse(cid, item, frompos, item2, topos):

Cid  Player que Praticou a ação.
Item  Item que foi usado.
Frompos  Posição do item (item que foi usado)
Item2  quando é uma ação de um item que é usado em outro, ou em um player então item2 representa o item no qual o Item foi usado (ex: poções).
Topos  Posição onde o Item foi usado.

Confira a lista das ações nesse tópico:
http://www.xtibia.com/forum/index.php?showtopic=13854

*Scripts de Actions:
Todo Script de action é iniciado por uma função onUse, esta que necessita ter um end para finaliza-la ao final.
Você pode utilizar os seguintes recursos:

*If que significa se (o mais usado por sinal);
O if pode ter:
1 else (que significa se não);
Exemplo
function onUse(cid, item, frompos, item2, topos)
If item.actionid == 9998 then
doTeleportThing(cid,topos)
else
doPlayerSendCancel(cid,"Algo deu errado.")
end
end

1 elseif (que significa se não se, ou seja para não se acrescentar outro if dentro do else foi criado o elseif para facilitar).
1 else (que significa se não);
Exemplo
function onUse(cid, item, frompos, item2, topos)
npos = {x=frompos.x, y=frompos.y, z=frompos.z}
If item.actionid == 9998 then
doTeleportThing(cid,topos)
elseif item.actionid == 9997 then
doTeleportThing(cid,npos)

end
end

(perceba que o elseif foi usado para evitar usar:
Else
If item.actionid == 9997 then)

1 elseif + 1 else (caso você tenha algo que negue tanto o if quanto o elseif).

O if ainda TEM que ter 1 end para finaliza-lo, lembrando que o end é para CADA IF, ou seja, se você tiver 1 if e 10 elseif’s ainda sim você terá só 1 end.


*Existem outros “recursos” usados como o for, while, etc, mas esses são menos usuais e para quem está começando acho desnecessário ensinar.

*Variáveis:
Você pode criar variáveis dentro do script para facilitar e diminuir seu script.
Exemplo:
Você tem no seu script a posição de um item { x=59, y=51, z=7, stackpos=1 } e quer checar essa posicao com a função getThingfromPos(pos), ao invés de repetir essa posição e essa função toda vez que for usa-la no script você cria uma variável com elas para facilitar.
Normalmente as variáveis tem nomes curtos (pos, pos1, r1, rand, etc):
pos1 = { x=59, y=51, z=7, stackpos=1 }
fire = getThingfromPos(pos1)

Agora toda vez que você quiser usar essa posição e essa função no script você usa pos1 e fire em vez de { x=59, y=51, z=7, stackpos=1 } e getThingfromPos(pos):

doRemoveItem(fire.uid,1);
doCreateItem(1506,1,pos1);


-----------------------------------------------------------------------------------------------------------------------------------------------

11º Movements




Tutorial de Movements By Skulls

* Movements.xml

->O que é?
->Função?
->Como usá-lo?

->O que é?
Movements.xml é bem parecido com o actions.xml.
Movements.xml é um arquivo localizado na pasta movements no qual você “registra” todas as ações DE MOVIMENTO do seu ot, ou seja, nele você configura esses "movimentos": qual id vai aciona-los, qual script vai ser acionado, se é actionid, itemid ou uniqueid e qual será o tipo de ação que fará o script ocorrer (passar em cima, equipar, etc).

->Função
A partir do momento que uma ação é registrada no seu movements.xml a função dele é acionar o script quando o movimento ocorrer, ou seja, sem o movements.xml os scripts não seriam acionados e as ações não acontecerião.

->Como usá-lo?
Para Registrar um movimento no movements.xml você cria a chamada “tag”.

Assim como no actions.xml as tag's do movements.xml são divididas em 3 tipos de acordo com seu id (actions,item,unique).
Porém no movements.xml você ainda tem a subdivisao de evento (evento que ocorrera:passar em cima,equipar,etc).

Itemid:
Usado quando você quer que a ação aconteça sempre que você usar aquele item. A tag do itemid fica assim:

<movevent event="EVENTO QUE OCORRERA" itemid="ITEMID" script="Nome do Script.lua" />

Uniqueid:
Usado quando você quer que a ação aconteça somente em um único item, esse por sua vez tem um id único (por isso o nome uniqueid).O uniqueid você coloca no mapeditor (nas propriedades do item, questid). A tag de uniqueid fica assim:

<action event="EVENTO QUE OCORRERA" uniqueid="UNIQUEID" script="Nome do Script.lua" />

Actionid:
Usado quando você quer que a ação aconteça em 2 ou mais itens diferentes. O actionid você coloca no mapeditor (nas propriedades, actionsid). A tag do actionid fica assim:

<action event="EVENTO QUE OCORRERA" actionid="ACTIONID" script="Nome Do Script.lua" />

Além disso no movements.xml você ainda tem as tags que não chamam scripts, elas interagem com funções:

<movevent event="EVENTO" tileitem="0" itemid="ITEMID" function="FUNÇÃO" />


Eventos:
StepIn -> Ao pisar no piso.
StepOut -> Ao sair do piso.
AddItem -> Ao adicionar um item ao piso.
Equip -> Ao equipar um item.
DeEquip -> Ao desequipar um item.

Funções:
onAddField -> Ao Adicionar um campo (field-> fire,poison,energy) ao piso.
onEquipItem -> Ao equipar um item.
onDeEquipItem -> Ao desequipar um item.

*Scripts:
Os scripts de movements contem diversas funções, as mais usadas são:
function onEquip(cid, item, slot):
Função Ao equipar um item:
Cid ->Player que Praticou a ação.
Item ->Item equipado.
Slot ->Slot no qual o item foi equipado.

function onStepIn(cid, item, topos):
Função Ao passar por cima de um piso:
Cid ->Player que Praticou a ação.
Item ->Item envolvido na ação (no caso o piso)
Topos -> Posição para a qual o player foi.

function onStepOut(cid, item, pos):
Função ao sair de um piso:
Cid ->Player que Praticou a ação.
Item ->Item envolvido na ação (no caso o piso)
Pos ->Posição na qual o player se encontra antes de sair do piso.

Todas as funções têm que ter um end em seu final.

Os recursos dos scripts de moviments são os mesmos do de actions ("padrão do .lua")
if, else, elseif, for, while.
Todos foram explicados/citados anteriormente.

Você pode usar variáveis assim como nas actions, para aprender sobre elas leia a parte de actions, serve tanto para actions quanto para movements.

-----------------------------------------------------------------------------------------------------------------------------------------------
12ª - Auto Restart




Olá no passo número 12 irei ensinar a fazer o auto-restart.
Primeiramente você deve saber o que é isso, o auto-restart é vamos dizer um “programa” que faz que quando o Server caia ele já abra novamente assim podem deixar online 24 horas/dia.
Primeiro crie um bloco de notas, após feito isso coloque o código nele:

 @echo off
title OTserv Auto-restarter
echo  =========================================
echo  --- OTserv Auto-Restarter ---
echo  --- Por: Seu Nome aqui ---
echo  =========================================
echo 
:begin
Nome do executavel.exe
echo 
echo  =========================================
echo  --- O que aparecera quando o Server cair. ---
echo  =========================================
echo 
goto begin
:goto begin

Segue um exemplo:


 @echo off
title OTserv Auto-restarter
echo  =========================================
echo  --- OTserv Auto-Restarter ---
echo  --- Por: Lord Lolzao ---
echo  =========================================
echo 
:begin
executavel.exe
echo 
echo  =========================================
echo  --- Caiu mas já volta ---
echo  =========================================
echo 
goto begin
:goto begin

Assim finalizamos o passo 12.


-----------------------------------------------------------------------------------------------------------------------------------------------

13ª Quest por Script -- Script desinvolvido por Lord Lolzao.




Olá novamente, no passo 13 irei ensinar a criar quest por action (script).
Primeiramente é necessário ter o script para a quest que segue logo abaixo

 --Scripting Desinvolved by Lord Lolzao
function onUse(cid, item, frompos, item2, topos)

if item.uid == 9997 then -- É o unique id usado no chester (baú)
queststatus = getPlayerStorageValue(cid,22810) – Numero usado para fazer o checking para ver se o player ja fez a quest, verifique se ja não existe.aqui no caso é o 22810.
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"Você fez a quest.") – Msg que aparece quando você abrir a chester (baú)
doPlayerAddItem(cid,2160,100) -- id do item que o player ganha aqui no caso é o 2160 e o 100 é a quantidade
setPlayerStorageValue(cid,22810,1) -- Numero usado para fazer o checking
doPlayerSendTextMessage(cid,22," Você fez a quest.") – texto que aparece quando abrir o chest
end
else
doPlayerSendTextMessage(cid,22,"Você já realizou a quest!") -- msg que aparecera quando o player for abrir o baú novamente (Após já ter realizado a quest)
end
end

Agora o que deve colocar no action.xml:
<action uniqueid="9997" script="x.lua" /> -- script=”x.lua” é o nome do arquivo que você colocou na pasta nome do Server/data/action/script.No meu caso x.

OBS: Esqueci de falar no começo que o script deve ficar localizado na pasta data/action/script.


-----------------------------------------------------------------------------------------------------------------------------------------------

14ª Aprenda a diminuir o lag




1º Passo ->Abra seu OTServ.
Aperte (ctrl+alt+del) você ira para o gerenciador de tarefas.
Procure o seu OTServ em Aplicativos e com o botão (DIREITO) clique nele e vá em Ir para processo.
Clique com o botão esquerdo novamente e Defina a prioridade para (TEMPO REAL).

2º Passo ->Agora vá em Iniciar -> Executar.
Execute, Digite: gpedit.msc
Procura por Modelos Administrativos no canto Esquerdo.
Vá em Rede.
Depois Agendador de Pacotes QoS.
Procure por "Limitar largura de banda reservável".
Ative a opção e diminui lá de 20 para 0.

3º Passo ->Com o seu Servidor Aberto logue em seu Char.
Vá em options no canto esquerdo de sua tela.
Depois Graphics e em seguida Advanced.
Vá na barrinha que estará em baixo e diminua-a para 25.

Criado por Kakashi Devil

-----------------------------------------------------------------------------------------------------------------------------------------------

Créditos:
Existem muitas pessoas envolvidas, vou citar os principais. Bloods, Lord Lolzao


Obrigado.

Editado dia: 1 de junho de 2008

Lord Lolzao - xtibia 2008.

Link para o comentário
Compartilhar em outros sites

  • Respostas 40
  • Created
  • Última resposta

Top Posters In This Topic

Bom cara..

 

Ainda não esta acabo estou trabalhando no fim desse tutorial...Pois ele e muito complexo... aparte do config.lua essas coisas

ou seja e vo tenta acaca ate amanha...

 

mas ta dificil...

Link para o comentário
Compartilhar em outros sites

@Tprocheira

 

Obrigado pela Ideia vou fazer isso.

 

Amnha irei postar a parte do config.lua e depois vou fazendo o resto pretendo finalizar este tutorial terça ou quarta, mais tardar quinta feira.

Link para o comentário
Compartilhar em outros sites

achei muito basico, qualquer pessoa com minimo de inteligencia aprende isso sozim u.u

 

4º Segurança (Para quem tem problemas com NUKER’S)
<?xml version="1.0"?>

<otadmin enabled="1">

<security onlylocalhost="1" maxconnections="2" loginrequired="1" loginpassword="aries" />

<encryption required="0" >

<!-- key type="RSA1024XTEA" file="rsakey.private" -->

</encryption>

</otadmin>

 

Isso n tem nd a ver com nuker u.u, isso eh so uns espertim que entra em ot noob usando essa senha, nao eh hacker, nuker nem nd parecido

 

 

oque a maioria das pessoas nao sabem vc apenas colocou "nao mecher"

-- SQL type

-- options: mysql, sqlite

sql_type = "mysql"

 

Não mecher.

 

CODE

--- MySQL part (ignore if you are using SQLite)

sql_host = "localhost"

sql_user = "root"

sql_pass = ""

sql_db = "otserv"

 

Não mexer.

 

CODE

--- SQLite part (ignore if you are using MySQL)

sqlite_db = "db.s3db

 

acho que vc deveria focar a parte que o pessoal tem duvida, nao as coisas simples do config lua

Link para o comentário
Compartilhar em outros sites

Apesar de concordar com o Nandu Minerim, gostaria de lhe dar os parabéns pela iniciativa em construir este tutorial, que certamente ira auxiliar os "novatos".

 

Esclarecendo sua dúvida e ajudando-o em algumas outras coisas:

 

lookdir="2: Direção para a qual o personagem olha.

Norte: 1

Sul: 2

Leste: 3

Oeste: 4

 

PS: Se não em engano os números são assim.

 

Na 5ª parte, config.lua, aconselho colocar, se necessário, em negrito as palavras "YES" e "NO".

 

Fora isso está bem legal o tutorial.

Novamente, PARABÉNS.

 

 

ATENCIOSAMENTE

 

//VOX

Link para o comentário
Compartilhar em outros sites

Fazendo auteraçoes, outra partes seram adicionadas.

 

Sobre a segurança meu amigo, se a pessoa suber essa senha pode fechar seu server...kickar,banir...

Varias coisas, acho que você deveria pesquisar mais.

 

Se tiver algum afim de me ajudar a falar sobre as spells, que eu nao sei como montar me add no msn..o msn ta na asinatura.

Editado por Lord Lolzao
Link para o comentário
Compartilhar em outros sites

Sobre a segurança meu amigo, se a pessoa suber essa senha pode fechar seu server...kickar,banir...

Varias coisas, acho que você deveria pesquisar mais.

 

nao estou discutindo isso, vc apenas usou a palavra "nuker" pra definer tal pessoa que "invade" o server dessa forma.... e nuker nao tem nada a ver com isso.

Link para o comentário
Compartilhar em outros sites

nao estou discutindo isso, vc apenas usou a palavra "nuker" pra definer tal pessoa que "invade" o server dessa forma.... e nuker nao tem nada a ver com isso.

 

 

Depende do nome que você tiver sobre nukers.

Link para o comentário
Compartilhar em outros sites

Nuker é uma pessoa que tem conhecimento como Hacker e Cracker, mas como o Cracker os Nukers usam seu conhecimento para prejudicar os outros, resumindo os Nukers sao os que derrubam servidores por diversas maneiras.

 

Essas pessoas que invadem esses otzinhos nao tem esse conhecimento, na maioria sao Lammers.

Link para o comentário
Compartilhar em outros sites


×
×
  • Criar Novo...