28.02.2010, 05:53
Nice.

, congratz awesome script
|
Originally Posted by adsy
tested script with 2 players, doesnt work.
ill update it in a bit done! & tested. |
#include <a_samp>
#define SEC1 1000
#define SEC2 2000
#define SEC5 5000
new Text:PlayersOnServer;
new Text:LastPOnServer;
new string[32];
new string2[50];
new PName[MAX_PLAYER_NAME];
new MaxP;
new totalon;
new onoff = 0;
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Show Players who are online by Adsy ");
print("--------------------------------------\n");
MaxP = GetMaxPlayers();
drawagain();
SetTimer("pOnline", SEC2, 1);
return 1;
}
public OnPlayerConnect(playerid){
GetPlayerName(playerid, PName, sizeof(PName));
onoff = 1;
return 0;
}
public OnPlayerDisconnect(playerid, reason){
GetPlayerName(playerid, PName, sizeof(PName));
onoff = 0;
return 0;
}
public OnFilterScriptExit()
{
for(new i=0; i<MAX_PLAYERS; i++) {
TextDrawHideForPlayer(i, PlayersOnServer);
TextDrawHideForPlayer(i, LastPOnServer);
}
return 1;
}
forward drawagain();
public drawagain(){
if(PlayersOnServer){
TextDrawDestroy(PlayersOnServer);
}
if(LastPOnServer){
TextDrawDestroy(LastPOnServer);
}
format(string, sizeof(string), "%i/%i Online", totalon, MaxP);
if(onoff == 1){
format(string2, sizeof(string2), "Last on: %s", PName);
}
if(onoff == 0){
format(string2, sizeof(string2), "Last off: %s", PName);
}
PlayersOnServer = TextDrawCreate(30,326, string);
LastPOnServer = TextDrawCreate(30,318, string2);
return 0;
}
forward pOnline();
public pOnline(){
totalon = 0;
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
if(!IsPlayerNPC(i)){
if(totalon == 0){
totalon = 1;
}
else if (totalon > 0){
totalon++;
}
}
}
}
drawagain();
TextDrawFont(PlayersOnServer,2);
TextDrawUseBox(PlayersOnServer,0);
TextDrawColor(PlayersOnServer,0xFFFFFFFF);
TextDrawAlignment(PlayersOnServer, 1);
TextDrawLetterSize(PlayersOnServer, 0.6, 0.8);
TextDrawFont(LastPOnServer,1);
TextDrawUseBox(LastPOnServer,0);
TextDrawColor(LastPOnServer,0xFFFFFFFF);
TextDrawAlignment(LastPOnServer, 1);
TextDrawLetterSize(LastPOnServer, 0.5, 0.8);
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) && GetPlayerInterior(i) < 1) {
TextDrawShowForPlayer(i, PlayersOnServer);
TextDrawShowForPlayer(i, LastPOnServer);
}
else{
TextDrawHideForPlayer(i, PlayersOnServer);
TextDrawHideForPlayer(i, LastPOnServer);
}
}
return 1;
}