GU
spell

Spells Transform 8.54

Por gustavo3754, 21 de dez. de 2012 em Globalevents e Spells

confira.
script
24
4k
gustavo3754G
21 de dezembro de 2012 às 15:28

Eae galera, eu tava com uma duvida sobre um script de spell de transformação, mais ninguem arrumou nem mesmo o criador do script, então decidir refaser. Pra quem quiser ta ai.

 

Data/Spells/Script/Transform.lua

 


function onCastSpell(cid, var)
local config = {
[1] = {level = 50, newvoc = 2, outfit = 37, eff = 56},
[2] = {level = 100, newvoc = 3, outfit = 18, eff = 57},
[3] = {level = 150, newvoc = 4, outfit = 71, eff = 58},
[4] = {level = 200, newvoc = 5, outfit = 70, eff = 59}
}
trans = config[getPlayerVocation(cid)]
if not trans then
doPlayerSendCancel(cid, "You can not transform.") return false
elseif getPlayerLevel(cid) >= trans.level then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You not level " .. trans.level .. " to transform.")
end
doSetCreatureOutfit(cid, {lookType = trans.outfit}, -1)
doPlayerSetVocation(cid, trans.newvoc)
doSendMagicEffect(getCreaturePosition(cid), trans.eff)
doPlayerSendCancel(cid, "You Transformed!")
return true
end

Tag, Data/Spells/Spells.xml

 


<instant name="Transform" words="transform" lvl="1" mana="0" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="transform.lua">
</instant>

 

 

Explicando.

 

[1] = {level = 50, newvoc = 2, outfit = 37, eff = 56},

 

 

Legenda:

 

Vermelho: Vocação que você quer que transforme

Azul: Level que ira prescisar para essa tal vocação se transformar

Laranja: Nova vocação que a vocação anterior, ou seja 1 ira se transformar

Verde: Id do outfit do personagem (roupa)

Rosa: Efeito que vai aparecer quando o player transformar

Gostou!? Ajudei!? REP+

 

Créditos: LuckOake

Editado Dezembro 21 por LuckOake

LuckOakeL
21 de dezembro de 2012 às 15:34

Tá, e cadê meus créditos? Esse script ai é meu, que foi feito para um usuário. Você simplesmente trocou os nomes das variáveis e uma frase.

 

E eu arrumei o script sim, você que não soube configurar direito.

 

Editei o seu post e coloquei os créditos.

Editado Dezembro 21 por LuckOake

gustavo3754G
21 de dezembro de 2012 às 15:36

Configurei perfeitamente, você colocou coisa que nem prescisava e dava erro no distro, os creditos eu coloco mais você fez merda.

LuckOakeL
21 de dezembro de 2012 às 15:39

Não cara, você tá enganado, não tinha coisa desnecessária.

 

Eu testei o script aqui e tava funcionando perfeitamente sem erros no distro.

gustavo3754G
21 de dezembro de 2012 às 15:41

Com você funcionou, mais comigo e com o Mozark001 não, cara tirei metade do seu script e paro de erro adicionei algumas funções, se funcionou mesmo eu não teria criado o tópico de dúvida. Pode testar sem erro algum.

LuckOakeL
21 de dezembro de 2012 às 15:44

Você insiste em dizer que eu tô errado, mas veja essas linhas:

 

elseif getPlayerLevel(cid) >= trans.level then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You not level " .. trans.level .. " to transform.")
end

 

Traduzindo ela: Se o level do player for maior ou igual ao level necessário a spell será executada mas dirá que o player não tem level. Legal isso.

 

E você não tirou metade do meu script, tirou um simples return false, trocou a mensagem, um sinal e o nome das variáveis.

Editado Dezembro 21 por LuckOake

gustavo3754G
21 de dezembro de 2012 às 15:47

Teste o script em outras verões da proxima vez, não seja convencido se alguem disser que não funcionou você tem que testar e tentar arrumar.

DinoAdminD
21 de dezembro de 2012 às 15:50

Teste o script em outras verões da proxima vez, não seja convencido se alguem disser que não funcionou você tem que testar e tentar arrumar.

 

Ola amigo por favor pare com essa discuçao.

gustavo3754G
21 de dezembro de 2012 às 15:52

Não considero isso uma discussão, não estou chigando ele ou ofendendo, apenas dando conselho. Você entendeu errado.

LuckOakeL
21 de dezembro de 2012 às 15:54

Teste o script em outras verões da proxima vez, não seja convencido se alguem disser que não funcionou você tem que testar e tentar arrumar.

 

Não considero isso uma discussão, não estou chigando ele ou ofendendo, apenas dando conselho. Você entendeu errado.

 

Nossa, cara, depois dessas eu precisei até tirar uma print pra te provar:

 

32542873.png

 

Veja tudo que está dentro de retângulos vermelhos. Você pode ver perfeitamente que o meu char transformou, recebeu a mensagem de transformado e o script mandou a mensagem dizendo que não tenho level.

 

OBS: Não existe isso de "Teste o script em outras versões da próxima vez". O script tá errado, se precisar até tiro print de outros servers pra você ver que tá errado.

Editado Dezembro 21 por LuckOake

gustavo3754G
21 de dezembro de 2012 às 15:56

Testei em TFS 0.3.6 8.54, aqui o erro aparecia quando eu "ja estava transformado na ultima da lista" e tentava executar a spell denovo, ai dava erro porque não tinha mais transform. Entedeu agora?

 

 

Por isso adicionei isso,

 

elseif getPlayerLevel(cid) >= trans.level then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You not level " .. trans.level .. " to transform.")
end

Editado Dezembro 21 por CrazzyMaster

LuckOakeL
21 de dezembro de 2012 às 16:08

Tá certo. Então agora xo te mostrar prints com meu script.

 

 

Char normal:

 

79596185.png

 

 

Transform 1:

 

67878599.png

 

 

Transform 2

 

97109546.png

 

 

Transform 3

 

53343172.png

 

 

Transform 4

 

20612346.png

 

 

Não pode mais transformar:

 

94094614.png

 

 

 

Ou seja, o erro é do seu server, aqui funcionou normal sem erros.

Editado Dezembro 21 por LuckOake

gustavo3754G
21 de dezembro de 2012 às 18:11

Então era no meu e do Mozark001, porque não funcionou em nenhum dos dois.

AlexandreKGA
21 de dezembro de 2012 às 19:46

Sim,entao eu tive que pegar outro,que agora é por storage!

 

Mas enfim,parabéns pelo trabalho,voce esta evoluindo em script!

iFaxBRI
21 de dezembro de 2012 às 21:45

Tem como colocar pra ela não usar tipo pra se transformar em outra vocação ? Ela ficar com a mesma vocação e só mudar de outfit ?