[Ajuda] Problema com o comando /dararma
#1

Olб, eu estou com um problema em um comando que eu criei, o comando й o seguinte: й um comando que somente admins tem acesso e que da armas para jogadores, porem quando eu digito o comando, ate da a arma, porem ela some logo depois. Espero que me ajudem, segue abaixo o codigo.

PHP код:
CMD:dararma(playeridparams[])
{
    if (
PlayerInfo[playerid][Admin] >= 4)
    {
        new 
arma;
        new 
id;
        new 
muni;
        if (
sscanf(params"ud"idarmamuni))
        return 
SendClientMessage(playerid0xFF0000AA"[ERRO] Use: /dararma [ID] [ARMA] [MUNI]");
        
GivePlayerWeapon(idarmamuni);
        new 
nick1[MAX_PLAYER_NAME];
        new 
nick2[MAX_PLAYER_NAME];
        new 
str[128];
        
GetPlayerName(playeridnick1MAX_PLAYER_NAME);
        
GetPlayerName(idnick2MAX_PLAYER_NAME);
        
format(strsizeof str"O Admin: %s deu uma arma para o jogador %s"nick1nick2);
        
SendClientMessageToAll(0xFF80FFAAstr);
        return 
1;
    }
    else
    {
        
SendClientMessage(playerid0xFF0000AA"[ERRO] Vocк nгo tem permiзгo!");
        return 
1;
    }
    return 
1;

Reply
#2

Quote:
Originally Posted by BrunoSayden177
Посмотреть сообщение
Olб, eu estou com um problema em um comando que eu criei, o comando й o seguinte: й um comando que somente admins tem acesso e que da armas para jogadores, porem quando eu digito o comando, ate da a arma, porem ela some logo depois. Espero que me ajudem, segue abaixo o codigo.

PHP код:
CMD:dararma(playeridparams[])
{
    if (
PlayerInfo[playerid][Admin] >= 4)
    {
        new 
arma;
        new 
id;
        new 
muni;
        if (
sscanf(params"ud"idarmamuni))
        return 
SendClientMessage(playerid0xFF0000AA"[ERRO] Use: /dararma [ID] [ARMA] [MUNI]");
        
GivePlayerWeapon(idarmamuni);
        new 
nick1[MAX_PLAYER_NAME];
        new 
nick2[MAX_PLAYER_NAME];
        new 
str[128];
        
GetPlayerName(playeridnick1MAX_PLAYER_NAME);
        
GetPlayerName(idnick2MAX_PLAYER_NAME);
        
format(strsizeof str"O Admin: %s deu uma arma para o jogador %s"nick1nick2);
        
SendClientMessageToAll(0xFF80FFAAstr);
        return 
1;
    }
    else
    {
        
SendClientMessage(playerid0xFF0000AA"[ERRO] Vocк nгo tem permiзгo!");
        return 
1;
    }
    return 
1;

O problema e que o comando esta lendo apenas 2 parametros que e o id o player e o id da arma. para ler o ammo precisa colocar mais um "d" ou "i" no sscanf assim ficaria:

Код HTML:
if (sscanf(params, "udd", id, arma, muni)) return SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Use: /dararma [ID] [ARMA] [MUNI]");
PHP код:
CMD:dararma(playeridparams[]) 

    if (
PlayerInfo[playerid][Admin] >= 4
    { 
        new 
arma
        new 
id
        new 
muni
        if (
sscanf(params"udd"idarmamuni)) 
        return 
SendClientMessage(playerid0xFF0000AA"[ERRO] Use: /dararma [ID] [ARMA] [MUNI]"); 
        
GivePlayerWeapon(idarmamuni); 
        new 
nick1[MAX_PLAYER_NAME]; 
        new 
nick2[MAX_PLAYER_NAME]; 
        new 
str[128]; 
        
GetPlayerName(playeridnick1MAX_PLAYER_NAME); 
        
GetPlayerName(idnick2MAX_PLAYER_NAME); 
        
format(strsizeof str"O Admin: %s deu uma arma para o jogador %s"nick1nick2); 
        
SendClientMessageToAll(0xFF80FFAAstr); 
        return 
1
    } 
    else 
    { 
        
SendClientMessage(playerid0xFF0000AA"[ERRO] Vocк nгo tem permiзгo!"); 
        return 
1
    } 
    return 
1

Reply
#3

Obrigado brother, +rep pra vocк!
Reply
#4

Um mais funcional:

Quote:

CMD:dararma(playerid, params[])
{
if(GetPlayerCargo(playerid) < C_ADMIN) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Vocк nгo tem permissгo!");

new id, armaid, municao;

if(sscanf(params, "ddd", id, armaid, municao)) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Uso correto: /DarArma [ ID ] [ Arma ID ] [ Muniзгo ]");

if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Ninguйm online com esse ID!");
if(armaid < 1 || armaid > 46) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Arma invбlida!");
if(municao < 1) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Muniзгo invбlida!");

GivePlayerWeapon(id, armaid, municao);

new aNome[50];
GetWeaponName(armaid, aNome, sizeof(aNome));

format(gStr, sizeof(gStr), "[BPL Staff] Vocк deu a arma %s para o(a) jogador(a) %s", aNome, pNome(id));
SendClientMessage(playerid, COLOR_VERDECMD, gStr);

if(aInfo[playerid][Oculto] == false)
{
format(gStr, sizeof(gStr), "[BPL Staff] %s lhe deu a arma %s.", GetCargoMsg(playerid), aNome);
SendClientMessage(id, COLOR_VERDECMD, gStr);
}
return 1;
}

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)