Hey Help with stats Textdraw -
Black Wolf - 25.08.2012
Hello Friends its me again asking for help LOL
I am using Ladmin in my server.I maded a textdraw to show player stats i want it to show up when player logins can someone make it to work.
TD CODE
Код:
new Text:Textdraw0;
//In OnGameModeInit or any other place, we procced to create our textdraw:
Textdraw0 = TextDrawCreate(3.000000,435.000000,"Deaths:1000 | Kills:1000 | Ratio:1.0 | Money:1000$ | IP:192.168.1");
TextDrawUseBox(Textdraw0,1);
TextDrawBoxColor(Textdraw0,0x00000099);
TextDrawTextSize(Textdraw0,636.000000,-1.000000);
TextDrawAlignment(Textdraw0,0);
TextDrawBackgroundColor(Textdraw0,0x000000ff);
TextDrawFont(Textdraw0,2);
TextDrawLetterSize(Textdraw0,0.399999,1.100000);
TextDrawColor(Textdraw0,0xffffffff);
TextDrawSetProportional(Textdraw0,1);
TextDrawSetShadow(Textdraw0,1);
ladmin login command code
Код:
dcmd_login(playerid,params[])
{
if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/register [password]'.");
if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/login [password]'");
if (udb_CheckLogin(PlayerName2(playerid),params))
{
new file[256], tmp3[100], string[128];
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"ip",tmp3);
LoginPlayer(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(PlayerInfo[playerid][Level] > 0) {
format(string,sizeof(string),"ACCOUNT: Successfully Logged In. (Level %d)", PlayerInfo[playerid][Level] );
return SendClientMessage(playerid,green,string);
} else return SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
}
else {
PlayerInfo[playerid][FailLogin]++;
printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
{
new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
SendClientMessageToAll(grey, string);
print(string);
Kick(playerid);
}
return SendClientMessage(playerid,red,"ACCOUNT: Login failed! Incorrect Password");
}
}
Please someone make it to work and also tell where to place the codes.
Re: Hey Help with stats Textdraw -
[MM]RoXoR[FS] - 25.08.2012
pawn Код:
dcmd_login(playerid,params[])
{
  if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
  if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/register [password]'.");
  if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/login [password]'");
  if (udb_CheckLogin(PlayerName2(playerid),params))
  {
    new file[256], tmp3[100], string[128];
    format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
    GetPlayerIp(playerid,tmp3,100);
    dini_Set(file,"ip",tmp3);
    LoginPlayer(playerid);
    PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
//________________
TextDrawShowForPlayer(playerid,Textdraw0);
//________________
    if(PlayerInfo[playerid][Level] > 0) {
      format(string,sizeof(string),"ACCOUNT: Successfully Logged In. (Level %d)", PlayerInfo[playerid][Level] );
      return SendClientMessage(playerid,green,string);
    } else return SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
  }
  else {
    PlayerInfo[playerid][FailLogin]++;
    printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
    if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
    {
      new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
      SendClientMessageToAll(grey, string);
      print(string);
      Kick(playerid);
    }
    return SendClientMessage(playerid,red,"ACCOUNT: Login failed! Incorrect Password");
  }
}
Re: Hey Help with stats Textdraw -
Black Wolf - 25.08.2012
Roxor dude fail..
I know it will show the textdraw but will show the deaths kills which are same in textdraw i want it to show player kills deaths ratio and keep updating like when he kill anyone it will get updated in its stats textdraw.
Re: Hey Help with stats Textdraw -
[MM]RoXoR[FS] - 25.08.2012
OK, so here it is
pawn Код:
dcmd_login(playerid,params[])
{
  if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
  if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/register [password]'.");
  if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/login [password]'");
  if (udb_CheckLogin(PlayerName2(playerid),params))
  {
    new file[256], tmp3[100], string[128];
    format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
    GetPlayerIp(playerid,tmp3,100);
    dini_Set(file,"ip",tmp3);
    LoginPlayer(playerid);
    PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
//________________
//Assuming you store Player Kills as pInfo[playerid][Kills] and so on
    new string[256];
    GetPlayerIp(playerid,pInfo[playerid][IP],20);
    if(pInfo[playerid][Deaths]!=0) format(string,sizeof(string),"Deaths:%d | Kills:%d | Ratio:%0.2f | Money:%d$ | IP:%s",pInfo[playerid][Deaths],pInfo[playerid][Kills],(pInfo[playerid][Kills]/pInfo[playerid][Deaths]),pInfo[playerid][Money],pInfo[playerid][IP]);
    else format(string,sizeof(string),"Deaths:%d | Kills:%d | Ratio:N/A | Money:%d$ | IP:%s",pInfo[playerid][Deaths],pInfo[playerid][Kills],pInfo[playerid][Money],pInfo[playerid][IP]);
    TextDrawSetString(Textdraw0,string);
    TextDrawShowForPlayer(playerid,Textdraw0);
//________________
    if(PlayerInfo[playerid][Level] > 0) {
      format(string,sizeof(string),"ACCOUNT: Successfully Logged In. (Level %d)", PlayerInfo[playerid][Level] );
      return SendClientMessage(playerid,green,string);
    } else return SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
  }
  else {
    PlayerInfo[playerid][FailLogin]++;
    printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
    if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
    {
      new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
      SendClientMessageToAll(grey, string);
      print(string);
      Kick(playerid);
    }
    return SendClientMessage(playerid,red,"ACCOUNT: Login failed! Incorrect Password");
  }
}
Re: Hey Help with stats Textdraw -
Black Wolf - 25.08.2012
Roxor bro your code is not working properly btw i modified it from stats command
like this
Код:
dcmd_login(playerid,params[])
{
if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/register [password]'.");
if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/login [password]'");
if (udb_CheckLogin(PlayerName2(playerid),params))
{
new file[256], tmp3[100], string[256];
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"ip",tmp3);
LoginPlayer(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(PlayerInfo[playerid][Level] > 0) {
format(string,sizeof(string),"ACCOUNT: Successfully Logged In. (Level %d)", PlayerInfo[playerid][Level] );
SendClientMessage(playerid,green,string);
} else SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
new pDeaths, player1, h, m, s;
TotalGameTime(player1, h, m, s);
if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
format(string, sizeof(string), "| %s's Stats: Kills: %d | Deaths: %d | Ratio: %0.2f | Money: $%d | Time: %d hrs %d mins %d secs |",PlayerName2(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths,GetPlayerMoney(player1), h, m, s);
TextDrawSetString(Textdraw0,string);
TextDrawShowForPlayer(playerid,Textdraw0);
SetTimerEx("UpdateTextdraw0",1000,true,"i",playerid);
return 1;
}
else {
PlayerInfo[playerid][FailLogin]++;
printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
{
new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
SendClientMessageToAll(grey, string);
print(string);
Kick(playerid);
}
return SendClientMessage(playerid,red,"ACCOUNT: Login failed! Incorrect Password");
}
}
But now the problem is on login the textdraw is showing the stats of ID 0 not of that player plz anyone help.