Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*==========================Ulric V.I.P System by Xaviour212====================
- Credits to:
- - Xaviour212 / Dimas Rizward H, make this script
- - Peinneon, tester
- - Sheen, helping me
- - DracoBlue, for Dini and DCMD
- - Y_Less, for sscanf
- ==============================================================================*/
- #include <a_samp>
- #include <dini>
- #include <sscanf>
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #define green 0x16EB43FF
- #define red 0xFF0000AA
- #define blue 0x33CCFFAA
- #define vBlue 0x0259EAAA
- #define vRed 0xFF0000AA
- #define vGreen 0x16EB43FF
- #define vPurple 0xB360FDFF
- #define vPink 0xCCFF00FF
- #define vYellow 0xFFFF00FF
- #define vGrey 0xC0C0C0FF
- #define vOrange 0xFFA500FF
- #define vBrown 0x800000FF
- #define colordialog 8131
- new Name[MAX_PLAYERS];
- new String[MAX_PLAYERS];
- new file[256];
- enum PlayerData
- {
- vCar,
- hTime,
- aTime
- };
- new PlayerInfo[MAX_PLAYERS][PlayerData];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Ulric V.I.P System by Xaviour212");
- print("--------------------------------------\n");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- PlayerInfo[playerid][vCar] = -1;
- PlayerInfo[playerid][hTime] = 1;
- PlayerInfo[playerid][aTime] = 1;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(setvip,6,cmdtext);
- dcmd(ejvip,5,cmdtext);
- dcmd(vheal,5,cmdtext);
- dcmd(vbike,5,cmdtext);
- dcmd(vehfix,6,cmdtext);
- dcmd(vehcolor,8,cmdtext);
- dcmd(myskins,7,cmdtext);
- dcmd(myweather,9,cmdtext);
- dcmd(mytime,6,cmdtext);
- dcmd(vcar,4,cmdtext);
- dcmd(vjetpack,8,cmdtext);
- dcmd(varmor,6,cmdtext);
- dcmd(vheli,5,cmdtext);
- dcmd(vnos,4,cmdtext);
- dcmd(mycolor,7,cmdtext);
- dcmd(vplane,6,cmdtext);
- return 0;
- }
- //===================RCON COMMAND==============
- dcmd_setvip(playerid, params[])
- {
- new id,vip;
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,red,"[ERROR]You are not an admin.");
- if(sscanf(params,"ui", id,vip))return SendClientMessage(playerid, red, "[ERROR]Usage: /setvip [id] [VipID]");//Use Vip id 1 for Premium, 2 for Silver and 3 for Gold
- if(vip > 3)return SendClientMessage(playerid,red,"There are only 3 kinds of vip");
- if(vip == 1)
- {
- GetPlayerName(playerid, Name, sizeof(Name));
- format(String, sizeof(String), "%s has set you become a Premium member.",Name);
- SendClientMessage(id,green, String);
- if(!dini_Exists(PFile(playerid)))
- {
- dini_Create(PFile(playerid));
- dini_IntSet(PFile(playerid),"VipMember",1);
- }
- else if(dini_Exists(PFile(playerid)))
- {
- dini_IntSet(PFile(playerid),"VipMember",1);
- }
- GivePlayerMoney(playerid, 500000);
- }
- if(vip == 2)
- {
- GetPlayerName(playerid, Name, sizeof(Name));
- format(String, sizeof(String), "%s has set you become a Silver member.",Name);
- SendClientMessage(id,green, String);
- if(!dini_Exists(PFile(playerid)))
- {
- dini_Create(PFile(playerid));
- dini_IntSet(PFile(playerid),"VipMember",2);
- }
- else if(dini_Exists(PFile(playerid)))
- {
- dini_IntSet(PFile(playerid),"VipMember",2);
- }
- GivePlayerMoney(playerid, 1000000);
- }
- if(vip == 3)
- {
- GetPlayerName(playerid, Name, sizeof(Name));
- format(String, sizeof(String), "%s has set you become a Gold member.",Name);
- SendClientMessage(id,green, String);
- if(!dini_Exists(PFile(playerid)))
- {
- dini_Create(PFile(playerid));
- dini_IntSet(PFile(playerid),"VipMember",3);
- }
- else if(dini_Exists(PFile(playerid)))
- {
- dini_IntSet(PFile(playerid),"VipMember",3);
- }
- GivePlayerMoney(playerid, 2000000);
- }
- return 1;
- }
- dcmd_ejvip(playerid,params[])
- {
- new id;
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,red,"[ERROR]Only Rcon admin can use this command");
- if(sscanf(params,"u", id))return SendClientMessage(playerid, red, "[ERROR]Usage: /ejvip [id]");
- if(dini_Int(PFile(playerid),"VipMember")==0)return SendClientMessage(playerid, red, "[ERROR]This Player not a VIP member");
- dini_IntSet(PFile(playerid),"VipMember",0);
- SendClientMessage(playerid, blue, "Your VIP period has ended. Immediately do another donation to become a VIP member");
- return 1;
- }
- //==================Premium Command============
- dcmd_vheal(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<1)return SendClientMessage(playerid, red, "[ERROR]You must became Premium member to use this command");
- if(PlayerInfo[playerid][hTime] != 0) return SendClientMessage(playerid, red, "[ERROR]You must wait 3 minutes to use this command again");
- SetPlayerHealth(playerid, 100.0);
- SendClientMessage(playerid,green,"You health has been set to full. You must wait 3 minutes to use this command again");
- SetTimer("HealTimer",180000, false);
- return 1;
- }
- dcmd_vbike(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<1)return SendClientMessage(playerid, red, "[ERROR]You must became Premium member to use this command");
- CarSpawner(playerid, 522);
- SendClientMessage(playerid, green, "Your bike has been spawn!");
- return 1;
- }
- dcmd_vehfix(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<1)return SendClientMessage(playerid, red, "[ERROR]You must became Premium member to use this command");
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, red, "[ERROR]You are not in a vehicle!");
- RepairVehicle(GetPlayerVehicleID(playerid));
- SendClientMessage(playerid, green, "Your vehicle has been successfully repaired!");
- return 1;
- }
- dcmd_vehcolor(playerid, params[])
- {
- new colour1, colour2;
- new tmp[256],player1 = strval(tmp);
- if(dini_Int(PFile(playerid),"VipMember")<1)return SendClientMessage(playerid, red, "[ERROR]You must became Premium member to use this command");
- if(sscanf(params,"dd", colour1, colour2))return SendClientMessage(playerid, red, "[ERROR]Usage: /vehcolor [Colour1] [Colour2]");
- ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
- SendClientMessage(playerid, green, "Your vehicle colour has been changed!");
- return 1;
- }
- //==================Silver Command================
- dcmd_myskins(playerid, params[])
- {
- if(dini_Int(PFile(playerid),"VipMember")<2)return SendClientMessage(playerid, red, "[ERROR]You must became Silver member to use this command");
- new skin;
- if(sscanf(params,"i",skin)) return SendClientMessage(playerid,red,"[ERROR]USAGE: /myskins [SkinID]");
- if(!IsValidSkin(skin)) return SendClientMessage(playerid,red,"[ERROR]Invalid skinID");
- SetPlayerSkin(playerid,skin);
- return 1;
- }
- dcmd_myweather(playerid, params[])
- {
- if(dini_Int(PFile(playerid),"VipMember")<2)return SendClientMessage(playerid, red, "[ERROR]You must became Silver member to use this command");
- new weather, string[128];
- if(sscanf(params,"i",weather)) return SendClientMessage(playerid,red,"[ERROR]USAGE: /myweather [WeatherID]");
- SetPlayerWeather(playerid,weather);
- format(string, sizeof(string), "You has been set your weather.");
- SendClientMessage(playerid,green,string);
- return 1;
- }
- dcmd_mytime(playerid, params[])
- {
- if(dini_Int(PFile(playerid),"VipMember")<2)return SendClientMessage(playerid, red, "[ERROR]You must became Silver member to use this command");
- new hour, minute;
- if(sscanf(params,"ii",hour,minute)) return SendClientMessage(playerid,red,"[ERROR]USAGE: /mytime [Hour] [Minute]");
- SetPlayerTime(playerid, hour, minute);
- SendClientMessage(playerid, green,"You has been set your time");
- return 1;
- }
- dcmd_vcar(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<2)return SendClientMessage(playerid, red, "[ERROR]You must became Silver member to use this command");
- CarSpawner(playerid, 411);
- SendClientMessage(playerid, green, "Your car has been spawn!");
- return 1;
- }
- dcmd_vjetpack(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<2)return SendClientMessage(playerid, red, "[ERROR]You must became Silver member to use this command");
- SendClientMessage(playerid,green,"Jetpack Spawned.");
- SetPlayerSpecialAction(playerid, 2);
- return 1;
- }
- dcmd_varmor(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<2)return SendClientMessage(playerid, red, "[ERROR]You must became Silver member to use this command");
- if(PlayerInfo[playerid][aTime] != 0) return SendClientMessage(playerid, red, "[ERROR]You must wait 4 minutes to use this command again");
- SetPlayerArmour(playerid, 50.0);
- SendClientMessage(playerid,green,"You armour has been set to 50. You must wait 4 minutes to use this command again");
- SetTimer("ArmourTime",240000, false);
- return 1;
- }
- //======================Gold Command===========
- dcmd_vheli(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<3)return SendClientMessage(playerid, red, "[ERROR]You must became Gold member to use this command");
- CarSpawner(playerid, 487);
- SendClientMessage(playerid, green, "Your heli has been spawn!");
- return 1;
- }
- dcmd_vnos(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<3)return SendClientMessage(playerid, red, "[ERROR]You must became Gold member to use this command");
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, red, "[ERROR]You must in vehicle to use this command");
- switch(GetVehicleModel( GetPlayerVehicleID(playerid) ))
- {
- case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
- return SendClientMessage(playerid,red,"[ERROR] You can not tune this vehicle!");
- }
- AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
- SendClientMessage(playerid, green, "Nos has been added");
- return 1;
- }
- dcmd_mycolor(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<3)return SendClientMessage(playerid, red, "[ERROR]You must became Gold member to use this command");
- ShowPlayerDialog(playerid, colordialog, DIALOG_STYLE_LIST, "NickName Color", "Blue\nRed\nGreen\nPurple\nPink\nYellow\nGrey\nOrange\nBrown", "Select", "Cancel");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- //-------------------Neon System
- if(dialogid == colordialog)
- {
- if(response)
- {
- if(listitem == 0)
- {
- //blue
- SetPlayerColor(playerid, vBlue);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {0x0259EAAA}blue^^");
- }
- if(listitem == 1)
- {
- //red
- SetPlayerColor(playerid, vRed);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {vRed}red^^");
- }
- if(listitem == 2)
- {
- //green
- SetPlayerColor(playerid, vGreen);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {vGreeb}green^^");
- }
- if(listitem == 3)
- {
- //purple
- SetPlayerColor(playerid, vPurple);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {vPuerple}purple^^");
- }
- if(listitem == 4)
- {
- //pink
- SetPlayerColor(playerid, vPink);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {vPink}pink^^");
- }
- if(listitem == 5)
- {
- //yellow
- SetPlayerColor(playerid, vYellow);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {vYellow}yellow^^");
- }
- if(listitem == 6)
- {
- //grey
- SetPlayerColor(playerid, vGrey);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {vGrey}grey^^");
- }
- if(listitem == 7)
- {
- //orange
- SetPlayerColor(playerid, vOrange);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {vOrange}orange^^");
- }
- if(listitem == 8)
- {
- //brown
- SetPlayerColor(playerid, vBrown);
- SendClientMessage(playerid, 0xFFFFFFFF, "^^Your nickname now colored {vBrown}brown^^");
- }
- }
- }
- }
- dcmd_vplane(playerid, params[])
- {
- #pragma unused params
- if(dini_Int(PFile(playerid),"VipMember")<3)return SendClientMessage(playerid, red, "[ERROR]You must became Premium member to use this command");
- CarSpawner(playerid, 519);
- SendClientMessage(playerid, green, "Your plane has been spawn!");
- return 1;
- }
- forward CarSpawner(playerid,model);
- public CarSpawner(playerid,model)
- {
- if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, red, "You already have a car!");
- else
- {
- new Float:x, Float:y, Float:z, Float:angle;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, angle);
- if(PlayerInfo[playerid][vCar] != -1) CarDeleter(PlayerInfo[playerid][vCar]);
- new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
- PutPlayerInVehicle(playerid, vehicleid, 0);
- SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
- LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
- ChangeVehicleColor(vehicleid,0,7);
- PlayerInfo[playerid][vCar] = vehicleid;
- }
- return 1;
- }
- forward CarDeleter(vehicleid);
- public CarDeleter(vehicleid)
- {
- for(new i=0;i<MAX_PLAYERS;i++) {
- new Float:X,Float:Y,Float:Z;
- if(IsPlayerInVehicle(i, vehicleid)) {
- RemovePlayerFromVehicle(i);
- GetPlayerPos(i,X,Y,Z);
- SetPlayerPos(i,X,Y+3,Z);
- }
- SetVehicleParamsForPlayer(vehicleid,i,0,1);
- }
- SetTimerEx("VehRes",1500,0,"i",vehicleid);
- }
- forward HealTimer(playerid);
- public HealTimer(playerid)
- {
- SendClientMessage(playerid,blue,"You can use command /vheal again");
- PlayerInfo[playerid][hTime] = 1;
- }
- forward ArmourTimer(playerid);
- public ArmourTimer(playerid)
- {
- SendClientMessage(playerid,blue,"You can use command /varmor again");
- PlayerInfo[playerid][aTime] = 1;
- }
- forward VehRes(vehicleid);
- public VehRes(vehicleid)
- {
- DestroyVehicle(vehicleid);
- }
- stock Gn(playerid)
- {
- new pname[24];
- GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
- return pname;
- }
- stock PFile(playerid)
- {
- format(file,64,"VipUsers/%s.ini",Gn(playerid));
- return file;
- }
- stock IsValidSkin(SkinID)
- {
- if((SkinID >= 0 && SkinID <= 2)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
- else return false;
- }
- stock strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement