Jump to content
  • 0

Creation npc pvp


deafity

Question


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  08/19/24
  • Last Seen:  

hello i would like to create a script to have a special item when i kill 5 players in pvp i have no error but it doesn't work 
Thanks for your help 

 


prontera,160,189,4    script    PVP/MVP    467,{
    mes "[PVP Warper]";
    mes "Où veux-tu aller ?";
    mes "PVP Arena [" + getmapusers("pvp_y_1-2") + " / 20]"; 
    menu "PVP Room",P_room,"MVP Room",M_room,"Annuler",cancel;
    close;

P_room:
    next;
    if (getmapusers("pvp_y_1-2") >= 20) goto L_sorry; // Retirer l'extension .gat
    warp "pvp_y_1-2",0,0;  
    close;

M_room:
    next;
    warp "db_room",0,0;  
    close;

cancel:
    close;

L_sorry:
    next;
    mes "[ ^ff0000Warper^000000 ]";
    mes "Désolé, la salle PVP est pleine.";
    close;
}

//PVP Kill Counter
pvp_y_1-2,0,0,0    script    PVPKillCounter    -1,{ 
    // This script tracks a player's number of kills on the PVP map

    OnInit:
        // Initialize kill counter
        set .@kill_count, 0;
        end;

    OnPVPEvent:  // Event for player-to-player kills
        // Check if a player has been killed
        if (killed_id != 0) {
            //Increment the kill counter
            set .@kill_count, .@kill_count + 1;  
            
            // Display number of kills to player
            dispbottom "Nombre de kills: " + .@kill_count;  

            if (.@kill_count >= 5) {  // If the player kills 5 enemies
                getitem 22869, 1;  // Give item with ID 22869
                dispbottom "Congratulations! You've been awarded a Roulette Ticket for killing 5 enemies.";
                set .@kill_count, 0;  // Reset the kill counter to zero
            }
        }
    end; // End of OnPVPEvent
} // End of PVPKillCounter script

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  78
  • Reputation:   3
  • Joined:  06/27/20
  • Last Seen:  

20 hours ago, deafity said:

ola gostaria de criar um script para ter um item especial quando eu matar 5 jogadores em pvp nao tenho erro mas nao funciona 
obrigado pela ajuda 

 


prontera,160,189,4 script PVP/MVP 467,{
    mes "[Deformador PVP]";
    mes "Où veux-tu aller ?";
    mes "Arena PVP [" + getmapusers("pvp_y_1-2") + " / 20]"; 
    menu "Sala PVP",P_room,"Sala MVP",M_room,"Anulador",cancelar;
    fechar;

P_room:
    next;
    if (getmapusers("pvp_y_1-2") >= 20) goto L_sorry; // Remover a extensão .gat
    warp "pvp_y_1-2",0,0;  
    close;

M_room:
    próximo;
    warp "db_room",0,0;  
    fechar;

cancelar:
    fechar;

L_desculpe:
    próximo;
    mes "[ ^ff0000Warper^000000 ]";
    mes "Desolé, a sala PVP está completa.";
    fechar;
}

//Contador de mortes PVP
pvp_y_1-2,0,0,0 script PVPKillCounter -1,{ 
    // Este script rastreia o número de mortes de um jogador no mapa PVP

    OnInit:
        // Inicializar contador de mortes
        definido .@kill_count, 0;
        fim;

    OnPVPEvent: // Evento para mortes entre jogadores
        // Verifica se um jogador foi morto
        if (killed_id != 0) {
            //Incrementa o contador de mortes
            set .@kill_count, .@kill_count + 1;  
            
            // Exibe o número de mortes para o jogador
            dispbottom "Número de mortes: " + .@kill_count;  

            if (.@kill_count >= 5) { // Se o jogador matar 5 inimigos
                getitem 22869, 1; // Dê o item com ID 22869
                dispbottom "Parabéns! Você ganhou um bilhete de roleta por matar 5 inimigos.";
                set .@kill_count, 0; // Redefina o contador de mortes para zero
            }
        }
    end; // Fim do OnPVPEvent
} // Fim do script PVPKillCounter

prontera,160,189,4 script PVP/MVP 467,{
    mes "[Deformador PVP]";
    mes "Para onde você deseja ir?";
    mes "Arena PVP [" + getmapusers("pvp_y_1-2") + " / 20]"; 
    menu "Sala PVP",P_room,"Sala MVP",M_room,"Cancelar",cancelar;
    close;

P_room:
    next;
    if (getmapusers("pvp_y_1-2") >= 20) goto L_desculpe; // Remover a extensão .gat
    warp "pvp_y_1-2",0,0;  
    close;

M_room:
    next;
    warp "db_room",0,0;  
    close;

cancelar:
    close;

L_desculpe:
    next;
    mes "[ ^ff0000Warper^000000 ]";
    mes "Desculpe, a sala PVP está completa.";
    close;
}

// Contador de mortes PVP
pvp_y_1-2,0,0,0 script PVPKillCounter -1,{
    // Este script rastreia o número de mortes de um jogador no mapa PVP

    OnInit:
        // Inicializa o evento de contagem de mortes no mapa PvP
        pvpevent "OnPVPEvent";
        end;

    OnPVPEvent:
        // Verifica se um jogador matou outro jogador
        if (killerrid != getcharid(3)) { // Certifica que o assassino não é o próprio jogador
            // Incrementa o contador de mortes do assassino
            set @pvp_kill_count, @pvp_kill_count + 1;
            
            // Exibe o número de mortes para o jogador
            dispbottom "Número de jogadores mortos: " + @pvp_kill_count;

            // Se o jogador matar 5 inimigos
            if (@pvp_kill_count >= 5) {
                getitem 22869, 1; // Dê o item especial (ID 22869)
                dispbottom "Parabéns! Você ganhou um bilhete especial por matar 5 inimigos.";
                set @pvp_kill_count, 0; // Redefine o contador de mortes para zero
            }
        }
    end;
}
 

veja se da certo assim.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  08/19/24
  • Last Seen:  

image.png.9b751227468f441c0e302b17333b0174.png

Thanks for support !

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  78
  • Reputation:   3
  • Joined:  06/27/20
  • Last Seen:  

49 minutes ago, deafity said:

imagem.png.9b751227468f441c0e302b17333b0174.png

Obrigado pelo apoio!

prontera,160,189,4 script PVP/MVP 467,{
    mes "[Deformador PVP]";
    mes "Para onde você deseja ir?";
    mes "Arena PVP [" + getmapusers("pvp_y_1-2") + " / 20]"; 
    menu "Sala PVP",P_room,"Sala MVP",M_room,"Cancelar",cancelar;
    fechar;

P_room:
    next;
    if (getmapusers("pvp_y_1-2") >= 20) goto L_desculpe; 
    warp "pvp_y_1-2",0,0;  
    close;

M_room:
    próximo;
    warp "db_room",0,0;  
    fechar;

cancelar:
    fechar;

L_desculpe:
    próximo;
    mes "[ ^ff0000Warper^000000 ]";
    mes "Desculpe, a sala PVP está completa.";
    fechar;
}

// Contador de mortes PVP
pvp_y_1-2,0,0,0 script PVPKillCounter -1,{
    OnInit:
        set @pvp_kill_count, 0; // Inicializa o contador de mortes
        // Adiciona evento PVP
        set .@pvp_event, getcharid(0); // Define o id do jogador
        // Espera eventos de morte no mapa PVP
        setmapflag "pvp_y_1-2", mf_pvp;
        end;

    OnPVPEvent:
        if (killerrid != getcharid(3)) { // Verifica se o assassino não é o próprio jogador
            set @pvp_kill_count, @pvp_kill_count + 1;
            dispbottom "Número de jogadores mortos: " + @pvp_kill_count;

            if (@pvp_kill_count >= 5) {
                getitem 22869, 1; // Dê o item especial (ID 22869)
                dispbottom "Parabéns! Você ganhou um bilhete especial por matar 5 inimigos.";
                set @pvp_kill_count, 0; // Redefinir o contador de mortes
            }
        }
    end;
}
 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  78
  • Reputation:   3
  • Joined:  06/27/20
  • Last Seen:  

Just now, maciel said:

prontera,160,189,4 script PVP/MVP 467,{
    mes "[Deformador PVP]";
    mes "Para onde você deseja ir?";
    mes "Arena PVP [" + getmapusers("pvp_y_1-2") + " / 20]"; 
    menu "Sala PVP",P_room,"Sala MVP",M_room,"Cancelar",cancelar;
    fechar;

P_room:
    próximo;
    se (getmapusers("pvp_y_1-2") >= 20) ir para L_desculpe; 
    distorcer "pvp_y_1-2",0,0;  
    fechar;

Sala_M:
    próximo;
    warp "db_room",0,0;  
    fechar;

cancelar:
    fechar;

L_desculpe:
    próximo;
    mes "[ ^ff0000Warper^000000 ]";
    mes "Desculpe, a sala PVP está completa.";
    fechar;
}

// Contador de mortes PVP
pvp_y_1-2,0,0,0 script PVPKillCounter -1,{
    OnInit:
        set @pvp_kill_count, 0; // Inicializa o contador de mortes
        // Adiciona evento PVP
        set .@pvp_event, getcharid(0); // Define o id do jogador
        // Espera eventos de morte no mapa PVP
        setmapflag "pvp_y_1-2", mf_pvp;
        fim;

    OnPVPEvent:
        if (killerrid != getcharid(3)) { // Verifica se o assassino não é o próprio jogador
            set @pvp_kill_count, @pvp_kill_count + 1;
            dispbottom "Número de jogadores mortos: " + @pvp_kill_count;

            if (@pvp_kill_count >= 5) {
                getitem 22869, 1; // Dê o item especial (ID 22869)
                dispbottom "Parabéns! Você ganhou um bilhete especial por matar 5 inimigos.";
                definir @pvp_kill_count, 0; // Redefinir o contador de mortes
            }
        }
    end;
}
 

Alterações Realizadas

  • Substituição de pvpevent: Usei uma estrutura que não chama pvpevent mas define a contagem de mortes diretamente no evento.
  • Verificação de Assassino: Mantive a verificação do assassino para garantir que não conte mortes auto-infligidas.
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  08/19/24
  • Last Seen:  

prontera,160,189,4    script    PVP/MVP    467,{
    mes "[PVP Warper]";
    mes "Ou veux tu aller?";
    mes "Arena PVP [" + getmapusers("pvp_y_1-2") + " / 20]"; 
    menu "Sale PVP",P_room,"Sale MVP",M_room,"Cancel",cancel;
    close;

P_room:
    next;
    if (getmapusers("pvp_y_1-2") >= 20) goto L_sorry; 
    warp "pvp_y_1-2",0,0;  
    close;

M_room:
    next;
    warp "db_room",0,0;  
    close;

cancel:
    close;

L_sorry:
    next;
    mes "[ ^ff0000Warper^000000 ]";
    mes "Désolé, la salle PVP est pleine.";
    close;
}

// Contador de mortes PVP
pvp_y_1-2,0,0,0    script    PVPKillCounter    -1,{ 
    OnPCLoadMapEvent:
        if (strcharinfo(3) == "pvp_y_1-2") {
            // Initialiser le compteur de morts pour chaque joueur
            set @pvp_kill_count, 0;
        }
        end;

    OnPCKillEvent:
        if (strcharinfo(3) == "pvp_y_1-2") { // Vérifie si le joueur est dans la carte PVP
            if (killerrid != getcharid(3)) { // Vérifie que le tueur n'est pas lui-même
                set @pvp_kill_count, @pvp_kill_count + 1;
                dispbottom "Nombre de joueurs morts : " + @pvp_kill_count;

                if (@pvp_kill_count >= 5) {
                    getitem 22869, 1; // Donne l'item spécial (ID 22869)
                    dispbottom "Vous gagnerez un ticket spécial pour avoir tué 5 ennemis.";
                    set @pvp_kill_count, 0; // Réinitialiser le compteur
                }
            }
        }
        end;

    OnInit:
        setmapflag "pvp_y_1-2", mf_pvp; // Définit la carte comme PVP
        end;
}

Here is the result of the end of my script without any error ! Thank you for your help! I'm going to add an announcement to the script! For the moment I've agreed to let you have my script! Have a nice evening

Edited by deafity
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
Answer this question...

×   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...