Jump to content

Função Pegar Item


cder

Recommended Posts


  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.02
  • Content Count:  96
  • Reputation:   0
  • Joined:  08/06/18
  • Last Seen:  

Olá pessoal, estou dando inicio ao meu projeto, e preciso de uma ajudinha, queria fazer uma função de pegar 1 item do player, a cada 1minuto, e somente quando o player tive-se online...

O que tentei ?

function    script    pegaritem    {

getcharid(0);

    if(getcharid(0)){
    attachrid(getcharid(3));
    end;
    }
else{
    if(attachrid(getcharid(3))){
    OnTimer60000:
    delitem 502,1;    
    end;
        }
    }
}

Resultado ?

Nada Ocorreu ? alguém pode me da essa pequena ajuda ?, significa muito pro meu serve isso ?

Edited by Emistry
Please use codebox.
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.02
  • Content Count:  96
  • Reputation:   0
  • Joined:  08/06/18
  • Last Seen:  

Pode até ser um npc iniciante...

Link to comment
Share on other sites

  • 3 years later...

  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  21
  • Reputation:   2
  • Joined:  04/19/14
  • Last Seen:  

function script pegaritem {
    if(!getcharid(3)) // Verifica se o jogador está online
        end;

    OnTimer:
    if(!getcharid(3)) // Verifica se o jogador está online
        end;

    delitem 502, 1; // Remove o item do jogador
    settimer 60000, callfunc("OnTimer"); // Define o tempo para a próxima chamada da função
}
 

Este script usa a função settimer para definir um temporizador que chama a função OnTimer a cada 1 minuto. Dentro da função OnTimer, o script verifica se o jogador ainda está online e, se sim, remove o item especificado (neste caso, o item com ID 502) do inventário do jogador. Em seguida, a função define outro temporizador para a próxima chamada da função.

Lembre-se de que, se o seu servidor tiver sistemas de proteção contra bots, é possível que este script acione esses sistemas e cause problemas para os jogadores. Portanto, é importante implementar essas funções com cuidado e avaliar seus efeitos em relação à experiência dos jogadores.

Link to comment
Share on other sites

  • 4 weeks later...

  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   7
  • Joined:  12/30/11
  • Last Seen:  

prontera,185,185,5 script Pegaritem 109,{
    mes "[Pegaritem]: Olá, você está afk por muito tempo. Eu preciso remover um item do seu inventário.";
    mes "[Pegaritem]: Tem certeza que deseja continuar? Você perderá um item.";
    switch (select("Sim", "Não")) {
        case 1:
            if (countidlepc(sd, 1) >= 60000) { // verifica se o jogador está AFK por mais de um minuto (60000 milissegundos)
                if (pc.countitem(sd, 502) > 0) { // verifica se o jogador tem o item com ID 502
                    pc.delitem(sd, 502, 1, 0, 0); // remove o item com ID 502 do inventário do jogador
                    mes "[Pegaritem]: Você perdeu um item com ID 502 por ficar afk por muito tempo.";
                } else {
                    mes "[Pegaritem]: Você não tem o item com ID 502.";
                }
            } else {
                mes "[Pegaritem]: Tudo bem, volte quando estiver pronto para jogar.";
            }
            break;
        case 2:
            mes "[Pegaritem]: Tudo bem, volte quando estiver pronto para jogar.";
            break;
        default:
            mes "[Pegaritem]: Tudo bem, volte quando estiver pronto para jogar.";
            break;
    }

    close;
}

Este código cria um NPC chamado "Pegaritem" em Prontera nas coordenadas (185, 185) com o ID 109. Quando o jogador interage com o NPC, ele exibe uma mensagem de diálogo informando que o jogador está AFK por muito tempo e que o item com o ID 502 será removido. Se o jogador confirmar, o código verifica se o jogador está AFK por mais de um minuto. Se sim, o código verifica se o jogador tem o item com o ID 502. Se o jogador tiver o item com o ID 502, o código remove o item do inventário do jogador e exibe uma mensagem de confirmação. Caso contrário, exibe uma mensagem informando que o jogador não tem o item com o ID 502.

Compile seu servidor rAthena novamente e reinicie-o para que as alterações tenham efeito. Agora, o NPC "Pegaritem" em Prontera removerá o item com o ID 502 do inventário do jogador se ele ficar AFK por mais de um minuto. (Ainda não testei)

Edited by AdrianoGC
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...