Ir para conteúdo

Sistema De Transform


juanbrando

Posts Recomendados

Tipo do script:TalkAction

Protocolo (versão do Tibia):8.5 ~8.6

 

é Assim eu sou Knight escrevo Transform meus danos melee e spells sao aumentados em 10% e minha vocaçao é mudada para Supreme Knight e meu addon de Warrior passar para Knight e que seja possivel adicionar mais vocaçoes ao longo do tempo !!

 

 

Gratooo a quem ajjudar quem não ajudou valeu tambem.

 

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

Estou bastante ocupado então tomara que de certo...

 

Faz o seguinte, acompanha a explicação com a quote abaixo:

 

<?xml version="1.0" encoding="UTF-8"?>

<vocations>

<vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="20" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="15" gainmanaticks="3" gainmanaamount="30" manamultiplier="1.1" attackspeed="1200" soulmax="100" gainsoulticks="120" fromvoc="1">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="15" gainmanaticks="3" gainmanaamount="30" manamultiplier="1.1" attackspeed="1200" soulmax="100" gainsoulticks="120" fromvoc="2">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="20" gainmanaticks="4" gainmanaamount="25" manamultiplier="1.4" attackspeed="1200" soulmax="100" gainsoulticks="120" fromvoc="3">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="30" gainmanaticks="6" gainmanaamount="15" manamultiplier="3.0" attackspeed="1200" soulmax="100" gainsoulticks="120" fromvoc="4">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="30" gainmanaticks="2" gainmanaamount="50" manamultiplier="1.1" attackspeed="1000" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="6" name="Elder Druid" description="an elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="30" gainmanaticks="2" gainmanaamount="50" manamultiplier="1.1" attackspeed="1000" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="35" gainmanaticks="3" gainmanaamount="40" manamultiplier="1.4" attackspeed="1000" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="8" name="Elite Knight" description="an elite knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="50" gainmanaticks="4" gainmanaamount="30" manamultiplier="3.0" attackspeed="1000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="9" name="Epic Master Sorcerer" description="an epic master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="40" gainmanaticks="2" gainmanaamount="75" manamultiplier="1.1" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="5" lessloss="100">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="10" name="Epic Elder Druid" description="an epic elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="40" gainmanaticks="2" gainmanaamount="75" manamultiplier="1.1" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="6" lessloss="100">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="11" name="Epic Royal Paladin" description="an epic royal paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="45" gainmanaticks="3" gainmanaamount="60" manamultiplier="1.4" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="7" lessloss="100">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>

</vocation>

<vocation id="12" name="Epic Elite Knight" description="an epic elite knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="8" gainhpamount="75" gainmanaticks="4" gainmanaamount="40" manamultiplier="3.0" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="100">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>

</vocation>

 

</vocations>

 

Certo, ai está o arquivo das vocations.xml do meu ot, que se encontra na pasta data/xml. Você deve perceber o seguinte:

 

fromvoc="?"

 

Este é o grande segredo da promotion, por exemplo, na vocação elite knight a tag esta fromvoc="4", pois ele é a promotion da vocação 4 (Knight). Já na tag do Epic Elite Knight, a tag esta fromvoc="8", já que ela é a promoção da vocação 8(Elite Knight), ou seja, cada vocação que você criar, terá que editar essa tag e colocar o numero da vocação que sucede a promoção.

 

Certo, entendido isso, posso te passar o script da talkaction para transformar o player de Knight para Supreme Knight como você pediu; segue o script:

 

function onSay(cid, words, param)

 

if getPlayerVocation(cid) == 4 and getPlayerSex(cid) == 1 then

doPlayerSetPromotionLevel(cid, 1)

doPlayerSendTextMessage(cid, 22, "Você é um Supreme Knight")

doCreatureChangeOutfit(cid, 131)

end

elseif getPlayerVocation(cid) == 4 and getPlayerSex(cid) == 0 then

doPlayerSetPromotionLevel(cid, 1)

doPlayerSendTextMessage(cid, 22, "Você é um Supreme Knight")

doCreatureChangeOutfit(cid, 139)

end

 

Só para voce se situar, a função doPlayerSetPromotionLevel(cid, 1), no meu Ot, iria transformar o jogador de Knight para Elite Knight. Para aumentar o dano melee e spell, mude no vocations.xml no id do supreme knight. Não testei o script acima, não sei se funciona.

Link para o comentário
Compartilhar em outros sites

Tinha um pequeno erro no script da talkaction, troca por este:

 

 

function onSay(cid, words, param)

 

if getPlayerVocation(cid) == 4 and getPlayerSex(cid) == 1 then

doPlayerSetPromotionLevel(cid, 1)

doPlayerSendTextMessage(cid, 22, "Você é um Supreme Knight")

doCreatureChangeOutfit( cid, {lookType = 131, lookHead = 78, lookBody = 69, lookLegs = 97, lookFeet = 95, lookAddons = 0} )

elseif getPlayerVocation(cid) == 4 and getPlayerSex(cid) == 0 then

doPlayerSetPromotionLevel(cid, 1)

doPlayerSendTextMessage(cid, 22, "Você é um Supreme Knight")

doCreatureChangeOutfit( cid, {lookType = 139, lookHead = 78, lookBody = 69, lookLegs = 97, lookFeet = 95, lookAddons = 0} )

end

end

 

Azul: Isto é editavel, estes são os numeros que caracterizam o outfit; para saber que numero colocar, faça o seguinte: crie um char selecione a outfit que você deseja, e depois procura na database do seu ot (usando o sqlite) as informações deste outfit que você escolheu. Estas informações vão estar em "players", na database do seu ot. Faça com um char homem.

 

Vermelho: Faça a mesma coisa que acima, porém, desta vez, com um char mulher.

 

Não é necessário trocar o lookType, já que eu coloquei ele para ser Knight, como você queria; então, se não quiser mudar nada, não é necessário. Testa ai, depois me fala se funcionou, ou se precisa de mais explicações.

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

  • 2 months later...

ddemon. queria saber uma coisa;. eu uso um sistema de transform. nele quando vc loga, temos que dar revert e transformar novamente. esse script acontece isso?

e eu posso folocar varios tipo.

um embaixo do outro. ?no caso para 5 transforms.

1

end

2

end

3

end.

 

+- isso nesse script posso fazer isso?

 

 

 

eh eu nao consegui usar seu script para wodbo.

 

esse eh o que eu uso. mas toda vez que eu morro ou logo. tenho que reverter e transformar novamente, ele era um so, do tipo fulano transform.lua e fulano revert.lua. dai eu tentei pegar um e colocar embaixo e jogar nova vocação e outfit

 

vocação byakuya

byuakuya transform.lua

function onSay(cid, words, param)

local voce = 413
local lvl = 50
local voc = 414
local outfit = {lookType=347,lookHead=20,lookAddons=0,lookLegs=40,lookBody=30,lookFeet=50} -- Zmiana outfitu w id?
local outfitTime = 10999999
local napis = "HAAAaaaaaaaa!!"
local effekt = 19

----------------------kod-----------------------------
if getPlayerVocation(cid) == voce and getPlayerLevel(cid) >= lvl then
doPlayerSetVocation(cid,voc)
doSetCreatureOutfit(cid, outfit, outfitTime)
doPlayerSay(cid,napis,16)
local pos = getPlayerPosition(cid)
doSendMagicEffect(pos,effekt)
else
doPlayerSendCancel(cid,"voce nao pode transformar!")
end

local voce = 414
local lvl = 100
local voc = 415
local outfit = {lookType=348,lookHead=20,lookAddons=14,lookLegs=40,lookBody=30,lookFeet=50} -- Zmiana outfitu w id?
local outfitTime = 10999999
local napis = "HAAAaaaaaaaa!!"
local effekt = 19

----------------------kod-----------------------------
if getPlayerVocation(cid) == voce and getPlayerLevel(cid) >= lvl then
doPlayerSetVocation(cid,voc)
doSetCreatureOutfit(cid, outfit, outfitTime)
doPlayerSay(cid,napis,16)
local pos = getPlayerPosition(cid)
doSendMagicEffect(pos,effekt)
else
doPlayerSendCancel(cid,"voce nao pode transformar!")
end

local voce = 415
local lvl = 150
local voc = 416
local outfit = {lookType=349,lookHead=20,lookAddons=0,lookLegs=40,lookBody=30,lookFeet=50} -- Zmiana outfitu w id?
local outfitTime = 10999999
local napis = "HAAAaaaaaaaa!!"
local effekt = 19

----------------------kod-----------------------------
if getPlayerVocation(cid) == voce and getPlayerLevel(cid) >= lvl then
doPlayerSetVocation(cid,voc)
doSetCreatureOutfit(cid, outfit, outfitTime)
doPlayerSay(cid,napis,16)
local pos = getPlayerPosition(cid)
doSendMagicEffect(pos,effekt)
else
doPlayerSendCancel(cid,"voce nao pode transformar!")
end

local voce = 416
local lvl = 200
local voc = 417
local outfit = {lookType=350,lookHead=20,lookAddons=0,lookLegs=40,lookBody=30,lookFeet=50} -- Zmiana outfitu w id?
local outfitTime = 10999999
local napis = "HAAAaaaaaaaa!!"
local effekt = 19

----------------------kod-----------------------------
if getPlayerVocation(cid) == voce and getPlayerLevel(cid) >= lvl then
doPlayerSetVocation(cid,voc)
doSetCreatureOutfit(cid, outfit, outfitTime)
doPlayerSay(cid,napis,16)
local pos = getPlayerPosition(cid)
doSendMagicEffect(pos,effekt)
else
doPlayerSendCancel(cid,"voce nao pode transformar!")
end 

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

×
×
  • Criar Novo...