*~~VipInfo~~*
By Dan
Imagens:



By Dan
Imagens:



Codigo:
PHP Code:
/*
Creditos:
Dan - FilterScript
Topico: http://forum.sa-mp.com/showthread.php?p=2418643
Projeto Iniciado: 08/03/2013 ás 19:38
Projeto Terminado: 08/03/2013 ás 21:01
*/
// *~~ Includes ~~* //
#include <a_samp>
#include <DOF2>
#include <dutils>
#include <ZCMD>
#include <sscanf>
// *~~ pragma ~~* //
#pragma unused ret_memcpy
// *~~ New's ~~* // new TempoVip[MAX_PLAYERS];
new bool:PlayerVip[MAX_PLAYERS];
public OnFilterScriptInit() return 1;
public OnFilterScriptExit()
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
SalvandoVip(i);
}
return 1;
}
public OnPlayerDisconnect(playerid) { SalvandoVip(playerid); SetandoVip(playerid); return 1; }
public OnPlayerConnect(playerid) { SetandoVip(playerid); return 1; }SalvandoVip(playerid)
{
new Nick[24], String[50];
GetPlayerName(playerid, Nick, sizeof(Nick));
format(String, sizeof(String), "/Vips/%s.ini", Nick);
if(fexist(String))
DOF2::SetInt(String,"TempoVip", TempoVip[playerid]);
DOF2::SaveFile();
return 1;
}SetandoVip(playerid)
{
new Nick[24], String[50];
GetPlayerName(playerid, Nick, sizeof(Nick));
format(String, sizeof(String), "/Vips/%s.ini", Nick);
if(fexist(String))
{
TempoVip[playerid] = DOF2::GetInt(String, "TempoVip");
if(TempoVip[playerid] < Now())
{
PlayerVip[playerid] = false;
SendClientMessage(playerid, 0xFFC458AA, "*~~.VipInfo.~~* Seu Vip Expirou!");
DOF2::RemoveFile(String);
}
else
{
new StrVd[70];
PlayerVip[playerid] = true;
format(StrVd, sizeof(StrVd), "*~~.VipInfo.~~* Seu VIP ira expirar em %s.", Convert(TempoVip[playerid]-Now()));
SendClientMessage(playerid, 0xFFC458AA, StrVd);
}
}
return 1;
}Convert(number)
{
new hours = 0, mins = 0, secs = 0, string[128];
hours = floatround(number / 3600);
mins = floatround((number / 60) - (hours * 60));
secs = floatround(number - ((hours * 3600) + (mins * 60)));
new days = 0;
if(hours >= 24)
{
days = floatround((hours/24), floatround_floor);
hours = hours % 24;
}
if(days > 0)
{
format(string, 100, "%ddias, %dh %dm e %ds", days, hours, mins, secs);
}
else if(hours > 0)
{
format(string, 100, "%dh %dm e %ds", hours, mins, secs);
}
else
{
format(string, 100, "%dm e %ds", mins, secs);
}
return string;
}/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Comandos: /setvip e /vips ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ CMD:setvip(playerid, params[])
{
new id, dias, DVString[115];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "ERRO: Você precisa estar na RCON para usar este Comando!");
if(sscanf(params, "ud", id, dias)) return SendClientMessage(playerid, -1, "Uso Correto: /setvip [id] [dias]");
if(!IsPlayerConnected(id))
{
new string[30];
format(string, sizeof(string), "%d não é um player ativo!", id);
SendClientMessage(playerid, 0xFF0000AA, string);
return 1;
}
else
{
new Nick1[24], Nick2[24];
GetPlayerName(playerid, Nick1, sizeof(Nick1));
GetPlayerName(id, Nick2, sizeof(Nick2));
PlayerVip[playerid] = true;
format(DVString,sizeof(DVString), "*~~.VipInfo.~~* Você Acaba de Receber %d dias de Vip de %s", dias, Nick1);
SendClientMessage(playerid, 0xFFC458AA, DVString);
TempoVip[playerid] = Now()+24*60*60*dias;
new StringSV[100];
format(StringSV, sizeof(StringSV), "/Vips/%s.ini", Nick2);
DOF2::CreateFile(StringSV);
DOF2::SetInt(StringSV,"TempoVip",TempoVip[playerid]);
DOF2::SaveFile();
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(PlayerVip[playerid] == true)
{
format(DVString,sizeof(DVString), "*~~.VipInfo.~~* O Player %s Acaba de Receber %d dias de Vip de %s", Nick2, dias, Nick1);
SendClientMessage(i, 0xFFC458AA, DVString);
}
}
}
return true;
}CMD:vips(playerid)
{
new vipon;
SendClientMessage(playerid, 0xFFC458AA, "*~~.VipInfo.~~* Todos Os Vip's Online:");
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerVip[i] == true)
{
new str[128], Nick[24];
GetPlayerName(i, Nick, sizeof(Nick));
format(str, sizeof(str), "*~~.Vip %s [Tempo restante %s].~~*", Nick, Convert(TempoVip[i]-Now()));
SendClientMessage(playerid, -1, str);
vipon++;
}
}
}
if(vipon == 0)
{
SendClientMessage(playerid, -1, "Não têm nenhum VIP Online no momento...");
}
return true;
}CMD:jetpack(playerid)
{
if(PlayerVip[playerid] == true)
{
SetPlayerSpecialAction(playerid, 2);
SendClientMessage(playerid, -1, "*~~.VipInfo.~~* Você criou um JetPack!");
}
return true;
}CMD:vc(playerid, params[])
{
new mensagem[120];
if(PlayerVip[playerid] == false) return SendClientMessage(playerid, -1, "ERRO: Você não pode utilizar este Comando!");
if(sscanf(params, "s", mensagem)) return SendClientMessage(playerid, -1, "Uso Correto: /v [mensagem]");
{
new StrMSG[165], Nick[24];
GetPlayerName(playerid, Nick, sizeof(Nick));
format(StrMSG, sizeof(StrMSG), "*~~Vip_Chat~~* %s (%d): %s", Nick, playerid, mensagem);
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(PlayerVip[i] == true)
{
SendClientMessage(i, 0xFFC458AA, StrMSG);
}
}
}
return true;
}CMD:cc(playerid, params[])
{
new idcarro;
if(PlayerVip[playerid] == false) return SendClientMessage(playerid, -1, "ERRO: Você não pode utilizar este Comando!");
if(sscanf(params, "d", idcarro)) return SendClientMessage(playerid, -1, "Uso Correto: /v [mensagem]");
{
new Float:pX, Float:pY, Float:pZ, Float:pA;
GetPlayerPos(playerid, pX, pY, pZ);
GetPlayerFacingAngle(playerid, pA);
CreateVehicle(idcarro, pX+5, pY, pZ+1, pA, random(100), random(100), -1);
SendClientMessage(playerid, -1, "Veiculo Criado!");
}
return true;
}
Não Removam Os Creditos, Obrigado.
Download:
PastebinCreditos: DanDRT
0 comentários:
Postar um comentário