rendered paste body#include <a_samp>
#include <core>
#include <float>
#include <dudb>
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 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];
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);
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);
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)
{
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;
}
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
}
}
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);
}
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);
}
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)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, 0xD2691EAA, "USAGE: /kidnap (id)");
return 1;
}
new victimplayerid = strval(tmp);
if(IsPlayerConnected(victimplayerid))
{
if(GetDistanceBetweenPlayers(playerid, victimplayerid) < 4)
{
if(gTeam[playerid] == TEAM_KIDNAP)
{
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!");
GivePlayerMoney(playerid, 2000);
SetPlayerPos(victimplayerid, -3443.102, 1514.267, 0.1724623);
SetPlayerPos(playerid,-3446.733, 1514.541, 2.153704);
TogglePlayerControllable(victimplayerid, 0);
}
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);
}
return 1;
}
return 0;
}
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;
}
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;
}
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);
}