Ir para conteúdo
  • Cadastre-se

(Resolvido)Pedido Junção de Talkactions


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

Bom, eu queria que alguem pudesse me ajudar juntando 2 talkactions

As talk's no caso seriam essas

function onSay(cid, words, param)
maximum = {
player = getPlayerGUID(cid),
lvlmax = 717218 -- Level que o player vai ficar apos usar o comando.
}
if getPlayerLevel(cid) == 717217 then
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..maximum.lvlmax..", `experience` = 10000 WHERE `id` = "..maximum.player)
else
doPlayerSendCancel(cid, 'You do not have the level max 717217.')
doSendMagicEffect(getPlayerPosition(cid),37)
end
end

E a segunda seria :

function onSay(cid, words, param)
maximum = {
player = getPlayerGUID(cid),
lvlmax = 903638, -- Level que o player vai ficar apos usar o comando.
}
if getPlayerLevel(cid) == 903637 then
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..maximum.lvlmax..", `experience` = 10000 WHERE `id` = "..maximum.player)
else
doPlayerSendCancel(cid, 'You do not have the level max 903637.')
doSendMagicEffect(getPlayerPosition(cid),37)
end
end

 

A Primeira serve para dar o !upar no lvl 717217, e a segunda no 903k, porem, se eu separar elas em 2 talkactions, com 2 luas, 1 cada, eu teria que mudar o comando !upar pra !upar,!upar1 e etc... ( pelo menos eu acho isso '-' n manjo mto ) e eu queria qe qdo chegase no lvl 717k ele falase !upar e dps no 903k tb, sem a necessidade de mudar de comando

Link para o post
Compartilhar em outros sites
  • Solução
function onSay(cid, words, param)
maximum = {
player = getPlayerGUID(cid),
lvlmax = {717218, 903638} -- Level que o player vai ficar apos usar o comando.
}
if getPlayerLevel(cid) == 717217 then
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..maximum.lvlmax[1]..", `experience` = 10000 WHERE `id` = "..maximum.player)
elseif getPlayerLevel(cid) == 903637 then
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..maximum.lvlmax[2]..", `experience` = 10000 WHERE `id` = "..maximum.player)
else
doPlayerSendCancel(cid, 'You do not have the level max 717217 or 903637.')
doSendMagicEffect(getPlayerPosition(cid),37)
end
end

acho que foi kk

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Se não se importa, fiz minha versão do código. Possui uma linha a mais que a do xWhiteWolf, então se quiser um script menor, escolha o dele. Eu optei por fazer o código dessa maneira pra facilitar a configuração. 

function onSay(cid, words)
    local maximum = {
        player = getPlayerGUID(cid),
        levels = {
            [717217] = 717218,     --[player_level] = new_level,
            [903637] = 903638,
        },
    }
    if maximum.levels[getPlayerLevel(cid)] then
        db.executeQuery("UPDATE `players` SET `level` = "..maximum.levels[getPlayerLevel(cid)]..", `experience` = 10000 WHERE `id` = "..maximum.player)
        doRemoveCreature(cid)
    else
        doPlayerSendCancel(cid, "You do not have enough level [717217 or 903637].")
        doSendMagicEffect(getPlayerPosition(cid), 37)
    end
    return true
end
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Vou testar ambos codígos, dps edito esse post, qdo testado

 

EDIT:

O Do xWhiteWolf funcionou perfeitamente, ja o seu zipter98 não funcionou ;c

e White, vc pode me explicar como faço pra adicionar novos maxleveis nesse script ??

Editado por vitorxx (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

apenas adicione uma virgula e novo level que irá se transformar.. ex:

lvlmax = {717218, 903638, 953690}

e logo acima do else adicione isso

 

elseif getPlayerLevel(cid) == 953689 then
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level` = "..maximum.lvlmax[3]..", `experience` = 10000 WHERE `id` = "..maximum.player)

 

em azul claro é o ordenador da tabela, também conhecido como index, o 3 ali significa que eu quero o terceiro elemento da tabela, que é o level que eu irei ficar após usar o comando.

Em vermelho é o nivel que tenho que ser pra poder usar.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Já corrigi o erro, foi falta de atenção minha.

PS: Quando um código não funciona, informe o erro. Ninguém aqui lê mentes, suponho.

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo