Mysql Connection error
#1

hello.
i'm trying to install a mysql ban system in my script (https://sampforum.blast.hk/showthread.php?tid=429651),

but everytime i compile it, i get these errors:

Код:
C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(23) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(23) : error 017: undefined symbol "mmrp_sampbans"
C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(23) : warning 215: expression has no effect
C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(23) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(23) : fatal error 107: too many error messages on one line
this is my code:
pawn Код:
//Includes-------------

#include <a_samp>
#include <a_mysql>
#include <zcmd>

// -----------------database defines------------------
#define mysql_host            "HIDDEN"
#define mysql_user            "HIDDEN"
#define mysql_password     ""HIDDEN""
#define mysql_database     ""HIDDEN""

// ----------------color defines ---------------------
#define C_RED               0xFF0000FF
#define C_GREY              0xAFAFAFFF
#define C_BLUE              0x0000BBFF
#define C_WHITE             0xFFFFFFFF


//================Script ==============================
public OnFilterScriptInit()
{
    mysql_connect(mysql_host, mysql_user, mysql_database, mysql_password);

    mysql_query("CREATE TABLE IF NOT EXISTS bandata(admin VARCHAR(20), player VARCHAR(20), reason VARCHAR(50), IP VARCHAR(16), banned INT(10))");
    if(mysql_ping() == 1)
    {
        mysql_debug(1);
        printf("[MYSQL] Connection with the BAN database: SUCCESS!");
    }
    else
    {
        printf("[MYSQL] Connection with the BAN database: FAIL!");
    }
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

public OnPlayerConnect(playerid)
{
    MySQL_BanCheck(playerid);
    return 1;
}



//======================Ban system Stocks=====================================
stock escpname(playerid)
{
    new escname[24], Pname[24];
    GetPlayerName(playerid, Pname, 24);
    mysql_real_escape_string(Pname, escname);
    return escname;
}
stock PlayerName(playerid)
{
  new name[MAX_PLAYER_NAME];
  GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  return name;
}
stock MySQL_BanCheck(playerid)
{
  new query[200], admin[50], pname[50], IP[16], string1[100];
  GetPlayerIp(playerid, IP, 16);
  format(query, sizeof(query),"SELECT * FROM `bandata` WHERE(`player`='%s' OR `IP`='%s') AND `banned`=1 LIMIT 1", escpname(playerid), IP);
  mysql_query(query);
  mysql_store_result();
  if(mysql_num_rows() != 0)
  {
     while(mysql_fetch_row(query))
     {
       mysql_fetch_field_row(admin, "admin");
       mysql_fetch_field_row(pname, "player");
       mysql_fetch_field_row(string1, "reason");
     }

     new string[50], str[50], str1[100];
     format(string, sizeof(string),"Admin: %s", admin);
     format(str, sizeof(str),"Player: %s", pname);
     format(str1, sizeof(str1),"Reason: %s", string1);
     SendClientMessage(playerid, C_RED,"You are banned from this server!");
     SendClientMessage(playerid, C_RED,"___________________");
     SendClientMessage(playerid, C_RED, str);
     SendClientMessage(playerid, C_RED, string);
     SendClientMessage(playerid, C_RED, str1);
     SendClientMessage(playerid, C_RED,"___________________");
     SendClientMessage(playerid, C_RED, "If you think that this BAN was a mistake, then post a screenshot(using F8) on our website");
     SendClientMessage(playerid, C_RED, "www.yourservername.com");
     Kick(playerid);
  }
  mysql_free_result();
  return 1;
}

stock sscanf(string[], format[], {Float,_}:...)
{
        #if defined isnull
                if (isnull(string))
        #else
                if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
        #endif
                {
                        return format[0];
                }
        #pragma tabsize 4
        new
                formatPos = 0,
                stringPos = 0,
                paramPos = 2,
                paramCount = numargs(),
                delim = ' ';
        while (string[stringPos] && string[stringPos] <= ' ')
        {
                stringPos++;
        }
        while (paramPos < paramCount && string[stringPos])
        {
                switch (format[formatPos++])
                {
                        case '\0':
                        {
                                return 0;
                        }
                        case 'i', 'd':
                        {
                                new
                                        neg = 1,
                                        num = 0,
                                        ch = string[stringPos];
                                if (ch == '-')
                                {
                                        neg = -1;
                                        ch = string[++stringPos];
                                }
                                do
                                {
                                        stringPos++;
                                        if ('0' <= ch <= '9')
                                        {
                                                num = (num * 10) + (ch - '0');
                                        }
                                        else
                                        {
                                                return -1;
                                        }
                                }
                                while ((ch = string[stringPos]) > ' ' && ch != delim);
                                setarg(paramPos, 0, num * neg);
                        }
                        case 'h', 'x':
                        {
                                new
                                        num = 0,
                                        ch = string[stringPos];
                                do
                                {
                                        stringPos++;
                                        switch (ch)
                                        {
                                                case 'x', 'X':
                                                {
                                                        num = 0;
                                                        continue;
                                                }
                                                case '0' .. '9':
                                                {
                                                        num = (num << 4) | (ch - '0');
                                                }
                                                case 'a' .. 'f':
                                                {
                                                        num = (num << 4) | (ch - ('a' - 10));
                                                }
                                                case 'A' .. 'F':
                                                {
                                                        num = (num << 4) | (ch - ('A' - 10));
                                                }
                                                default:
                                                {
                                                        return -1;
                                                }
                                        }
                                }
                                while ((ch = string[stringPos]) > ' ' && ch != delim);
                                setarg(paramPos, 0, num);
                        }
                        case 'c':
                        {
                                setarg(paramPos, 0, string[stringPos++]);
                        }
                        case 'f':
                        {

                                new changestr[16], changepos = 0, strpos = stringPos;
                                while(changepos < 16 && string[strpos] && string[strpos] != delim)
                                {
                                        changestr[changepos++] = string[strpos++];
                                }
                                changestr[changepos] = '\0';
                                setarg(paramPos,0,_:floatstr(changestr));
                        }
                        case 'p':
                        {
                                delim = format[formatPos++];
                                continue;
                        }
                        case '\'':
                        {
                                new
                                        end = formatPos - 1,
                                        ch;
                                while ((ch = format[++end]) && ch != '\'') {}
                                if (!ch)
                                {
                                        return -1;
                                }
                                format[end] = '\0';
                                if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
                                {
                                        if (format[end + 1])
                                        {
                                                return -1;
                                        }
                                        return 0;
                                }
                                format[end] = '\'';
                                stringPos = ch + (end - formatPos);
                                formatPos = end + 1;
                        }
                        case 'u':
                        {
                                new
                                        end = stringPos - 1,
                                        id = 0,
                                        bool:num = true,
                                        ch;
                                while ((ch = string[++end]) && ch != delim)
                                {
                                        if (num)
                                        {
                                                if ('0' <= ch <= '9')
                                                {
                                                        id = (id * 10) + (ch - '0');
                                                }
                                                else
                                                {
                                                        num = false;
                                                }
                                        }
                                }
                                if (num && IsPlayerConnected(id))
                                {
                                        setarg(paramPos, 0, id);
                                }
                                else
                                {
                                        #if !defined foreach
                                                #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
                                                #define __SSCANF_FOREACH__
                                        #endif
                                        string[end] = '\0';
                                        num = false;
                                        new
                                                name[MAX_PLAYER_NAME];
                                        id = end - stringPos;
                                        foreach (Player, playerid)
                                        {
                                                GetPlayerName(playerid, name, sizeof (name));
                                                if (!strcmp(name, string[stringPos], true, id))
                                                {
                                                        setarg(paramPos, 0, playerid);
                                                        num = true;
                                                        break;
                                                }
                                        }
                                        if (!num)
                                        {
                                                setarg(paramPos, 0, INVALID_PLAYER_ID);
                                        }
                                        string[end] = ch;
                                        #if defined __SSCANF_FOREACH__
                                                #undef foreach
                                                #undef __SSCANF_FOREACH__
                                        #endif
                                }
                                stringPos = end;
                        }
                        case 's', 'z':
                        {
                                new
                                        i = 0,
                                        ch;
                                if (format[formatPos])
                                {
                                        while ((ch = string[stringPos++]) && ch != delim)
                                        {
                                                setarg(paramPos, i++, ch);
                                        }
                                        if (!i)
                                        {
                                                return -1;
                                        }
                                }
                                else
                                {
                                        while ((ch = string[stringPos++]))
                                        {
                                                setarg(paramPos, i++, ch);
                                        }
                                }
                                stringPos--;
                                setarg(paramPos, i, '\0');
                        }
                        default:
                        {
                                continue;
                        }
                }
                while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
                {
                        stringPos++;
                }
                while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
                {
                        stringPos++;
                }
                paramPos++;
        }
        do
        {
                if ((delim = format[formatPos++]) > ' ')
                {
                        if (delim == '\'')
                        {
                                while ((delim = format[formatPos++]) && delim != '\'') {}
                        }
                        else if (delim != 'z')
                        {
                                return delim;
                        }
                }
        }
        while (delim > ' ');
        return 0;
}

what's the problem here?
Reply


Messages In This Thread
Mysql Connection error - by justjamie - 10.05.2016, 12:19
Re: Mysql Connection error - by Konstantinos - 10.05.2016, 12:24
Re: Mysql Connection error - by justjamie - 10.05.2016, 12:43
Re: Mysql Connection error - by Konstantinos - 10.05.2016, 13:03
Re: Mysql Connection error - by justjamie - 10.05.2016, 13:06
Re: Mysql Connection error - by Konstantinos - 10.05.2016, 13:09

Forum Jump:


Users browsing this thread: 2 Guest(s)