Ir para conteúdo

Featured Replies

Postado
  • Autor

Executei na DataBase, porém, deu esse erro nela:

 

 

consulta SQL:

UPDATE player_storage SET value = -1 WHERE KEY =90182

Mensagens do MySQL : b_help.png

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key = 90182' at line 1 

 

 

E agora, quando entro na table player_storage no Myphp.. ele sempre me volta para repor a senha >.<... e não entra mais nessa table. Nas outras entra.

Editado por olokomeu (veja o histórico de edições)

Eu te Ajudei? Então solta aquele REP+ !!

Meus Tutoriais [Tutorial] Bug "Temple position is wrong" (MySql)

Outros:    [Meu Show OFF | Mapa próprio 8.6] 

  • Respostas 99
  • Visualizações 3.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • OK. Eu fiz bem rapidamente o sistema aqui, talvez haja algum(s) erro(s). data/lib, crie um arquivo com extensão .lua e coloque o seguinte conteúdo: ARENA = {     WAVES = {         [1] = {"monster_n

  • Ah, isso explica. Você configurou errado. toPos nunca terá valores menores que fromPos.  Provavelmente você inverteu fromPos e toPos. E também deve ser por isso que algumas funções que usei anteriorm

  • OK. Refiz a parte que checa se a wave foi ou não completa. Tanto a maneira antiga quanto a nova funcionaram aqui. Espero que o mesmo aconteça no seu servidor. Troque sua lib por essa: ARENA = {    

Postado

Hm, vamos alterar o valor da storage no jogo mesmo.

Muda o conteúdo do killboss.lua para este:

function onKill(cid, target)
    if isPlayer(target) and getPlayerStorageValue(target, ARENA.STORAGES.wave_sto) > -1 then
        setPlayerStorageValue(target, ARENA.STORAGES.wave_sto, -1)
        setGlobalStorageValue(1000, -1)
    elseif isPlayer(cid) and getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then
        local new_wave = getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) + 1
        if ARENA.WAVES[new_wave] then
            setPlayerStorageValue(cid, ARENA.STORAGES.wave_sto, new_wave)
            doWave(cid, new_wave)
        else
            local tp = doCreateTeleport(ARENA.TELEPORT.tpId, ARENA.TELEPORT.tpToPos, ARENA.TELEPORT.tpPos)
            doItemSetAttribute(tp, "aid", ARENA.TELEPORT.aid)
        end
    end
    return true
end
function onLogout(cid)
    if getTileInfo(getThingPos(cid)).protection and getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then
        return setPlayerStorageValue(cid, ARENA.STORAGES.wave_sto, -1)
    end
    if getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then
        doPlayerSendCancel(cid, "You can't logout now.") 
        return false
    end
    return true
end

Tente deslogar em uma protection zone.

Agora sobre o ranking que havia sido pedido:

No código do NPC, abaixo de:

setPlayerStorageValue(cid, ARENA.STORAGES.wave_sto, 1)

adicione:

setPlayerStorageValue(cid, 90183, 1)

No creaturescript, abaixo de:

local new_wave = getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) + 1

adicione:

if new_wave > getPlayerStorageValue(cid, 90183) then
    setPlayerStorageValue(cid, 90183, new_wave)
end

Agora o código da talkaction:

function onSay(cid, words)
    local query = db.getResult("SELECT player_id, value FROM player_storage WHERE key = 90183 AND value > -1 ORDER BY value DESC LIMIT 10")
    local str = "Rank da Arena:"
    local a = 0
    if query:getID() == -1 then
        return doPlayerPopupFYI(cid, str.."\nNodoby went to the arena until now.")
    end
    repeat
        a = a + 1
        local id = query:getDataInt("player_id")
        local waves = query:getDataInt("value")
        str = str.."\n"..a..". "..getPlayerNameByGUID(id).." / "..waves.." waves"
    until not query:next()
    query:free()
    doPlayerPopupFYI(cid, str)
    return true
end

PS: A wave record do jogador só vai aparecer no ranking após ele deslogar (para a storage ser salva na database).

Editado por zipter98 (veja o histórico de edições)

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

Postado
  • Autor

Eu adicionei a nova Killboss. Ai o que aconteceu foi:

 

- Os personagens que usei como teste na antiga killboss, continuou sem pode deslogar em qualquer canto. Ai fui com eles para uma Protect Zone, ai ele conseguiram deslogar. Reentrei neles e tentei deslogar em qualquer outro lugar e pegou de boa. Não entendi o pq, porém, funcionou ^^.

 

- O Erro do Deslogar dentro da arena foi concertado também. Assim que entra na arena não pode deslogar.

 

- Agora, o Erro no qual o player morre na arena continua. A storage não volta, continua "1", como se houvesse gente lá.

Eu te Ajudei? Então solta aquele REP+ !!

Meus Tutoriais [Tutorial] Bug "Temple position is wrong" (MySql)

Outros:    [Meu Show OFF | Mapa próprio 8.6] 

Postado

Foi mal a demora, estava viajando. Editei meu comentário na primeira página com o sistema completo. Agora eu definitivamente o testei e removi um outro bug. Se possível, substitua seu antigo killboss.lua pelo novo (também adicionei uma nova tag, e é necessário registrar mais um evento em login.lua). 

Desculpa pelos erros e tal.

Editado por zipter98 (veja o histórico de edições)

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

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo