#include #include #include #include new logged[MAX_PLAYERS]; new money[MAX_PLAYERS]; new playername[MAX_PLAYER_NAME]; #define TEAM_HERO 1 // Team Vagos #define TEAM_CRIMINAL 2 // Team Ballas #define TEAM_ADMIN 3 #define TEAM_KIDNAP 4 #define TEAM_COP 5 #define COLOR_YELLOW 0xFFFF00AA #define COLOR_PINK 0xFF66FFAA #define COLOR_GREY 0xAFAFAFAA #define OBJECTIVE_COLOR 0xFFFF00AA #define COLOR_RED 0xCD5C5CAA #define COLOR_LIGHTBLUE 0x48D1CCAA #define COLOR_BLACK 0x000000AA #define COLOR_ERROR 0x800000AA #define COLOR_GREEN 0x00FF00AA #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 CountText[1][10] = { "30" }; new Count = 9; 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 Jailed(playerid); forward CountDown(); main() { print("\n----------------------------------"); print(" RPG San Fierro Hero\n"); print("----------------------------------\n"); } public OnGameModeInit() { { SetGameModeText("RPG San Fierro Hero"); 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(22, -1496.554, 918.931, 7.1875,270.0,0,0,0,0,0,0); AddPlayerClass(1, -1496.554, 918.931, 7.1875,270.0,0,0,0,0,0,0); AddPlayerClass(1, -1496.554, 918.931, 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(22, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0);//cop gTextDraw = TextDrawCreate( 460.0, 420.0, "RPG San Fierro Hero!"); 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"); } return 1; } public OnPlayerConnect(playerid) { 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; SetPlayerColor(playerid,COLOR_GREY); // Kleur GameTextForPlayer(playerid,"RPG San Fierro Hero",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,11); SetPlayerPos(playerid,-1653.57,519.6589,53.62505); SetPlayerCameraPos(playerid,-1648.57,519.6584,53.62505); SetPlayerCameraLookAt(playerid,-1653.57,519.6589,53.62505); SetPlayerFacingAngle(playerid,0.0); } public SetPlayerTeamFromClass(playerid,classid) { if(classid == 0 || classid == 1 || classid == 2) { gTeam[playerid] = TEAM_HERO; } else if(classid == 3 || classid == 4 || classid == 5) { gTeam[playerid] = TEAM_CRIMINAL; } else if(classid == 6) { gTeam[playerid] = TEAM_ADMIN; } else if(classid == 7) { gTeam[playerid] = TEAM_KIDNAP; } else if(classid == 8) { gTeam[playerid] = TEAM_COP; } return 1; } public SetPlayerToTeamColor(playerid) { if(gTeam[playerid] == TEAM_HERO) { SetPlayerColor(playerid,COLOR_RED); // geel } else if(gTeam[playerid] == TEAM_CRIMINAL) { SetPlayerColor(playerid,COLOR_BLACK); // roze/paars } else if(gTeam[playerid] == TEAM_ADMIN) { SetPlayerColor(playerid,COLOR_ADMIN); // roze/paars } else if(gTeam[playerid] == TEAM_KIDNAP) { SetPlayerColor(playerid,COLOR_YELLOW); // roze/paars } else if(gTeam[playerid] == TEAM_COP) { SetPlayerColor(playerid,COLOR_YELLOW); // roze/paars } } public OnPlayerRequestClass(playerid, classid) { SetupPlayerForClassSelection(playerid); SetPlayerTeamFromClass(playerid,classid); if(classid == 0 || classid == 1 || classid == 2) { GameTextForPlayer(playerid,"~y~HERO",1000,5); } else if(classid == 3 || classid == 4 || classid == 5) { GameTextForPlayer(playerid,"~r~CRIMINAL",1000,5); } else if(classid == 6) { GameTextForPlayer(playerid,"~y~ADMIN",1000,5); } else if(classid == 7) { GameTextForPlayer(playerid,"KIDNAPPER",1000,5); } else if(classid == 8) { GameTextForPlayer(playerid,"COP",1000,5); } TextDrawHideForPlayer(playerid, gTextDraw); return 1; } public OnPlayerSpawn(playerid) { SetPlayerTeamFromClass(playerid, GetPlayerSkin(playerid)); SetPlayerToTeamColor(playerid); SetPlayerInterior(playerid,0); if(gTeam[playerid] == TEAM_HERO) { GameTextForPlayer(playerid,"Avoid the Terrorist!", 6000,5); } else if(gTeam[playerid] == TEAM_CRIMINAL) { GameTextForPlayer(playerid,"Kill the ~y~Minister!", 6000,5); } else if(gTeam[playerid] == TEAM_ADMIN) { if(IsPlayerAdmin(playerid) == 0) { SetPlayerHealth(playerid, 0.0); SendClientMessage(playerid, COLOR_RED, "You are NOT admin. You get killed"); } else { GameTextForPlayer(playerid,"Hello admin :)", 6000,5); read[playerid] = 1; } } else if (gTeam[playerid] == TEAM_KIDNAP) { GameTextForPlayer(playerid,"Kidnap civics or cops!",6000,5); } else if (gTeam[playerid] == TEAM_COP) { 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); } else { KillTimer(FrozenHaha); KillTimer(LoggedHaha); } 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(OBJECTIVE_COLOR, 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(OBJECTIVE_COLOR, 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(GetPlayerMoney(victimplayerid) > 0) { if(IsPlayerInAnyVehicle(playerid)) { 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 have to be in a vehicle to kidnap a player"); } } else { SendClientMessage(victimplayerid, COLOR_RED, "You can't afford 5000. To bad."); } } 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, "/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); new Float:x, Float:y, Float:z; new car; GetPlayerPos(playerid, Float:x, Float:y, Float:z); car = CreateVehicle(523, Float:x+2, Float:y+2, Float:z+2, 360.0, 0,1,90000); PutPlayerInVehicle(playerid, car, 0); PutPlayerInVehicle(jailedplayerid, car, 1); TogglePlayerControllable(jailedplayerid, 0); GetPlayerName(giveplayerid, jailname, 24); GetPlayerName(playerid, adminname, 21); format(jailed, sizeof(jailed), "%s has been arrested by, %s", jailname, adminname); SendClientMessageToAll(0xFF7F50AA, jailed); SetTimerEx("Busted", 1000, 30, "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); if(gTeam[playerid] == TEAM_COP) { SendClientMessage(playerid, COLOR_RED, "You can't use this command"); return 0; } 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); 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 { frozen[playerid] = 1; logged[playerid] = 1; money[playerid] = dini_Int(udb_encode(playername), "money"); format(string, sizeof(string), "%s, you are now logged in! You've got %d dollar", playername, money[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)"); 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, "/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) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adfreeze (id)"); 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", frozenname, adminname); 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, "/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) { 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 Jailed(playerid) { GameTextForPlayer(playerid, "You are busted for 30 seconds", 5000, 1); SetTimer("CountDown", 1000, 0); } public CountDown() { if (Count > 0) { GameTextForAll(CountText[Count-1], 1000, 5); Count--; SetTimer("CountDown", 1000, 0); } else { GameTextForAll("~g~~h~You are released!", 1500, 5); Count = 30; } return 1; }