27.12.2011, 21:46
Manolos
to tentando fazer o seguinte:
que o Score e o Spree (kill's seguidos) apareзam em um textdraw
O erro й que esses dados sу apareзem para o id 0
para os outros sу й mostrado os textdraw mais sem os dados
*Os valores de score e spree estгo sendo salvos na scriptfiles.
to tentando fazer o seguinte:
que o Score e o Spree (kill's seguidos) apareзam em um textdraw
O erro й que esses dados sу apareзem para o id 0
para os outros sу й mostrado os textdraw mais sem os dados
*Os valores de score e spree estгo sendo salvos na scriptfiles.
pawn Код:
#include <a_samp>
#include "southclawini"
forward ScoresXX();
new arqScore[128];
new arqSpree[128];
new KillingSpree[MAX_PLAYERS];
new Text:ScoreText[MAX_PLAYERS];
new Text:SpreeText[MAX_PLAYERS];
new Text:BarraScore;
public OnGameModeInit()
{
InfoTD();
BarraScore = TextDrawCreate(634.000000, 340.000000, "-");
TextDrawBackgroundColor(BarraScore, 255);
TextDrawFont(BarraScore, 1);
TextDrawLetterSize(BarraScore, 0.370000, 3.399998);
TextDrawColor(BarraScore, 0);
TextDrawSetOutline(BarraScore, 0);
TextDrawSetProportional(BarraScore, 1);
TextDrawSetShadow(BarraScore, 0);
TextDrawUseBox(BarraScore, 1);
TextDrawBoxColor(BarraScore, 80);
TextDrawTextSize(BarraScore, 529.000000, 21.000000);
return 1;
}
public OnPlayerConnect(playerid) //seta os valores de score e spree
{
SetTimerEx("ScoresXX",100,true,"i",playerid);
TextDrawHideForPlayer(playerid, BarraScore);
TextDrawHideForPlayer(playerid, ScoreText[playerid]);
TextDrawHideForPlayer(playerid, SpreeText[playerid]);
format(arqScore, sizeof (arqScore),"GameMode/scoreXX/%s.ini",PlayerName(playerid));
file_Open(arqScore);
SetPlayerScore(playerid,file_GetVal("Score"));
file_Close();
format(arqSpree, sizeof (arqSpree),"GameMode/scoreXX/%s.ini",PlayerName(playerid));
file_Open(arqSpree);
KillingSpree[playerid] = (playerid,file_GetVal("Spree"));
file_Close();
return 1;
}
public OnPlayerDisconnect(playerid, reason) //salva o score e o killingspree
{
format(arqScore, sizeof (arqScore),"GameMode/scoreXX/%s.ini",PlayerName(playerid));
if(!fexist(arqScore)) { file_Create(arqScore); }
file_Open(arqScore);
file_SetVal("Score", GetPlayerScore(playerid));
file_Save(arqScore);
file_Close();
format(arqSpree, sizeof (arqSpree),"GameMode/scoreXX/%s.ini",PlayerName(playerid));
if(!fexist(arqSpree)) { file_Create(arqSpree); }
file_Open(arqSpree);
file_SetVal("Spree", KillingSpree[playerid]);
file_Save(arqSpree);
file_Close();
TextDrawHideForPlayer(playerid, BarraScore);
TextDrawHideForPlayer(playerid, ScoreText[playerid]);
TextDrawHideForPlayer(playerid, SpreeText[playerid]);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid,playerid,reason);
GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~r~MORTO!",5000,5);
KillingSpree[killerid] ++;
KillingSpree[killerid] = 0;
//por enquanto nesta callback o conteъdo й sу este para teste
//do killingspree
return 1;
}
public ScoresXX()
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new str[30];
format(str,sizeof(str), "SCORE: ~w~%i",GetPlayerScore(i));
TextDrawSetString(ScoreText[i], str);
format(str,sizeof(str), "SPREE: ~w~%d",KillingSpree[i]);
TextDrawSetString(SpreeText[i], str);
return true;
}
return true;
}
return 1;
}
InfoTD()
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
ScoreText[i] = TextDrawCreate(537.000000, 341.000000, "-");
TextDrawBackgroundColor(ScoreText[i], 255);
TextDrawFont(ScoreText[i], 2);
TextDrawLetterSize(ScoreText[i], 0.290000, 1.300000);
TextDrawColor(ScoreText[i], 0xFFBF00FF);
TextDrawSetOutline(ScoreText[i], 1);
TextDrawSetProportional(ScoreText[i], 1);
SpreeText[i] = TextDrawCreate(537.000000, 356.000000, "-");
TextDrawBackgroundColor(SpreeText[i], 255);
TextDrawFont(SpreeText[i], 2);
TextDrawLetterSize(SpreeText[i], 0.290000, 1.200000);
TextDrawColor(SpreeText[i], 0xFFBF00FF);
TextDrawSetOutline(SpreeText[i], 1);
TextDrawSetProportional(SpreeText[i], 1);
}
}
/*:D*/