Ir para conteúdo
  • 0

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


Pergunta

Alguem poderia editar essa script pra mim por favor

  Mostrar conteúdo oculto

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

Link para o comentário
https://xtibia.com/forum/topic/241475-help-alguem-edita-essa-script-de-saga-para-mim/
Compartilhar em outros sites

Posts Recomendados

  • 0

Em cada tabela, voce insere o parametro level

  Citar

level=20

Expand  

 

Agora voce muda isso:

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

 

Por isso:

  Citar

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

Expand  

 

E muda isso:

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

Pra isso:

  Citar

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

Expand  

 

  • 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

  Em 21/07/2016 em 11:41, Poccnn disse:

Em cada tabela, voce insere o parametro level

  Citar

level=20

Expand  
Expand  

Será que poderia mim explicar dnv por favor

  • 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}
Expand  

 

Voce insere o parametro level dentro dela

  Citar

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

Expand  

 

E faz isso com todas as tabelas que voce inseri.

  • 0
  Em 22/07/2016 em 14:34, 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.

Expand  

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 '-' 

  • 0
  Em 22/07/2016 em 23:26, Poccnn disse:

Posta o script que voce esta usando.

Expand  
  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

Expand  

 

  Citar

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

Expand  

 

  • 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) 

Expand  

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

Expand  

 

  • 0
  Em 23/07/2016 em 12:40, 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.

 

Expand  

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 '-' 

  • 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

Expand  

 

Veja se é isso que tu queres.

  • 0
  Em 23/07/2016 em 16:06, Poccnn disse:

 

Veja se é isso que tu queres.

Expand  

Funcionou, mais essa tabela aki

  Citar

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

Expand  

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é

 

Editado por Henrique Gomes
Errei um negocio
  • 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...

 

Expand  

 

  • 0
  Em 23/07/2016 em 17:02, 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:

 

Expand  

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

  • 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}

}

 

Expand  

 

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.

  • 0
  Em 23/07/2016 em 20:27, 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.

Expand  

'-' você fez a script saga ?

×
×
  • Criar Novo...