28.02.2012, 09:57
(
Последний раз редактировалось Littlehelper; 28.06.2012 в 11:38.
)
Hello,
I'm Back Again With Another Release Which Is Very Basic "Score'n'Ping" System in Text-Draws.
Introduction:
It Is A Very Basic System Which Shows Player Ping And Score In Text-Draw Under The Radar.
Source:
pawn Код:
new Text:scoreandping[MAX_PLAYERS];
new pDrunkLevelLast[MAX_PLAYERS];
new pFPS[MAX_PLAYERS];
new Updater;
// OnGameModeInIt And/Or OnFilterscriptInIt();
Updater = SetTimer("ScorenPing", 1000, 1);
// OnGameModeExit And/Or OnFilterScriptExit();
KillTimer(Updater);
// OnPlayerConnect Stuff.
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid,-1," This Server Uses lScore'n'Ping System By Littlehelper AKA iKing");
scoreandping[playerid] = TextDrawCreate(10.000000,430.000000,"Loading Statistics!");
TextDrawAlignment(scoreandping[playerid],0);
TextDrawBackgroundColor(scoreandping[playerid],0x000000ff);
TextDrawFont(scoreandping[playerid],1);
TextDrawLetterSize(scoreandping[playerid],0.500000,1.5);
TextDrawColor(scoreandping[playerid],0xffffffff);
TextDrawSetOutline(scoreandping[playerid],1);
TextDrawSetProportional(scoreandping[playerid],1);
TextDrawSetShadow(scoreandping[playerid],1);
TextDrawShowForPlayer(playerid, scoreandping[playerid]);
return 1;
}
// OnPlayerDisconnect Stuff.
public OnPlayerDisconnect(playerid, reason)
{
TextDrawDestroy(scoreandping[playerid]);
return 1;
}
// Publics.
public OnPlayerUpdate(playerid) {
// handle fps counters.
new drunknew;
drunknew = GetPlayerDrunkLevel(playerid);
if (drunknew < 100) { // go back up, keep cycling.
SetPlayerDrunkLevel(playerid, 2000);
} else {
if (pDrunkLevelLast[playerid] != drunknew) {
new wfps = pDrunkLevelLast[playerid] - drunknew;
if ((wfps > 0) && (wfps < 200))
pFPS[playerid] = wfps;
pDrunkLevelLast[playerid] = drunknew;
}
}
}
public ScorenPing(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new string[256];
format(string,sizeof(string),"Score:~b~%d ~w~Ping:~b~%d ~w~FPS:~b~%d",GetPlayerScore(playerid),GetPlayerPing(playerid),GetPlayerFPS(playerid));
TextDrawSetString(scoreandping[i], string);
}
}
}
// Added FPS On Request.
stock GetPlayerFPS(playerid)
{
SetPVarInt(playerid, "DrunkL", GetPlayerDrunkLevel(playerid));
if(GetPVarInt(playerid, "DrunkL") < 100)
{
SetPlayerDrunkLevel(playerid, 2000);
}
else
{
if(GetPVarInt(playerid, "LDrunkL") != GetPVarInt(playerid, "DrunkL"))
{
SetPVarInt(playerid, "FPS", (GetPVarInt(playerid, "LDrunkL") - GetPVarInt(playerid, "DrunkL")));
SetPVarInt(playerid, "LDrunkL", GetPVarInt(playerid, "DrunkL"));
if((GetPVarInt(playerid, "FPS") > 0) && (GetPVarInt(playerid, "FPS") < 256))
{
return GetPVarInt(playerid, "FPS") - 1;
}
}
}
return 0;
}