Gamemode crash but no errors
#1

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;
}
Any ideas?
Reply
#2

im a tard. i had to make the directory.. sorry for spam. please delete this
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)