Jump to content
  • 0

[Help] Alguem Edita essa script de saga para mim ?


Wase Wiss

Question

Alguem poderia editar essa script pra mim por favor

Spoiler
local saga = {[1] = {[1] = 180, [2] = 438, [3] = 182, effect = 10}, --[Vocation] = {[1] = Roupa, effect = Efeito da transformação}[2] = {[1] = 64, effect = 10} --TESTE}local level = 25 -- Limite para liberar uma saga novafunction onSay(cid, words, param, channel) if(param == '') then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.")  return true endif not saga[getPlayerVocation(cid)] thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.")return trueendlocal t = string.explode(param, ",") if(t[2]) then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.")  return true end if not (tonumber(t[1])) then  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.")  return true endif tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1  thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.")return trueendif getPlayerLevel(cid) >= (tonumber(t[1])*level) thendoSetCreatureOutfit(cid, {lookType = saga[getPlayerVocation(cid)][tonumber(t[1])]}, -1)doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect)doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!")doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1)elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * level).." usar essa saga.")endreturn trueend

Eu queria que cada transformaçao tivesse seu level, se alguem poder mim ajudar eu agradeço muito 

Link to comment
Share on other sites

Recommended Posts

  • 0

Em cada tabela, voce insere o parametro level

Citar

level=20

 

Agora voce muda isso:

Citar
if getPlayerLevel(cid) >= (tonumber(t[1])*level) then

 

Por isso:

Citar

if getPlayerLevel(cid) >= (tonumber(t[1]) * saga[getPlayerVocation(cid)].level) then

 

E muda isso:

Citar
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * level).." usar essa saga.")

Pra isso:

Citar

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * saga[getPlayerVocation(cid)].level).." usar essa saga.")

 

Link to comment
Share on other sites

  • 0

@Poccnn Man eu não entendi direito, desculpa só burro e não consigo entender isso que você explicou, será que você poderia passar a script ja feita ?

@Poccnn man eu não entendi essa parte aki

8 horas atrás, Poccnn disse:

Em cada tabela, voce insere o parametro level

Citar

level=20

Será que poderia mim explicar dnv por favor

Link to comment
Share on other sites

  • 0

Isso é uma tabela > { }

Voce insere o parametro dentro dela

{ parametro1="valor1",parametro2="valor2" ...}

 

No seu caso existe essa tabela.

Citar
[2] = {[1] = 64, effect = 10}

 

Voce insere o parametro level dentro dela

Citar

[2] = {[1] = 64, effect = 10, level=20}

 

E faz isso com todas as tabelas que voce inseri.

Link to comment
Share on other sites

  • 0
5 horas atrás, Poccnn disse:

Isso é uma tabela > { }

Voce insere o parametro dentro dela

{ parametro1="valor1",parametro2="valor2" ...}

 

No seu caso existe essa tabela.

 

Voce insere o parametro level dentro dela

 

E faz isso com todas as tabelas que voce inseri.

Man, desculpa a demora pra responder, mais é que eu fui pro colégio e sé testei quando eu cheguei, a script ta boa, funcionando quase perfeitamente, só que quando eu adiciono outra transformação na vocation, da algum tipo de bug, porque a !saga 1 eu coloquei pra poder usar no lv 1, aew ta tudo certo, mais quando eu adiciono outra transformação buga, porque a !saga 1 que pra usar é lv 1, buga, ela começa a ser o lv da segunda transformação, e a !saga 2, também buga, ela fica o dobro do lv da !saga 1, tipo sequencia de 2, 4, 6...

será que você poderia mim ajudar por favor '-' 

Link to comment
Share on other sites

  • 0
1 hora atrás, Poccnn disse:

Posta o script que voce esta usando.

Citar

local saga = {

[1] = {[1] = 64, level=1, [2] = 90, level=2, effect = 10}

}

 

local level = 25 -- Limite para liberar uma saga nova

 

function onSay(cid, words, param, channel)

 

 if(param == '') then

  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.")

  return true

 end

 

if not saga[getPlayerVocation(cid)] then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.")

return true

end

 

local t = string.explode(param, ",")

 

 if(t[2]) then

  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.")

  return true

 end

 

 if not (tonumber(t[1])) then

  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.")

  return true

 end

 

if tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1  then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.")

return true

end

 

if getPlayerLevel(cid) >= (tonumber(t[1]) * saga[getPlayerVocation(cid)].level) then

doSetCreatureOutfit(cid, {lookType = saga[getPlayerVocation(cid)][tonumber(t[1])]}, -1)

doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect)

doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!")

doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * saga[getPlayerVocation(cid)].level).." usar essa saga.")

end

 

return true

end

 

Citar

<talkaction words="!saga" event="script" value="saga.lua"/>

 

Link to comment
Share on other sites

  • 0

Eu não sei pra quer serve esse script, mas com relação ao seu comentario acima, apenas demonstrei como modificar o script para o que voce queria.

 

Essa questão do level estar diferente do que você determinou, se deve a inserção do parametro numerico pego pela função onsay.

 

O qual seria isso:

Citar

 (tonumber(t[1]) * saga[getPlayerVocation(cid)].level) 

O parametro da tabela de indice 1 (um) é usado para multiplicar o level determinado na tabela "saga".

 

Repito, nao sei qual a finalidade do script, mas essa parte do codigo contem um erro.

Voce não pode usar o operador "#" em uma tabela com elementos não numericos.

Citar

if tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1  then

 

Link to comment
Share on other sites

  • 0
2 horas atrás, Poccnn disse:

Eu não sei pra quer serve esse script, mas com relação ao seu comentario acima, apenas demonstrei como modificar o script para o que voce queria.

 

Essa questão do level estar diferente do que você determinou, se deve a inserção do parametro numerico pego pela função onsay.

 

O qual seria isso:

O parametro da tabela de indice 1 (um) é usado para multiplicar o level determinado na tabela "saga".

 

Repito, nao sei qual a finalidade do script, mas essa parte do codigo contem um erro.

Voce não pode usar o operador "#" em uma tabela com elementos não numericos.

 

Man, essa script é tipo a script transformar, só que ela é um pouco diferente, porque com essa script eu não preciso criar varias vocations, apenas uma, e com essa script eu adiciono as transformações, mais será que você poderia arrumar ela pra mim por favor '-' 

Link to comment
Share on other sites

  • 0
Citar

local saga = {

[1] = {fer=64, level=1, effect = 10},

[2] = {fer=90, level=2, effect = 10},

}

 

function onSay(cid, words, param, channel)

local t = string.explode(param, ",")

 

if not(tonumber(t[1])) then

  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.")

elseif not saga[getPlayerVocation(cid)] then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga")

elseif not(saga[tonumber(t[1])]) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.")

else

if(getPlayerLevel(cid) >= saga[getPlayerVocation(cid)].level) then

doSetCreatureOutfit(cid, {lookType = saga[getPlayerVocation(cid)].fer}, -1)

doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect)

doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!")

doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(saga[getPlayerVocation(cid)].level).." usar essa saga.")

end

end

return true

end

 

Veja se é isso que tu queres.

Link to comment
Share on other sites

  • 0
27 minutos atrás, Poccnn disse:

 

Veja se é isso que tu queres.

Funcionou, mais essa tabela aki

Citar

[2] = {fer=90, level=2, effect = 10},

Ta bugando, porque a vocations 1, so tem uma roupa, então ela deveria falar sé !saga 1, e quando falasse !saga 2, deveria mostrar que não existe, mais não ta mostrando ela se transforma na outra vocation, que é a vocation 2, e queria saber também se quando você refazer a script, se ainda for '-', se dava pra eu explicar como fasso para por mais transformações em uma vocation, porque você ta mudando a script pra ver se da certo, ent o geito de adicionar novas transformações deve ter mudado também né

 

Edited by Henrique Gomes
Errei um negocio
Link to comment
Share on other sites

  • 0

Bug é diferente de execução indesejada, lembre-se disso.

 

Eu ainda nao sei o que voce esta querendo.

Explica detalhadamente, ponto a ponto o que tu queres que o script faça.

Exemplo:

Citar

 

Se o player tem voc 1 

Adicione uma roupa 

Caso seja voc 2

Adicione roupa 2

Etc...

 

 

Link to comment
Share on other sites

  • 0
7 minutos atrás, Poccnn disse:

Bug é diferente de execução indesejada, lembre-se disso.

 

Eu ainda nao sei o que voce esta querendo.

Explica detalhadamente, ponto a ponto o que tu queres que o script faça.

Exemplo:

 

Man, essa script server para que os player possa trokar de roupa, é quase igual a script transformar, só que eu não preciso criar varias vocations no xml, só preciso criar uma, aew com essa vocation 1, eu boto o id dela nessa script de saga, e coloco varias transformações nela, sem precisar ficar criando varias vocations no xml

Link to comment
Share on other sites

  • 0

Cada vocação vai ter diversas possibilidades de mudança de outfit usando o parametro !saga seguido do numero (index) de uma outfit pre-definida para essa vocação.

 

Exemplo:

Citar

Outfits = {

--[id da vocacao] = {[indice] = outfitid,[outro indice] = outro outfit}

}

 

 

Nesse caso hipotetico se usaria o comando dessa forma:

"!saga 1" - isso seria visto na tabela como o primeiro outfit.

"!saga 2" - isso seria visto na tabela como segundo outfit.

E assim por diante.

Link to comment
Share on other sites

  • 0
1 minuto atrás, Poccnn disse:

Cada vocação vai ter diversas possibilidades de mudança de outfit usando o parametro !saga seguido do numero (index) de uma outfit pre-definida para essa vocação.

 

Exemplo:

 

Nesse caso hipotetico se usaria o comando dessa forma:

"!saga 1" - isso seria visto na tabela como o primeiro outfit.

"!saga 2" - isso seria visto na tabela como segundo outfit.

E assim por diante.

'-' você fez a script saga ?

Link to comment
Share on other sites

×
×
  • Create New...