rendered paste body#include <a_samp>
#include <core>
#include <float>
#include <dudb>
#include <LCS>
new logged[MAX_PLAYERS];
new money[MAX_PLAYERS];
new playername[MAX_PLAYER_NAME];
#define TEAM_CIVIL 1 // Team Vagos
#define TEAM_RUSSIAN 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_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 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);
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);
LCS_Load();
}
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;
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_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_CIVIL) {
SetPlayerColor(playerid,COLOR_RED); // geel
} else if(gTeam[playerid] == TEAM_RUSSIAN) {
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_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,"~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)
{
LCS_CreateCheckpoint(-3443.102, 1514.267, 0.1724623,3.0);
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_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)
{
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_ADMIN || 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);
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");
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) (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, "/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)
{
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 LCS_OnPlayerEnterCheckpoint(playerid,checkpointid) {
switch (checkpointid) {
case 0: { SendClientMessage(playerid,COLOR_GREEN,"1 check ENTER"); }
case 1: { SendClientMessage(playerid,COLOR_GREEN,"2 check ENTER"); }
case 2: { SendClientMessage(playerid, COLOR_GREEN, "Test"); }
}
return 1;
}
public LCS_OnPlayerLeaveCheckpoint(playerid,checkpointid) {
switch (checkpointid) {
case 0: { SendClientMessage(playerid,COLOR_GREEN,"1 check LEAVE"); }
case 1: { SendClientMessage(playerid,COLOR_GREEN,"2 check LEAVE"); }
case 2: { SendClientMessage(playerid,COLOR_GREEN,"3 check LEAVE"); }
}
return 1;
}