28.02.2010, 05:53
Nice.
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; }