[I]
Olб novamente. Este mкs estou de feria do trabalho entгo vou trazer algumas coisas a vocкs que sei fazer , eu so sei o basico da maioria. Sim DOF , estou trazendo o que sei fazer nгo o que e o melhor. Todos sistemas foram feitos para um GameMode que estou ah fazer , para ser uma base. |
AddBan(playerid, jogadorid, motivo[]) - Ban permanentemente
AddBanEx(playerid, jogadorid, motivo[], tempo) - Ban por tempo (tempo = dias)
RemovedBan(playerid, name[]) - Remove ban
LoadBanEx(playerid, name[]) - Carrega infoban para admin
LoadBan(playerid) - Verifica se o jogador esta banido
/*
____ _____ __
/ __ \____ ____ / ___/____ ___ ___ ____/ /
/ / / / __ \/ __ \ \__ \/ __ \/ _ \/ _ \/ __ /
/ /_/ / /_/ / / / / ___/ / /_/ / __/ __/ /_/ /
_____/\____/_/ /_/____/____/ .___/\___/\___/\__,_/
/_/
*/
/*
AddBan(playerid, jogadorid, motivo[]) - Ban permanentemente
AddBanEx(playerid, jogadorid, motivo[], tempo) - Ban por tempo (tempo = dias)
RemovedBan(playerid, name[]) - Remove ban
LoadBanEx(playerid, name[]) - Carrega infoban para admin
LoadBan(playerid) - Verifica se o jogador esta banido
*/
#include a_samp
#include DOF2
#define LOCALSALVABAN "BrasilRolePlay/BanEx/%s.ini"
new trocarnome[50], Frases[250];
stock AddBan(playerid, jogadorid, motivo[])
{
format(trocarnome, sizeof(trocarnome), LOCALSALVABAN, DonPegaNome(jogadorid));
if(DOF2_FileExists(trocarnome))return true;
DOF2_CreateFile(trocarnome);
DOF2_SetString(trocarnome,"Nome",DonPegaNome(jogadorid));
DOF2_SetString(trocarnome,"Admin",DonPegaNome(playerid));
DOF2_SetString(trocarnome,"Motivo", motivo);
format(Frases, sizeof Frases,"DSBan: %s baniu %s permanentemente.[Motivo: %s]",DonPegaNome(playerid), DonPegaNome(jogadorid), motivo);
SendClientMessageToAll(-1,Frases);
new Year,Month,Day;
getdate(Year,Month,Day);
DOF2_SetInt(trocarnome,"BanDia", Day);//DOF2_GetInt(trocarnome,"BanDia")
DOF2_SetInt(trocarnome,"BanMes", Month);
DOF2_SetInt(trocarnome,"BanAno", Year);
DOF2_SetInt(trocarnome,"Tempo", "144");
DOF2_SaveFile();
format(Frases, sizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
BAN ETERNO VLW TROUXA.",DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
ShowPlayerDialog(jogadorid, 1000, DIALOG_STYLE_MSGBOX, "Sistema de Banimento", Frases, "Sair", #);
SetTimerEx("Carregando", 5000, false, "i", jogadorid);
return true;
}
stock AddBanEx(playerid, jogadorid, motivo[], tempo)//tempo = dias
{
format(trocarnome, sizeof(trocarnome), LOCALSALVABAN, DonPegaNome(jogadorid));
if(DOF2_FileExists(trocarnome))return true;
DOF2_CreateFile(trocarnome);
DOF2_SetString(trocarnome,"Nome",DonPegaNome(jogadorid));
DOF2_SetString(trocarnome,"Admin",DonPegaNome(playerid));
DOF2_SetString(trocarnome,"Motivo", motivo);
format(Frases, sizeof Frases,"DSBan: %s baniu %s por %d dias.[Motivo: %s]",DonPegaNome(playerid), DonPegaNome(jogadorid), tempo, motivo);
SendClientMessageToAll(-1,Frases);
new Year,Month,Day;
getdate(Year,Month,Day);
DOF2_SetInt(trocarnome,"BanDia", Day);
DOF2_SetInt(trocarnome,"BanMes", Month);
DOF2_SetInt(trocarnome,"BanAno", Year);
DOF2_SetInt(trocarnome,"Tempo", (gettime() + (tempo * 24 * 60 * 60)));
DOF2_SaveFile();
format(Frases, sizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
Tempo para expirar banimento %d dias.",DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"), tempo);
ShowPlayerDialog(jogadorid, 1000, DIALOG_STYLE_MSGBOX, "Sistema de Banimento", Frases, "Sair", #);
SetTimerEx("Carregando", 5000, false, "i", jogadorid);
return true;
}
stock LoadBanEx(playerid, name[])
{
new DTemp;
DTemp = ((((DOF2_GetInt(trocarnome,"Tempo")- gettime()) / 60) / 60) / 24);
format(trocarnome, sizeof(trocarnome), LOCALSALVABAN, name);
if(DOF2_FileExists(trocarnome))return SendClientMessage(playerid, -1, "Erro jogador nгo esta banido.");
if(Dtemp == 0)
{
format(Frases, sizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
Tempo para expirar banimento e menos de 24 Horas.",DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_MSGBOX, "Sistema de Banimento", Frases, "Sair", #);
}
else
{
format(Frases, sizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
Tempo para expirar banimento %d dias.",DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"), DTemp);
ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_MSGBOX, "Sistema de Banimento", Frases, "Sair", #);
}
return true;
}
stock LoadBan(playerid)
{
format(trocarnome, sizeof(trocarnome), LOCALSALVABAN, DonPegaNome(playerid));
if(!DOF2_FileExists(trocarnome))return true;
if(DOF2_GetInt(trocarnome,"Tempo") == 144)
{
format(Frases, sizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
BAN ETERNO VLW TROUXA.",DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_MSGBOX, "Sistema de Banimento", Frases, "Sair", #);
SetTimerEx("Carregando", 5000, false, "i", playerid);
}
else
{
new DTemp;
DTemp = ((((DOF2_GetInt(trocarnome,"Tempo")- gettime()) / 60) / 60) / 24);
if(gettime() >= DOF2_GetInt(trocarnome,"Tempo"))
{
SendClientMessage(playerid, -1,"Seu ban acabou");
DOF2_RemoveFile(trocarnome);
}
else if(gettime() <= DOF2_GetInt(trocarnome,"Tempo"))
{
if(Dtemp == 0)
{
format(Frases, sizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
Tempo para expirar banimento menos de 24 Horas.",DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
}
else
{
format(Frases, sizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
Tempo para expirar banimento %d dias.",DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"),DTemp);
}
ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_MSGBOX, "Sistema de Banimento", Frases, "Sair", #);
SetTimerEx("Carregando", 5000, false, "i", playerid);
}
}
return true;
}
stock RemovedBan(playerid, name[])
{
format(trocarnome, sizeof(trocarnome), LOCALSALVABAN, name);
if(!DOF2_FileExists(trocarnome))return SendClientMessage(playerid, -1, "Jogador nгo esta banido.");
DOF2_RemoveFile(trocarnome);
SendClientMessage(playerid, -1, "Jogador desbanido.");
return true;
}
forward Carregando(playerid);
public Carregando(playerid) return Kick(playerid);
BAN ETERNO VLW TROUXA |
O sistema й bom!
Apenas alguns pontos: Nomenclatura: RemovedBan Esse "d" dб a entender (baseando-se pela traduзгo) que este ban jб foi removido. Cбlculo que retorna quantos dias de ban ainda restam: Supondo que restam menos de 24h, o retorno seria 0, nгo? (nem Float resolveria isso) O correto seria retornar uma string com o tempo jб convertido e nгo o valor inteiro de um cбlculo. Br й br: |
new DTemp;
DTemp = ((((DOF2_GetInt(trocarnome,"Tempo")- gettime()) / 60) / 60) / 24);
if(Dtemp == 0)
{
format(Frases, sizeof Frases,"{FFFFFF}DS-Sistema Banimento\n\n\n\n\
Nick Banido: %s\nAdmin Baniu: %s\nMotivo: %s\nData do Ban: %d/%d/%d\n\n\
Tempo para expirar banimento e menos de 24 Horas.",DOF2_GetString(trocarnome,"Nome"),DOF2_GetString(trocarnome,"Admin"),DOF2_GetString(trocarnome,"Motivo"), DOF2_GetInt(trocarnome,"BanDia"),DOF2_GetInt(trocarnome,"BanMes"), DOF2_GetInt(trocarnome,"BanAno"));
ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_MSGBOX, "Sistema de Banimento", Frases, "Sair", #);
}
PHP код:
![]() |
Stock:ConvertSeconds(seconds) { new _Seconds = (seconds % 60), _Minutes = (seconds / 60), _Hours = (_Minutes / 60), _Days = (_Hours / 24), _CalcTime[90] ; _Minutes -= (_Hours * 60); _Hours -= (_Days * 24); if(_Seconds > 0 && _Minutes < 1 && _Hours < 1 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d segundo(s)", _Seconds); else if(_Seconds > 0 && _Minutes > 0 && _Hours < 1 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d minuto(s) e %02d segundo(s)", _Minutes, _Seconds); else if(_Seconds > 0 && _Minutes > 0 && _Hours > 0 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d hora(s), %02d minuto(s) e %02d segundo(s)", _Hours, _Minutes, _Seconds); else if(_Seconds > 0 && _Minutes > 0 && _Hours > 0 && _Days > 0) format(_CalcTime, sizeof _CalcTime, "%d dia(s), %02d hora(s), %02d minuto(s) e %02d segundo(s)", _Days, _Hours, _Minutes, _Seconds); else if(_Seconds < 1 && _Minutes > 0 && _Hours < 1 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d minuto(s)", _Minutes); else if(_Seconds < 1 && _Minutes > 0 && _Hours > 0 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d hora(s) e %02d minuto(s)", _Hours, _Minutes); else if(_Seconds < 1 && _Minutes > 0 && _Hours > 0 && _Days > 0) format(_CalcTime, sizeof _CalcTime, "%d dia(s), %02d hora(s) e %02d minuto(s)", _Days, _Hours, _Minutes); else if(_Seconds < 1 && _Minutes < 1 && _Hours > 0 && _Days < 1) format(_CalcTime, sizeof _CalcTime, "%02d hora(s)", _Hours); else if(_Seconds < 1 && _Minutes < 1 && _Hours > 0 && _Days > 0) format(_CalcTime, sizeof _CalcTime, "%d dia(s) e %02d hora(s)", _Days, _Hours); else if(_Seconds < 1 && _Minutes < 1 && _Hours < 1 && _Days > 0) format(_CalcTime, sizeof _CalcTime, "%02d dia(s)", _Days); return _CalcTime; }