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
//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;
}
#define mysql_host "HIDDEN" #define mysql_user "HIDDEN" #define mysql_password ""HIDDEN"" #define mysql_database ""HIDDEN""
Код:
#define mysql_host "HIDDEN" #define mysql_user "HIDDEN" #define mysql_password ""HIDDEN"" #define mysql_database ""HIDDEN"" |
C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(25) : error 035: argument type mismatch (argument 1) C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(26) : error 017: undefined symbol "mysql_ping" C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(28) : warning 206: redundant test: constant expression is non-zero C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(28) : warning 215: expression has no effect C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(70) : error 035: argument type mismatch (argument 1) C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(71) : error 017: undefined symbol "mysql_store_result" C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(72) : error 017: undefined symbol "mysql_num_rows" C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(74) : error 017: undefined symbol "mysql_fetch_row" C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(76) : error 017: undefined symbol "mysql_fetch_field_row" C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(77) : error 017: undefined symbol "mysql_fetch_field_row" C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(78) : error 017: undefined symbol "mysql_fetch_field_row" C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(95) : error 017: undefined symbol "mysql_free_result" C:\Users\Jamie\Desktop\xd\Syndicate RP\filterscripts\bansystem.pwn(100) : error 021: symbol already defined: "sscanf" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 11 Errors.
That system uses a very old version of the mysql plugin (R5 or R6) as well as the sscanf function written in PAWN. I would highly advise you to update it to R39-5 with threaded queries for faster performance and use the sscanf plugin too.
If your decision will be to update it, I'll post the appropriate links to read few tutorials and its usage and anything you don't understand just say it so I (or other users) can explain it to you. Otherwise, download the correct version of it. |