21.08.2013, 21:51
alguem me ajuda como fazer um vip por mes
exemplo
/darvip [id] [tipo] [meses]
ai quando ele conectar aparece seu vip expira em: 21/08/2013
achei essa base na net mas n to conseguindo alguem ajuda
#include a_samp
#include zcmd
#include sscanf2
#include dof2
enum pInfo { pAdmin, pVIP, pMesesVIP};
new PlayerInfo[MAX_PLAYERS][pInfo];
stock Nome(playerid){ new Nome[21];GetPlayerName(playerid,Nome,21) ; return Nome ; }
public OnFilterScriptExit () {
DOF2::Exit () ;
return true ;
}
public OnPlayerSpawn(playerid)
{
new Arquivo[64];
format(Arquivo,64,"Contas/%s.ini",Nome(playerid));
if(DOF2_GetInt(Arquivo,"Tipo VIP")>=1){
if(gettime()>= DOF2_GetInt(Arquivo,"Tempo VIP")) {
DOF2_SetInt(Arquivo,"Tempo VIP",0);
DOF2_SetInt(Arquivo,"Tipo VIP",0);
SendClientMessage(playerid,-1,"Seu VIP acabou");
}
PlayerInfo[playerid][pVIP]=DOF2_GetInt(Arquivo,"Tipo VIP");
PlayerInfo[playerid][pMesesVIP]=DOF2_GetInt(Arquivo,"Tempo VIP");
SendClientMessage(playerid, -1, "Seu ainda nгo acabou" ) ;
}
return true;
}
CMD:darvip(playerid,params[])
{
new pID,pType,pMonth,Celulas[128],Arquivo[128];
if(sscanf(params, "udd",pID,pType,pMonth))
return SendClientMessage ( playerid, -1, "/darvip [id] [tipo] [meses]" ) ;
PlayerInfo[pID][pMesesVIP]=(gettime()+(pMonth*60*24*30));
PlayerInfo[pID][pVIP]=pType;
format ( Arquivo, 128, "Contas/%s.ini",Nome(pID));
if(!DOF2::FileExists(Arquivo)) {
DOF2::CreateFile(Arquivo);
DOF2::SetInt(Arquivo,"Tempo VIP",PlayerInfo[pID][pMesesVIP]);
DOF2::SetInt(Arquivo,"Tipo VIP",PlayerInfo[pID][pVIP ]);
DOF2::SetInt(Arquivo,"Vencimento VIP",getdate());
DOF2::SaveFile();
}
else {
DOF2::SetInt(Arquivo,"Tempo VIP",PlayerInfo[pID][pMesesVIP]);
DOF2::SetInt(Arquivo,"Tipo VIP",PlayerInfo[pID][pVIP]);
DOF2::SaveFile();
}
return true ;
}
exemplo
/darvip [id] [tipo] [meses]
ai quando ele conectar aparece seu vip expira em: 21/08/2013
achei essa base na net mas n to conseguindo alguem ajuda
#include a_samp
#include zcmd
#include sscanf2
#include dof2
enum pInfo { pAdmin, pVIP, pMesesVIP};
new PlayerInfo[MAX_PLAYERS][pInfo];
stock Nome(playerid){ new Nome[21];GetPlayerName(playerid,Nome,21) ; return Nome ; }
public OnFilterScriptExit () {
DOF2::Exit () ;
return true ;
}
public OnPlayerSpawn(playerid)
{
new Arquivo[64];
format(Arquivo,64,"Contas/%s.ini",Nome(playerid));
if(DOF2_GetInt(Arquivo,"Tipo VIP")>=1){
if(gettime()>= DOF2_GetInt(Arquivo,"Tempo VIP")) {
DOF2_SetInt(Arquivo,"Tempo VIP",0);
DOF2_SetInt(Arquivo,"Tipo VIP",0);
SendClientMessage(playerid,-1,"Seu VIP acabou");
}
PlayerInfo[playerid][pVIP]=DOF2_GetInt(Arquivo,"Tipo VIP");
PlayerInfo[playerid][pMesesVIP]=DOF2_GetInt(Arquivo,"Tempo VIP");
SendClientMessage(playerid, -1, "Seu ainda nгo acabou" ) ;
}
return true;
}
CMD:darvip(playerid,params[])
{
new pID,pType,pMonth,Celulas[128],Arquivo[128];
if(sscanf(params, "udd",pID,pType,pMonth))
return SendClientMessage ( playerid, -1, "/darvip [id] [tipo] [meses]" ) ;
PlayerInfo[pID][pMesesVIP]=(gettime()+(pMonth*60*24*30));
PlayerInfo[pID][pVIP]=pType;
format ( Arquivo, 128, "Contas/%s.ini",Nome(pID));
if(!DOF2::FileExists(Arquivo)) {
DOF2::CreateFile(Arquivo);
DOF2::SetInt(Arquivo,"Tempo VIP",PlayerInfo[pID][pMesesVIP]);
DOF2::SetInt(Arquivo,"Tipo VIP",PlayerInfo[pID][pVIP ]);
DOF2::SetInt(Arquivo,"Vencimento VIP",getdate());
DOF2::SaveFile();
}
else {
DOF2::SetInt(Arquivo,"Tempo VIP",PlayerInfo[pID][pMesesVIP]);
DOF2::SetInt(Arquivo,"Tipo VIP",PlayerInfo[pID][pVIP]);
DOF2::SaveFile();
}
return true ;
}