SA-MP Forums Archive
Text draw and k/d issue... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Text draw and k/d issue... (/showthread.php?tid=301598)



Text draw and k/d issue... - sciman001 - 04.12.2011

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... - sciman001 - 04.12.2011

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... - MP2 - 04.12.2011

- removed-


Re: Text draw and k/d issue... - sciman001 - 04.12.2011

I fixed it. I had to make a seperate TD for each player. Thanks!