17.03.2011, 05:10
(
Последний раз редактировалось Dr_Pawno; 17.03.2011 в 15:12.
)
Fiz este filterscript para algumas pessoas que usam o Relogio do GTAOFF no samp.
DIFERENCA:
Imagem:
Aqui esta o codigo:
Ele pode nгo ser muito util, mas eu acho que valeu o esforco.
DIFERENCA:
Код:
Para cada jogador, o Relogio do GTA OFF no samp aparece uma hora diferente. Este nгo!
Aqui esta o codigo:
pawn Код:
/*--------------------------------------------------------------------
-----------------------[ Relogio by Dr_Pawn ]-----------------------
------------------------------------------------------------------*/
/*------------------------------------------------------------ INCLIDE/DEFINES*/
#include <a_samp>
/*-------------------------------------------------------------------- FORWARD*/
forward LigarRelogio();
forward DesligarRelogio();
forward HorasRelogio();
/*------------------------------------------------------------------------ NEW*/
new Text:Relogio;
new RelogioFunc[3];
new RelogioLigado;
/*--------------------------------------------------------------- FILTERSCRIPT*/
public LigarRelogio()
{
Relogio = TextDrawCreate(562.500000, 5.000000, "23:59");
TextDrawBackgroundColor(Relogio, 255);
TextDrawFont(Relogio, 2);
TextDrawLetterSize(Relogio, 0.250000, 1.700000);
TextDrawColor(Relogio, -1);
TextDrawSetOutline(Relogio, 1);
TextDrawSetProportional(Relogio, 1);
RelogioFunc[0] = 12;
RelogioFunc[1] = -1;
HorasRelogio();
RelogioFunc[2] = SetTimer("HorasRelogio", 1000, true);
return 1;
}
public DesligarRelogio()
{
TextDrawHideForAll(Relogio);
TextDrawDestroy(Relogio);
RelogioFunc[0] = 23;
RelogioFunc[1] = 59;
KillTimer(RelogioFunc[2]);
return 1;
}
public HorasRelogio()
{
new string[256];
RelogioFunc[1] ++;
if(RelogioFunc[1] == 60)
{
RelogioFunc[0] ++;
RelogioFunc[1] =0;
}
if(RelogioFunc[0] == 24)
{
RelogioFunc[0] =0;
}
SetWorldTime(RelogioFunc[0]);
if(RelogioFunc[1] < 10 && RelogioFunc[0] >= 10)
{
format(string, sizeof(string), "%d:0%d", RelogioFunc[0], RelogioFunc[1]);
}
else if(RelogioFunc[0] < 10 && RelogioFunc[1] >= 10)
{
format(string, sizeof(string), "0%d:%d", RelogioFunc[0], RelogioFunc[1]);
}
else if(RelogioFunc[1] < 10 && RelogioFunc[0] < 10)
{
format(string, sizeof(string), "0%d:0%d", RelogioFunc[0], RelogioFunc[1]);
}
else
{
format(string, sizeof(string), "%d:%d", RelogioFunc[0], RelogioFunc[1]);
}
TextDrawSetString(Relogio, string);
return 1;
}
public OnFilterScriptInit()
{
print("---------- ------- --------- ----------");
print("---------- Relogio Carregado ----------");
print("---------- ------- --------- ----------");
return 1;
}
public OnFilterScriptExit()
{
DesligarRelogio();
return 1;
}
public OnPlayerConnect(playerid)
{
TextDrawShowForPlayer(playerid, Relogio);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, Relogio);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256], idx, tmp[256], sendername[MAX_PLAYER_NAME], string[256];
cmd = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
if(strcmp(cmd, "/ligarrelogio", true) == 0)
{
if(IsPlayerAdmin(playerid))// Seu sistema de admin aqui.
{
if(RelogioLigado == 0)
{
LigarRelogio();
TextDrawShowForAll(Relogio);
format(string, sizeof(string), "[ADMIN] %s ligou o relogio.", sendername);
SendClientMessageToAll(0xDDDD00AA, string);
RelogioLigado = 1;
return 1;
}
else
{
SendClientMessage(playerid, 0xAAAAAAAA, "O Relogio ja esta ligado.");
return 1;
}
}
else
{
SendClientMessage(playerid, 0xAAAAAAAA, "Vocк nгo й admin.");
return 1;
}
}
if(strcmp(cmd, "/desligarrelogio", true) == 0)
{
if(IsPlayerAdmin(playerid))// Seu sistema de admin aqui.
{
if(RelogioLigado == 1)
{
DesligarRelogio();
format(string, sizeof(string), "[ADMIN] %s desligou o relogio.", sendername);
SendClientMessageToAll(0xDDDD00AA, string);
RelogioLigado = 0;
return 1;
}
else
{
SendClientMessage(playerid, 0xAAAAAAAA, "O Relogio ja esta desligado.");
return 1;
}
}
else
{
SendClientMessage(playerid, 0xAAAAAAAA, "Vocк nгo й admin.");
return 1;
}
}
if(strcmp(cmd, "/setarhora", true) == 0)
{
if(IsPlayerAdmin(playerid))// Seu sistema de admin aqui.
{
if(RelogioLigado == 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xAAAAAAAA, "USE: /SetarHora [HORA] [MINUTOS]");
return 1;
}
new H = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xAAAAAAAA, "USE: /SetarHora [HORA] [MINUTOS]");
return 1;
}
new M = strval(tmp);
if(H < 0 || H > 23 || M < 0 || M > 59)
{
SendClientMessage(playerid, 0xAAAAAAAA, "USE: /SetarHora [0-23] [0-59]");
return 1;
}
RelogioFunc[0] = H;
RelogioFunc[1] = M-1;
HorasRelogio();
KillTimer(RelogioFunc[2]);
RelogioFunc[2] = SetTimer("HorasRelogio", 1000, true);
format(string, sizeof(string), "[ADMIN] %s setou a hora para %d:%d.", sendername, H, M);
SendClientMessageToAll(0xDDDD00AA, string);
return 1;
}
else
{
SendClientMessage(playerid, 0xAAAAAAAA, "O Relogio nгo esta ligado.");
return 1;
}
}
else
{
SendClientMessage(playerid, 0xAAAAAAAA, "Vocк nгo й admin.");
return 1;
}
}
return 0;
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}