Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <streamer>
- #include <zcmd>
- #include <foreach>
- #include <sscanf2>
- #include <YSI\y_ini>
- /* Server Colors */
- #define COLOR_PURPLE 0xC2A2DAAA
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_GRAD1 0xB4B5B7FF
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GRAD3 0xCBCCCEFF
- #define COLOR_LIGHTBLUE 0x006FDD96
- #define COLOR_GRAD4 0xD8D8D8FF
- #define COLOR_FADE 0xC8C8C8C8
- #define COLOR_FADE2 0xC8C8C8C8
- #define COLOR_FADE3 0xAAAAAAAA
- #define COLOR_FADE4 0x8C8C8C8C
- #define COLOR_YELLOW 0xDABB3E00
- #define COLOR_FADE5 0x6E6E6E6E
- #define COLOR_GRAD5 0xE3E3E3FF
- #define COLOR_FADE1 0xE6E6E6E6
- #define COLOR_GRAD6 0xF0F0F0FF
- #define grey 0xCECECEFF
- #define green 0x33AA33AA
- #define red 0xFF0000FF
- #define yellow 0xFFFF00AA
- #define white 0xFFFFFFAA
- #define COL_WHITE "{FFFFFF}"
- #define COL_RED "{F81414}"
- #define COL_GREEN "{00FF22}"
- #define COL_LIGHTBLUE "{00CED1}"
- #define blue 0x0000BBAA
- #define orange 0xFF9900AA
- #define TEAM_HIT_COLOR 0xFFFFFF00
- #define C_WHITE 0xFFFFFFAA
- #define CRED "{FF0000}"
- #define COL_YELLOW "{F3FF02}"
- #define COLOR_RED 0xAA3333AA
- /* Server Defines */
- #define PATH "Racuni/%s.ini"
- #define SECONDS(%1) ((%1)*(1000))
- #define ALTCOMMAND:%1->%2; \
- COMMAND:%1(playerid, params[]) \
- return cmd_%2(playerid, params);
- #define function%0(%1) forward%0(%1); public%0(%1)
- #define MAX_ORGS 2 // Ovo je maksimalni broj organizacija na serveru, kad dodate novu organizaciju, povecajte ga za 1
- /* SERVER SIDE CASH */
- #define GivePlayerCash(%0,%1) SetPVarInt(%0,"Money",GetPlayerCash(%0)+%1),GivePlayerMoney(%0,%1)
- #define ResetPlayerCash(%0) SetPVarInt(%0,"Money",0), ResetPlayerMoney(%0)
- #define GetPlayerCash(%0) GetPVarInt(%0,"Money")
- /* DIALOGS */
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- #define DIALOG_AGE 3
- #define DIALOG_SEX 4
- /* ORGVOZILA */
- new
- gPoliceCar[12]; // 12 je broj koliko ima policijskih vozila, ako zelite dodavat jos vozila LSPD organizaciji (ili nekoj novoj organizaciji), taj broj mora biti jednak broju vozila te org.
- /* ORG_INVITE */
- #define DIALOG_ORG_INVITE 5 // Ovo morate dodati kod ostalih macroa (#define) ili na vrh skripte poslije #include
- /* ENUMS */
- enum pInfo
- {
- pPass,
- pCash,
- pAdmin,
- pGameQuer,
- pSex,
- pAge,
- Float:pPos_x,
- Float:pPos_y,
- Float:pPos_z,
- pTeam,
- pAccent,
- pLeader, // Varijabla koja pamti cega je igrac lider
- pMember, // Varijabla koja pamti u kojoj je igrac organizaciji
- pRank, // Varijabla koja pamti koji je igrac rank u organizaciji
- pSkin, // Varijabla koja pamti koji skin je igrac imao prije ulaska u organizaciju
- pOrgSkin // Varijabla koja pamti koji skin igrac ima dok je u organizaciji
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- /* <--------------------------------------------> */
- main()
- {
- print(" ");
- print(" ");
- print("QuerZex Roleplay Loaded");
- print(" ");
- print(" Script: MarQueZ");
- }
- new
- noooc = 0,
- Logged[ MAX_PLAYERS ],
- gOoc[ MAX_PLAYERS ]
- ;
- public OnPlayerConnect(playerid)
- {
- gOoc[ playerid ] = 0; Logged[ playerid ] = 0;
- // Reset stats!
- PlayerInfo[ playerid ][ pCash ] = 0;
- PlayerInfo[ playerid ][ pAdmin ] = 0;
- PlayerInfo[ playerid ][ pGameQuer ] = 0;
- PlayerInfo[ playerid ][ pSex ] = 0;
- PlayerInfo[ playerid ][ pAge ] = 0;
- PlayerInfo[ playerid ][ pPos_x ] = 0.0;
- PlayerInfo[ playerid ][ pPos_y ] = 0.0;
- PlayerInfo[ playerid ][ pPos_z ] = 0.0;
- PlayerInfo[ playerid ][ pSkin ] = 0;
- PlayerInfo[ playerid ][ pTeam ] = 0;
- PlayerInfo[ playerid ][ pAccent ] = 0;
- PlayerInfo[ playerid ][ pLeader ] = 0;
- PlayerInfo[ playerid ][ pMember ] = 0;
- PlayerInfo[ playerid ][ pRank ] = 0;
- PlayerInfo[ playerid ][ pOrgSkin ] = 0;
- if(fexist(UserPath(playerid)))
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- new loginstring[280];
- new loginname[150];
- GetPlayerName(playerid,loginname,sizeof(loginname));
- format(loginstring,sizeof(loginstring),"Odlicno %s.\nRegistrovali ste se na San Andreas Role Play server\nPrijavite se:",loginname);
- ShowPlayerDialog(playerid,19,DIALOG_STYLE_INPUT,"QuerZex RolePlay - Prijava",loginstring,"Prijava","Izlaz");
- }
- else
- {
- new regstring[280];
- new regname[150];
- GetPlayerName(playerid,regname,sizeof(regname));
- format(regstring,sizeof(regstring),"Dobrodosli, %s\nVi nemate korisnicki Account/Racun.\nUnesite lozinku za register:",regname);
- ShowPlayerDialog(playerid,18,DIALOG_STYLE_INPUT,"QuerZex RolePlay - Registracija",regstring,"Prijavi se","Izlaz");
- }
- return 1;
- }
- public OnGameModeInit()
- {
- /* <-------------------------------------------> */
- ShowPlayerMarkers(0);
- ShowNameTags(1);
- DisableInteriorEnterExits();
- EnableStuntBonusForAll(0);
- SetNameTagDrawDistance(10.0);
- // =========== TIMERS ===========
- SetTimer("MoneyUpdate",1000,1);
- SetTimer("SaveAccounts", SECONDS(13), 1);
- /* <-------------------------------------------> */
- gPoliceCar[0] = AddStaticVehicleEx(596, 1602.5612, -1684.0551, 5.6117, 90.1118, 1, 1, 60000); // LSPD CAR 1
- gPoliceCar[1] = AddStaticVehicleEx(596, 1601.6705, -1688.0541, 5.6121, 90.8448, 1, 1, 60000); // LSPD CAR 2
- gPoliceCar[2] = AddStaticVehicleEx(596, 1602.4637, -1692.0313, 5.6110, 88.8953, 1, 1, 60000); // LSPD CAR 3
- gPoliceCar[3] = AddStaticVehicleEx(596, 1601.9114, -1696.1097, 5.6123, 89.3469, 1, 1, 60000); // LSPD CAR 4
- gPoliceCar[4] = AddStaticVehicleEx(596, 1601.0546, -1700.0367, 5.6102, 89.6678, 1, 1, 60000); // LSPD CAR 5
- gPoliceCar[5] = AddStaticVehicleEx(596, 1601.0619, -1704.1592, 5.6111, 88.1358, 1, 1, 60000); // LSPD CAR 6
- gPoliceCar[6] = AddStaticVehicleEx(596, 1602.6029, -1704.2450, 5.6131, 89.3122, 1, 1, 60000); // LSPD CAR 7
- gPoliceCar[7] = AddStaticVehicleEx(599, 1578.5756, -1711.5348, 6.0791, 0.1873, 1, 1, 60000); // LSPD RANCHER 8
- gPoliceCar[8] = AddStaticVehicleEx(599, 1574.3901, -1711.5637, 6.0810, 359.8975, 1, 1, 60000); // LSPD RANCHER 9
- gPoliceCar[9] = AddStaticVehicleEx(599, 1570.2910, -1711.2526, 6.0789, 0.4381, 1, 1, 60000); // LSPD RANCHER 10
- gPoliceCar[10] = AddStaticVehicleEx(599, 1558.7439, -1711.3959, 6.0765, 359.5774, 1, 1, 60000); // LSPD RANCHER 11
- gPoliceCar[11] = AddStaticVehicleEx(523, 1567.1206, -1713.1724, 5.4631, 355.7968, 1, 1, 60000); // LSPD BIKE 12
- /* <-------------------------------------------> */
- //Telling the Server the Game Mode
- SetGameModeText("QZ:RP V0.0.1");
- /* <-------------------------------------------> */
- AddStaticVehicleEx(522, 1119.0754, -1626.3329, 20.0777, 176.0761, 1, 1, 60000); // Motor kod spawna
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_AGE)
- {
- if(!response)
- {
- Kick(playerid);
- }
- else
- {
- if(strlen(inputtext))
- {
- new age = strval(inputtext);
- if(age > 40 || age < 14)
- {
- new dobstring[280];
- new dobname[150];
- GetPlayerName(playerid,dobname,sizeof(dobname));
- format(dobstring,sizeof(dobstring),"Odlicno %s.\nRegistrovali ste se na San Andreas Role Play server\nPrijavite se:",dobstring);
- ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Registracija - Peti Korak","{FFFFFF}Koliko imate godina ?\n{FF0000}(( {FFFFFF}14 {FF0000}- {FFFFFF}40 {FF0000})){FFFFFF}\nOvo su samo In Character Informacije ( IC ).","Odgovori","Izlaz");
- }
- else
- {
- PlayerInfo[playerid][pAge] = age;
- new
- string[ 64 ]
- ;
- format(string, sizeof(string), "{FFFFFF}INFO: Znaci, imate {3BB9FF}%d {FFFFFF}godina.",age);
- SendClientMessage(playerid, -1, string);
- GivePlayerCash(playerid, 600);
- SaveAccountStats(playerid);
- SpawnPlayer(playerid);
- }
- }
- else
- {
- return 0;
- }
- }
- }
- if(dialogid == DIALOG_SEX)
- {
- if(response)
- {
- PlayerInfo[playerid][pSex] = 1;
- SendClientMessage(playerid, -1, "{FFFFFF}INFO: Znaci, {3BB9FF}Muskog {FFFFFF}ste spola.");
- SetPlayerSkin(playerid, 60);
- PlayerInfo[playerid][pSkin] = 60;
- ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "- {FFFFFF}Dob -","{FFFFFF}Koliko imate godina ?\n{FF0000}(( {FFFFFF}14 {FF0000}- {FFFFFF}65 {FF0000})){FFFFFF}","Odgovori","Izlaz");
- }
- else
- {
- PlayerInfo[playerid][pSex] = 2;
- SendClientMessage(playerid, -1, "{FFFFFF}INFO: Znaci, {3BB9FF}Zenskog {FFFFFF}ste spola.");
- SetPlayerSkin(playerid, 233);
- PlayerInfo[playerid][pSkin] = 233;
- ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "- {FFFFFF}Dob -","{FFFFFF}Koliko imate godina ?\n{FF0000}(( {FFFFFF}14 {FF0000}- {FFFFFF}65 {FF0000})){FFFFFF}","Odgovori","Izlaz");
- }
- }
- switch( dialogid )
- {
- case DIALOG_REGISTER:
- {
- if (!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext))
- return
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "QuerZex RolePlay","Unijeli ste krivu lozinku, pokusajte ponovo.\nUpisite lozinku kojom cete se koristiti za prijavljivanje u svoj K. Racun:","Registriraj","Izlaz");
- 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,"GameQuer",0);
- INI_WriteInt(File,"Sex",0);
- INI_WriteInt(File,"Age",0);
- INI_WriteFloat(File,"Pos_x",0);
- INI_WriteFloat(File,"Pos_y",0);
- INI_WriteFloat(File,"Pos_z",0);
- INI_WriteInt(File,"Skin",0);
- INI_WriteInt(File,"Team",0);
- INI_WriteInt(File,"Accent",0);
- INI_WriteInt(File,"Leader",0);
- INI_WriteInt(File,"Member",0);
- INI_WriteInt(File,"Rank",0);
- INI_WriteInt(File,"OrgSkin",0);
- INI_Close(File);
- ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_MSGBOX, "- {FFFFFF}Spol -","Kojeg ste spola ?","Muskog","Zenskog");
- }
- }
- 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);
- new
- tmp2[ 256 ],
- playername2[ MAX_PLAYER_NAME ]
- ;
- GetPlayerName(playerid, playername2, sizeof(playername2));
- format(tmp2, sizeof(tmp2), "~w~Dobrodosli ~n~~g~%s", playername2);
- GameTextForPlayer(playerid, tmp2, 5000, 1);
- SetTimerEx("UnsetFirstSpawn", 5000, false, "i", playerid);
- GivePlayerCash(playerid, PlayerInfo[playerid][pCash]);
- SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], 1.0, -1, -1, -1, -1, -1, -1);
- SpawnPlayer(playerid);
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"QuerZex RolePlay","Unijeli ste krivu lozinku, pokusajte ponovo.\nUpisite svoju lozinku da biste se ulogirali u svoj K. Racun:","Prijava","Izlaz");
- }
- return 1;
- }
- }
- 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][pMember])
- {
- 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, C_WHITE, "INFO: Prihvatili ste poziv za ulazak u "CRED"Los Santos Police Department");
- }
- }
- }
- else // Ako je igrac pritisnuo 'Ne prihvacam'
- {
- // Resetiramo igraceve varijable na 0 jer nije prihvatio ulazak u organizaciju
- PlayerInfo[playerid][pMember] = 0;
- PlayerInfo[playerid][pRank] = 0;
- SendClientMessage(playerid, C_WHITE, "INFO: Odbili ste poziv za ulazak u organizaciju");
- }
- }
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
- SetPlayerToTeamColor(playerid);
- Logged[playerid] = 1;
- }
- if(PlayerInfo[playerid][pPos_x] == 0 && PlayerInfo[playerid][pPos_y] == 0)
- {
- SetPlayerPos(playerid, 1119.4132,-1619.1407,20.5162);
- Logged[playerid] = 1;
- SpawnPlayer(playerid);
- }
- else
- {
- SetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
- Logged[playerid] = 1;
- SpawnPlayer(playerid);
- }
- if (PlayerInfo[playerid][pMember] > 0)
- {
- switch(PlayerInfo[playerid][pMember])
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- SetPlayerPos(playerid, 1525.4482,-1677.9772,5.8906); // Postavlja igracevu poziciju na te koordinate, vi te koordinate mozete zamijeniti svojima
- SetPlayerFacingAngle(playerid, 266.9746); // Postavlja kamo da igrac gleda, vi to mozete zamijeniti sa svojim kutem
- SetPlayerSkin(playerid, PlayerInfo[playerid][pOrgSkin]); // 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][pOrgSkin]); // Postavlja igracev skin na onaj koji mora imat dok je u organizaciji
- }*/
- }
- }
- else if (PlayerInfo[playerid][pLeader] > 0)
- {
- switch(PlayerInfo[playerid][pLeader])
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- SetPlayerPos(playerid, 1525.4482,-1677.9772,5.8906); // Postavlja igracevu poziciju na te koordinate, vi te koordinate mozete zamijeniti svojima
- SetPlayerFacingAngle(playerid, 266.9746); // Postavlja kamo da igrac gleda, vi to mozete zamijeniti sa svojim kutem
- SetPlayerSkin(playerid, PlayerInfo[playerid][pOrgSkin]); // 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][pOrgSkin]); // Postavlja igracev skin na onaj koji mora imat dok je u organizaciji
- }*/
- }
- }
- return 1;
- }
- forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(!success)
- SendClientMessage(playerid, COLOR_RED, "GRESKA: {F3FF02}Upisali ste komandu koja ne postoji, za pomoc upisite /pomoc za pregled komandi, mozete poslati pitanje adminu s komandom /pitaj ili ga pozovite do sebe s komandom /novi.");
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if (newstate == PLAYER_STATE_DRIVER) // Ako je usao u vozilo kao vozac
- {
- new
- iVehicleID = GetPlayerVehicleID(playerid);
- // Provjerava da li je igrac usao u vozilo org. LSPD i provjerava da li je clan te org., ako nije izbacit ce ga iz vozila
- if (IsAPoliceCar(iVehicleID) && (PlayerInfo[playerid][pMember] != 1 || PlayerInfo[playerid][pLeader] != 1))
- {
- SendClientMessage(playerid, C_WHITE, "GRESKA: Nisi clan Los Santos Police Departmenta.");
- RemovePlayerFromVehicle(playerid);
- }
- }
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- new
- realchat = 1,
- string[ 128 ]
- ;
- if(IsPlayerConnected(playerid))
- {
- if(realchat)
- {
- if(PlayerInfo[playerid][pAccent] == 0)
- {
- format(string, sizeof(string), "%s kaze: %s", RPName(playerid), text);
- ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
- }
- else
- {
- new
- accent[20]
- ;
- switch(PlayerInfo[playerid][pAccent])
- {
- case 1: accent = "Ruskim";
- case 2: accent = "Talijanskim";
- case 3: accent = "Njemackim";
- case 4: accent = "Japanskim";
- case 5: accent = "Francuskim";
- case 6: accent = "Spanjolskim";
- case 7: accent = "Kineskim";
- case 8: accent = "Britanskim";
- }
- format(string, sizeof(string), "%s kaze: [%s Naglaskom] %s", RPName(playerid), accent, text);
- ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
- }
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SaveAccountStats(playerid);
- return 1;
- }
- function SetPlayerToTeamColor(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- SetPlayerColor(playerid,TEAM_HIT_COLOR);
- }
- }
- function OOCOff(color,const string[])
- {
- foreach (Player,i)
- {
- if(!gOoc{i})
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- function SaveAccountStats(playerid)
- {
- if(Logged[playerid] == 1)
- {
- new
- INI:File = INI_Open(UserPath(playerid))
- ;
- INI_SetTag(File,"data");
- PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
- PlayerInfo[playerid][pCash] = GetPlayerCash(playerid);
- new
- Float:x,
- Float:y,
- Float:z
- ;
- GetPlayerPos(playerid,x,y,z);
- PlayerInfo[playerid][pPos_x] = x;
- PlayerInfo[playerid][pPos_y] = y;
- PlayerInfo[playerid][pPos_z] = z;
- INI_WriteInt(File,"Cash",PlayerInfo[playerid][pCash]);
- INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
- INI_WriteInt(File,"GameQuer",PlayerInfo[playerid][pGameQuer]);
- INI_WriteInt(File,"Sex",PlayerInfo[playerid][pSex]);
- INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge]);
- INI_WriteFloat(File,"Pos_x",PlayerInfo[playerid][pPos_x]);
- INI_WriteFloat(File,"Pos_y",PlayerInfo[playerid][pPos_y]);
- INI_WriteFloat(File,"Pos_z",PlayerInfo[playerid][pPos_z]);
- INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
- INI_WriteInt(File,"Team",PlayerInfo[playerid][pTeam]);
- INI_WriteInt(File,"Accent",PlayerInfo[playerid][pAccent]);
- INI_WriteInt(File,"Leader",PlayerInfo[playerid][pLeader]);
- INI_WriteInt(File,"Member",PlayerInfo[playerid][pMember]);
- INI_WriteInt(File,"Rank",PlayerInfo[playerid][pRank]);
- INI_WriteInt(File,"OrgSkin",PlayerInfo[playerid][pOrgSkin]);
- INI_Close(File);
- }
- return 1;
- }
- function SaveAccounts()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- SaveAccountStats(i);
- }
- }
- }
- function GameModeExitFunc()
- {
- GameModeExit();
- return 1;
- }
- function 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("GameQuer",PlayerInfo[playerid][pGameQuer]);
- INI_Int("Sex",PlayerInfo[playerid][pSex]);
- INI_Int("Age",PlayerInfo[playerid][pAge]);
- INI_Float("Pos_x",PlayerInfo[playerid][pPos_x]);
- INI_Float("Pos_y",PlayerInfo[playerid][pPos_y]);
- INI_Float("Pos_z",PlayerInfo[playerid][pPos_z]);
- INI_Int("Skin",PlayerInfo[playerid][pSkin]);
- INI_Int("Team",PlayerInfo[playerid][pTeam]);
- INI_Int("Accent",PlayerInfo[playerid][pAccent]);
- INI_Int("Leader",PlayerInfo[playerid][pLeader]);
- INI_Int("Member",PlayerInfo[playerid][pMember]);
- INI_Int("Rank",PlayerInfo[playerid][pRank]);
- INI_Int("OrgSkin",PlayerInfo[playerid][pOrgSkin]);
- return 1;
- }
- function MoneyUpdate(playerid)
- {
- if(GetPlayerCash(playerid) < GetPlayerMoney(playerid))
- {
- foreach(Player, i)
- {
- new const old_money = GetPlayerCash(playerid);
- ResetPlayerCash(playerid), GivePlayerCash(playerid, old_money);
- }
- }
- return 1;
- }
- function ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:posx, Float:posy, Float:posz;
- new BigEar[MAX_PLAYERS];
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
- {
- if(!BigEar[i])
- {
- GetPlayerPos(i, posx, posy, posz);
- tempposx = (oldposx -posx);
- tempposy = (oldposy -posy);
- tempposz = (oldposz -posz);
- if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
- {
- SendClientMessage(i, col1, string);
- }
- else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
- {
- SendClientMessage(i, col2, string);
- }
- else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
- {
- SendClientMessage(i, col3, string);
- }
- else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
- {
- SendClientMessage(i, col4, string);
- }
- else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
- {
- SendClientMessage(i, col5, string);
- }
- }
- else
- {
- SendClientMessage(i, col1, string);
- }
- }
- }
- }
- return 1;
- }
- // ============ STOCKS ============
- stock SendAdminMessage( color, string[] )
- {
- foreach (Player,i)
- {
- if( PlayerInfo[ i] [ pAdmin ] > 1 )
- {
- SendClientMessage( i, color, string );
- }
- }
- }
- stock UserPath(playerid)
- {
- new string[128],playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid,playername,sizeof(playername));
- format(string,sizeof(string),PATH,playername);
- return string;
- }
- /* Credits 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;
- }
- stock RPName(playerid)
- {
- new string[24];
- GetPlayerName(playerid,string,24);
- new str[24];
- strmid(str,string,0,strlen(string),24);
- for(new i = 0; i < MAX_PLAYER_NAME; i++)
- {
- if (str[i] == '_') str[i] = ' ';
- }
- return str;
- }
- 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;
- }
- stock GetPlayerRank(iPlayerID) // By Joey_
- {
- new
- szRankName[16], // Broj 16 morate promijeniti ako imate rank ime vece od 15 znakova
- iPlayerOrg = (PlayerInfo[iPlayerID][pMember] > 0) ? (PlayerInfo[iPlayerID][pMember]) : (PlayerInfo[iPlayerID][pLeader]);
- 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 = "Poručnik";
- 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;
- }
- stock IsAPoliceCar(iVehicleID) // By Joey_
- {
- for(new iIdx = 0; iIdx < sizeof(gPoliceCar); iIdx++)
- {
- if (gPoliceCar[iIdx] == iVehicleID)
- return 1;
- }
- return 0;
- }
- // =================================
- /* LOGS */
- function OOCLog(string[])
- {
- new
- entry[ 128 ],
- year,
- month,
- day,
- hour,
- minute,
- second
- ;
- getdate(year, month, day);
- gettime(hour, minute, second);
- format(entry, sizeof(entry), "%s | (%d-%d-%d) (%d:%d:%d)\n",string, day, month, year, hour, minute, second);
- new File:hFile;
- hFile = fopen("Basic/logs/OOCLog.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- /* COMMANDS */
- ALTCOMMAND:poda->podatci;
- CMD:podatci(playerid, params[])
- {
- if(IsPlayerConnected(playerid))
- {
- new
- string[ 128 ],
- Age = PlayerInfo[ playerid ][ pAge ],
- Money = GetPlayerCash( playerid )
- ;
- new Sex[20];
- if(PlayerInfo[ playerid ][ pSex ] == 1) { Sex = "Musko"; }
- else if(PlayerInfo[ playerid ][ pSex ] == 2) { Sex = "Zensko"; }
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "------------------------------------------------------------------------");
- format(string, sizeof(string), "Ime i Prezime: %s | Novac: %d | Dob: %d | Spol: %s", RPName(playerid), Money, Age, Sex);
- SendClientMessage(playerid, COLOR_GRAD2, string);
- }
- return 1;
- }
- CMD:pomoc(playerid, params[])
- {
- SendClientMessage(playerid,red,"/stats,/b,/me,/(o)oc,/w,/s,/t,/url,/naglasak");
- return 1;
- }
- ALTCOMMAND:ap->adminpomoc;
- CMD:adminpomoc(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1,"{F81414}Niste Admin !");
- SendClientMessage(playerid, -1, "____________________________________________________________________");
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- SendClientMessage(playerid, COLOR_FADE, "Server Mod: {F3FF02}Komande u izradi !");
- }
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- SendClientMessage(playerid, COLOR_FADE, "Mod: {F3FF02}Komande u izradi !");
- }
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- SendClientMessage(playerid, COLOR_FADE, "Global Mod: {F3FF02}Komande u izradi !");
- }
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- SendClientMessage(playerid, COLOR_FADE, "Admin: {F3FF02}Komande u izradi !");
- }
- if(PlayerInfo[playerid][pAdmin] >= 5)
- {
- SendClientMessage(playerid, COLOR_FADE, "Lead Admin: {F3FF02}Komande u izradi !");
- }
- if(PlayerInfo[playerid][pAdmin] >= 6)
- {
- SendClientMessage(playerid, COLOR_FADE, "Head Admin: {F3FF02}/postavilidera (/PL) -");
- }
- if(PlayerInfo[playerid][pAdmin] >= 7)
- {
- SendClientMessage(playerid, COLOR_FADE, "Owner: {F3FF02}/dajnovac -");
- }
- SendClientMessage(playerid, -1, "____________________________________________________________________");
- return 1;
- }
- ALTCOMMAND:gqp->gamequerpomoc;
- CMD:gamequerpomoc(playerid, params[])
- {
- if(PlayerInfo[playerid][pGameQuer] == 0) return SendClientMessage(playerid, -1,"Niste GameQuer !");
- SendClientMessage(playerid, -1, "____________________________________________________________________");
- if(PlayerInfo[playerid][pGameQuer] >= 1)
- {
- SendClientMessage(playerid, COLOR_FADE, "Pomocnik: {F3FF02}Komande u izradi !");
- }
- if(PlayerInfo[playerid][pGameQuer] >= 2)
- {
- SendClientMessage(playerid, COLOR_FADE, "Pomocni Quer: {F3FF02}Komande u izradi !");
- }
- if(PlayerInfo[playerid][pGameQuer] >= 3)
- {
- SendClientMessage(playerid, COLOR_FADE, "GameQuer: {F3FF02}Komande u izradi !");
- }
- if(PlayerInfo[playerid][pGameQuer] >= 4)
- {
- SendClientMessage(playerid, COLOR_FADE, "Glavni Quer: {F3FF02}/postavigamequer (/PGQ) - /dajnovac");
- }
- SendClientMessage(playerid, -1, "____________________________________________________________________");
- return 1;
- }
- ALTCOMMAND:o->ooc;
- CMD:ooc(playerid, params[])
- {
- new
- string[ 186 ]
- ;
- if((noooc) && PlayerInfo[playerid][pAdmin] < 1 || PlayerInfo[playerid][pGameQuer] < 1) return SendClientMessage(playerid, COLOR_GRAD2, "OOC Chat ugasen od strane Admina/GameQuer-a !");
- if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD2, "KORISTI: {FFFFFF}(/o)oc [ooc chat]");
- format(string, sizeof(string), "(( OOC: %s: %s ))", RPName(playerid), params);
- OOCOff(0xCCFFFF00, string);
- OOCLog(string);
- printf("%s", string);
- return 1;
- }
- CMD:b(playerid, params[])
- {
- new
- string[ 128 ]
- ;
- if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD2, "KORISTI: {FFFFFF} /b [ooc chat]");
- format(string, sizeof(string), "(( OOC: %s[%i]: %s ))", RPName( playerid ), playerid, params);
- printf("%s", string);
- ProxDetector(30.0, playerid, string, COLOR_FADE,COLOR_FADE,COLOR_FADE,COLOR_FADE,COLOR_FADE);
- return 1;
- }
- CMD:do(playerid, params[])
- {
- new
- result[ 128 ],
- string[ 128 ]
- ;
- if(sscanf(params, "s[128]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "KORISTI: {FFFFFF}/do [radnja]");
- format(string, sizeof(string), "* %s (( %s ))", result, RPName(playerid));
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- printf("%s", string);
- return 1;
- }
- CMD:me(playerid, params[])
- {
- new
- result[ 128 ],
- string[ 128 ]
- ;
- if(sscanf(params, "s[128]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "KORISTI: {FFFFFF}/do [radnja]");
- format(string, sizeof(string), "* %s %s", RPName(playerid), result);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- printf("%s", string);
- return 1;
- }
- CMD:url(playerid,params[])
- {
- SendClientMessage(playerid,red,"Forum u izradi !");
- return 1;
- }
- CMD:t(playerid,params[])
- {
- new Float:X, Float:Y, Float:Z;
- new Nam[MAX_PLAYERS],message[128],str[128];
- if(sscanf(params,"s",message)) return SendClientMessage(playerid,grey,"KORISTI: /t [text]");
- GetPlayerPos(playerid,X,Y,Z);
- GetPlayerName(playerid,Nam,sizeof(Nam));
- format(str,sizeof(str),"%s kaze: %s",Nam, message);
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerInRangeOfPoint(i,10, X,Y,Z))
- {
- SendClientMessage(i,0x00E6E6FF,str);
- }
- }
- return 1;
- }
- CMD:s(playerid,params[])
- {
- new Float:X, Float:Y, Float:Z;
- new Nam[MAX_PLAYERS],message[128],str[128];
- if(sscanf(params,"s",message)) return SendClientMessage(playerid,grey,"KORISTI: /s [text]");
- GetPlayerName(playerid,Nam,sizeof(Nam));
- GetPlayerPos(playerid,X,Y,Z);
- format(str,sizeof(str),"%s vice: %s",Nam, message);
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerInRangeOfPoint(i,20, X,Y,Z))
- {
- SendClientMessage(i,red,str);
- }
- }
- return 1;
- }
- CMD:w(playerid,params[])
- {
- new Float:X, Float:Y, Float:Z;
- new Nam[MAX_PLAYERS],message[128],str[128];
- if(sscanf(params,"s",message)) return SendClientMessage(playerid,grey,"KORISTI: /w [text]");
- GetPlayerName(playerid,Nam,sizeof(Nam));
- GetPlayerPos(playerid,X,Y,Z);
- format(str,sizeof(str),"%s nesto sapuce: %s",Nam, message);
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerInRangeOfPoint(i, 5.0, X,Y,Z))
- {
- SendClientMessage(i,0xFF925EFF,str);
- }
- }
- return 1;
- }
- CMD:naglasak(playerid, params[])
- {
- if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD1, "KORISTI: {FFFFFF}/naglasak [Ruski | Talijanski | Njemacki | Japanski | Francuski | Spanjolski | Kineski | Britanski | Normalni]");
- if(!strcmp(params,"ruski",true))
- {
- PlayerInfo[playerid][pAccent] = 1;
- SendClientMessage(playerid, COLOR_GRAD1, "Vas naglasak je sada Ruski !");
- }
- else if(!strcmp(params,"talijanski",true))
- {
- PlayerInfo[playerid][pAccent] = 2;
- SendClientMessage(playerid, COLOR_GRAD1, "Vas naglasak je sada Talijanski !");
- }
- else if(!strcmp(params,"njemacki",true))
- {
- PlayerInfo[playerid][pAccent] = 3;
- SendClientMessage(playerid, COLOR_GRAD1, "Vas naglasak je sada Njemacki !");
- }
- else if(!strcmp(params,"japanski",true))
- {
- PlayerInfo[playerid][pAccent] = 4;
- SendClientMessage(playerid, COLOR_GRAD1, "Vas naglasak je sada Japanski !");
- }
- else if(!strcmp(params,"francuski",true))
- {
- PlayerInfo[playerid][pAccent] = 5;
- SendClientMessage(playerid, COLOR_GRAD1, "Vas naglasak je sada Francuski !");
- }
- else if(!strcmp(params,"spanjolski",true))
- {
- PlayerInfo[playerid][pAccent] = 6;
- SendClientMessage(playerid, COLOR_GRAD1, "Vas naglasak je sada Spanjolski !");
- }
- else if(!strcmp(params,"kineski",true))
- {
- PlayerInfo[playerid][pAccent] = 7;
- SendClientMessage(playerid, COLOR_GRAD1, "Vas naglasak je sada Kineski !");
- }
- else if(!strcmp(params,"britanski", true))
- {
- PlayerInfo[playerid][pAccent] = 8;
- SendClientMessage(playerid, COLOR_GRAD1, "Vas naglasak je sada Britanski !");
- }
- else if(!strcmp(params,"normalni",true))
- {
- PlayerInfo[playerid][pAccent] = 0;
- SendClientMessage(playerid, COLOR_GRAD1, "Maknuli ste naglasak !");
- }
- else return SendClientMessage(playerid, COLOR_GREY, "Nepoznati naglasak !");
- return 1;
- }
- CMD:pa(playerid, params[])
- return cmd_postaviadmina(playerid, params);
- CMD:postaviadmina(playerid, params[])
- {
- new alvl,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],str[128],ID;
- if(PlayerInfo[playerid][pAdmin] < 7) return SendClientMessage(playerid, COLOR_GRAD1, " Niste Admin ili nemate dovoljan Admin Level ! ");
- if(sscanf(params,"ui",ID,alvl)) return SendClientMessage(playerid,0xFF9900AA, "KORISTI: {F3FF02}/postaviadmina (/PA) [playerid] [admin level 1-7]");//If you do not use the format /makeadmin properly it will show you how
- if(ID == INVALID_PLAYER_ID) return SendClientMessage(playerid,0xFF0000FF, "{F3FF02}Ta osoba nije prikljucena serveru.");//if its an unknown ID, it will show that person is not connected
- if(alvl > 7 || alvl < 1) return SendClientMessage(playerid,0xFF0000FF," Ne mozete dati manji level od 1, a veci od 7 !");
- if(alvl >= 1 || alvl <= 7)//if you select admin lvl 1 then they will be a seceret admin
- {
- if(PlayerInfo[ID][pAdmin] == alvl) return SendClientMessage(playerid,0xFF0000FF,"GRESKA: Ta osoba je trenutno taj {F3FF02}Admin Level !");
- GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);//defines the playerid name
- GetPlayerName(ID,pname,MAX_PLAYER_NAME);//defines the other player name
- format(str, sizeof(str),"Pomocni Vlasnik %s Vam je dao Admin Level %d ! {F3FF02}Cestitamo !",Nam, alvl);//string
- SendClientMessage(ID,0xFF9900AA,str);//Sends the other person a message
- format(str, sizeof(str),"{F3FF02}%s je dobio Admin Level %d !",pname, alvl);//string
- SendClientMessage(playerid,0xFF9900AA,str);//Sends you a message
- format(str, sizeof(str), "Admin %s je dao %s Admin Level %d !", Nam, pname, alvl);
- PlayerInfo[ID][pAdmin] = alvl;
- }
- return 1;
- }
- CMD:dajnovac(playerid, params[])
- {
- new targetid,type,string[128];
- if(sscanf(params, "ui", targetid, type)) return SendClientMessage(playerid, COLOR_GRAD2, "KORISTI: {FFFFFF}/Dajnovac [playerid] [kolicina]");
- if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_GREY, "* Ta osoba nije prikljucena serveru.");
- if(type < 0 || type > 10000000) return SendClientMessage(playerid, COLOR_GREY, "* Ne mozete dati manje od 0 i vise od 10000000.");
- if(PlayerInfo[playerid][pAdmin] < 7 || PlayerInfo[playerid][pGameQuer] < 4) return SendClientMessage(playerid, COLOR_GRAD1, "Niste Admin ili niste dovoljan Admin Level !");
- GivePlayerCash(targetid, type);
- format(string, sizeof(string),"Admin/GameQuer %s je dao %s %d Dolara.", RPName( playerid ), RPName( targetid ), type);
- SendAdminMessage(COLOR_YELLOW,string);
- return 1;
- }
- CMD:pgq(playerid, params[])
- return cmd_postavigamequer(playerid, params);
- CMD:postavigamequer(playerid, params[])
- {
- new gqlvl,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],str[128],ID;
- if(PlayerInfo[playerid][pAdmin] < 7 || PlayerInfo[playerid][pGameQuer] < 4) return SendClientMessage(playerid, COLOR_GRAD1, " Niste Glavni Admin ili niste Glavni GameQuer ! ");
- if(sscanf(params,"ui",ID,gqlvl)) return SendClientMessage(playerid,0xFF9900AA, "{F3FF02}KORISTI: /postavigamequer (/PGQ) [playerid] [GameQuer Level 1-4]");//If you do not use the format /makeadmin properly it will show you how
- if(ID == INVALID_PLAYER_ID) return SendClientMessage(playerid,0xFF0000FF, "Ta osoba nije prikljucena serveru.");//if its an unknown ID, it will show that person is not connected
- if(gqlvl > 4 || gqlvl < 1) return SendClientMessage(playerid,0xFF0000FF," Ne mozete dati manji level od 1, a veci od 7 !");
- if(gqlvl >= 1 || gqlvl <= 4)//if you select admin lvl 1 then they will be a seceret admin
- {
- if(PlayerInfo[ID][pGameQuer] == gqlvl) return SendClientMessage(playerid,0xFF0000FF,"GRESKA: Ta osoba je vec trenutno taj {F3FF02}GameQuer Level. !");
- GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);//defines the playerid name
- GetPlayerName(ID,pname,MAX_PLAYER_NAME);//defines the other player name
- format(str, sizeof(str),"Glavni Admin ili Glavni GameQuer %s Vam je dao GameQuer Level %d ! {F3FF02}Cestitamo !",Nam, gqlvl);//string
- SendClientMessage(ID,0xFF9900AA,str);//Sends the other person a message
- format(str, sizeof(str),"{F3FF02}%s je dobio GameQuer Level %d !",pname, gqlvl);//string
- SendClientMessage(playerid,0xFF9900AA,str);//Sends you a message
- format(str, sizeof(str), "Glavni Admin ili Glavni GameQuer %s je dao %s GameQuer Level %d !", Nam, pname, gqlvl);
- PlayerInfo[ID][pGameQuer] = gqlvl;
- }
- return 1;
- }
- //--------------------KOMANDE ZA ORGANIZACIJE----------------------------------------------------------------------
- ALTCOMMAND:pl->postavilidera;
- CMD:postavilidera(playerid, params[])
- {
- if (IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] < 6) // 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, C_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, C_WHITE, "GRESKA: 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, C_WHITE, "GRESKA: ID organizacije ne smije biti manji od 1 ili veci od "#MAX_ORGS);
- PlayerInfo[iPlayerID][pLeader] = 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][pOrgSkin] = 283; // Broj 283 je ID skina lidera organizacije, to mozete promijeniti u koji kod skin ID vi zelite
- SetPlayerSkin(iPlayerID, PlayerInfo[iPlayerID][pOrgSkin]); // 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][pOrgSkin] = 283; // Broj 283 je ID skina lidera organizacije, to mozete promijeniti u koji kod skin ID vi zelite
- SetPlayerSkin(iPlayerID, PlayerInfo[iPlayerID][pOrgSkin]); // 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, C_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, C_WHITE, szMessage);
- }
- else
- SendClientMessage(playerid, C_WHITE, "{F3FF02}GRESKA: Moras biti RCON admin da koristis ovu komandu.");
- return 1;
- }
- CMD:invite(playerid, params[])
- {
- if (PlayerInfo[playerid][pLeader] > 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, C_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, C_WHITE, "GRESKA: Pogresan ID igraca.");
- GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
- switch(PlayerInfo[playerid][pLeader])
- {
- case 1: // Prva organizacija, nazovimo je Los Santos Police Department
- {
- PlayerInfo[iPlayerID][pMember] = PlayerInfo[playerid][pLeader]; // 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][pMember] = PlayerInfo[playerid][pLeader]; // 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, C_WHITE, "GRESKA: Moras biti lider da koristis ovu komandu.");
- return 1;
- }
- CMD:rank(playerid, params[])
- {
- if (PlayerInfo[playerid][pLeader] > 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, C_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, C_WHITE, "GRESKA: 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, C_WHITE, "GRESKA: ID organizacije ne smije biti manji od 1 ili veci od 6.");
- else if (PlayerInfo[iPlayerID][pMember] != PlayerInfo[playerid][pLeader]) // Provjerava da li su igrac i ID igraca koji je upisao u istoj organizaciji
- return SendClientMessage(playerid, C_WHITE, "GRESKA: 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
- GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Lider %s ti je postavio rank na "CRED"%d", szPlayerName, iRankNum);
- SendClientMessage(iPlayerID, C_WHITE, szMessage);
- GetPlayerName(iPlayerID, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Postavio si clanu %s rank na "CRED"%d", szPlayerName, iRankNum);
- SendClientMessage(playerid, C_WHITE, szMessage);
- }
- else
- SendClientMessage(playerid, C_WHITE, "GRESKA: Moras biti lider da koristis ovu komandu.");
- return 1;
- }
- CMD:izbaci(playerid, params[])
- {
- if (PlayerInfo[playerid][pLeader] > 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, C_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, C_WHITE, "GRESKA: Pogresan ID igraca.");
- else if (PlayerInfo[iPlayerID][pMember] != PlayerInfo[playerid][pLeader]) // Provjerava da li su igrac i ID igraca koji je upisao u istoj organizaciji
- return SendClientMessage(playerid, C_WHITE, "GRESKA: Taj igrac nije u vasoj organizaciji.");
- PlayerInfo[iPlayerID][pLeader] = 0; // Resetira igracevu varijablu jer vise nije u organizaciji
- PlayerInfo[iPlayerID][pMember] = 0; // Resetira igracevu varijablu jer vise nije u organizaciji
- PlayerInfo[iPlayerID][pRank] = 0; // Resetira igracevu varijablu jer vise nije u organizaciji
- PlayerInfo[iPlayerID][pOrgSkin] = 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, C_WHITE, szMessage);
- GetPlayerName(iPlayerID, szPlayerName, MAX_PLAYER_NAME);
- format(szMessage, sizeof(szMessage), "INFO: Izbacio si clana %s iz organizacije.", szPlayerName);
- SendClientMessage(playerid, C_WHITE, szMessage);
- }
- else
- SendClientMessage(playerid, C_WHITE, "GRESKA: Moras biti lider da koristis ovu komandu.");
- return 1;
- }
- CMD:radio(playerid, params[])
- return cmd_r(playerid, params);
- CMD:r(playerid, params[])
- {
- if (PlayerInfo[playerid][pMember] > 1 || PlayerInfo[playerid][pLeader] > 1)
- {
- 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, C_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][pMember] == PlayerInfo[playerid][pMember] || PlayerInfo[iPlayerID][pLeader] == PlayerInfo[playerid][pLeader])
- {
- format(szMessage, sizeof(szMessage), "%s %s kaze: %s, Prijem", GetPlayerRank(playerid), szPlayerName, szChatMsg);
- SendClientMessage(iPlayerID, C_WHITE, szMessage);
- }
- }
- }
- else
- SendClientMessage(playerid, C_WHITE, "GRESKA: Moras biti clan neke organizacije da koristis ovu komandu.");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment