Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //==============================================================================
- //==============================================================================
- //==============================================================================
- #include <a_samp>
- #include <YSI\y_ini>
- #include <sscanf2>
- #include <sscanf>
- #include <ZCMD>
- #include <foreach>
- #define SCM SendClientMessage
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- #define DIALOG_SUCCESS_1 3
- #define DIALOG_SUCCESS_2 4
- #define DIALOG_ORG_INVITE 5
- #define PATH "/Users/%s.ini"
- #define COLOR_ORANGE "{FF6600}"
- #define COL_WHITE "{FFFFFF}"
- #define COL_RED "{F81414}"
- #define COL_GREEN "{00FF22}"
- #define COL_LIGHTBLUE "{00CED1}"
- #define COLOR_BLUE 0x2711F2
- #define COLOR_GREY 0xAFAFAFAA
- #if defined FILTERSCRIPT
- #define MAX_ORGS 1
- #endif
- //==============================================================================
- //==============================================================================
- enum pInfo
- {
- pPass,
- pCash,
- pAdmin,
- pKills,
- pDeaths,
- pLider,
- pClan,
- pRank,
- pSkin,
- pOrg_Skin
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- //==============================================================================
- forward LoadUser_data(playerid,name[],value[]);
- public LoadUser_data(playerid,name[],value[])
- {
- INI_Int("Password",PlayerInfo[playerid][pPass]);
- INI_Int("Cash",PlayerInfo[playerid][pCash]);
- INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
- INI_Int("Kills",PlayerInfo[playerid][pKills]);
- INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
- INI_Int("Lider",PlayerInfo[playerid][pLider]);
- INI_Int("Clan",PlayerInfo[playerid][pClan]);
- INI_Int("Rank",PlayerInfo[playerid][pRank]);
- INI_Int("Skin",PlayerInfo[playerid][pSkin]);
- INI_Int("Org Skin",PlayerInfo[playerid][pOrg_Skin]);
- return 1;
- }
- //==============================================================================
- stock UserPath(playerid)
- {
- new string[128],playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid,playername,sizeof(playername));
- format(string,sizeof(string),PATH,playername);
- return string;
- }
- /*COL_REDits to Dracoblue*/
- stock udb_hash(buf[]) {
- new length=strlen(buf);
- new s1 = 1;
- new s2 = 0;
- new n;
- for (n=0; n<length; n++)
- {
- s1 = (s1 + buf[n]) % 65521;
- s2 = (s2 + s1) % 65521;
- }
- return (s2 << 16) + s1;
- }
- //==============================================================================
- //==============================================================================
- main()
- {
- print("\n************************************");
- print(" |WRT| v1.0.0");
- print("\n************************************");
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnGameModeInit()
- {
- SetGameModeText("|WRT| v1.0.0");
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnGameModeExit()
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerRequestClass(playerid, classid)
- {
- SetSpawnInfo(playerid, 0, 0,1544.5767,-1373.3291,329.7563,179.8415,46,1,0,0,0,0); //
- SpawnPlayer(playerid);
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerConnect(playerid)
- {
- if(fexist(UserPath(playerid)))
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
- }
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerDisconnect(playerid, reason)
- {
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File,"data");
- INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
- INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
- INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
- INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
- INI_WriteInt(File,"Lider",PlayerInfo[playerid][pLider]);
- INI_WriteInt(File,"Clan",PlayerInfo[playerid][pClan]);
- INI_WriteInt(File,"Rank",PlayerInfo[playerid][pRank]);
- INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
- INI_WriteInt(File,"Org Skin",PlayerInfo[playerid][pOrg_Skin]);
- INI_Close(File);
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerSpawn(playerid)
- {
- GivePlayerWeapon(playerid, 46, 1);
- if (PlayerInfo[playerid][pClan] > 0)
- {
- switch(PlayerInfo[playerid][pClan])
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); // Postavlja igracevu poziciju na te koordinate, vi te koordinate mozete zamijeniti svojima
- SetPlayerFacingAngle(playerid, 270.1425); // Postavlja kamo da igrac gleda, vi to mozete zamijeniti sa svojim kutem
- SetPlayerSkin(playerid, PlayerInfo[playerid][pOrg_Skin]); // Postavlja igracev skin na onaj koji mora imat dok je u organizaciji
- }
- // Ovaj kod ispod kao da ne postoji, ali vam prikazuje kako dodati jos jednu organizaciju za spawn, sto je potrebno svaki put kada zelite dodati novu organizaciju
- /*case 2: // Druga organizacije, nazovimo je FBI
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); // Postavlja igracevu poziciju na te koordinate, vi te koordinate mozete zamijeniti svojima
- SetPlayerFacingAngle(playerid, 270.1425); // Postavlja kamo da igrac gleda, vi to mozete zamijeniti sa svojim kutem
- SetPlayerSkin(playerid, PlayerInfo[playerid][pOrg_Skin]); // Postavlja igracev skin na onaj koji mora imat dok je u organizaciji
- }*/
- }
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerDeath(playerid, killerid, reason)
- {
- PlayerInfo[killerid][pKills]++;
- PlayerInfo[playerid][pDeaths]++;
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerText(playerid, text[])
- {
- new LoseRijeci[][] =
- {
- {"kurac"},
- {"qrac"},
- {"racku"},
- {"racq"},
- {"jebem"},
- {"picka"}
- }
- ;
- for(new i; i != sizeof(LoseRijeci); ++i)
- {
- AntiPsovka(text, LoseRijeci[i]);
- }
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- return SendClientMessage(playerid, 0xAA3333AA, "GRESKA: " "Komanda koju ste uneli ne postoji!");
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch( dialogid )
- {
- case DIALOG_REGISTER:
- {
- if (!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File,"data");
- INI_WriteInt(File,"Password",udb_hash(inputtext));
- INI_WriteInt(File,"Cash",0);
- INI_WriteInt(File,"Admin",0);
- INI_WriteInt(File,"Kills",0);
- INI_WriteInt(File,"Deaths",0);
- INI_WriteInt(File,"Lider",0);
- INI_WriteInt(File,"Clan",0);
- INI_WriteInt(File,"Rank",0);
- INI_WriteInt(File,"Skin",0);
- INI_WriteInt(File,"Org_Skin",0);
- INI_Close(File);
- SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 46, 1, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
- }
- }
- case DIALOG_LOGIN:
- {
- if ( !response ) return Kick ( playerid );
- if( response )
- {
- if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
- ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
- }
- return 1;
- }
- }
- }
- //=========================================================
- //=========================================================
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- //==============================================================================
- //==============================================================================
- //==============================================================================
- forward SendAdminMessage(color, string[]);
- public SendAdminMessage(color, string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pAdmin] >= 1)
- {
- SCM(i, color, string);
- }
- }
- }
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- forward Glad();
- public Glad()
- {
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- new Float:HP;
- GetPlayerHealth(i, HP);
- SetPlayerHealth(i, HP-3);
- }
- return 1;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- stock AntiPsovka(string[], LoseRijeci[], zamjeni = '*')
- {
- new i;
- while((i = strfind(string, LoseRijeci, true)) != -1)
- {
- for(new x = (i + strlen(LoseRijeci)); i != x; ++i)
- {
- string[i] = zamjeni;
- }
- }
- return 1;
- }
- //==============================================================================
- //==============================================================================
- CMD:makeleader(playerid, params[])
- {
- if (IsPlayerAdmin(playerid)) // Provjerava da li je igrac RCON admin, vi to mozete promijeniti u svoju provjeru
- {
- new
- iPlayerID,
- iOrgID,
- szPlayerName[MAX_PLAYER_NAME],
- szMessage[105];
- if (sscanf(params, "ud", iPlayerID, iOrgID)) // Ako igrac nije upisao sve potrebne parametre, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "KORISTI: /makeleader [igracev ID/dio imena] [ID organizacije]");
- else if (iPlayerID == INVALID_PLAYER_ID) // Ako je ID igraca koji je igrac upisao nije online, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "ERROR: Pogresan ID igraca.");
- else if (iOrgID < 1 || iOrgID > MAX_ORGS) // Ako je ID organizacije koju je igrac upisao manja od 1 ili veca maksimalnog broja organizacija, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "ERROR: ID organizacije ne smije biti manji od 1 ili veci od "#MAX_ORGS);
- Playerinfo[iPlayerID][pLider] = iOrgID; // Postavlja igracevu varijablu za lidera na ID organizacije, jer moramo negdje zapamtit koje organizacije je igrac lider
- Playerinfo[iPlayerID][pRank] = 6; // Postavlja igracevu varijablu za rank na 6, to vi mozete promijeniti ako ne zelite da vam je najveci rank 6
- switch(iOrgID)
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- Playerinfo[iPlayerID][pSkin] = GetPlayerSkin(iPlayerID); // Sprema igracev skin tako da ako ikad bude izbacen iz organizacije, dobija svoj stari skin natrag
- Playerinfo[iPlayerID][pOrg_Skin] = 283; // Broj 283 je ID skina lidera organizacije, to mozete promijeniti u koji kod skin ID vi zelite
- SetPlayerSkin(iPlayerID, Playerinfo[iPlayerID][pOrg_Skin]); // Postavlja igracu skin za lidera organizacije
- }
- // Ovaj kod ispod kao da ne postoji, ali vam prikazuje kako dodati jos jednu organizaciju u /makeleader komandu, sto je potrebno svaki put kada zelite dodati novu organizaciju
- /*case 2: // Druga organizacije, nazovimo je FBI
- {
- Playerinfo[iPlayerID][pSkin] = GetPlayerSkin(iPlayerID); // Sprema igracev skin tako da ako ikad bude izbacen iz organizacije, dobija svoj stari skin natrag
- Playerinfo[iPlayerID][pOrg_Skin] = 283; // Broj 283 je ID skina lidera organizacije, to mozete promijeniti u koji kod skin ID vi zelite
- SetPlayerSkin(iPlayerID, Playerinfo[iPlayerID][pOrg_Skin]); // Postavlja igracu skin za lidera organizacije
- }*/
- }
- GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Admin %s vas je postavio za lidera organizacije %s", szPlayerName, GetOrgNameByID(iOrgID));
- SendClientMessage(iPlayerID, COL_WHITE, szMessage);
- GetPlayerName(iPlayerID, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Postavio si igraca %s za lidera organizacije %s", szPlayerName, GetOrgNameByID(iOrgID));
- SendClientMessage(playerid, COL_WHITE, szMessage);
- }
- else
- SendClientMessage(playerid, COL_WHITE, "ERROR: Moras biti RCON admin da koristis ovu komandu.");
- return 1;
- }
- stock GetOrgNameByID(iOrgID) // By Joey_
- {
- new
- szOrgName[29];
- switch(iOrgID)
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- szOrgName = "Los Santos Police Department";
- default: // Ako ne postoji ID takve organizacije
- szOrgName = "Nepoznata organizacija";
- }
- return szOrgName;
- }
- //==============================================================================
- //==============================================================================
- CMD:invite(playerid, params[])
- {
- if (Playerinfo[playerid][pLider] > 0) // Provjerava da li je igrac lider icega
- {
- new
- iPlayerID,
- szPlayerName[MAX_PLAYER_NAME],
- szInviteMsg[241];
- if (sscanf(params, "u", iPlayerID)) // Ako igrac nije upisao sve potrebne parametre, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "KORISTI: /invite [igracev ID/dio imena]");
- else if (iPlayerID == INVALID_PLAYER_ID) // Ako je ID igraca koji je igrac upisao nije online, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "ERROR: Pogresan ID igraca.");
- GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
- switch(Playerinfo[playerid][pLider])
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- Playerinfo[iPlayerID][pClan] = Playerinfo[playerid][pLider]; // Ovdje postavljamo igracu kojeg zelimo pozvati u organizaciju varijablu na ID organizacije (tako da kasnije znamo u kojoj je organizaciji)
- Playerinfo[iPlayerID][pRank] = 1; // Postavlja igracu kojeg zelimo pozvati u organizaciju rank na 1
- // Ovdje formatiramo poruku koju cemo poslati igracu koji je pozvan u organizaciju
- // Preko te poruke ce pozvani igrac prihvatiti ili ne prihvatiti ulazak u organizaciju
- format(szInviteMsg, sizeof(szInviteMsg), "Lider %s vas je pozvao u organizaciju Los Santos Police Department.\n\nPritisnite tipku 'Prihvacam' ako zelite prihvatiti poziv za ulazak u tu organizaciju\nili pritisnite tipku 'Odbijam' ako ne zelite prihvatiti.", szPlayerName);
- }
- // Ovaj kod ispod kao da ne postoji, ali vam prikazuje kako dodati jos jednu organizaciju u /invite komandu, sto je potrebno svaki put kada zelite dodati novu organizaciju
- /*case 2: // Druga organizacije, nazovimo je FBI
- {
- Playerinfo[iPlayerID][pClan] = Playerinfo[playerid][pLider]; // Ovdje postavljamo igracu kojeg zelimo pozvati u organizaciju varijablu na ID organizacije (tako da kasnije znamo u kojoj je organizaciji)
- Playerinfo[iPlayerID][pRank] = 1; // Postavlja igracu kojeg zelimo pozvati u organizaciju rank na 1
- // Ovdje formatiramo poruku koju cemo poslati igracu koji je pozvan u organizaciju
- // Preko te poruke ce pozvani igrac prihvatiti ili ne prihvatiti ulazak u organizaciju
- // Kad dodajete novu organizaciju, morate promijeniti neke nazive u tekstu kako ne bi svaki tekst bio isti (govorim o imenu organizacije)
- format(szInviteMsg, sizeof(szInviteMsg), "Lider %s vas je pozvao u organizaciju FBI.\n\nPritisnite tipku 'Prihvacam' ako zelite prihvatiti poziv za ulazak u tu organizaciju\nili pritisnite tipku 'Odbijam' ako ne zelite prihvatiti.", szPlayerName);
- }*/
- }
- ShowPlayerDialog(iPlayerID, DIALOG_ORG_INVITE, DIALOG_STYLE_MSGBOX, "POZVANI STE U ORGANIZACIJU", szInviteMsg, "Prihvacam", "Odbijam");
- }
- else
- SendClientMessage(playerid, COL_WHITE, "ERROR: Moras biti lider da koristis ovu komandu.");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_ORG_INVITE: // Ovdje ce se izvrsiti daljnji kod nakon sto je igrac pritisnuo 'Prihvacam' ili 'Ne prihvacam'
- {
- if (response) // Ako je igrac pritisnuo 'Prihvacam'
- {
- switch(Playerinfo[playerid][pClan])
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- SetPlayerSkin(playerid, 280); // Broj 280 je ID skina za rank 1 u organizaciji LSPD, vi to mozete promijeniti na bilo koji ID skina koji vama odgovara
- SendClientMessage(playerid, COL_WHITE, "INFO: Prihvatili ste poziv za ulazak u "COL_RED"Los Santos Police Department");
- }
- }
- }
- else // Ako je igrac pritisnuo 'Ne prihvacam'
- {
- // Resetiramo igraceve varijable na 0 jer nije prihvatio ulazak u organizaciju
- Playerinfo[playerid][pClan] = 0;
- Playerinfo[playerid][pRank] = 0;
- SendClientMessage(playerid, COL_WHITE, "INFO: Odbili ste poziv za ulazak u organizaciju");
- }
- }
- }
- return 1;
- }
- //==============================================================================
- //==============================================================================
- CMD:rankup(playerid, params[])
- {
- if (Playerinfo[playerid][pLider] > 0) // Provjerava da li je igrac lider icega
- {
- new
- iPlayerID,
- iRankNum,
- szPlayerName[MAX_PLAYER_NAME],
- szMessage[71];
- if (sscanf(params, "ud", iPlayerID, iRankNum)) // Ako igrac nije upisao sve potrebne parametre, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "KORISTI: /rankup [igracev ID/dio imena] [rank]");
- else if (iPlayerID == INVALID_PLAYER_ID) // Ako je ID igraca koji je igrac upisao nije online, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "ERROR: Pogresan ID igraca.");
- else if (iRankNum < 1 || iRankNum > 6) // Ako je broj ranka manji od 1 ili veci od 6, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "ERROR: ID organizacije ne smije biti manji od 1 ili veci od 6.");
- else if (Playerinfo[iPlayerID][pClan] != Playerinfo[playerid][pLider]) // Provjerava da li su igrac i ID igraca koji je upisao u istoj organizaciji
- return SendClientMessage(playerid, COL_WHITE, "ERROR: Taj igrac nije u vasoj organizaciji.");
- Playerinfo[iPlayerID][pRank] = iRankNum; // Postavlja igracevu varijablu na broj ranka, tako da bi kasnije mogli znati koji je igrac rank
- SetPlayerOrgSkin(iPlayerID, ((Playerinfo[iPlayerID][pLider] > 0) ? (Playerinfo[iPlayerID][pLider]) : (Playerinfo[iPlayerID][pClan])), iRankNum);
- GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Lider %s ti je postavio rank na "COL_RED"%d", szPlayerName, iRankNum);
- SendClientMessage(iPlayerID, COL_WHITE, szMessage);
- GetPlayerName(iPlayerID, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Postavio si clanu %s rank na "COL_RED"%d", szPlayerName, iRankNum);
- SendClientMessage(playerid, COL_WHITE, szMessage);
- }
- else
- SendClientMessage(playerid, COL_WHITE, "ERROR: Moras biti lider da koristis ovu komandu.");
- return 1;
- }
- stock SetPlayerOrgSkin(iPlayerID, iOrgID, iRank)
- {
- switch(iOrgID)
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- switch(iRank) // Rankovi za prvu organizaciju
- {
- case 1: // 1. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 284; // 284 je ID skina za 1. rank u LSPD organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 2: // 2. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 280; // 280 je ID skina za 2. rank u LSPD organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 3: // 3. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 281; // 281 je ID skina za 3. rank u LSPD organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 4: // 4. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 282; // 282 je ID skina za 4. rank u LSPD organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 5: // 5. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 282; // 282 je ID skina za 5. rank u LSPD organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 6: // 6. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 288; // 288 je ID skina za 6. rank u LSPD organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- default:
- Playerinfo[iPlayerID][pOrg_Skin] = 284; // Ovaj ID skina neka vam bude uvijek jednak 1. ranku, on je tu samo ako je doslo do neke greske kod broja ranka
- }
- }
- // Ovaj kod ispod kao da ne postoji, ali vam prikazuje kako dodati jos jednu organizaciju, sto je potrebno svaki put kada zelite dodati novu organizaciju
- /*case 2: // Druga organizacija, nazovimo je FBI
- {
- switch(iRank) // Rankovi za drugu organizaciju
- {
- case 1: // 1. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 166; // 166 je ID skina za 1. rank u FBI organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 2: // 2. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 166; // 166 je ID skina za 2. rank u FBI organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 3: // 3. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 165; // 165 je ID skina za 3. rank u FBI organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 4: // 4. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 165; // 165 je ID skina za 4. rank u FBI organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 5: // 5. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 286; // 286 je ID skina za 5. rank u FBI organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- case 6: // 6. Rank
- Playerinfo[iPlayerID][pOrg_Skin] = 286; // 286 je ID skina za 6. rank u FBI organizaciji i taj broj mjenjate u svoj ID skina koji zelite
- default:
- Playerinfo[iPlayerID][pOrg_Skin] = 166; // Ovaj ID skina neka vam bude uvijek jednak 1. ranku, on je tu samo ako je doslo do neke greske kod broja ranka
- }
- }*/
- }
- SetPlayerSkin(iPlayerID, Playerinfo[iPlayerID][pOrg_Skin]);
- return 1;
- }
- //==============================================================================
- //==============================================================================
- CMD:izbaci(playerid, params[])
- {
- if (Playerinfo[playerid][pLider] > 0) // Provjerava da li je igrac lider icega
- {
- new
- iPlayerID,
- szPlayerName[MAX_PLAYER_NAME],
- szMessage[68];
- if (sscanf(params, "u", iPlayerID)) // Ako igrac nije upisao sve potrebne parametre, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "KORISTI: /izbaci [igracev ID/dio imena]");
- else if (iPlayerID == INVALID_PLAYER_ID) // Ako je ID igraca koji je igrac upisao nije online, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "ERROR: Pogresan ID igraca.");
- else if (Playerinfo[iPlayerID][pClan] != Playerinfo[playerid][pLider]) // Provjerava da li su igrac i ID igraca koji je upisao u istoj organizaciji
- return SendClientMessage(playerid, COL_WHITE, "ERROR: Taj igrac nije u vasoj organizaciji.");
- Playerinfo[iPlayerID][pClan] = 0; // Resetira igracevu varijablu jer vise nije u organizaciji
- Playerinfo[iPlayerID][pRank] = 0; // Resetira igracevu varijablu jer vise nije u organizaciji
- Playerinfo[iPlayerID][pOrg_Skin] = 0; // Resetira igracevu varijablu jer vise nije u organizaciji
- SetPlayerSkin(iPlayerID, Playerinfo[iPlayerID][pSkin]); // Vraca igracev skin koji je imao prije ulaska u organizaciju
- GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Lider %s te je izbacio iz organizacije.", szPlayerName);
- SendClientMessage(iPlayerID, COL_WHITE, szMessage);
- GetPlayerName(iPlayerID, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Izbacio si clana %s iz organizacije.", szPlayerName);
- SendClientMessage(playerid, COL_WHITE, szMessage);
- }
- else
- SendClientMessage(playerid, COL_WHITE, "ERROR: Moras biti lider da koristis ovu komandu.");
- return 1;
- }
- //==============================================================================
- //==============================================================================
- CMD:r(playerid, params[])
- {
- if (Playerinfo[playerid][pClan] > 0 || Playerinfo[playerid][pLider] > 0)
- {
- new
- szChatMsg[128],
- szPlayerName[MAX_PLAYER_NAME],
- szMessage[128];
- if (sscanf(params, "s[128]", szChatMsg)) // Ako igrac nije upisao sve potrebne parametre, ispisuje mu tu poruku
- return SendClientMessage(playerid, COL_WHITE, "KORISTI: (/r)adio [tekst]");
- GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
- foreach(new iPlayerID : Player)
- {
- // Prolazi kroz sve online igrace i provjerava da li su u istoj organizaciji kao i posiljatelj poruke
- if (Playerinfo[iPlayerID][pClan] == Playerinfo[playerid][pClan] || Playerinfo[iPlayerID][pLider] == Playerinfo[playerid][pLider])
- {
- format(szMessage, sizeof(szMessage), "%s %s kaze: %s", GetPlayerRank(playerid), szPlayerName, szChatMsg);
- SendClientMessage(iPlayerID, COL_WHITE, szMessage);
- }
- }
- }
- else
- SendClientMessage(playerid, COL_WHITE, "ERROR: Moras biti clan neke organizacije da koristis ovu komandu.");
- return 1;
- }
- CMD:radio(playerid, params[])
- return cmd_r(playerid, params);
- stock GetPlayerRank(iPlayerID) // By Joey_
- {
- new
- szRankName[16], // Broj 16 morate promijeniti ako imate rank ime vece od 15 znakova
- iPlayerOrg = (Playerinfo[iPlayerID][pClan] > 0) ? (Playerinfo[iPlayerID][pClan]) : (Playerinfo[iPlayerID][pLider]);
- switch(iPlayerOrg)
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- switch(Playerinfo[iPlayerID][pRank]) // Rankovi za prvu organizaciju
- {
- case 1: // 1. Rank
- szRankName = "Vježbenik";
- case 2: // 2. Rank
- szRankName = "Kadet";
- case 3: // 3. Rank
- szRankName = "Policajac";
- case 4: // 4. Rank
- szRankName = "Viši Policajac";
- case 5: // 5. Rank
- szRankName = "Narednik";
- case 6: // 6. Rank
- szRankName = "Porucnik";
- default:
- szRankName = "Nepoznato";
- }
- }
- // Ovaj kod ispod kao da ne postoji, ali vam prikazuje kako dodati jos jednu organizaciju, sto je potrebno svaki put kada zelite dodati novu organizaciju
- /*case 1: // Druga organizacija, nazovimo je FBI
- {
- switch(Playerinfo[iPlayerID][pRank]) // Rankovi za drugu organizaciju
- {
- case 1: // 1. Rank
- szRankName = "Vojnik";
- case 2: // 2. Rank
- szRankName = "Vojnik";
- case 3: // 3. Rank
- szRankName = "Zapovjednik";
- case 4: // 4. Rank
- szRankName = "Zapovjednik";
- case 5: // 5. Rank
- szRankName = "Zapovjednik";
- case 6: // 6. Rank
- szRankName = "General";
- default:
- szRankName = "Nepoznato";
- }
- }*/
- }
- return szRankName;
- }
- //==============================================================================
- //==============================================================================
- //==============================================================================
- //==============================================================================
- //==============================================================================
Advertisement
Add Comment
Please, Sign In to add comment