[Ajuda] status
#1

pawn Код:
CMD:stats(playerid,params[])
{
    new pID;

    if(sscanf(params,"d",pID)) return SendClientMessage(playerid,Cinza,"{FF0000}<!> {C3C3C3} stats <playerID>");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Vermelho,"PlayerID desconectado ou nгo existe!");

    ShowStats(pID);
    return 1;
}

ShowStats(playerid)
{
    new Float:ratio = floatdiv(PlayerInfo[playerid][Kills],PlayerInfo[playerid][Deaths]);
    new string[600], strind[600], idg;
    idg = PlayerInfo[playerid][idgang];

    format(string,sizeof(string),"%s's Stats:\n\n",nome(playerid));
    strcat(strind, string);

    format(string,sizeof(string),"Level: %d\nKills: %d\nDeaths: %d\nK/D: %0.2f\n\n",PlayerInfo[playerid][Level],PlayerInfo[playerid][Kills],PlayerInfo[playerid][Deaths],ratio);
    strcat(strind, string);

    format(string,sizeof(string),"Duels Ganhos: %d\nDuels Perdidos: %d\nRace Points: %d\n\n",PlayerInfo[playerid][DuelsWon],PlayerInfo[playerid][DuelsLost],PlayerInfo[playerid][RacePoints]);
    strcat(strind, string);

    format(string,sizeof(string),"Gang: %s\nLider: %s\nGangs Kills: %d\nGang Deaths: %d",Gang[idg][gangname],Gang[idg][Lider],Gang[idg][Kills],Gang[idg][Deaths]);
    strcat(strind, string);

    ShowPlayerDialog(playerid,D_Stats,DIALOG_STYLE_MSGBOX,"Status",strind,"OK","");
}
sempre q digito o id de algum jogador conctado fala server unknow command
Reply
#2

Vocк nгo colocou um return no showstats, ele й uma stock?
Reply
#3

Primeiro em vez do parвmetro "d" coloque o "u" pois й o mais adequado para identificar o player e ele tem a vantagem de se vocк digitar o nick do cara ele verifica qual id.

Sobre o erro tente colocar o ShowStats como stock. Nгo sei se vai resolver mas eu preferia colocar isso em stock.
Reply
#4

Mas eu acho que mesmo em stock ,e ele der /stats o status ira aparecer para o id que ele digitou, e nгo para ele.
Reply
#5

Quote:
Originally Posted by DiegoLeo
Посмотреть сообщение
Vocк nгo colocou um return no showstats, ele й uma stock?
ja tentei assim tbm nao deu com return 1 e 0 fico msm coisa

Quote:
Originally Posted by ReyMysterio
Посмотреть сообщение
Primeiro em vez do parвmetro "d" coloque o "u" pois й o mais adequado para identificar o player e ele tem a vantagem de se vocк digitar o nick do cara ele verifica qual id.

Sobre o erro tente colocar o ShowStats como stock. Nгo sei se vai resolver mas eu preferia colocar isso em stock.
ja usei u tambem e n resolveu

to usando assim

pawn Код:
CMD:stats(playerid,params[])
{
    new Float:ratio = floatdiv(PlayerInfo[playerid][Kills],PlayerInfo[playerid][Deaths]);
    new pID, string[600], strind[600], idg;

    idg = PlayerInfo[pID][idgang];

    if(sscanf(params,"d",pID)) return SendClientMessage(playerid,Cinza,"{FF0000}<!> {C3C3C3} stats <playerID>");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Vermelho,"PlayerID desconectado ou nгo existe!");

    format(string,sizeof(string),"%s's Stats:\n\n",nome(pID));
    strcat(strind, string);

    format(string,sizeof(string),"Level: %d\nKills: %d\nDeaths: %d\nK/D: %0.2f\n\n",PlayerInfo[pID][Level],PlayerInfo[pID][Kills],PlayerInfo[pID][Deaths],ratio);
    strcat(strind, string);

    format(string,sizeof(string),"Duels Ganhos: %d\nDuels Perdidos: %d\nRace Points: %d\n\n",PlayerInfo[pID][DuelsWon],PlayerInfo[pID][DuelsLost],PlayerInfo[pID][RacePoints]);
    strcat(strind, string);

    format(string,sizeof(string),"Gang: %s\nLider: %s\nGangs Kills: %d\nGang Deaths: %d",Gang[idg][gangname],Gang[idg][Lider],Gang[idg][Kills],Gang[idg][Deaths]);
    strcat(strind, string);

    ShowPlayerDialog(playerid,D_Stats,DIALOG_STYLE_MSGBOX,"Status",strind,"OK","");
    return 1;
}
n ta dano tbm
Reply
#6

@REMOVED
Reply
#7

Usa assim, no comando:
Код:
ShowStats(pID, playerid);
E lб embaixo VC coloca como
Код:
stock ShowStats(playerid, id)
{
  //aqui VC coloca o cуdigo e no final
  return ShowPlayerDialog(id,D_Stats,DIALOG_STYLE_MSGBOX,"Status",strind,"OK","");
Reply
#8

Nada a ver o dizer sobre "deves usar stock", vocкs estгo muito alienados a stock's...stock tem um processamento um tanto lerdo, criar uma function й atй mais compensador. A diferenзa entre ambos й que stock nгo alerta warnings ao ser compilada, como por exemplo ter declarado uma stock e nгo estar usando-a, e й mais recomendada para includes.

Tente retornar um valor nesta sua function, pode ser verdadeiro, e mude como disseram acima a sintaxe de sscanf para "u", em vista que nem era preciso usar sscanf para apenas um parвmetro, porйm, como desejas usar as vantagens de sscanf sobre id do player, estб certo.

pawn Код:
CMD:stats(playerid,params[])
{
    new pID;

    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,Cinza,"{FF0000}<!> {C3C3C3} stats <playerID>");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Vermelho,"PlayerID desconectado ou nгo existe!");

    ShowStats(pID);
    return 1;
}

ShowStats(playerid)
{
    new Float:ratio = floatdiv(PlayerInfo[playerid][Kills],PlayerInfo[playerid][Deaths]);
    new string[600], strind[600], idg;
    idg = PlayerInfo[playerid][idgang];

    format(string,sizeof(string),"%s's Stats:\n\n",nome(playerid));
    strcat(strind, string);

    format(string,sizeof(string),"Level: %d\nKills: %d\nDeaths: %d\nK/D: %0.2f\n\n",PlayerInfo[playerid][Level],PlayerInfo[playerid][Kills],PlayerInfo[playerid][Deaths],ratio);
    strcat(strind, string);

    format(string,sizeof(string),"Duels Ganhos: %d\nDuels Perdidos: %d\nRace Points: %d\n\n",PlayerInfo[playerid][DuelsWon],PlayerInfo[playerid][DuelsLost],PlayerInfo[playerid][RacePoints]);
    strcat(strind, string);

    format(string,sizeof(string),"Gang: %s\nLider: %s\nGangs Kills: %d\nGang Deaths: %d",Gang[idg][gangname],Gang[idg][Lider],Gang[idg][Kills],Gang[idg][Deaths]);
    strcat(strind, string);

    ShowPlayerDialog(playerid,D_Stats,DIALOG_STYLE_MSGBOX,"Status",strind,"OK","");
    return 1;
}
Reply
#9

nenhum funfo
Reply
#10

Alterei o seu cуdigo a fim de tentar resolver o problema existente .



Fiz testes e o mesmo funcionou devidamente:


pawn Код:
CMD:stats(playerid, params[])
{
    if(isnull(params)) return SendClientMessage(playerid, Cinza, "{FF0000}<!> {C3C3C3} stats <playerID>");
    new pID = strval(params);
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, Vermelho, "PlayerID desconectado ou nгo existe!");
    ShowStats(pID);
    return true;
}



stock ShowStats(playerid)
{
    new idg = PlayerInfo[playerid][idgang];
    new LinhaDialog[128];
    static TotalDialog[450];
    TotalDialog[0] = EOS;
    new JogadorNome[25];
    GetPlayerName(playerid, JogadorNome, sizeof(JogadorNome));
    format(LinhaDialog, 128, "%s's Stats:\n\n", JogadorNome);
    strcat(TotalDialog, LinhaDialog);
    format(LinhaDialog, 128, "Level: %d\nKills: %d\nDeaths: %d\nK/D: %d\n\n", PlayerInfo[playerid][Level], PlayerInfo[playerid][Kills], PlayerInfo[playerid][Deaths], floatround(floatdiv(PlayerInfo[playerid][Kills], PlayerInfo[playerid][Deaths]), floatround_floor));
    strcat(TotalDialog, LinhaDialog);
    format(LinhaDialog, 128, "Duels Ganhos: %d\nDuels Perdidos: %d\nRace Points: %d\n\n", PlayerInfo[playerid][DuelsWon], PlayerInfo[playerid][DuelsLost], PlayerInfo[playerid][RacePoints]);
    strcat(TotalDialog, LinhaDialog);
    format(LinhaDialog, 128, "Gang: %s\nLider: %s\nGangs Kills: %d\nGang Deaths: %d", Gang[idg][gangname], Gang[idg][Lider], Gang[idg][Kills], Gang[idg][Deaths]);
    strcat(TotalDialog, LinhaDialog);
    #define DialogStats 256  //Modifique se o ID de dialog jб estiver sendo usado.
    ShowPlayerDialog(playerid, DialogStats, DIALOG_STYLE_MSGBOX, "Status", TotalDialog, "OK", "");
    return true;
}


Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)