Portal SAMP
[Ajuda] Comando /matar - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Comando /matar (/showthread.php?tid=4173)



Comando /matar - UmNickBR - 06/11/2023

Código PHP:
CMD:matar(playeridparams[]){
    if(
PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playeridCorErro,"Erro, comando negado!");
    new 
idstr[128];
    if(
sscanf(params,"d",id)) return SendClientMessage(playeridCorErro"| INFO | Erro, user: /matar [id]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playeridCorErro"| INFO | Erro, jogador não está conectado");
    
SetPlayerHealth(playerid0.0);
    
format(str,sizeof(str),"{4ba5ff}| O(A) %s {c2c229}%s {4ba5ff}matou você"NomeAdm(PlayerInfo[playerid][pAdmin]),NomePlayer(playerid));
    
SendClientMessage(idCinzaClarostr);
    
format(str,sizeof(str),"Você matou o(a) jogador(a) %s[%d]"NomeID(id),id);
    
SendClientMessage(playeridCinzaClarostr);
    return 
1;

Fiz este comando só que, quando coloco para dar /matar em outro ID. ele acaba sendo executado no próprio Admin.
Como faço para o mesmo executar o comando em outro Player escolhido no /matar ID do player?.. Valeu.


RE: Comando /matar - Cifra Modder - 06/11/2023

(06/11/2023 18:41)UmNickBR Escreveu:
Código PHP:
CMD:matar(playeridparams[]){
    if(
PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playeridCorErro,"Erro, comando negado!");
    new 
idstr[128];
    if(
sscanf(params,"d",id)) return SendClientMessage(playeridCorErro"| INFO | Erro, user: /matar [id]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playeridCorErro"| INFO | Erro, jogador não está conectado");
    
SetPlayerHealth(playerid0.0);
    
format(str,sizeof(str),"{4ba5ff}| O(A) %s {c2c229}%s {4ba5ff}matou você"NomeAdm(PlayerInfo[playerid][pAdmin]),NomePlayer(playerid));
    
SendClientMessage(idCinzaClarostr);
    
format(str,sizeof(str),"Você matou o(a) jogador(a) %s[%d]"NomeID(id),id);
    
SendClientMessage(playeridCinzaClarostr);
    return 
1;

Fiz este comando só que, quando coloco para dar /matar em outro ID. ele acaba sendo executado no próprio Admin.
Como faço para o mesmo executar o comando em outro Player escolhido no /matar ID do player?.. Valeu.

Você colocou pra setar a vida 0 para o "playerid" colocando isso você vai setar a vida 0 para o player que é o admin que executou o comando. O correto é: SetPlayerHealth(id, 0);

playerid - O mesmo.
id - o alvo.

Espero que tenha entendido.

Código corrigido:
Código:
CMD:matar(playerid, params[]){
    if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, CorErro,"Erro, comando negado!");
    new id, str[128];
    if(sscanf(params,"d",id)) return SendClientMessage(playerid, CorErro, "| INFO | Erro, user: /matar [id]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, CorErro, "| INFO | Erro, jogador não está conectado");
    SetPlayerHealth(id, 0);
    format(str,sizeof(str),"{4ba5ff}| O(A) %s {c2c229}%s {4ba5ff}matou você", NomeAdm(PlayerInfo[playerid][pAdmin]),NomePlayer(playerid));
    SendClientMessage(id, CinzaClaro, str);
    format(str,sizeof(str),"Você matou o(a) jogador(a) %s[%d]", NomeID(id),id);
    SendClientMessage(playerid, CinzaClaro, str);
    return 1;
}



RE: Comando /matar - UmNickBR - 06/11/2023

Entendi perfeitamente e bem explicado, Valeu irmão, tô aprendendo aos poucos pawno kk graças ao pessoal daqui que tá ajudando. Reputação garantida para ti.