Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // VIP system //
- // Commands //
- Admin Commands :
- 1) VIP Set/
- 2) VIP Remove/
- Vip Normal Player Commands :
- /VIP Commands
- Normal Player Command :
- 1) VIP List/ - Show All the Vip's That loggin
- 2) VIP TeleAccept/ Only if Vip Players Sended to u a message
- // Commands //
- //>>>>>>>Enjoy<<<<<<<//
- #include "a_samp"
- #include "Double-O-Files 2"
- #pragma unused DOF2_Exit
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_RED 0xFB0000FF
- new VChat = 1;
- enum VInfo
- {
- VLevel,
- Tag[30],
- bool:VHeal,
- bool:VArmour,
- VGoto,
- bool:VMute
- }
- new VIP[MAX_PLAYERS][VInfo];
- public OnPlayerConnect(playerid)
- {
- if(DOF2_FileExists(VIPFile(playerid))) VIP[playerid][VLevel] = DOF2_GetInt(VIPFile(playerid), "VIPLevel");
- else VIP[playerid][VLevel] = 0;
- return true;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(VIP[playerid][VLevel] != 0)
- {
- if(!DOF2_FileExists(VIPFile(playerid))) DOF2_CreateFile(VIPFile(playerid));
- DOF2_SetInt(VIPFile(playerid), "VIPLevel", VIP[playerid][VLevel]);
- DOF2_SaveFile();
- }
- if(DOF2_FileExists(VIPFile(playerid)) && !VIP[playerid][VLevel]) DOF2_RemoveFile(VIPFile(playerid));
- return true;
- }
- public OnPlayerSpawn(playerid)
- {
- VIP[playerid][VArmour] = false;
- VIP[playerid][VHeal] = false;
- return true;
- }
- public OnPlayerText(playerid, text[])
- {
- new string[128];
- if(text[0] == '@')
- {
- if(!VIP[playerid][VLevel]) return 1;
- if(VIP[playerid][VMute]) return SendClientMessage(playerid, COLOR_RED, "!àúä ðîöà áîéåè"), 0;
- if(!VChat && VIP[playerid][VLevel] <= 9) return SendClientMessage(playerid, COLOR_RED, "!ñâåø VIP öàè ä"), 0;
- format(string, 128, "%s (ID: %d || VIP Level: %d): %s", GetName(playerid), playerid, DOF2_GetInt(VIPFile(playerid), "VIPLevel"), text[1]);
- for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && DOF2_GetInt(VIPFile(i), "VIPLevel")) SendClientMessage(i, 0x00FF00FF, string);
- return 0;
- }
- return true;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new string[128], cmd[128], cmd2[128], idx;
- cmd = strtok(cmdtext, idx);
- if(!strcmp("/vip", cmd, true))
- {
- cmd = strtok(cmdtext, idx);
- if(!strcmp("set", cmd, true) && IsPlayerAdmin(playerid))
- {
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "/SetVIP [ID] [Level] :öåøú ùéîåù");
- cmd2 = strtok(cmdtext,idx);
- if(!strlen(cmd2)) return SendClientMessage(playerid, -1, "/VIP Set [ID] [Level] :öåøú ùéîåù");
- if(!IsPlayerConnected(strval(cmd))) return SendClientMessage(playerid, COLOR_RED, "!ùç÷ï æä ìà îçåáø ìùøú");
- VIP[strval(cmd)][VLevel] = strval(cmd2);
- format(string, 128, ".%d áøîä VIP %s ùîú ìùç÷ï", strval(cmd2), GetName(strval(cmd)));
- SendClientMessage(playerid, 0x00FF00FF, string);
- format(string, 128, ".%d áøîä VIP ùí àåúê %s äàãîéï", strval(cmd2), GetName(playerid));
- return SendClientMessage(strval(cmd), 0x00FF00FF, string);
- }
- if(!strcmp("remove", cmd, true) && IsPlayerAdmin(playerid))
- {
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "/VIP Remove [ID] :öåøú ùéîåù");
- if(!IsPlayerConnected(strval(cmd))) return SendClientMessage(playerid, COLOR_RED, "!ùç÷ï æä ìà îçåáø ìùøú");
- VIP[strval(cmd)][VLevel] = 0;
- format(string, 128, "VIP îîòøëú ä %s äåøãú àú äùç÷ï",GetName(strval(cmd)));
- SendClientMessage(playerid, 0xFB0000FF, string);
- format(string, 128, "VIP äåøéã àåúê îîòøëú ä %s äàãîéï",GetName(playerid));
- return SendClientMessage(strval(cmd), 0xFB0000FF, string);
- }
- if(!strcmp("list", cmd, true))
- {
- new VMembers = 0;
- SendClientMessage(playerid, 0x00FF00FF, ":äîçåáøéí ìùøú VIP äéðä ëì øùéîú äùç÷ðéí ùáîòøëú ä");
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- if(!VIP[i][VLevel]) continue;
- VMembers++;
- format(string, 128, "%d. %s [ID: %d | Level: %d]",VMembers, GetName(i), i, DOF2_GetInt(VIPFile(i), "VIPLevel"));
- SendClientMessage(playerid, 0x00FFFFFF, string);
- }
- return true;
- }
- if(!strcmp("tagon", cmd, true))
- {
- if(VIP[playerid][VLevel] < 8) return MessageError(playerid, 8);
- format(VIP[playerid][Tag], 30, "%s", ("V.I.P"));
- return SendClientMessage(playerid, 0x33CCFFAA, "V.I.P - ùîú ìòöîê úàâ äð÷øà");
- }
- if(!strcmp("tagoff", cmd, true))
- {
- if(VIP[playerid][VLevel] < 8) return MessageError(playerid, 8);
- format(VIP[playerid][Tag], 30, "%s", ("None"));
- return SendClientMessage(playerid, 0x33CCFFAA, ".VIP äåøãú ìòöîê àú äúàâ ùì ä");
- }
- if(!strcmp("quit", cmd, true))
- {
- if(!VIP[playerid][VLevel]) return SendClientMessage(playerid, COLOR_RED, "!Vip àúä ìà ùç÷ï áîòøëú ä");
- VIP[playerid][VLevel] = 0;
- return SendClientMessage(playerid, 0x008000FF, ".VIP éöàú îîòøëú ä");
- }
- if(!strcmp("fix", cmd, true))
- {
- if(VIP[playerid][VLevel] < 4) return MessageError(playerid, 4);
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "!àúä öøéê ìäéåú áøëá áëãé ìáöò ô÷åãä æå");
- RepairVehicle(GetPlayerVehicleID(playerid));
- return SendClientMessage(playerid, 0x00FFFFFF, "!úé÷ðú àú øëáê");
- }
- if(!strcmp("carj", cmd, true))
- {
- if(VIP[playerid][VLevel] < 3) return MessageError(playerid, 3);
- new Float:Pos[3];
- GetVehicleVelocity(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
- return SetVehicleVelocity(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]+0.3);
- }
- if(!strcmp("commands", cmd, true))
- {
- if(!VIP[playerid][VLevel]) return SendClientMessage(playerid, COLOR_RED, "!Vip àúä ìà ùç÷ï áîòøëú ä");
- ShowPlayerDialog(playerid,1554 , DIALOG_STYLE_MSGBOX, "ëì äô÷åãåú ùì äîòøëú åéàéôé:", "{FF0000}1./VIP ChatClose Level:10-ñåâøú àú äöàè\n\n2./VIP ChatOpen Level:10-ôåúçú àú äöàè\n\n3./VIP Tagon Level:8-ùí úàâ åéàéôé\n\n4./VIP say Level:7-ìùìåç ìëì äùøú äåãòä\n\n5./VIP Fix Level:4-îú÷ï ìê àú äàåèå\n\n6./VIP CarJ Level:3-î÷ôéõ àåúê ëîä îèøéí áàååéø\n\n7./VIPon Level:1-îöá åéàéôé îåôòì", "Next", "Exit");
- return 1;
- }
- if(!strcmp("vipoff", cmd, true))
- {
- if(!VIP[playerid][VLevel]) return SendClientMessage(playerid, COLOR_RED, "!Vip àúä ìà ùç÷ï áîòøëú ä");
- switch(random(8))
- {
- case 0: SetPlayerColor(playerid, 0x4B00B0AA);
- case 1: SetPlayerColor(playerid, 0xADFF2FAA);
- case 2: SetPlayerColor(playerid, 0xF0F8FFAA);
- case 3: SetPlayerColor(playerid, 0xFF00FFFF);
- case 4: SetPlayerColor(playerid, 0xF0F8FFAA);
- case 5: SetPlayerColor(playerid, 0xFF00FFFF);
- case 6: SetPlayerColor(playerid, 0xDC143CAA);
- case 7: SetPlayerColor(playerid, 0xFF7F50AA);
- }
- return SendClientMessage(playerid, 0x00FFFFFF, "VIP éöàú îîöá ä");
- }
- if(!strcmp("vipon", cmd, true))
- {
- if(!VIP[playerid][VLevel]) return SendClientMessage(playerid, COLOR_RED, "!Vip àúä ìà ùç÷ï áîòøëú ä");
- SetPlayerColor(playerid, 0xFFFF00AA);
- return SendClientMessage(playerid, 0x00FF00FF, "VIP ðëñú ìîöá ä");
- }
- if(!strcmp("say", cmd, true))
- {
- if(VIP[playerid][VLevel] < 7) return MessageError(playerid, 7);
- new text[256];
- text = strrest(cmdtext,idx);
- if(!strlen(text)) return SendClientMessage(playerid, -1, "/Vsay [Text] :öåøú ùéîåù");
- format(string, 128, "VIP - %s: %s", GetName(playerid), text);
- return SendClientMessageToAll(0x007DFBFF, string);
- }
- if(!strcmp("jetpack", cmd, true))
- {
- if(VIP[playerid][VLevel] < 6) return MessageError(playerid, 6);
- SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
- return SendClientMessage(playerid, 0xFBBB44FF, ".ìòöîê JetPack éöøú");
- }
- if (!strcmp("health", cmd, true))
- {
- if(VIP[playerid][VLevel] < 2) return MessageError(playerid, 2);
- if(VIP[playerid][VHeal])return SendClientMessage(playerid,COLOR_RED,"!àôùø ìäùúîù áô÷åãä æå ôòí áîååú");
- SendClientMessage(playerid,0xEEE8AAFF,".îéìàú ìòöîê àú äçééí");
- VIP[playerid][VHeal] = true;
- return SetPlayerHealth(playerid,100);
- }
- if(!strcmp("armour", cmd, true))
- {
- if(VIP[playerid][VLevel] < 2) return MessageError(playerid, 2);
- if(VIP[playerid][VArmour]) return SendClientMessage(playerid, COLOR_RED, "!àôùø ìäùúîù áô÷åãä æå ôòí áîååú");
- VIP[playerid][VArmour] = true;
- SetPlayerArmour(playerid, 100.0);
- return SendClientMessage(playerid, 0x00BF00FF, "!îéìàú ìòöîê àú äîâï");
- }
- if(!strcmp("tele", cmd, true))
- {
- if(VIP[playerid][VLevel] < 6) return MessageError(playerid, 6);
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "/VIP Tele [ID] :öåøú ùéîåù");
- if(!IsPlayerConnected(strval(cmd))) return SendClientMessage(playerid, COLOR_RED, "!ùç÷ï æä ìà îçåáø ìùøú");
- VIP[strval(cmd)][VGoto] = playerid;
- format(string, 128, ".á÷ùä ìäùúâøåú, àðà äîúï ìúùåáúå %s ùìçú ìùç÷ï", GetName(strval(cmd)));
- SendClientMessage(playerid, 0x00FF00FF, string);
- format(string, 128, "/TeleAccept - ùìç ìê á÷ùú äùúâøåú, áëãé ìàùø àú äá÷ùä ä÷ù %s äùç÷ï :VIP", GetName(playerid));
- return SendClientMessage(strval(cmd), 0x00FF00FF, string);
- }
- if(!strcmp("teleaccept", cmd, true))
- {
- if(VIP[playerid][VGoto] == -1) return SendClientMessage(playerid, COLOR_RED, "!ìà ùìçå ìê á÷ùú äùúâøåú");
- new Float:pos[3];
- VIP[playerid][VGoto] = -1;
- GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
- return SetPlayerPos(VIP[playerid][VGoto],pos[0],pos[1],pos[2]);
- }
- if(!strcmp("chatclose", cmd, true))
- {
- if(VIP[playerid][VLevel] < 10) return MessageError(playerid, 10);
- if(!VChat) return SendClientMessage(playerid, COLOR_RED, "!ëáø ðòåì VIP öàè ä");
- VChat = 0;
- format(string, 128, "!VIP ðòì àú öàè ä %s äùç÷ï", GetName(playerid));
- return SendVIPMessage(string);
- }
- if(!strcmp("chatopen", cmd, true))
- {
- if(VIP[playerid][VLevel] < 10) return MessageError(playerid, 10);
- if(VChat) return SendClientMessage(playerid, COLOR_RED, ".ëáø ôúåç VIP öàè ä");
- format(string, 128, ".VIP ôúç àú öàè ä %s äùç÷ï", GetName(playerid));
- return SendVIPMessage(string);
- }
- if(!strcmp("message", cmd, true))
- {
- if(VIP[playerid][VLevel] < 5) return MessageError(playerid, 5);
- if(!VChat) return SendClientMessage(playerid, COLOR_RED, "!ñâåø VIP öàè ä");
- new text[256];
- text = strrest(cmdtext,idx);
- if(!strlen(text)) return SendClientMessage(playerid, -1, "/VMessage [Text] :öåøú ùéîåù");
- format(string, 128, "VIP - %s [ID: %d | Level: %d]: %s", GetName(playerid), playerid, DOF2_GetInt(VIPFile(playerid), "VIPLevel"), text);
- return SendVIPMessage(string);
- }
- if(!strcmp("mute", cmd, true))
- {
- if(VIP[playerid][VLevel] < 7) return MessageError(playerid, 7);
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "/VIP Mute [ID] [Reason] :öåøú ùéîåù");
- if(VIP[strval(cmd)][VMute]) return SendClientMessage(playerid, COLOR_RED, "!ùç÷ï æä ëáø ðîöà áîéåè");
- new text[256];
- text = strrest(cmdtext,idx);
- if(!strlen(text)) return SendClientMessage(playerid, -1, "/VMute [ID] [Reason] :öåøú ùéîåù");
- if(!IsPlayerConnected(strval(cmd))) return SendClientMessage(playerid, COLOR_RED, "!ùç÷ï æä ìà îçåáø ìùøú");
- if(strval(cmd) != playerid && VIP[strval(cmd)][VLevel] < VIP[playerid][VLevel]) return SendClientMessage(playerid, COLOR_RED, "!àúä ìà éëåì ìòùåú ô÷åãä æå òì òöîê");
- VIP[strval(cmd)][VMute] = true;
- format(string, 128, "VIP - [îéåè [ñéáä: %s %s ðúï ìùç÷ï %s :äùç÷ï", text, GetName(strval(cmd)), GetName(playerid));
- return SendVIPMessage(string);
- }
- if(!strcmp("unmute", cmd, true))
- {
- if(VIP[playerid][VLevel] < 7) return MessageError(playerid, 7);
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "/VIP UnMute [ID] :öåøú ùéîåù");
- if(!VIP[strval(cmd)][VMute]) return SendClientMessage(playerid, COLOR_RED, ".ùç÷ï æä ìà ðîöà áîéåè");
- VIP[strval(cmd)][VMute] = false;
- format(string, 128, "VIP - .àú äîéåè %s äåøéã ìùç÷ï %s :äùç÷ï", GetName(strval(cmd)), GetName(playerid));
- return SendVIPMessage(string);
- }
- return true;
- }
- return false;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 1554)
- {
- if(!response) return true;
- ShowPlayerDialog(playerid, 8037, DIALOG_STYLE_MSGBOX, "VIP Commands P.2", "{FF0000}1./VIP Health Level:2- îîìàú ìùç÷ï çééí\n\n2./VIP Armour Level:2- îîìàú ìùç÷ï çééí\n\n3./VIP Off Level:1 - ìà ôåòì VIP îöá\n\n4./VIP Quit Level:1 - VIP ìöàú îîòøëú ä\n\n5./VIP mute Level:7-îáéàä îéåè ìùç÷ï\n\n6./VIP unMute Level:7-îåøéã àú äîéåè\n\n7./VIP JetPack Level:6-îáéà ìê âàèôà÷\n\n8./VIP tele Level:6-îàôùøú ìäùúâø ìùç÷ï\n\n9./VIP message Level:5-ô÷åãú ìãáø áöàè åéàéôé","OK","");
- }
- return true;
- }
- stock VIPFile(playerid)
- {
- new stringFile[256];
- format(stringFile, sizeof stringFile, "VIP/%s.ini", GetName(playerid));
- return stringFile;
- }
- stock strrest(const string[], index)
- {
- new length = strlen(string);
- new offset = index;
- new result[256];
- while ((index < length) && ((index - offset) < (sizeof(result) - 1)) && (string[index] > '\r')) result[index - offset] = string[index], index++;
- result[index - offset] = EOS;
- return result;
- }
- stock GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' ')) index++;
- new offset = index, result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock SendVIPMessage(string[])
- {
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- if(!VIP[i][VLevel]) continue;
- SendClientMessageToAll(COLOR_RED, string);
- }
- return true;
- }
- stock MessageError(playerid, level)
- {
- new string[128];
- format(string, 128, "!îøîä %d åîòìä VIP ô÷åãä æå æîéðä àê åø÷ ì", level);
- return SendClientMessage(playerid, COLOR_RED, string);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement