Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- gVIP- By: [J]ulian.
- v0.0.1 - 22/09/2014
- - Lanzamiento inicial.
- v0.0.2 - 23/09/2014
- - Soporte a vehículos.
- - Ahora se puede establecer VIP's infinitos en tiempo.
- Requerido:
- - y_hooks: http://forum.sa-mp.com/showthread.php?t=166016
- */
- #include <YSI\y_hooks>
- #define INVALID_VIP_ID -1
- enum
- {
- VIP_LEVEL_BRONZE,
- VIP_LEVEL_SILVER,
- VIP_LEVEL_GOLD,
- }
- enum VIP_INFO
- {
- VIP_TIME,
- VIP_LEVEL,
- bool:VIP_INFINITE,
- }
- new VipInfo[MAX_PLAYERS][VIP_INFO];
- enum vVIP_INFO
- {
- VIP_TIME,
- VIP_LEVEL,
- bool:VIP_INFINITE,
- }
- new vVipInfo[MAX_VEHICLES][vVIP_INFO];
- /*
- native SetPlayerVip(playerid, levelid, time, bool:infinite = false);
- native ResetPlayerVip(playerid);
- native GetPlayerVipLevel(playerid);
- native GetPlayerVipTime(playerid);
- native GetPlayerVipInfo(playerid, &level, &time);
- native IsPlayerInfiniteVip(playerid);
- native SetVehicleVip(vehicleid, levelid, time, bool:infinite = false);
- native ResetVehicleVip(vehicleid);
- native GetVehicleVipLevel(vehicleid);
- native GetVehicleVipTime(vehicleid);
- native GetVehicleVipInfo(vehicleid, &level, &time);
- native IsVehicleInfiniteVip(vehicleid);
- */
- hook OnPlayerConnect(playerid)
- {
- ResetPlayerVip(playerid);
- return 1;
- }
- stock SetVehicleVip(vehicleid, levelid, time, bool:infinite = false)
- {
- if(IsValidVehicle(vehicleid))
- {
- vVipInfo[vehicleid][VIP_LEVEL] = levelid;
- vVipInfo[vehicleid][VIP_TIME] = gettime()+time;
- if(infinite)
- {
- vVipInfo[vehicleid][VIP_INFINITE] = true;
- }
- }
- return INVALID_VEHICLE_ID;
- }
- stock ResetVehicleVip(vehicleid)
- {
- if(IsValidVehicle(vehicleid))
- {
- vVipInfo[vehicleid][VIP_LEVEL] = INVALID_VIP_ID;
- vVipInfo[vehicleid][VIP_TIME] = INVALID_VIP_ID;
- vVipInfo[vehicleid][VIP_INFINITE] = false;
- }
- return INVALID_VEHICLE_ID;
- }
- stock GetVehicleVipTime(vehicleid)
- {
- if(IsValidVehicle(vehicleid))
- {
- new time = 0;
- if(!IsVehicleInfiniteVip(vehicleid))
- {
- time = vVipInfo[vehicleid][VIP_TIME]-gettime();
- if(time < 0)
- {
- ResetVehicleVip(vehicleid);
- time = INVALID_VIP_ID;
- }
- }
- return time;
- }
- return INVALID_VEHICLE_ID;
- }
- stock GetVehicleVipLevel(vehicleid)
- {
- if(IsValidVehicle(vehicleid))
- {
- if(GetPlayerVipTime(vehicleid) < 0 && !IsVehicleInfiniteVip(vehicleid))
- {
- ResetVehicleVip(vehicleid);
- }
- return vVipInfo[vehicleid][VIP_LEVEL];
- }
- return INVALID_VEHICLE_ID;
- }
- stock GetVehicleVipInfo(vehicleid, &level, &time)
- {
- if(IsValidVehicle(vehicleid))
- {
- time = 0;
- if(!IsVehicleInfiniteVip(vehicleid))
- {
- time = vVipInfo[vehicleid][VIP_TIME]-gettime();
- if(time < 0)
- {
- ResetVehicleVip(vehicleid);
- time = INVALID_VIP_ID;
- }
- }
- level = vVipInfo[vehicleid][VIP_LEVEL];
- }
- return INVALID_PLAYER_ID;
- }
- stock IsVehicleInfiniteVip(vehicleid)
- {
- if(IsValidVehicle(vehicleid))
- {
- return vVipInfo[vehicleid][VIP_INFINITE];
- }
- return INVALID_VEHICLE_ID;
- }
- stock SetPlayerVip(playerid, levelid, time, bool:infinite = false)
- {
- if(IsPlayerConnected(playerid))
- {
- VipInfo[playerid][VIP_LEVEL] = levelid;
- VipInfo[playerid][VIP_TIME] = gettime()+time;
- if(infinite)
- {
- VipInfo[playerid][VIP_INFINITE] = true;
- }
- }
- return INVALID_PLAYER_ID;
- }
- stock ResetPlayerVip(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- VipInfo[playerid][VIP_LEVEL] = INVALID_VIP_ID;
- VipInfo[playerid][VIP_TIME] = INVALID_VIP_ID;
- VipInfo[playerid][VIP_INFINITE] = false;
- }
- return INVALID_PLAYER_ID;
- }
- stock GetPlayerVipTime(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- new time = 0;
- if(!IsPlayerInfiniteVip(playerid))
- {
- time = VipInfo[playerid][VIP_TIME]-gettime();
- if(time < 0)
- {
- ResetPlayerVip(playerid);
- time = INVALID_VIP_ID;
- }
- }
- return time;
- }
- return INVALID_PLAYER_ID;
- }
- stock GetPlayerVipLevel(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(GetPlayerVipTime(playerid) < 0 && !IsPlayerInfiniteVip(playerid))
- {
- ResetPlayerVip(playerid);
- }
- return VipInfo[playerid][VIP_LEVEL];
- }
- return INVALID_PLAYER_ID;
- }
- stock GetPlayerVipInfo(playerid, &level, &time)
- {
- if(IsPlayerConnected(playerid))
- {
- time = 0;
- if(!IsPlayerInfiniteVip(playerid))
- {
- time = VipInfo[playerid][VIP_TIME]-gettime();
- if(time < 0)
- {
- ResetPlayerVip(playerid);
- time = INVALID_VIP_ID;
- }
- }
- level = VipInfo[playerid][VIP_LEVEL];
- }
- return INVALID_PLAYER_ID;
- }
- stock IsPlayerInfiniteVip(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- return VipInfo[playerid][VIP_INFINITE];
- }
- return INVALID_PLAYER_ID;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement