Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ================ [Spy System By LustcheR SAMP-IL v2.0] =================== //
- #include <a_samp>
- #include <DOF2>
- #include "../include/gl_common.inc"
- #pragma unused DOF2_Exit
- new String[256];
- #define SPrice 5,000,000
- #define SpyPrice 5000000
- #define Color_Red 0xFF0000AA
- #define Color_Green 0x00FF00FF
- #define Color_White 0xFFFFFFAA
- #define SendFormatMessage(%0,%1,%2,%3) format(String, sizeof(String),%2,%3) && SendClientMessage(%0, %1, String)
- #define SendFormatMessageToAll(%0,%1,%2) format(String, sizeof(String),%1,%2) && SendClientMessageToAll(%0, String)
- enum SpyInfo
- {
- SpyOn,
- SpySpec,
- Float:Pos[3]
- };
- new PSpy[MAX_PLAYERS][SpyInfo];
- public OnPlayerConnect(playerid)
- {
- if(!DOF2_FileExists(SFile(playerid)))
- {
- DOF2_CreateFile(SFile(playerid));
- DOF2_SetInt(SFile(playerid), "HaveSpy" ,0);
- }
- PSpy[playerid][SpyOn] = 0;
- PSpy[playerid][SpySpec] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- PSpy[playerid][SpyOn] = 0;
- PSpy[playerid][SpySpec] = 0;
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[5][256], idx;
- cmd[0] = strtok(cmdtext, idx);
- cmd[1] = strtok(cmdtext, idx);
- cmd[2] = strtok(cmdtext, idx);
- cmd[3] = strtok(cmdtext, idx);
- cmd[4] = strtok(cmdtext, idx);
- if(strcmp(cmd[0], "/xSpy", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return 0;
- if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /xSpy [Set | Remove].");
- if(!strcmp(cmd[1], "Set", true))
- {
- if(!strlen(cmd[2])) return SendClientMessage(playerid, Color_White, "Usage: /xSpy Set [PlayerID].");
- if(IsPlayerConnected(strval(cmd[2]))) return SendClientMessage(playerid, Color_Red, ".השחקן לא מחובר");
- if(DOF2_GetInt(SFile(strval(cmd[2])), "HaveSpy") == 1) return SendClientMessage(playerid, Color_Red, "./xSpy Remove - למחיקת המערכת לשחקן Spy לשחקן זה יש כבר מערכת");
- DOF2_SetInt(SFile(strval(cmd[2])), "HaveSpy", 1);
- PSpy[strval(cmd[2])][SpySpec] = 0;
- PSpy[strval(cmd[2])][SpyOn] = 0;
- return 1;
- }
- if(!strcmp(cmd[1], "Remove", true))
- {
- if(!strlen(cmd[2])) return SendClientMessage(playerid, Color_White, "Usage: /xSpy Remove [PlayerID].");
- if(IsPlayerConnected(strval(cmd[2]))) return SendClientMessage(playerid, Color_Red, ".השחקן לא מחובר");
- if(DOF2_GetInt(SFile(strval(cmd[2])), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./xSpy Set - להוספת המערכת לשחקן Spy לשחקן זה אין מערכת");
- DOF2_SetInt(SFile(strval(cmd[2])), "HaveSpy", 0);
- PSpy[strval(cmd[2])][SpySpec] = 0;
- PSpy[strval(cmd[2])][SpyOn] = 0;
- return 1;
- }
- return 1;
- }
- if(strcmp(cmd[0], "/Spy", true) == 0)
- {
- if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /Spy [Buy | Sell | Spec | Spies | On | Off].");
- if(!strcmp(cmd[1], "Buy", true))
- {
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 1) return SendClientMessage(playerid, Color_Red, "./Spy Sell - למכירת המערכת הקלד ,Spy כבר קנית מערכת");
- if(GetPlayerMoney(playerid) < SpyPrice) return SendFormatMessage(playerid, Color_Red, ".[%s$] Spy אין לך מספיר כסף לקניית מערכת", SPrice);
- SendFormatMessageToAll(Color_Green, "! Spy רכש את המערכת ''%s'' השחקן", GetName(playerid));
- DOF2_SetInt(SFile(playerid), "HaveSpy", 1);
- GivePlayerMoney(playerid, - SpyPrice);
- PSpy[playerid][SpySpec] = 0;
- PSpy[playerid][SpyOn] = 0;
- return 1;
- }
- if(!strcmp(cmd[1], "Sell", true))
- {
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./Spy Buy - לקניית המערכת הקלד ,Spy אין לך מערכת");
- SendFormatMessage(playerid, Color_Green, ".[%d$] וקיבלת חצי מסכום הקנייה Spy מכרת את המערכת", SpyPrice / 2);
- DOF2_SetInt(SFile(playerid), "HaveSpy", 0);
- GivePlayerMoney(playerid, - SpyPrice / 2);
- PSpy[playerid][SpySpec] = 0;
- PSpy[playerid][SpyOn] = 0;
- return 1;
- }
- if(!strcmp(cmd[1], "Spec", true))
- {
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./Spy Buy - לקניית המערכת הקלד ,Spy אין לך מערכת");
- if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /Spy Spec [On | Off | Change].");
- if(!strcmp(cmd[2], "On", true))
- {
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./Spy Buy - לקניית המערכת הקלד ,Spy אין לך מערכת");
- if(PSpy[playerid][SpyOn] == 0) return SendClientMessage(playerid, Color_Red, "./Spy On - שלך כבויה, להדלקת המערכת הקלד Spy המערכת");
- if(PSpy[playerid][SpySpec] == 1) return SendClientMessage(playerid, Color_Red, "./Spy Off - אתה כבר צופה בשחקן, להפסקת הצפייה הקלד");
- if(!strlen(cmd[3])) return SendClientMessage(playerid, Color_White, "Usage: /Spy Spec On [PlayerID].");
- if(IsPlayerConnected(strval(cmd[3]))) return SendClientMessage(playerid, Color_Red, ".השחקן לא מחובר");
- SendFormatMessage(playerid, Color_Green, "./Spy Spec Off - להפסקת הצפייה הקלד את הפקודה ''%s'' כעת אתה צופה בשחקן", GetName(strval(cmd[3])));
- SendClientMessage(playerid, Color_Green, "/Spy Spec Change - לשינוי צפייה על שחקן אחר הקלד");
- GetPlayerPos(playerid, PSpy[playerid][Pos][0], PSpy[playerid][Pos][1], PSpy[playerid][Pos][1]);
- PlayerSpectatePlayer(playerid, strval(cmd[3]));
- TogglePlayerSpectating(playerid, true);
- PSpy[playerid][SpySpec] = 1;
- return 1;
- }
- if(!strcmp(cmd[2], "Off", true))
- {
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./Spy Buy - לקניית המערכת הקלד ,Spy אין לך מערכת");
- if(PSpy[playerid][SpyOn] == 0) return SendClientMessage(playerid, Color_Red, "./Spy On - שלך כבויה, להדלקת המערכת הקלד Spy המערכת");
- if(PSpy[playerid][SpySpec] == 0) return SendClientMessage(playerid, Color_Red, "./Spy Spec On - אינך צופה באף שחקן, לצפייה בשחקן הקלד");
- SendFormatMessage(playerid, Color_Green, "./Spy Spec On - לצפייה חוזרת בשחקן הקלד ''%s'' הפסקת את הצפייה על השחקן", GetName(strval(cmd[3])));
- SetPlayerPos(playerid, PSpy[playerid][Pos][0], PSpy[playerid][Pos][1], PSpy[playerid][Pos][1]);
- TogglePlayerSpectating(playerid, false);
- PSpy[playerid][SpySpec] = 0;
- return 1;
- }
- if(!strcmp(cmd[2], "Change", true))
- {
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./Spy Buy - לקניית המערכת הקלד ,Spy אין לך מערכת");
- if(PSpy[playerid][SpyOn] == 0) return SendClientMessage(playerid, Color_Red, "./Spy On - שלך כבויה, להדלקת המערכת הקלד Spy המערכת");
- if(PSpy[playerid][SpySpec] == 0) return SendClientMessage(playerid, Color_Red, "./Spy Spec On - אינך צופה באף שחקן, לצפייה בשחקן הקלד");
- if(!strlen(cmd[4])) return SendClientMessage(playerid, Color_White, "Usage: /Spy Spec Change [PlayerID]");
- if(IsPlayerConnected(strval(cmd[4]))) return SendClientMessage(playerid, Color_Red, ".השחקן לא מחובר");
- SendFormatMessage(playerid, Color_Green, "./Spy Spec Off - לביטול הצפייה הקלד ,''%s'' וכעת אתה צופה בשחקן ''%s'' הפסקת את הצפייה על השחקן", GetName(strval(cmd[4])), GetName(strval(cmd[3])));
- SendClientMessage(playerid, Color_Green, "/Spy Spec Change - לשינוי צפייה על שחקן אחר הקלד");
- PlayerSpectatePlayer(playerid, strval(cmd[4]));
- return 1;
- }
- }
- return 1;
- }
- if(!strcmp(cmd[1], "Spies", true))
- {
- new SpyCount;
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./Spy Buy - לקניית המערכת הקלד ,Spy אין לך מערכת");
- if(PSpy[playerid][SpyOn] == 0) return SendClientMessage(playerid, Color_Red, "./Spy On - שלך כבר כבויה, להפעלת המערכת הקלד Spy המערכת");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && DOF2_GetInt(SFile(i), "HaveSpy") == 1)
- {
- SpyCount ++;
- SendFormatMessage(playerid, Color_Green, "----- [{FFFFFF}Spies Players (%d){00FF00}] -----", SpyCount);
- SendFormatMessage(playerid, Color_Green, "%d. {FFFFFF}%s (ID: %d)", SpyCount, GetName(i), i);
- }
- }
- return 1;
- }
- if(!strcmp(cmd[1], "On", true))
- {
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./Spy Buy - לקניית המערכת הקלד ,Spy אין לך מערכת");
- if(PSpy[playerid][SpyOn] == 1) return SendClientMessage(playerid, Color_Red, "./Spy Off - שלך כבר פועלת, לכיבוי המערכת הקלד Spy המערכת");
- SendClientMessage(playerid, Color_Green, ".נדלקה Spy מערכת");
- PSpy[playerid][SpyOn] = 1;
- return 1;
- }
- if(!strcmp(cmd[1], "Off", true))
- {
- if(DOF2_GetInt(SFile(playerid), "HaveSpy") == 0) return SendClientMessage(playerid, Color_Red, "./Spy Buy - לקניית המערכת הקלד ,Spy אין לך מערכת");
- if(PSpy[playerid][SpyOn] == 0) return SendClientMessage(playerid, Color_Red, "./Spy On - שלך כבר כבויה, להפעלת המערכת הקלד Spy המערכת");
- SendClientMessage(playerid, Color_Green, ".נכבתה Spy מערכת");
- PSpy[playerid][SpyOn] = 0;
- return 1;
- }
- return 1;
- }
- return 0;
- }
- stock GetName(playerid)
- {
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, sizeof(Name));
- return Name;
- }
- stock SFile(playerid)
- {
- new S[64];
- format(S, sizeof(S), "SpySystem/%s.ini", GetName(playerid));
- return S;
- }
Advertisement
Add Comment
Please, Sign In to add comment