#include #include #include #include new logged[MAX_PLAYERS]; new money[MAX_PLAYERS]; new playername[MAX_PLAYER_NAME]; new score[MAX_PLAYERS]; #define TEAM_CIVIL 1 // Team Vagos #define TEAM_RUSSIAN 2 // Team Ballas #define TEAM_KIDNAP 3 #define TEAM_COP 4 #define COLOR_BLUE 0x4682B4AA #define COLOR_LIGHTBLUE 0x6A5ACDAA #define COLOR_RED 0xFF0000AA #define COLOR_GREEN 0x00FF00AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_PINK 0xFF66FFAA #define COLOR_GREY 0xAFAFAFAA #define OBJECTIVE_COLOR 0xFFFF00AA #define COLOR_BLACK 0x000000AA #define COLOR_ERROR 0x800000AA #define COLOR_ADMIN 0xA52A2AAA new read[MAX_PLAYERS]; new Menu:RulesMenu; new Menu:Rules; new Text:gTextDraw; new LoggedHaha; new FrozenHaha; new frozen[MAX_PLAYERS]; new Kidnapped[MAX_PLAYERS]; new KidnapTimer; new Selection[MAX_PLAYERS]; new Door; new Jailed[MAX_PLAYERS]; new Float:RandomSpawn[][4] = { {-2720.609, -318.1057, 7.84375, 0.0}, {-2059.429, 891.1059, 61.85916, 0.0}, {-1988.766, 1117.668, 54.47243, 90.0} }; new Float:RandomSpawn2[][4] = { {-1624.54, 652.5769, -5.242188, 0.0}, {-1642.867, 695.1522, -4.90625, 0.0}, {-1569.063, 703.8151, -4.90625, 90.0} }; static gTeam[MAX_PLAYERS]; forward SetPlayerToTeamColor(playerid); // Speler naar teamkleur zetten forward SetupPlayerForClassSelection(playerid); // Speler klaarmaken voor setup forward SetPlayerTeamFromClass(playerid,classid); // Speler in team zetten forward ExitTheGameMode(); // uit gamemode gaan forward LoggedIn(playerid); forward FrozenIn(playerid); forward Kidnap(playerid); forward Busted(playerid); forward Door2(playerid); forward Unjail(playerid); main() { print("\n----------------------------------"); print(" RPG San Fierros Heroes\n"); print("----------------------------------\n"); } public OnGameModeInit() { { SetGameModeText("RPG San Fierros Heroes"); SetWorldTime(8); // tijd in uren. ShowNameTags(1); // Spelers namen boven health balk aan of uit. Nu aan ShowPlayerMarkers(1); // Blokjes op radar aan of uit? Nu aan // Vehicles Vagos ---------- Zet hier de autos van de Vagos neer CreateVehicle(484, -3443.102, 1514.267, 0.1724623, 0.0, 18, 36, 99999999); AddPlayerClass(120, -1568.027, 681.1583, 7.1875,270.0,46,1,0,0,0,0); AddPlayerClass(228, -1568.027, 681.1583, 7.1875,270.0,46,1,0,0,0,0); AddPlayerClass(163, -1568.027, 681.1583, 7.1875,270.0,46,1,0,0,0,0); AddPlayerClass(113, -1495.514, 919.9135, 7.1875,270.0,0,0,0,0,0,0); AddPlayerClass(112, -1495.514, 919.9135, 7.1875,270.0,0,0,0,0,0,0); AddPlayerClass(127, -1495.514, 919.9135, 7.1875,270.0,0,0,0,0,0,0); AddPlayerClass(22, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0); AddPlayerClass(22, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0); AddPlayerClass(287, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0);//cop AddPlayerClass(288, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0);//cop AddPlayerClass(286, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0);//cop AddPlayerClass(285, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0);//cop gTextDraw = TextDrawCreate( 460.0, 420.0, "RPG San Fierros Heroes!"); TextDrawFont(gTextDraw, 0); TextDrawUseBox(gTextDraw, 0); RulesMenu = CreateMenu("Accept rules? Or don't",1,200,200,400,35); AddMenuItem(RulesMenu, 0, "Read the rules"); AddMenuItem(RulesMenu, 0, "Agree"); AddMenuItem(RulesMenu, 0, "Disagree"); Rules = CreateMenu("The rules:",1,200,200,400,35); AddMenuItem(Rules, 0, "Do NOT hack~n~Do NOT spam~n~Do NOT ask for admin~n~Do NOT abuse glitches"); CreateObject(974, 291.874,186.0602,1008.172, 0.0,0.0,90.0); CreateObject(974, 293.9664,181.4382,1008.172, 0.0,0.0,145.0); CreateObject(974, 299.3847,180.0105,1008.172, 0.0,0.0,0.0); Door = CreateObject(1497, 295.9000, 189.000, 1006.350, 0.0, 0.0, 0.0); } return 1; } public OnPlayerConnect(playerid) { Selection[playerid] = 1; new string[128]; new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); format(string, sizeof(string), "%s has joined the server", PlayerName); SendClientMessageToAll(COLOR_GREEN, string); Kidnapped[playerid] = 0; frozen[playerid] = 0; read[playerid] = 0; Jailed[playerid] = 0; SetPlayerColor(playerid,COLOR_GREY); // Kleur GameTextForPlayer(playerid,"RPG San Fierros Heroes",2000,5); // Text SendClientMessage(playerid, COLOR_RED, "Welcome to this gamemode"); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Good luck, and have fun :)"); logged[playerid] = 0; EnableStuntBonusForAll(0); return 1; } public SetupPlayerForClassSelection(playerid) { SetPlayerInterior(playerid,10); SetPlayerPos(playerid,1982.4390,1011.1007,1000.9999); SetPlayerCameraPos(playerid,1988.671,1018.964,1002.839); SetPlayerCameraLookAt(playerid,1982.4390,1011.1007,999.7281); SetPlayerFacingAngle(playerid,340.0); } public SetPlayerTeamFromClass(playerid,classid) { if(classid == 0 || classid == 1 || classid == 2) { gTeam[playerid] = TEAM_CIVIL; } else if(classid == 3 || classid == 4 || classid == 5) { gTeam[playerid] = TEAM_RUSSIAN; } else if(classid == 6) { gTeam[playerid] = TEAM_KIDNAP; } else if(classid == 7) { gTeam[playerid] = TEAM_COP; } return 1; } public SetPlayerToTeamColor(playerid) { if(gTeam[playerid] == TEAM_CIVIL) { SetPlayerColor(playerid,COLOR_RED); // geel } else if(gTeam[playerid] == TEAM_RUSSIAN) { SetPlayerColor(playerid,COLOR_BLACK); // roze/paars } else if(gTeam[playerid] == TEAM_KIDNAP) { SetPlayerColor(playerid,COLOR_YELLOW); // roze/paars } else if(gTeam[playerid] == TEAM_COP) { SetPlayerColor(playerid,COLOR_BLUE); // roze/paars } } public OnPlayerRequestClass(playerid, classid) { SetupPlayerForClassSelection(playerid); SetPlayerTeamFromClass(playerid,classid); if(classid == 0 || classid == 1 || classid == 2) { GameTextForPlayer(playerid,"~y~CIVIL",1000,5); } else if(classid == 3 || classid == 4 || classid == 5) { GameTextForPlayer(playerid,"~r~RUSSIAN",1000,5); } else if(classid == 6) { GameTextForPlayer(playerid,"KIDNAPPER",1000,5); } else if(classid == 7) { GameTextForPlayer(playerid,"COP",1000,5); } TextDrawHideForPlayer(playerid, gTextDraw); return 1; } public OnPlayerSpawn(playerid) { Selection[playerid] = 0; SetPlayerTeamFromClass(playerid, GetPlayerSkin(playerid)); SetPlayerToTeamColor(playerid); SetPlayerInterior(playerid,0); if(gTeam[playerid] == TEAM_CIVIL) { new iRandom = random(3); SetPlayerPos(playerid, RandomSpawn[iRandom][0], RandomSpawn[iRandom][1], RandomSpawn[iRandom][2]); SetPlayerFacingAngle(playerid, RandomSpawn[iRandom][3]); GameTextForPlayer(playerid,"Cause some trouble!", 6000,5); } else if(gTeam[playerid] == TEAM_RUSSIAN) { GameTextForPlayer(playerid,"Keep your team up!", 6000,5); } else if (gTeam[playerid] == TEAM_KIDNAP) { GameTextForPlayer(playerid,"Kidnap civics or cops!",6000,5); } else if (gTeam[playerid] == TEAM_COP) { new iRandom = random(3); SetPlayerPos(playerid, RandomSpawn2[iRandom][0], RandomSpawn2[iRandom][1], RandomSpawn2[iRandom][2]); SetPlayerFacingAngle(playerid, RandomSpawn2[iRandom][3]); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Your job is to bring peace on the streets"); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Read your /commands please."); } if(logged[playerid] == 0) { frozen[playerid] = 1; FrozenHaha = SetTimer("FrozenIn", 1000, 999); LoggedHaha = SetTimer("LoggedIn", 1000, 999); } if(read[playerid] == 0) { TextDrawShowForPlayer(playerid, gTextDraw); ShowMenuForPlayer(RulesMenu, playerid); } return 1; } public ExitTheGameMode() { GameModeExit(); } public OnPlayerDeath(playerid, killerid, reason) { new deathstr[256]; new whodiedname[MAX_PLAYER_NAME+1]; new whokilledname[MAX_PLAYER_NAME+1]; new deathreasonstr[256]; GetPlayerName(playerid,whodiedname,MAX_PLAYER_NAME); GetWeaponName(reason,deathreasonstr,255); if(killerid == INVALID_PLAYER_ID) { if(strlen(deathreasonstr)) { format(deathstr,256,"%s died (%s)",whodiedname,deathreasonstr); } else { format(deathstr,256,"%s died",whodiedname); } SendClientMessageToAll(COLOR_RED, deathstr); } else { GetPlayerName(killerid,whokilledname,MAX_PLAYER_NAME); if(gTeam[killerid] != gTeam[playerid]) { // Valid kill if(strlen(deathreasonstr)) { format(deathstr,256,"%s was killed by %s (%s)",whodiedname,whokilledname,deathreasonstr); } else { format(deathstr,256,"%s was killed by %s",whodiedname,whokilledname); } SendClientMessageToAll(COLOR_RED, deathstr); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); } else { // Team kill format(deathstr,256,"%s killed team-mate %s (%s)",whokilledname,whodiedname,deathreasonstr); SendClientMessageToAll(OBJECTIVE_COLOR, deathstr); } } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256],tmp[256], tmp2[256]; new idx; new string[256]; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/kidnap", true) == 0) { new Float:x2, Float:y2, Float:z2; GetPlayerPos(playerid, Float:x2, Float:y2, Float:z2); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /kidnap (id)"); return 1; } new victimplayerid = strval(tmp); if(IsPlayerConnected(victimplayerid)) { if(gTeam[playerid] == TEAM_KIDNAP) { if(gTeam[playerid] == TEAM_KIDNAP) { if(IsPlayerInAnyVehicle(playerid && victimplayerid)) { Kidnapped[playerid] = 1; KidnapTimer = SetTimer("Kidnap", 240000, 1); new victimname[24]; new kidnapname[24]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, victimname, 24); GetPlayerName(playerid, kidnapname, 21); SendClientMessage(victimplayerid, COLOR_RED, "You are kidnapped by %s", kidnapname); SendClientMessage(playerid, COLOR_GREEN, "You kidnapped him!"); TogglePlayerControllable(victimplayerid, 0); } else { SendClientMessage(playerid, COLOR_RED, "You or the victim, have to be in a vehicle to kidnap"); } } else { SendClientMessage(playerid, COLOR_RED, "You are not close enough"); } } else { SendClientMessage(playerid, COLOR_RED, "You are not a kidnapper"); } } else { format(string, sizeof(string), "ID: %d Is not connected", victimplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } if(strcmp(cmd, "/release", true) == 0) { if(Kidnapped[victimplayerid] == 1) { TogglePlayerControllable(victimplayerid, 1); SendClientMessage(victimplayerid, COLOR_GREEN, "You are released"); SetPlayerPos(playerid, Float:x2, Float:y2, Float:z2); new iRandomNumber = random(5000); GivePlayerMoney(playerid, iRandomNumber); } else { SendClientMessage(playerid, COLOR_RED, "This player isn't kidnapped"); } } return 1; } if(strcmp(cmd, "/car", true) == 0) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, Float:x, Float:y, Float:z); CreateVehicle(522, Float:x+2, Float:y+2, Float:z+2, 120.0, 1, 2, 999999); return 1; } if(strcmp(cmd, "/cash", true) == 0) { GivePlayerMoney(playerid, 600); return 1; } if(strcmp(cmd, "/rob", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /rob (id)"); return 1; } new robplayerid = strval(tmp); if(IsPlayerConnected(robplayerid)) { if(gTeam[playerid] == TEAM_RUSSIAN || TEAM_CIVIL) { if(GetDistanceBetweenPlayers(playerid, robplayerid) < 3) { if(GetPlayerMoney(robplayerid) > 0) { new robname[24]; new robbedname[24]; new robbed[256]; new giveplayerid = strval(tmp); new RobbedMoney; GetPlayerName(giveplayerid, robname, 24); GetPlayerName(playerid, robbedname, 21); if(GetPlayerName(robplayerid, robname, 24) == GetPlayerName(playerid, robbedname, 24)) { SendClientMessage(playerid, COLOR_RED, "You can't rob yourself, idiot"); } else { RobbedMoney = GetPlayerMoney(robplayerid); new Money = random(RobbedMoney); GivePlayerMoney(playerid, Money); GivePlayerMoney(robplayerid, -Money); format(robbed, sizeof(robbed), "%s has robbed %s", robname, robbedname); SendClientMessageToAll(0xFF7F50AA, robbed); return 1; } } else { SendClientMessage(playerid, COLOR_RED, "Player hasn't any money"); } } else { SendClientMessage(playerid, COLOR_RED, "Player too far away"); } } else { SendClientMessage(playerid, COLOR_RED, "You can't rob players"); } } else { format(string, sizeof(string), "ID: %d Is not connected", robplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if (strcmp("/pos", cmdtext, true, 10) == 0) { new string1[256]; new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z); format(string1,sizeof(string1),"Position = X: %.0f , Y: %.0f , Z: %.0f",X,Y,Z); SendClientMessage(playerid,0x33FF33AA,string1); return 1; } if(strcmp(cmd, "/arrest", true) == 0 && gTeam[playerid] == TEAM_COP) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /arrest (id)"); return 1; } new jailedplayerid = strval(tmp); if(IsPlayerConnected(jailedplayerid)) { if(GetPlayerWantedLevel(jailedplayerid) == 5) { if(GetDistanceBetweenPlayers(playerid, jailedplayerid) < 3) { new jailname[24]; new adminname[24]; new jailed[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, jailname, 24); GetPlayerName(playerid, adminname, 21); format(jailed, sizeof(jailed), "%s has been arrested by, %s", jailname, adminname); SendClientMessageToAll(0xFF7F50AA, jailed); SetPlayerInterior(playerid, 3); SetPlayerPos(jailedplayerid, 297.6376,186.0326,1007.1719); SendClientMessage(playerid, COLOR_RED, "You are arrested, 13 seconds untill door opens"); SetTimerEx("Busted", 6000, 1, "i", jailedplayerid); } else { SendClientMessage(playerid, COLOR_RED, "Player too far away"); } } else { SendClientMessage(playerid, COLOR_RED, "This player isn't wanted"); } } else { format(string, sizeof(string), "ID: %d Is not connected", jailedplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if (strcmp("/kill", cmdtext, true, 10) == 0) { SetPlayerHealth(playerid, 0.0); return 1; } if (strcmp("/credits", cmdtext, true, 10) == 0) { SendClientMessage(playerid, COLOR_GREEN, "Gamemode created by Jeroen"); SendClientMessage(playerid, COLOR_GREEN, "Thanks to =>Sandra<="); SendClientMessage(playerid, COLOR_GREEN, "Thanks to Sa-mp.com"); SendClientMessage(playerid, COLOR_GREEN, "Gamemode created by Jeroen"); return 1; } if (strcmp("/wanted", cmdtext, true, 10) == 0) { { SetPlayerWantedLevel(playerid, 5); SetPlayerColor(playerid, COLOR_BLACK); } return 1; } GetPlayerName(playerid, playername, sizeof(playername)); if(strcmp(cmd, "/register", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /register (password)"); } else { if (!dini_Exists(udb_encode(playername))) { dini_Create(udb_encode(playername)); dini_IntSet(udb_encode(playername), "password", udb_hash(tmp)); dini_IntSet(udb_encode(playername), "money", 0); dini_IntSet(udb_encode(playername), "score", 0); format(string, sizeof(string), "Account %s Created! You can now loggin with password: %s.", playername, tmp); SendClientMessage(playerid, COLOR_YELLOW, string); } else { format(string, sizeof(string), "%s already registered.", playername,tmp); SendClientMessage(playerid, COLOR_RED, string); } } return 1; } if(strcmp(cmd, "/login", true) == 0) { if(logged[playerid] == 1) { SendClientMessage(playerid, COLOR_RED, "You are already logged in!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "Use: /login [password]"); } else { if (dini_Exists(udb_encode(playername))) { tmp2 = dini_Get(udb_encode(playername), "password"); if (udb_hash(tmp) != strval(tmp2)) { SendClientMessage(playerid, COLOR_RED, "Wrong password"); } else { KillTimer(FrozenHaha); KillTimer(LoggedHaha); if(Selection[playerid] == 0) { TogglePlayerControllable(playerid, 1); } frozen[playerid] = 1; logged[playerid] = 1; money[playerid] = dini_Int(udb_encode(playername), "money"); score[playerid] = dini_Int(udb_encode(playername), "score"); format(string, sizeof(string), "%s, you are now logged in! You've got %d dollar and %d scorepoints", playername, money[playerid], score[playerid]); SendClientMessage(playerid, COLOR_GREEN, string); GivePlayerMoney(playerid, money[playerid]); } } else { format(string, sizeof(string), "The account %s doesn't exist yet! Create an account by using /register [password]", playername); SendClientMessage(playerid, COLOR_RED, string); } } return 1; } if(strcmp(cmd, "/adkick", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adkick (id) (reason)"); return 1; } new kickedplayerid = strval(tmp); if(IsPlayerConnected(kickedplayerid)) { new kickname[24]; new adminname[24]; new kicked[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, kickname, 24); GetPlayerName(playerid, adminname, 21); format(kicked, sizeof(kicked), "%s has been kicked by admin, %s", kickname, adminname); SendClientMessageToAll(0xFF7F50AA, kicked); Kick(kickedplayerid); } else { format(string, sizeof(string), "ID: %d Is not connected", kickedplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/adjail", true) == 0 && IsPlayerAdmin(playerid) == 1) { new jailedplayerid = strval(tmp); new time; new reason[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "Usage: /adjail [id] [time in minutes] [reason]"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "Usage: /adjail [id] [time in minutes] [reason]"); jailedplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(reason)) { SendClientMessage(playerid, COLOR_GREY, "USAGE: /adjail [id] [time in minutes] [reason]"); return 1; } if(IsPlayerConnected(jailedplayerid)) { Jailed[playerid] = 1; new jailname[24]; new adminname[24]; new jailed[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, jailname, 24); GetPlayerName(playerid, adminname, 21); format(jailed, sizeof(jailed), "%s has been jailed by admin: %s and with reason: %s", jailname, adminname, reason); SendClientMessageToAll(0xFF7F50AA, jailed); format(string, sizeof(string), "You have been jailed for %s seconds", time); SendClientMessage(jailedplayerid, COLOR_RED, string); SetTimerEx("Unjail", time*1000, 0, "i", giveplayerid); } else { format(string, sizeof(string), "ID: %d Is not connected", jailedplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/adunjail", true) == 0 && IsPlayerAdmin(playerid) == 1) { new jailedplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "Usage: /adjail [id]"); return 1; } if(IsPlayerConnected(jailedplayerid)) { if(Jailed[playerid] == 1) { Jailed[playerid] = 0; new jailname[24]; new adminname[24]; new jailed[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, jailname, 24); GetPlayerName(playerid, adminname, 21); format(jailed, sizeof(jailed), "%s has been unjailed by admin, %s", jailname, adminname); SendClientMessageToAll(0xFF7F50AA, jailed); SetPlayerPos(jailedplayerid, 1546.2803,-1675.6632,13.5620); } else { SendClientMessage(playerid, COLOR_RED, "Player isn't jailed"); } } else { format(string, sizeof(string), "ID: %d Is not connected", jailedplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/adhugg", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adhugg (id)"); return 1; } new huggedplayerid = strval(tmp); if(IsPlayerConnected(huggedplayerid)) { new huggname[24]; new adminname[24]; new hugged[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, huggname, 24); GetPlayerName(playerid, adminname, 21); format(hugged, sizeof(hugged), "%s has been hugged by admin, %s", huggname, adminname); SendClientMessageToAll(0xFF7F50AA, hugged); GameTextForPlayer(huggedplayerid, "~p~You are hugged", 5000,6); GivePlayerMoney(huggedplayerid, 6000); } else { format(string, sizeof(string), "ID: %d Is not connected", huggedplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/adban", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adban (id)"); return 1; } new bannedplayerid = strval(tmp); if(IsPlayerConnected(bannedplayerid)) { new banname[24]; new adminname[24]; new kicked[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, banname, 24); GetPlayerName(playerid, adminname, 21); format(kicked, sizeof(kicked), "%s has been kicked by admin, %s", banname, adminname); SendClientMessageToAll(0xFF7F50AA, kicked); Ban(bannedplayerid); } else { format(string, sizeof(string), "ID: %d Is not connected", bannedplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/adfreeze", true) == 0 && IsPlayerAdmin(playerid) == 1) { new reason[256]; reason = strtok(cmdtext, idx); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adfreeze (id) (reason)"); return 1; } new frozenplayerid = strval(tmp); if(IsPlayerConnected(frozenplayerid)) { new frozenname[24]; new adminname[24]; new frozen1[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, frozenname, 24); GetPlayerName(playerid, adminname, 21); format(frozen1, sizeof(frozen1), "%s has been frozen by admin, %s with reason: %s", frozenname, adminname, reason); SendClientMessageToAll(0xFF7F50AA, frozen1); TogglePlayerControllable(frozenplayerid, 0); } else { format(string, sizeof(string), "ID: %d Is not connected", frozenplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/adunfreeze", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adunfreeze (id)"); return 1; } new unfrozenplayerid = strval(tmp); if(IsPlayerConnected(unfrozenplayerid)) { new unfrozenname[24]; new adminname[24]; new unfrozen[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, unfrozenname, 24); GetPlayerName(playerid, adminname, 21); format(unfrozen, sizeof(unfrozen), "%s has been unfrozen by admin, %s", unfrozenname, adminname); SendClientMessageToAll(0xFF7F50AA, unfrozen); TogglePlayerControllable(unfrozenplayerid, 1); } else { format(string, sizeof(string), "ID: %d Is not connected", unfrozenplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/adblow", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adblow (id)"); return 1; } new blowenplayerid = strval(tmp); if(IsPlayerConnected(blowenplayerid)) { new blowenname[24]; new adminname[24]; new blowen[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, blowenname, 24); GetPlayerName(playerid, adminname, 21); format(blowen, sizeof(blowen), "%s has been blowen by admin, %s", blowenname, adminname); SendClientMessageToAll(0xFF7F50AA, blowen); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, Float:x, Float:y, Float:z); CreateExplosion(Float:x, Float:y, Float:z, 9, 0); CreateExplosion(Float:x, Float:y, Float:z, 9, 0); CreateExplosion(Float:x, Float:y, Float:z, 9, 0); CreateExplosion(Float:x, Float:y, Float:z, 9, 0); } else { format(string, sizeof(string), "ID: %d Is not connected", blowenplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/adpwn", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adpwn (id)"); return 1; } new pwnplayerid = strval(tmp); if(IsPlayerConnected(pwnplayerid)) { new pwnname[24]; new adminname[24]; new pwn[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, pwnname, 24); GetPlayerName(playerid, adminname, 21); format(pwn, sizeof(pwn), "%s has been pwned by admin, %s", pwnname, adminname); SendClientMessageToAll(0xFF7F50AA, pwn); SetPlayerHealth(pwnplayerid, 0.0); GameTextForPlayer(pwnplayerid, "PWNED!", 5000, 1); } else { format(string, sizeof(string), "ID: %d Is not connected", pwnplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/disarm", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /disarm (id)"); return 1; } new disarmedplayerid = strval(tmp); if(IsPlayerConnected(disarmedplayerid)) { new disarmedname[24]; new adminname[24]; new disarmed[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, disarmedname, 24); GetPlayerName(playerid, adminname, 21); format(disarmed, sizeof(disarmed), "%s has been disarmed by admin, %s", disarmedname, adminname); SendClientMessageToAll(0xFF7F50AA, disarmed); ResetPlayerWeapons(disarmedplayerid); } else { format(string, sizeof(string), "ID: %d Is not connected", disarmedplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/reset", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /reset (id)"); return 1; } new resettenplayerid = strval(tmp); if(IsPlayerConnected(resettenplayerid)) { new resetname[24]; new adminname[24]; new resetten[256]; new giveplayerid = strval(tmp); GetPlayerName(giveplayerid, resetname, 24); GetPlayerName(playerid, adminname, 21); format(resetten, sizeof(resetten), "Account: %s has been resetten by admin, %s", resetname, adminname); SendClientMessageToAll(0xFF7F50AA, resetten); ResetPlayerWeapons(resettenplayerid); ResetPlayerMoney(resettenplayerid); SetPlayerHealth(resettenplayerid, 100.0); SetPlayerArmour(resettenplayerid, 0.0); SetPlayerScore(resettenplayerid, 0); } else { format(string, sizeof(string), "ID: %d Is not connected", resettenplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/goto", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /goto (id)"); return 1; } new gotoplayerid = strval(tmp); if(IsPlayerConnected(gotoplayerid)) { new gotoname[24]; new typedname[24]; new adminname[24]; new giveplayerid = strval(tmp); GetPlayerName(playerid, typedname, 24); GetPlayerName(giveplayerid, gotoname, 24); GetPlayerName(playerid, adminname, 21); new Float:x, Float:y, Float:z; GetPlayerPos(gotoplayerid, Float:x, Float:y, Float:z); SetPlayerPos(playerid, Float:x, Float:y, Float:z); } else { format(string, sizeof(string), "ID: %d Is not connected", gotoplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/bring", true) == 0 && IsPlayerAdmin(playerid) == 1) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /bring (id)"); return 1; } new bringplayerid = strval(tmp); if(IsPlayerConnected(bringplayerid)) { new bringname[24]; new typedname[24]; new adminname[24]; new giveplayerid = strval(tmp); GetPlayerName(playerid, typedname, 24); GetPlayerName(giveplayerid, bringname, 24); GetPlayerName(playerid, adminname, 21); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, Float:x, Float:y, Float:z); SetPlayerPos(bringplayerid, Float:x, Float:y, Float:z); } else { format(string, sizeof(string), "ID: %d Is not connected", bringplayerid); SendClientMessage(playerid, 0xD2691EAA, string); } return 1; } if(strcmp(cmd, "/say", true) == 0 && IsPlayerAdmin(playerid) == 1) { if(cmdtext[5] == 0) { SendClientMessage(playerid, 0xFF0000FF, "USAGE: /say [action]"); return 1; } new str[128]; GetPlayerName(playerid, str, sizeof(str)); format(str, sizeof(str), "*Admin %s says: %s", str, cmdtext[5]); SendClientMessageToAll(0x48D1CCAA, str); return 1; } if(strcmp(cmd, "/adan", true) == 0 && IsPlayerAdmin(playerid) == 1) { if(cmdtext[5] == 0) { SendClientMessage(playerid, 0xFF0000FF, "USAGE: /adan [text]"); return 1; } new str[128]; format(str, sizeof(str), "*Admin %s says: %s", str, cmdtext[5]); return 1; } new playermoney; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; new giveplayerid, moneys; if(strcmp(cmd, "/givecash", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /givecash [playerid] [amount]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /givecash [playerid] [amount]"); return 1; } moneys = strval(tmp); //printf("givecash_command: %d %d",giveplayerid,moneys); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), "You have sent %s (id: %d), $%d.", giveplayer,giveplayerid, moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "You have recieved $%d from %s (id: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else { SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount."); } } else { format(string, sizeof(string), "%d is not an active player.", giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } return 0; } public OnPlayerSelectedMenuRow(playerid, row) { TogglePlayerControllable(playerid, 1); new Menu:Current = GetPlayerMenu(playerid); if (Current == RulesMenu) { switch(row) { case 0: {ShowMenuForPlayer(Rules, playerid); TogglePlayerControllable(playerid, 0);} case 1: {TogglePlayerControllable(playerid, 1); read[playerid] = 1;} case 2: {Kick(playerid);} } } if (Current == Rules) { switch(row) { case 0: {ShowMenuForPlayer(RulesMenu, playerid); TogglePlayerControllable(playerid, 0);} } } return 1; } public OnPlayerExitedMenu(playerid) { new Menu:Current = GetPlayerMenu(playerid); if (Current == RulesMenu || Rules) { TogglePlayerControllable(playerid, 0); ShowMenuForPlayer(RulesMenu, playerid); } else { TogglePlayerControllable(playerid, 0); } return 1; } public OnPlayerDisconnect(playerid, reason) { score[playerid] = GetPlayerScore(playerid); money[playerid] = GetPlayerMoney(playerid); dini_IntSet(udb_encode(playername), "money", money[playerid]); logged[playerid] = 0; return 1; } public LoggedIn(playerid) { if(logged[playerid] == 0) { TogglePlayerControllable(playerid, false); GameTextForPlayer(playerid, "/login [password] before spawning!", 2000, 1); } } public FrozenIn(playerid) { if(frozen[playerid] == 1 && logged[playerid] == 1) { TogglePlayerControllable(playerid, true); KillTimer(LoggedHaha && FrozenHaha); } } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { SendClientMessage(playerid, COLOR_GREY, "You are now driving a vehicle"); return 1; } stock GetDistanceBetweenPlayers(playerid, otherplayer) { new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2; new Float:tmpdis; GetPlayerPos(playerid, x1, y1, z1); GetPlayerPos(otherplayer, x2, y2, z2); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2, x1)), 2) + floatpower(floatabs(floatsub(y2, y1)), 2) + floatpower(floatabs(floatsub(z2, z1)), 2)); return floatround(tmpdis); } public Kidnap(playerid) { KillTimer(KidnapTimer); TogglePlayerControllable(playerid, 1); } public Door2(playerid) { SetPlayerObjectRot(playerid, Door, 0.0, 0.0, 0.0); } public Busted(playerid) { SetPlayerObjectRot(playerid, Door, 0.0, 180.0, 0.0); SetTimer("Door2", 5000, 0); } public Unjail(playerid) { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 1546.2803,-1675.6632,13.5620); }