Sei nгo em, acho que nгo vai funcionar nгo esse seu sistema de tempo zhm , testa ae e vк se funciona, se esse ai nгo funcionar testa esse.
pawn Код:
#include <a_samp>
#include <Dini>
//Para ver se o Player й Temp:
// ** Temp[playerid]==1 **
//Variaveis
new DiaCT,MesCT,AnoCT,HoraCT,MinCT,Temp[MAX_PLAYERS],IDT[MAX_PLAYERS];
//Mudar de acordo com level para dar Temp
#define NAOADM !IsPlayerAdmin(playerid)
//Cores
#define amarelo 0xFFFF00AA
#define verde 0x33FF33AA
#define vermelho 0xFF0000AA
#define vermelhoescuro 0xAA3333AA
#define branco 0xFFFFFFAA
#define rosa 0xCCFF00FFAA
#define azul 0x057ABDAA
#define cinza 0xC0C0C0AA
#define yellow 0xFFFF00AA
#define laranja 0xFFA500AA
//================ [Dialogs] =================
#define TEMP2 ShowPlayerDialog(playerid,3296,DIALOG_STYLE_INPUT,"Colocar Temporбrio:","Coloque a quantidade de horas a baixo:","Colocar","Sair");
#define TEMP1 ShowPlayerDialog(playerid,3297,DIALOG_STYLE_INPUT,"Colocar Temporбrio:","Coloque o ID a baixo:","Proximo","Sair");
#define TTEMP ShowPlayerDialog(playerid,3298,DIALOG_STYLE_INPUT,"Tirar Temporбrio:","Coloque o ID a baixo:","Tirar","Sair");
//--------------------------------------------
stock FormatTemp(Name[]) {
new str1[40];format(str1,40,"Temps/%s.ini",Name);
return str1;
}
stock IsPlayerTemp(playerid) {
new tname[25];GetPlayerName(playerid,tname,25);
if(fexist(FormatTemp(tname))) {
new hora,minut,segu,day,year,month;gettime(hora,minut,segu);getdate(year,month,day);
if((dini_Int(FormatTemp(tname),"Hora")>=hora)&&(dini_Int(FormatTemp(tname),"Minuto")>=minut)&&(dini_Int(FormatTemp(tname),"Dia")>=day)&&(dini_Int(FormatTemp(tname),"Mes")>=month)&&(dini_Int(FormatTemp(tname),"Ano")>=year)) return 2;
return 1;
}
return 0;
}
stock IsMes() {
new diad,mesm,anoa;getdate(anoa,mesm,diad);
if(mesm==1) return 1;
if(mesm==2) return 2;
if(mesm==3) return 1;
if(mesm==4) return 0;
if(mesm==5) return 1;
if(mesm==6) return 0;
if(mesm==7) return 1;
if(mesm==8) return 1;
if(mesm==9) return 0;
if(mesm==10) return 1;
if(mesm==11) return 0;
if(mesm==12) return 1;
return 3;
}
stock AjustarTempo(Horas) {
new dd,mm,aa,hh,mee,ss;getdate(aa,mm,dd);gettime(hh,mee,ss);
HoraCT=hh;
MinCT=mee;
DiaCT=dd;
if((Horas+hh)>23) {HoraCT=((Horas+hh)-23);DiaCT++;}
MesCT=mm;
if(DiaCT>31&&IsMes()==1) {DiaCT=1;MesCT++;}
if(DiaCT>28&&IsMes()==2) {DiaCT=1;MesCT++;}
if(DiaCT>30&&IsMes()==0) {DiaCT=1;MesCT++;}
AnoCT=aa;
if(MesCT>12) {MesCT=1;AnoCT++;}
return 1;
}
stock TornarTemp(playerid,id,Tempo) {
new tname[25];GetPlayerName(id,tname,25);
new nomeadm[25];GetPlayerName(playerid,nomeadm,25);
if(!fexist(FormatTemp(tname))) {
new File:M=fopen(FormatTemp(tname),io_write);fclose(M);
AjustarTempo(Tempo);
dini_Set(FormatTemp(tname),"Admin",nomeadm);
dini_IntSet(FormatTemp(tname),"Dia",DiaCT);
dini_IntSet(FormatTemp(tname),"Mes",MesCT);
dini_IntSet(FormatTemp(tname),"Ano",AnoCT);
dini_IntSet(FormatTemp(tname),"Hora",HoraCT);
dini_IntSet(FormatTemp(tname),"Minuto",MinCT);
}
return 1;
}
stock TirarTemp(playerid) {
new tname[25];GetPlayerName(playerid,tname,25);
if(fexist(FormatTemp(tname))) {
fremove(FormatTemp(tname));
Temp[playerid]=0;}
return 1;
}
stock ShowTemps(playerid) {
SendClientMessage(playerid,vermelho,"[TEMP] Administradores Temporбrios Onlines:");
for(new t=0;t<=MAX_PLAYERS;t++) {
if(Temp[t]==1) {
new tname[25],str1[100];GetPlayerName(t,tname,25);
format(str1,100,"Temp-Admin %s >> Por: %s atй %i:%i",tname,dini_Get(FormatTemp(tname),"Admin"),dini_Int(FormatTemp(tname),"Hora"),dini_Int(FormatTemp(tname),"Minuto"));
SendClientMessage(playerid,branco,str1);
}
}
return 1;
}
#define FILTERSCRIPT
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n==============================================");
print(" Temp System Script By SuB_ZeRo0_ [0.3]");
print(" Versao: 0.0.9 || PREMIUM: SIM");
print(" Comandos PREMIUM: //--=--\\");
print("==============================================\n");
SetTimer("TempLoad",60000,true);
//Anti-Descompiler
new a[][15] = { "?","0","?" };
#pragma unused a
//Fim
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
}
#endif
forward TempLoad();
public TempLoad() {
for(new r=0;r<=MAX_PLAYERS;r++) {
if(IsPlayerTemp(r)==2) {TirarTemp(r);}}
return 1;
}
public OnPlayerDisconnect(playerid)
{
Temp[playerid]=0;
return 1;
}
public OnPlayerConnect(playerid)
{
if(IsPlayerTemp(playerid)==2) {TirarTemp(playerid);}
if(IsPlayerTemp(playerid)==1) {Temp[playerid]=1;}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/temp",cmdtext,true)) {
if(NAOADM) return 1;
TEMP1
}
if(!strcmp("/tirartemp",cmdtext,true)) {
if(NAOADM) return 1;
TTEMP
}
if(!strcmp("/temps",cmdtext,true)||!strcmp("/temporбrios",cmdtext,true)||!strcmp("/temporarios",cmdtext,true)) {
ShowTemps(playerid);
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==3298&&response) {
if(!strlen(inputtext)) return SendClientMessage(playerid,vermelho,"[TEMP] Coloque um ID!");
if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid,vermelho,"[TEMP] Jogador nгo encontrado!");
if(Temp[strval(inputtext)]==0) return SendClientMessage(playerid,vermelho,"[TEMP] Este jogador nгo й TEMP!");
TirarTemp(strval(inputtext));
}
if(dialogid==3297&&response) {
if(!strlen(inputtext)) return SendClientMessage(playerid,vermelho,"[TEMP] Coloque um ID!");
if(Temp[strval(inputtext)]==1) return SendClientMessage(playerid,vermelho,"[TEMP] Este jogador jб й TEMP!");
if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid,vermelho,"[TEMP] Jogador nгo encontrado!");
IDT[playerid]=strval(inputtext);
TEMP2
}
if(dialogid==3296&&response) {
if(!strlen(inputtext)) {SendClientMessage(playerid,vermelho,"[TEMP] Coloque uma quantidade de horas!"); TEMP2 return 1;}
if(strval(inputtext)>10) {SendClientMessage(playerid,vermelho,"[TEMP] Coloque um tempo entre 1 e 10 horas!"); TEMP2 return 1;}
if(strval(inputtext)<1) {SendClientMessage(playerid,vermelho,"[TEMP] Coloque um tempo entre 1 e 10 horas!"); TEMP2 return 1;}
TornarTemp(playerid,IDT[playerid],strval(inputtext));
}
return 1;
}