Text draw and k/d issue... -
Sup? Aight, Im makin this server, and well, basically im making a k/d TD and a rank TD. They work... but they're messed up... like.. the kills and deaths get switched when the player spawns. When the killer spawns, they go bak 2 normal. its so weird... i cant explain it. I want you to save it and test it out. Its too hard to explain. OR you can come to 24.111.46.103:7777 to test it with me. Heres the code:
pawn Код:
#include <a_samp>
#define VS "[0.3D]UP2U TDM[ENG]"
#define DEVELOPER "Matt - fundude.....(sa-mp)"
#define VERSION "v.0.0.1a"
#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)
forward spec(playerid);
enum PlayerInfo
{
rank,
level,
kills,
deaths,
cash,
team,
}
new pInfo[MAX_PLAYERS][PlayerInfo];
new players;
new Text:rTD;
new Text:kdTD;
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()
{
printf("%s", VS);
printf("Version: %s", VERSION);
printf("Developer: %s", DEVELOPER);
}
public OnGameModeInit()
{
SetGameModeText("TDM");
AddPlayerClass(299, 209.0317, 1937.2322, 23.2422, 179.7939, -1, -1, -1, -1, -1, -1);
rTD = TextDrawCreate(497.000000, 104.000000, "RANK: 1");
TextDrawBackgroundColor(rTD, 255);
TextDrawFont(rTD, 1);
TextDrawLetterSize(rTD, 0.689999, 2.000000);
TextDrawColor(rTD, -16776961);
TextDrawSetOutline(rTD, 1);
TextDrawSetProportional(rTD, 1);
kdTD = TextDrawCreate(497.000000, 8.000000, "0:0");
TextDrawBackgroundColor(kdTD, 255);
TextDrawFont(kdTD, 1);
TextDrawLetterSize(kdTD, 0.500000, 1.000000);
TextDrawColor(kdTD, -16776961);
TextDrawSetOutline(kdTD, 1);
TextDrawSetProportional(kdTD, 1);
gt = 0;
bt = 0;
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
players++;
pInfo[playerid][rank] = 1;
pInfo[playerid][level] = 0;
pInfo[playerid][kills] = 0;
pInfo[playerid][deaths] = 0;
pInfo[playerid][cash] = 0;
pInfo[playerid][team] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
players--;
pInfo[playerid][rank] = 1;
pInfo[playerid][level] = 0;
pInfo[playerid][kills] = 0;
pInfo[playerid][deaths] = 0;
pInfo[playerid][cash] = 0;
pInfo[playerid][team] = 0;
if(pInfo[playerid][team] == 0)
{
gt--;
}
else if(pInfo[playerid][team] == 1)
{
bt--;
}
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);
if(pInfo[playerid][kills] >= 25)
{
pInfo[playerid][rank] = 2;
}
else if(pInfo[playerid][kills] >= 50)
{
pInfo[playerid][rank] = 3;
}
else if(pInfo[playerid][kills] >= 75)
{
pInfo[playerid][rank] = 4;
}
else if(pInfo[playerid][kills] >= 100)
{
pInfo[playerid][rank] = 5;
}
else if(pInfo[playerid][kills] >= 125)
{
pInfo[playerid][rank] = 6;
}
else if(pInfo[playerid][kills] >= 150)
{
pInfo[playerid][rank] = 7;
}
new tdS[10];
format(tdS, sizeof(tdS), "RANK: %i", pInfo[playerid][rank]);
TextDrawSetString(rTD, tdS);
new tdsS[10];
format(tdsS, sizeof(tdsS), "%i:%i", pInfo[playerid][kills], pInfo[playerid][deaths]);
TextDrawSetString(kdTD, tdsS);
TextDrawShowForPlayer(playerid, kdTD);
TextDrawShowForPlayer(playerid, rTD);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
TogglePlayerSpectating(playerid, true);
PlayerSpectatePlayer(playerid, killerid);
SetTimerEx("spec", 5000, false, "i", playerid);
//SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
pInfo[playerid][deaths]++;
pInfo[killerid][kills]++;
if(pInfo[playerid][team] == 0)
{
gt--;
}
else if(pInfo[playerid][team] == 1)
{
bt--;
}
TextDrawHideForPlayer(playerid, rTD);
TextDrawHideForPlayer(playerid, kdTD);
TextDrawHideForPlayer(killerid, rTD);
TextDrawHideForPlayer(killerid, kdTD);
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;
}
new tdS2[10];
format(tdS2, sizeof(tdS2), "RANK: %i", pInfo[killerid][rank]);
TextDrawSetString(rTD, tdS2);
new tdsS2[10];
format(tdsS2, sizeof(tdS2), "%i:%i", pInfo[killerid][kills], pInfo[killerid][deaths]);
TextDrawSetString(kdTD, tdsS2);
TextDrawShowForPlayer(killerid, kdTD);
TextDrawShowForPlayer(killerid, rTD);
return 1;
}
public spec(playerid)
{
TogglePlayerSpectating(playerid, false);
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;
}
I have been trying for hours to fix it and i just cant. I need your help. I dont wanna re-script my GM. Thanks! PLEASE REPLY!
Re: Text draw and k/d issue... -
p.s., the variables ARE correct. I know b/c i checked with a /stats command. Any ideas? sorry for bump.
Re: Text draw and k/d issue... -
Re: Text draw and k/d issue... -
I fixed it.
I had to make a seperate TD for each player.