I cant figure it out.. I have 0 errors and my gamemode crashes. Code:
pawn Код:
#include <a_samp>
#include <dini>
#include <dudb>
#pragma unused ret_memcpy
#pragma unused strtok
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define VS "[0.3D]UP2U TDM[ENG]"
#define DEVELOPER "Matt - fundude.....(sa-mp)"
#define VERSION "v.0.0.1b"
#undef MAX_PLAYERS
#define MAX_PLAYERS 50
#define COLOR_ALICEBLUE (0xF0F8FFAA)
#define COLOR_ANTIQUEWHITE (0xFAEBD7AA)
#define COLOR_AQUA (0x00FFFFAA)
#define COLOR_AQUAMARINE (0x7FFFD4AA)
#define COLOR_AZURE (0xF0FFFFAA)
#define COLOR_BEIGE (0xF5F5DCAA)
#define COLOR_BISQUE (0xFFE4C4AA)
#define COLOR_BLACK (0x000000AA)
#define COLOR_BLANCHEDALMOND (0xFFEBCDAA)
#define COLOR_BLUE (0x0000FFAA)
#define COLOR_BLUEVIOLET (0x8A2BE2AA)
#define COLOR_BROWN (0xA52A2AAA)
#define COLOR_BURLYWOOD (0xDEB887AA)
#define COLOR_CADETBLUE (0x5F9EA0AA)
#define COLOR_CHARTREUSE (0x7FFF00AA)
#define COLOR_CHOCOLATE (0xD2691EAA)
#define COLOR_CORAL (0xFF7F50AA)
#define COLOR_CORNFLOWERBLUE (0x6495EDAA)
#define COLOR_CORNSILK (0xFFF8DCAA)
#define COLOR_CRIMSON (0xDC143CAA)
#define COLOR_CYAN (0x00FFFFAA)
#define COLOR_DARKBLUE (0x00008BAA)
#define COLOR_DARKCYAN (0x008B8BAA)
#define COLOR_DARKGOLDENROD (0xB8860BAA)
#define COLOR_DARKGRAY (0xA9A9A9AA)
#define COLOR_DARKGREY (0xA9A9A9AA)
#define COLOR_DARKGREEN (0x006400AA)
#define COLOR_DARKKHAKI (0xBDB76BAA)
#define COLOR_DARKMAGENTA (0x8B008BAA)
#define COLOR_DARKOLIVEGREEN (0x556B2FAA)
#define COLOR_DARKORANGE (0xFF8C00AA)
#define COLOR_DARKORCHID (0x9932CCAA)
#define COLOR_DARKRED (0x8B0000AA)
#define COLOR_DARKSALMON (0xE9967AAA)
#define COLOR_DARKSEAGREEN (0x8FBC8FAA)
#define COLOR_DARKSLATEBLUE (0x483D8BAA)
#define COLOR_DARKSLATEGRAY (0x2F4F4FAA)
#define COLOR_DARKSLATEGREY (0x2F4F4FAA)
#define COLOR_DARKTURQUOISE (0x00CED1AA)
#define COLOR_DARKVIOLET (0x9400D3AA)
#define COLOR_DEEPPINK (0xFF1493AA)
#define COLOR_DEEPSKYBLUE (0x00BFFFAA)
#define COLOR_DIMGRAY (0x696969AA)
#define COLOR_DIMGREY (0x696969AA)
#define COLOR_DODGERBLUE (0x1E90FFAA)
#define COLOR_FIREBRICK (0xB22222AA)
#define COLOR_FLORALWHITE (0xFFFAF0AA)
#define COLOR_FORESTGREEN (0x228B22AA)
#define COLOR_FUCHSIA (0xFF00FFAA)
#define COLOR_GAINSBORO (0xDCDCDCAA)
#define COLOR_GHOSTWHITE (0xF8F8FFAA)
#define COLOR_GOLD (0xFFD700AA)
#define COLOR_GOLDENROD (0xDAA520AA)
#define COLOR_GRAY (0x808080AA)
#define COLOR_GREY (0x808080AA)
#define COLOR_GREEN (0x008000AA)
#define COLOR_GREENYELLOW (0xADFF2FAA)
#define COLOR_HONEYDEW (0xF0FFF0AA)
#define COLOR_HOTPINK (0xFF69B4AA)
#define COLOR_INDIANRED (0xCD5C5CAA)
#define COLOR_INDIGO (0x4B0082AA)
#define COLOR_IVORY (0xFFFFF0AA)
#define COLOR_KHAKI (0xF0E68CAA)
#define COLOR_LAVENDER (0xE6E6FAAA)
#define COLOR_LAVENDERBLUSH (0xFFF0F5AA)
#define COLOR_LAWNGREEN (0x7CFC00AA)
#define COLOR_LEMONCHIFFON (0xFFFACDAA)
#define COLOR_LIGHTBLUE (0xADD8E6AA)
#define COLOR_LIGHTCORAL (0xF08080AA)
#define COLOR_LIGHTCYAN (0xE0FFFFAA)
#define COLOR_LIGHTGOLDENRODYELLOW (0xFAFAD2AA)
#define COLOR_LIGHTGRAY (0xD3D3D3AA)
#define COLOR_LIGHTGREY (0xD3D3D3AA)
#define COLOR_LIGHTGREEN (0x90EE90AA)
#define COLOR_LIGHTPINK (0xFFB6C1AA)
#define COLOR_LIGHTSALMON (0xFFA07AAA)
#define COLOR_LIGHTSEAGREEN (0x20B2AAAA)
#define COLOR_LIGHTSKYBLUE (0x87CEFAAA)
#define COLOR_LIGHTSLATEGRAY (0x778899AA)
#define COLOR_LIGHTSLATEGREY (0x778899AA)
#define COLOR_LIGHTSTEELBLUE (0xB0C4DEAA)
#define COLOR_LIGHTYELLOW (0xFFFFE0AA)
#define COLOR_LIME (0x00FF00AA)
#define COLOR_LIMEGREEN (0x32CD32AA)
#define COLOR_LINEN (0xFAF0E6AA)
#define COLOR_MAGENTA (0xFF00FFAA)
#define COLOR_MAROON (0x800000AA)
#define COLOR_MEDIUMAQUAMARINE (0x66CDAAAA)
#define COLOR_MEDIUMBLUE (0x0000CDAA)
#define COLOR_MEDIUMORCHID (0xBA55D3AA)
#define COLOR_MEDIUMPURPLE (0x9370D8AA)
#define COLOR_MEDIUMSEAGREEN (0x3CB371AA)
#define COLOR_MEDIUMSLATEBLUE (0x7B68EEAA)
#define COLOR_MEDIUMSPRINGGREEN (0x00FA9AAA)
#define COLOR_MEDIUMTURQUOISE (0x48D1CCAA)
#define COLOR_MEDIUMVIOLETRED (0xC71585AA)
#define COLOR_MIDNIGHTBLUE (0x191970AA)
#define COLOR_MINTCREAM (0xF5FFFAAA)
#define COLOR_MISTYROSE (0xFFE4E1AA)
#define COLOR_MOCCASIN (0xFFE4B5AA)
#define COLOR_NAVAJOWHITE (0xFFDEADAA)
#define COLOR_NAVY (0x000080AA)
#define COLOR_OLDLACE (0xFDF5E6AA)
#define COLOR_OLIVE (0x808000AA)
#define COLOR_OLIVEDRAB (0x6B8E23AA)
#define COLOR_ORANGE (0xFFA500AA)
#define COLOR_ORANGERED (0xFF4500AA)
#define COLOR_ORCHID (0xDA70D6AA)
#define COLOR_PALEGOLDENROD (0xEEE8AAAA)
#define COLOR_PALEGREEN (0x98FB98AA)
#define COLOR_PALETURQUOISE (0xAFEEEEAA)
#define COLOR_PALEVIOLETRED (0xD87093AA)
#define COLOR_PAPAYAWHIP (0xFFEFD5AA)
#define COLOR_PEACHPUFF (0xFFDAB9AA)
#define COLOR_PERU (0xCD853FAA)
#define COLOR_PINK (0xFFC0CBAA)
#define COLOR_PLUM (0xDDA0DDAA)
#define COLOR_POWDERBLUE (0xB0E0E6AA)
#define COLOR_PURPLE (0x800080AA)
#define COLOR_RED (0xFF0000AA)
#define COLOR_ROSYBROWN (0xBC8F8FAA)
#define COLOR_ROYALBLUE (0x4169E1AA)
#define COLOR_SADDLEBROWN (0x8B4513AA)
#define COLOR_SALMON (0xFA8072AA)
#define COLOR_SANDYBROWN (0xF4A460AA)
#define COLOR_SEAGREEN (0x2E8B57AA)
#define COLOR_SEASHELL (0xFFF5EEAA)
#define COLOR_SIENNA (0xA0522DAA)
#define COLOR_SILVER (0xC0C0C0AA)
#define COLOR_SKYBLUE (0x87CEEBAA)
#define COLOR_SLATEBLUE (0x6A5ACDAA)
#define COLOR_SLATEGRAY (0x708090AA)
#define COLOR_SLATEGREY (0x708090AA)
#define COLOR_SNOW (0xFFFAFAAA)
#define COLOR_SPRINGGREEN (0x00FF7FAA)
#define COLOR_STEELBLUE (0x4682B4AA)
#define COLOR_TAN (0xD2B48CAA)
#define COLOR_TEAL (0x008080AA)
#define COLOR_THISTLE (0xD8BFD8AA)
#define COLOR_TOMATO (0xFF6347AA)
#define COLOR_TURQUOISE (0x40E0D0AA)
#define COLOR_VIOLET (0xEE82EEAA)
#define COLOR_WHEAT (0xF5DEB3AA)
#define COLOR_WHITE (0xFFFFFFAA)
#define COLOR_WHITESMOKE (0xF5F5F5AA)
#define COLOR_YELLOW (0xFFFF00AA)
#define COLOR_YELLOWGREEN (0x9ACD32AA)
#define SERVER_USER_FILE "UP2U/USERS/%s.ini"
forward sk(playerid);
forward spec(playerid);
forward ping();
new aPing;
enum PlayerInfo
{
rank,
level,
kills,
deaths,
cash,
score,
team,
ks
}
new pInfo[MAX_PLAYERS][PlayerInfo];
new gPlayerLogged[MAX_PLAYERS];
new players;
new Text:rTD[MAX_PLAYERS];
new Text:kdTD[MAX_PLAYERS];
new gt, bt;
new Float:bX = 239.7308;
new Float:bY = 1859.4264;
new Float:bZ = 17.8867;
new Float:gX = 245.5787;
new Float:gY = 1859.4999;
new Float:gZ = 14.0840;
//team 0 = good
//team 1 = bad
main()
{
print(" ");
print("_________________________________");
print(" ");
printf("%s", VS);
printf("Version: %s", VERSION);
printf("Developer: %s", DEVELOPER);
print(" ");
print("Bunny:");
print(" ");
print("(\\___/)");
print("(='.'=)");
print("(\")_(\")");
print(" ");
print("_________________________________");
print(" ");
print(" ");
}
public OnGameModeInit()
{
SetGameModeText("TDM");
SetTimer("ping", 500, true);
aPing = 750;
AddPlayerClass(299, 209.0317, 1937.2322, 23.2422, 179.7939, -1, -1, -1, -1, -1, -1);
gt = 0;
bt = 0;
if(!fexist("SERVER/STATS/record.ini"))
{
dini_Create("SERVER/STATS/record.ini");
dini_IntSet("SERVER/STATS/record.ini", "record", 0);
}
UsePlayerPedAnims();
DisableInteriorEnterExits();
return 1;
}
public OnGameModeExit()
{
rcrd();
return 1;
}
public OnPlayerConnect(playerid)
{
players++;
pInfo[playerid][rank] = 1;
pInfo[playerid][level] = 1;
pInfo[playerid][kills] = 0;
pInfo[playerid][deaths] = 0;
pInfo[playerid][cash] = 0;
pInfo[playerid][team] = 0;
pInfo[playerid][ks] = 0;
rTD[playerid] = TextDrawCreate(497.000000, 104.000000, "RANK: 1");
TextDrawBackgroundColor(rTD[playerid], 255);
TextDrawFont(rTD[playerid], 1);
TextDrawLetterSize(rTD[playerid], 0.689999, 2.000000);
TextDrawColor(rTD[playerid], -16776961);
TextDrawSetOutline(rTD[playerid], 1);
TextDrawSetProportional(rTD[playerid], 1);
kdTD[playerid] = TextDrawCreate(497.000000, 8.000000, "0:0 - %%0");
TextDrawBackgroundColor(kdTD[playerid], 255);
TextDrawFont(kdTD[playerid], 1);
TextDrawLetterSize(kdTD[playerid], 0.500000, 1.000000);
TextDrawColor(kdTD[playerid], -16776961);
TextDrawSetOutline(kdTD[playerid], 1);
TextDrawSetProportional(kdTD[playerid], 1);
gPlayerLogged[playerid] = 0;
new name[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if (!dini_Exists(file))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "You are not registered", "You are not registered. Create a password below.", "Register", "Leave");
}
if(dini_Exists(file))
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "You are registered", "You are registered. Input your password below.", "Login", "Leave");
}
if(rcrd())
{
new str[50];
format(str, strlen(str), "New record of %i players online!", OnlinePlayers());
SendClientMessageToAll(COLOR_YELLOW, str);
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SavePlayerStats(playerid);
gPlayerLogged[playerid] = 0;
players--;
pInfo[playerid][rank] = 1;
pInfo[playerid][level] = 1;
pInfo[playerid][kills] = 0;
pInfo[playerid][deaths] = 0;
pInfo[playerid][cash] = 0;
pInfo[playerid][team] = 0;
pInfo[playerid][ks] = 0;
if(pInfo[playerid][team] == 0)
{
gt--;
}
else if(pInfo[playerid][team] == 1)
{
bt--;
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)
{
new name[MAX_PLAYER_NAME], file[256], string[128];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Hi your not registered", "Welcome, your not registered mate, input your registration pw below", "Register", "Leave");
dini_Create(file);
dini_IntSet(file, "Password", udb_hash(inputtext));
dini_IntSet(file, "AdminLevel",pInfo[playerid][level] = 1);
dini_IntSet(file, "Money",pInfo[playerid][cash] = 0);
dini_IntSet(file, "Score",pInfo[playerid][score] = 0);
dini_IntSet(file, "Kills",pInfo[playerid][kills] = 0);
dini_IntSet(file, "Deaths",pInfo[playerid][deaths] = 0);
dini_IntSet(file, "Rank",pInfo[playerid][rank] = 0);
pInfo[playerid][kills] = dini_Int(file, "Kills");
pInfo[playerid][deaths] = dini_Int(file, "Deaths");
pInfo[playerid][rank] = dini_Int(file, "Rank");
pInfo[playerid][level] = dini_Int(file, "AdminLevel");
pInfo[playerid][cash] = dini_Int(file, "Money");
pInfo[playerid][score] = dini_Int(file, "Score");
SetPlayerScore(playerid, pInfo[playerid][score]);
GivePlayerMoney(playerid, pInfo[playerid][cash]-GetPlayerMoney(playerid));
format(string, 128, "You succesfully registered the nickname %s with password %s, you have been auto logged in.", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged[playerid] = 1;
}
if (dialogid == 2)
{
new name[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "You are registered", "You are registered. Input your password below.", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Password");
if(udb_hash(inputtext) != tmp)
{
SendClientMessage(playerid, COLOR_RED, "Wrong password");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "You are registered", "You are registered. Input your password below.", "Login", "Leave");
}
else
{
gPlayerLogged[playerid] = 1;
pInfo[playerid][kills] = dini_Int(file, "Kills");
pInfo[playerid][deaths] = dini_Int(file, "Deaths");
pInfo[playerid][rank] = dini_Int(file, "Rank");
pInfo[playerid][level] = dini_Int(file, "AdminLevel");
pInfo[playerid][cash] = dini_Int(file, "Money");
pInfo[playerid][score] = dini_Int(file, "Score");
SetPlayerScore(playerid, pInfo[playerid][score]);
GivePlayerMoney(playerid, pInfo[playerid][cash]-GetPlayerMoney(playerid));
switch(pInfo[playerid][level])
{
case 1:
{
SendClientMessage(playerid, COLOR_YELLOW, "You logged in as a normal user!");
}
case 2:
{
SendClientMessage(playerid, COLOR_YELLOW, "You logged in as an admin!");
}
case 3:
{
SendClientMessage(playerid, COLOR_YELLOW, "You logged in as the owner!");
}
}
}
}
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 209.0317, 1937.2322, 23.2422);
SetPlayerFacingAngle(playerid, 179.7939);
SetPlayerCameraPos(playerid, 209.2377, 1925.9125, 24.2422);
SetPlayerCameraLookAt(playerid, 209.0317, 1937.2322, 23.2422);
return 1;
}
public OnPlayerSpawn(playerid)
{
HandlePlayerTeamInfo(playerid);
HandlePlayerRank(playerid);
new tdS[10];
format(tdS, sizeof(tdS), "RANK: %i", pInfo[playerid][rank]);
TextDrawSetString(rTD[playerid], tdS);
new tdsS[10];
format(tdsS, sizeof(tdsS), "%i:%i", pInfo[playerid][kills], pInfo[playerid][deaths]);
TextDrawSetString(kdTD[playerid], tdsS);
TextDrawShowForPlayer(playerid, kdTD[playerid]);
TextDrawShowForPlayer(playerid, rTD[playerid]);
SetPlayerHealth(playerid, 9999999);
SetTimerEx("sk", 5000, false, "i", playerid);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
/*
if (strcmp("/stats", cmdtext, true, 10) == 0)
{
new msg[128];
format(msg, sizeof(msg), "Kills: %i | Deaths: %i | Rank: %i", pInfo[playerid][kills], pInfo[playerid][deaths], pInfo[playerid][rank]);
SendClientMessage(playerid, COLOR_RED, "_______________STATS_______________");
SendClientMessage(playerid, COLOR_RED, msg);
SendClientMessage(playerid, COLOR_RED, "___________________________________");
return 1;
}
*/
SendClientMessage(playerid, -1, "Unknown Command. Please use /help.");
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
SendDeathMessage(killerid, playerid, reason);
TogglePlayerSpectating(playerid, true);
PlayerSpectatePlayer(playerid, killerid);
SetTimerEx("spec", 5000, false, "i", playerid);
SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
if(pInfo[playerid][team] == 0)
{
gt--;
}
else if(pInfo[playerid][team] == 1)
{
bt--;
}
TextDrawHideForPlayer(playerid, rTD[playerid]);
TextDrawHideForPlayer(playerid, kdTD[playerid]);
TextDrawHideForPlayer(killerid, rTD[killerid]);
TextDrawHideForPlayer(killerid, kdTD[killerid]);
pInfo[playerid][deaths]++;
pInfo[killerid][kills]++;
HandlePlayerRank(killerid);
new tdS2[10];
format(tdS2, sizeof(tdS2), "RANK: %i", pInfo[killerid][rank]);
TextDrawSetString(rTD[killerid], tdS2);
new tdsS2[10];
format(tdsS2, sizeof(tdsS2), "%i:%i", pInfo[playerid][kills], pInfo[playerid][deaths]);
TextDrawSetString(kdTD[killerid], tdsS2);
TextDrawShowForPlayer(killerid, kdTD[killerid]);
TextDrawShowForPlayer(killerid, rTD[killerid]);
HandleKS(playerid, killerid);
}
else
{
TextDrawHideForPlayer(playerid, rTD[playerid]);
TextDrawHideForPlayer(playerid, kdTD[playerid]);
pInfo[playerid][deaths]++;
SendDeathMessage(killerid, playerid, reason);
if(pInfo[playerid][team] == 0)
{
gt--;
}
else if(pInfo[playerid][team] == 1)
{
bt--;
}
HandleKS(playerid, killerid);
}
return 1;
}
public spec(playerid)
{
TogglePlayerSpectating(playerid, false);
return 1;
}
public sk(playerid)
{
SetPlayerHealth(playerid, 100);
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
if(!success)
{
new cmd[64];
format(cmd, sizeof(cmd), "banip %s", ip);
SendRconCommand(cmd);
}
return 1;
}
public ping()
{
new pName[MAX_PLAYER_NAME];
new string[128];
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && GetPlayerPing(i) >= aPing)
{
GetPlayerName(i, pName, 24);
format(string,128,"%s[%d] HIGH PING KICK [PING: %d MAX %d]",pName,GetPlayerPing(i), aPing);
SendClientMessageToAll(-1,string);
Kick(i);
}
}
UpdateTimeForAll();
return 1;
}
stock rando(minnum = cellmin,maxnum = cellmax)
{
return random(maxnum - minnum + 1) + minnum;
}
stock ConvertMsToTime(ms)
{
new seconds = ms/1000;
new string[32];
format(string, sizeof(string), "%02d:%02d:%02d - %02d:%02d:%02d",seconds/31536000, (seconds%31536000)/2592000, (seconds%2592000)/86400,(seconds%86400)/3600, (seconds%3600)/60, seconds%60);
return string;
}
stock abs(int)
{
if (int < 0)
{
return -int;
}
else
{
return int;
}
}
stock UpdateTimeForAll()
{
new hour, minute;
gettime(hour, minute);
SetWorldTime(hour);
new x=0;
while(x!=MAX_PLAYERS)
{
if(IsPlayerConnected(x) && GetPlayerState(x) != PLAYER_STATE_NONE)
{
SetPlayerTime(x,hour,minute);
}
x++;
}
return 1;
}
stock OnlinePlayers()
{
return players;
}
stock HandlePlayerTeamInfo(playerid)
{
if(gt < bt)
{
//good team
pInfo[playerid][team] = 0;
SetPlayerColor(playerid, COLOR_BLUE);
SetPlayerTeam(playerid, 0);
SendClientMessage(playerid, COLOR_BLUE, "You are on the GOOD team");
SetPlayerPos(playerid, gX, gY, gZ);
GivePlayerWeapon(playerid, 16, 9999);
GivePlayerWeapon(playerid, 22, 9999);
GivePlayerWeapon(playerid, 27, 9999);
GivePlayerWeapon(playerid, 29, 9999);
GivePlayerWeapon(playerid, 31, 9999);
GivePlayerWeapon(playerid, 34, 9999);
SetPlayerArmedWeapon(playerid, 0);
gt++;
pInfo[playerid][team] = 0;
}
else if(gt > bt)
{
//bad team
pInfo[playerid][team] = 1;
SetPlayerColor(playerid, COLOR_RED);
SetPlayerTeam(playerid, 1);
SendClientMessage(playerid, COLOR_RED, "You are on the BAD team");
SetPlayerPos(playerid, bX, bY, bZ);
GivePlayerWeapon(playerid, 18, 9999);
GivePlayerWeapon(playerid, 24, 9999);
GivePlayerWeapon(playerid, 26, 9999);
GivePlayerWeapon(playerid, 28, 9999);
GivePlayerWeapon(playerid, 30, 9999);
GivePlayerWeapon(playerid, 33, 9999);
SetPlayerArmedWeapon(playerid, 0);
bt++;
pInfo[playerid][team] = 1;
}
else
{
//good team
pInfo[playerid][team] = 0;
SetPlayerColor(playerid, COLOR_BLUE);
SetPlayerTeam(playerid, 0);
SendClientMessage(playerid, COLOR_BLUE, "You are on the GOOD team");
SetPlayerPos(playerid, gX, gY, gZ);
GivePlayerWeapon(playerid, 16, 9999);
GivePlayerWeapon(playerid, 22, 9999);
GivePlayerWeapon(playerid, 27, 9999);
GivePlayerWeapon(playerid, 29, 9999);
GivePlayerWeapon(playerid, 31, 9999);
GivePlayerWeapon(playerid, 34, 9999);
SetPlayerArmedWeapon(playerid, 0);
gt++;
pInfo[playerid][team] = 0;
}
return 1;
}
stock HandleKS(playerid, killerid)
{
pInfo[playerid][ks] = 0;
pInfo[killerid][ks] ++;
new msg2[64], name2[MAX_PLAYER_NAME];
GetPlayerName(killerid, name2, sizeof(name2));
switch(pInfo[killerid][ks])
{
case 5:
{
format(msg2, sizeof(msg2), "%s is now on a killsreak of %i", name2, pInfo[killerid][ks]);
SendClientMessageToAll(-1, msg2);
SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
}
case 10:
{
format(msg2, sizeof(msg2), "%s is now on a killsreak of %i", name2, pInfo[killerid][ks]);
SendClientMessageToAll(-1, msg2);
SetPlayerHealth(killerid, 100);
SetPlayerArmour(killerid, 100);
SetPlayerScore(playerid, GetPlayerScore(playerid)+2);
}
case 15:
{
format(msg2, sizeof(msg2), "%s is now on a killsreak of %i", name2, pInfo[killerid][ks]);
SendClientMessageToAll(-1, msg2);
SetPlayerHealth(killerid, 150);
SetPlayerArmour(killerid, 150);
SetPlayerScore(killerid, GetPlayerScore(playerid)+3);
}
case 20:
{
format(msg2, sizeof(msg2), "%s is now on a killsreak of %i", name2, pInfo[killerid][ks]);
SendClientMessageToAll(-1, msg2);
SetPlayerHealth(killerid, 200);
SetPlayerArmour(killerid, 200);
SetPlayerScore(killerid, GetPlayerScore(playerid)+4);
}
case 25:
{
format(msg2, sizeof(msg2), "%s is now on a killsreak of %i", name2, pInfo[killerid][ks]);
SendClientMessageToAll(-1, msg2);
SetPlayerHealth(killerid, 250);
SetPlayerArmour(killerid, 250);
SetPlayerScore(killerid, GetPlayerScore(playerid)+5);
}
}
return 1;
}
stock SavePlayerStats(playerid)
{
new name[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), SERVER_USER_FILE, name);
if(gPlayerLogged[playerid] == 1)
{
pInfo[playerid][cash] = GetPlayerMoney(playerid);
pInfo[playerid][score] = GetPlayerScore(playerid);
dini_IntSet(file, "Score", pInfo[playerid][score]);
dini_IntSet(file, "Money", pInfo[playerid][cash]);
dini_IntSet(file, "AdminLevel",pInfo[playerid][level]);
dini_IntSet(file, "Kills",pInfo[playerid][kills]);
dini_IntSet(file, "Deaths",pInfo[playerid][deaths]);
dini_IntSet(file, "Rank",pInfo[playerid][rank]);
}
return 1;
}
stock IsPlayerOwner(playerid)
{
if(pInfo[playerid][level] == 3)
{
return true;
}
else if(!pInfo[playerid][level] == 3)
{
return false;
}
}
stock IsPlayerAdminEx(playerid)
{
if(pInfo[playerid][level] >= 2)
{
return true;
}
else if(!pInfo[playerid][level] >= 2)
{
return false;
}
}
stock HandlePlayerRank(killerid)
{
if(pInfo[killerid][kills] >= 25)
{
pInfo[killerid][rank] = 2;
}
else if(pInfo[killerid][kills] >= 50)
{
pInfo[killerid][rank] = 3;
}
else if(pInfo[killerid][kills] >= 75)
{
pInfo[killerid][rank] = 4;
}
else if(pInfo[killerid][kills] >= 100)
{
pInfo[killerid][rank] = 5;
}
else if(pInfo[killerid][kills] >= 125)
{
pInfo[killerid][rank] = 6;
}
else if(pInfo[killerid][kills] >= 150)
{
pInfo[killerid][rank] = 7;
}
else if(pInfo[killerid][kills] >= 175)
{
pInfo[killerid][rank] = 8;
}
else if(pInfo[killerid][kills] >= 200)
{
pInfo[killerid][rank] = 9;
}
else if(pInfo[killerid][kills] >= 250)
{
pInfo[killerid][rank] = 10;
}
else if(pInfo[killerid][kills] >= 275)
{
pInfo[killerid][rank] = 11;
}
else if(pInfo[killerid][kills] >= 300)
{
pInfo[killerid][rank] = 12;
}
else if(pInfo[killerid][kills] >= 325)
{
pInfo[killerid][rank] = 13;
}
else if(pInfo[killerid][kills] >= 350)
{
pInfo[killerid][rank] = 14;
}
else if(pInfo[killerid][kills] >= 1000)
{
pInfo[killerid][rank] = 15;
SetPlayerHealth(killerid, 250);
SetPlayerArmour(killerid, 350);
}
else
{
pInfo[killerid][rank] = 1;
}
return 1;
}
stock rcrd()
{
if(OnlinePlayers() > dini_Int("SERVER/STATS/record.ini", "record"))
{
dini_IntSet("SERVER/STATS/record.ini", "record", OnlinePlayers());
return true;
}
else
{
return false;
}
}
stock RandomWeather()
{
new ass = random(8);
SetWeather(ass);
printf("Server weather changed to %d", ass);
return ass;
}
im a tard. i had to make the directory.. sorry for spam.