foda
Ótimo tutorial cara, já aprovei seus outros tutoriais e você está de parabéns.
Tópico movido.
info
Grupo: Conde
Registrado: 06/11/06
Posts: 850
Reputação: +6
Char no Tibia: Xearius Thor

foda
Ótimo tutorial cara, já aprovei seus outros tutoriais e você está de parabéns.
Tópico movido.
info
Grupo: Campones
Registrado: 14/05/09
Posts: 92
Reputação: +1

Parabéns topico de tutorial "Legal" xD
Aprovado # :button_ok:
esK~
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Otimo o tutorial cara, mas muitooooo foda mesmo de entende esses negocios ![]()
Acho q o calculo é o mais foda das spells.
Tutorial muito bom!
Parabéns
info
Grupo: Campones
Registrado: 05/12/09
Posts: 7
Reputação: -1
Char no Tibia: Hud of Chuck

info
Grupo: Campones
Registrado: 21/11/10
Posts: 5
Reputação: 0
Char no Tibia: The Magician

queria um tipo no lvl 135k hitasse uns 130k
ke o poder acompanhasse o lvl
tipo lvl 7k tirasse 7k
entendeu?
plx preciso muito
obrigado de qualker jeito ![]()
info
Grupo: Conde
Registrado: 18/12/05
Posts: 912
Reputação: +86
Gênero: Masculino
Char no Tibia: Kohzete

@Up
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
function getCombatFormulas(cid, lv, maglv)
local formula_min = lv
local formula_max = lv
if(formula_max < formula_min) then
local tmp = formula_max
formula_max = formula_min
formula_min = tmp
end
return formula_min, formula_max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
isso ai
info
Grupo: Visconde
Registrado: 17/01/11
Posts: 343
Reputação: +46
Char no Tibia: Zodriac

(conteudo removido)
Era uma duvida,
mas consegui resolver.
@ tibiaa4e
mto bom, estou usando. =D
Editado Junho 20 por OtheReality
info
Grupo: Campones
Registrado: 18/07/10
Posts: 31
Reputação: +4
Gênero: Masculino

nossa, Parabens kra realmente esse negocio de quanto que vai hitar eu nao sabia como configurar, eu sempre testava almentando e diminuindo ate chegar no valor esperado mais sempre era as cegas
arrumando uns erros D;
Editado Julho 27 por sens
Otimo tutorial vlw Rep+
info
Grupo: Visconde
Registrado: 17/01/11
Posts: 343
Reputação: +46
Char no Tibia: Zodriac

Cuidado para não reviver tópicos o último post aqui era de julho de 2011.
info
Grupo: Conde
Registrado: 18/12/05
Posts: 912
Reputação: +86
Gênero: Masculino
Char no Tibia: Kohzete
Pasta Enciclopedia com todos os links de outros tutoriais !
http://www.xtibia.com/forum/Pasta-Data-Enc...r-E-t99746.html
Parte IV– Spells
Olá depois de um tempinho (5 meses) sem tutoriais , que por varios fatores não consegui terminar no meu primeiro prazo...
Essa aqui eu acredito ser um dos mais essenciais, pois algumas pessoas não compreendem bem isso, e sempre era uma dúvida constante no msn
que eu não consegui sanar , por falta de material...
Começaremos pelo spells.xml
Ai está a base de cada spell para esse arquivo.
As runas são divididas em duas partes, o script da runa e de transformação da pedra em runa. Começaremos pela runa :
Essa linha acima indica o que a runa fará ao ser usada em algo, sendo os parametros :
name: Isso indica o nome da runa. Esse nome é o que aparece na runa ao se dar use nela.
id: Isso indica o id da runa.
allowfaruse : Se a runa pode ser usada em objetos a distancia.
charges: A quantidade de cargas iniciais dela
lvl: Nivel minimo para ela ser usada.
maglv: Nivel magico minimo para usar ela
exhaustion: Tempo de exaustão para poder usar a proxima runa.
blocktype: Tipo do item que será jogado.
script: Arquivo que terá o script.
A criação da pedra é mais simples :
name: O nome dela, para ser sincero não se prescisa ser o mesmo do arquivo acima.
words: A palavra (macumba) que você diz para fazer a transformação.
lvl: Nivel para poder cria-la.
mana: mana usada para conjura-la.
c
reagentId: Id da runa base, no caso 2260 é a blank rune.
conjureId: Id da runa "magica".
conjureCOunt: Quantidade de cargas da runa.
exausthion: O tempo de exaustão que ela dará em milessegundos (1000 = 1 segundo) (nem sei se tem isso hj em dia ainda).
needlearn: Se o player prescisará aprender ela, no caso comprar de um npc.
function: No caso deixe assim, essa função que transforma agua em vinho
.
Lembrando que pode se usar esse tipo para transformar outros itens, como enchatted staff e depois para fazer volta-lo ao normal é só fazer ele decair. Para faze-lo mude a function para conjureItem
Bem a parte de script LUA , explicarei mais abaixo, vamos continuar com as tags, porque o script LUA é mais facil
Magias Espontaneas
name: Nome dela.
words: A palavra (macumba) que você diz para fazer o trabalho.
lvl: Nivel para poder solta-la.
mana: mana usada para solta-la.
prem: Se o conjurador prescisará ser premmium ou não.
range: Quantos sqm ela poderia ir de distancia.
Se ativado elá irá acertar o alvo que está em ataque.
blockwalls: Se ativado ela não passará por obstaculos.
exhaustion: tempo de exaustão em milessgundos.
selftarget: Se irá atingir ele mesmo, no caso magias de cura.
needtarget: Se ativado, prescisará o player está atacando alguem.
direction: Se ativado, a magia sempre sairá pela frente do player.
casterTargetOrDirection: Se ativado, a magia irá em quem o player está atacando senão elas sairá pela frente do player
agressive: Se elá tirará danos ou não.
needlearn: Se ele prescisará aprender ou não.
event: O evento delá, vocês só usarão script (ao não ser que sejam muito criativos).
script: Local do arquivo de configuração.
vocation name : Nome da vocação que poderá usar a magia (coloque suas promoções tbm)
Ai explicamos como fazer a tag dessas magias, existem outras funções que para ser sincero são inuteis, ou necessarias apenas para 1 magia
Scripts LUA
Se você é uma pessoa normal, sem problemas mentais ou hiperatividade concerteza o que tiver aqui vai suprir suas necessidades, mas se você for igual eu, vai querer aprender mais. Eu costumo dizer que spells você tem ter um calculadora e paciencia para achar aquela forma e efeito. O resto é só copiar uma ja existente.
O pessoal do TFS, adora fazer uns atalhos, variaveis e coisas para facilitarem a vida deles (e complicar a nossa). Se você olhar o arquivo lib da pasta spells/lib verá que tem varias formas lá... Para ser mais exato todas
que eles usam nas spells do ot. Portanto memorize todas
(ou como uma pessoa normal, verifique quando for fazer elas).
Depois de muito bla bla bla, vamos ao que interessa.
Vamos começar com nossa maravilhosa death strike
Eu sinceramente não entendo 100% das funções vou explicar as necessarias. Nesse momento abra seu global.lua
e se não tiver vá em lib/constants.lua e sempre verifique quando tiver a palavra arquivo abaixo :
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) : O tipo dela, se é dano fisico, fogo ou sei lá o que.
São eles :
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) : O tipo de efeito que sairão delá, pelo amor de deus olhem no arquivo porque tem 68. (Procurem CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) : Esse é o efeito que faz ao ser disparada, ela. Ou seja, o efeito do trajeto dela. Proure no arquivo tem 37.
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.5, 0, -0.6, 0) : Esse é a grande sacada. Calculo certo !? + -
A sintaxe disto é :
COMBAT_FORMULA_LEVELMAGIC, -minA,Min , MaxB, mAx
Sendo :
MinA : Minimo calculado, ou seja valor minimo que sera calculado.
Min : Minimo que a magia tirará ou dará.
MaxB : Maximo de dano ao ser calculado.
Max : Dano maximo fixo que dará a magia.
O calculo é assim:
Ai da um valor magico que será seu dano, oscilando entre o Min e o Max.
Porém desde o tibia 7.8 o tibia mudou sua formula, e eu fazendo uns calculos criei uma nova com a função do Pedro B.
Agora você pensa que filho de uma mãe é o Ta4e, ferrou meu cerebro...
Use a que bem entender...
Em tese a death strike ta feita.
Se você é observador percebeu que ela tem 2 funções porém são iguais. Isso porque para o servidor ela sendo jogada no inimigo ou ela sendo falada em frente são diferentes... (Sim da para fazer ela tirar + dano de perto).
Bem para quem gostou do meu metodo, a diferença fica apenas no calculo de dano.
Em formula_min seria o MinA e o formula Max o maxB
O resto é igual...
Ao invés de indicarmos os valores, falamos que o resultado estará na função getCombatFormulas.
Bem essa é a magia em tese + simples, vou mostrar uma magia de healing
Perceba que na formula ela não tem o sinal de - antes do calculo, pois ela heala e não ferra o player.
Dois novos parametros apareceram
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) : Sendo false, a magia não é de ataque portanto pode ser usada em protection zones (e não tirará dano).
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) Nesse caso ela cura a condição paralyze, se você olhar no arquivo verá as condition que as magias poderão retirar (até umas versoes atrás, não era possivel remover + de 1 condição por magia.
Agora uma spell que cria algo, que tal poison field ?
Simples não ?
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1496) Id do item a ser criado no local de saida.
Até agora só vimos magia que atigem 1 local certo, vamos evoluir e ver a com areas.
Magias com aréas
A mesma poison field pode ser mudada para poison bomb facilmente :
Apenas adicionado a linha do createcombatArea ja faz ela criar em varios locais.
Lembra do lib ? Abra ele e veja o fomrato do AREA_SQUARE1X1,
AREA_SQUARE1X1 = { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} }0 - Nada
1 - Area que criará
3 - Local "base"
Lembra da magia de healing ? vejamos uma mass healing
Mesma coisa... Só se adiciona isso.
Que tal uma magia do tipo beam
Se você comparar ela com uma ULTIMATE EXPLOSION VERÁ que só muda o efeitos.
Mais aonde faz ela em frente ao player e a outra não ?
No spells.xml, veja por que aprendemos ele primeiro...
Em tese vocês com um pouco de pratica já serão grande spells makers.
Para quem tem mais dificuldade (Quem acha que eu sou bom..., se você soubessem o que eu demoro para aprender)
As magias de runas, são iguais a essas na criação, o que muda é no spells.xml, 80% dos erros de spells acontecem lá.
Magia com danos fisicos
Eu dou a cara limpa, para dizer que não abro um otserver a 4 meses, devido ao meu pc reiniciar devido ao uso de muita memoria
. Então até a ultima vez a função padrão do TFS estava falha em relação aos danos.
Ai novamente o Pedro B. fez uma...
Em tese ela é a mesma coisa que a do ot.
Se preferirem testem ela, e vejam...
Essa parte da formula é igual a outra, ela calcular o skill e o ataque da arma. Igual no tibia global.
Portanto se o individuo ta sem arma, ela nem funciona...
A base dela é a mesma só muda a função :
Bem eu acho que fico por aqui, esse tutorial não é grande coisa, mas espero que ajude muita gente com duvidas simples, e se quiser evoluir, estude as spells que vocês conhecerão mais (As de party são legais, apesar de terem coisas para mim desnecessarias.
Deem sugestões, dúvidas, criticas e o que desejaram. Falem mal, mas falem de mim!!!