juanbrando 3 Postado Janeiro 26, 2011 Share Postado Janeiro 26, 2011 (editado) 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 Janeiro 26, 2011 por SuperTnT EsCaNoRekk reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Janeiro 28, 2011 Share Postado Janeiro 28, 2011 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 More sharing options...
juanbrando 3 Postado Janeiro 28, 2011 Autor Share Postado Janeiro 28, 2011 Poo Muito bem explicado..vou ter que formata pc pq deu uns bugs ai eu testo e te falo..!! quando puder da REP+ eu dou Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Janeiro 28, 2011 Share Postado Janeiro 28, 2011 (editado) 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 Janeiro 28, 2011 por Demonbholder Link para o comentário Compartilhar em outros sites More sharing options...
coyotestark 24 Postado Março 29, 2011 Share Postado Março 29, 2011 (editado) 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 Março 29, 2011 por CoyoteStark Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados