SA-MP Forums Archive
[AJUDA] Problema ao dar um nivel - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA] Problema ao dar um nivel (/showthread.php?tid=232094)



[AJUDA] Problema ao dar um nivel - [AF]Junior - 26.02.2011

pawn Код:
CMD:darvip(playerid, params[])
{
    sPlayer= strval(params);
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xD8D8D8FF,"Vocк nгo й Administrador Dono!");

    if(!IsPlayerConnected(sPlayer))
        return SendClientMessage(playerid,0xFF0000FF,"Esse Player nгo estб conectado.");
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Nome,sizeof(Nome));
    format(zString,64,"O Administrador %s ID: [%d] acaba de dar o seu VIP.",Nome,playerid);
    SendClientMessage(sPlayer,0x33CCFFAA,zString);
    PlayerInfo[sPlayer][VIP] = 1;
    SendClientMessage(playerid,COLOR_RED,"Vocк deu VIP para um Player!");
    return true;
}
Quando dou /darvip sу aparece que dou vip se eu dar pro id 0.
Nгo manda a mensagem vocк deu vip pra um player blб blб blб, sу o id 0 aparece isso...
Tem que aparecer em todos...
ajuda ae


Re: [AJUDA] Problema ao dar um nivel - Ricop522 - 26.02.2011

pawn Код:
CMD:darvip(playerid, params[])
{
    sPlayer = strval(params);
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xD8D8D8FF,"Vocк nгo й Administrador Dono!");

    if(!IsPlayerConnected(sPlayer))
        return SendClientMessage(playerid,0xFF0000FF,"Esse Player nгo estб conectado.");
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(sPlayer,Nome,sizeof(Nome));
    format(zString,64,"O Administrador %s ID: [%d] acaba de dar o seu VIP.",Nome,sPlayer);
    SendClientMessage(sPlayer,0x33CCFFAA,zString);
    PlayerInfo[sPlayer][VIP] = 1;
    SendClientMessage(playerid,COLOR_RED,"Vocк deu VIP para um Player!");
    return true;
}



Re: [AJUDA] Problema ao dar um nivel - rjjj - 26.02.2011

O problema й vocк estб usando zcmd sem um sistema de parвmetros como sscanf ou strtok.

Adicione um sistema de parвmetros.

Aqui um exemplo de como ficaria o comando se fosse com strtok:

pawn Код:
CMD:darvip(playerid, params[])
{
    //Se for strtok - Inicio
    new VIP[128];
    VIP = strtok(params, idx);
    if(!strlen(VIP)) return SendClientMessage(playerid,0xFFFFFFAA,"Use /darvip [id]");
    //Se for strtok - Final
    sPlayer= strval(params);
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xD8D8D8FF,"Vocк nгo й Administrador Dono!");
    if(!IsPlayerConnected(sPlayer)) return SendClientMessage(playerid,0xFF0000FF,"Esse Player nгo estб conectado.");
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Nome,sizeof(Nome));
    format(zString,64,"O Administrador %s ID: [%d] acaba de dar o seu VIP.",Nome,playerid);
    SendClientMessage(sPlayer,0x33CCFFAA,zString);
    PlayerInfo[sPlayer][VIP] = 1;
    SendClientMessage(playerid,COLOR_RED,"Vocк deu VIP para um Player!");
    return true;
}
E aqui um exemplo de como ficaria se fosse com sscanf:

pawn Код:
CMD:darvip(playerid, params[])
{
    new sPlayer;
    if (sscanf(params, "u", sPlayer)) return SendClientMessage(playerid,0xFFFFFFAA,"Use /darvip [id]");
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xD8D8D8FF,"Vocк nгo й Administrador Dono!");
    if(!IsPlayerConnected(sPlayer)) return SendClientMessage(playerid,0xFF0000FF,"Esse Player nгo estб conectado.");
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Nome,sizeof(Nome));
    format(zString,64,"O Administrador %s ID: [%d] acaba de dar o seu VIP.",Nome,playerid);
    SendClientMessage(sPlayer,0x33CCFFAA,zString);
    PlayerInfo[sPlayer][VIP] = 1;
    SendClientMessage(playerid,COLOR_RED,"Vocк deu VIP para um Player!");
    return true;
}
Espero ter ajudado