SA-MP Forums Archive
[Ajuda] status - 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] status (/showthread.php?tid=557891)



status - Lucas_HenryK - 15.01.2015

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


Re: status - DiegoLeo - 15.01.2015

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


Re: status - ReyMysterio - 15.01.2015

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.


Re: status - DiegoLeo - 15.01.2015

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.


Re: status - Lucas_HenryK - 15.01.2015

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


Re: status - ReyMysterio - 15.01.2015

@REMOVED


Re: status - DiegoLeo - 15.01.2015

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","");



Re: status - Bruno13 - 15.01.2015

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;
}



Re: status - Lucas_HenryK - 15.01.2015

nenhum funfo


Re: status - rjjj - 16.01.2015

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 .