Первое предупреждение - кривая табуляция. Нужно просто выровнять код с помощью TAB.
Вторая - покажи конкретную строку и 10 строк над ней
Первое предупреждение - кривая табуляция. Нужно просто выровнять код с помощью TAB.
Вторая - покажи конкретную строку и 10 строк над ней
Огромное спасибо за статью.
Но возникла проблема - при существующем аккаунте, окно логина не высвечивается, кикает (так должно быть, если аккаунт не зарегистрирован). В чем может быть проблема?
http://pastebin.com/9A5Hgpgv
Функцию FindPlayerInTable забыл скопировать :)
Если использовать Mysql R41-2 проблем не будет с этим кодом?
UPD: Использовал всё же Mysql R42-1 и не подключается к базе. У меня denwer и все данные к базе данных указаны верно. Ошибок и варнингов при компиляции нету.
http://i.imgur.com/gar8vYB.png
Код:[plugins/mysql] mysql_connect: handle error: no database specified
[plugins/mysql] mysql_errno: invalid connection handle '1'
Код:#define MYSQL_HOST "localhost"
#define MYSQL_USER "root"
#define MYSQL_DATABASE "sa-mp"
#define MYSQL_PASSWORD ""
new MySQL: mysql_connect_ID;
mysql_connect_ID = mysql_connect(!MYSQL_HOST, !MYSQL_USER, !MYSQL_DATABASE, !MYSQL_PASSWORD);
Неправильный порядок параметров.PHP код:
native MySQL:mysql_connect(const host[], const user[], const password[], const database[], MySQLOpt:option_id = MySQLOpt:0);
И я бы советовал использовать mysql_connect_file
В корне сервера создай файл "mysql.ini" со следующим содержимым:PHP код:
mysql_connect_ID = mysql_connect_file();
Так будет гораздо удобнее в плане того, что не нужно постоянно лезть в мод и править данные, а потом компилировать всё, если какие-либо данные поменялись. И можно хоть на 5 разных хостингах запускать сервер с этим модом, при этом, нужно будет лишь данные в файле менять этом (то же самое и с запуском мода на локальном сервере/хостинге).PHP код:
hostname = localhost
username = root
#password = #когда будешь ставить на хостинг, уберёшь "#" и после "=" пропишешь пароль от БД
database = sa-mp
Ого спасибо, буду знать теперь и даже то что при подобных ошибках нужно смотреть нативные функции в которых наверняка скрыт ответ. Почему бы теперь не дополнить тему тем что ты мне сейчас сам написал про mysql_connect_file();
Вот тут я описал все отличия R40+ от R39
Потому что в статье и так уже полно информации, а эта "фича" совсем не важна для работы системы и лишь удобства добавляет (таких "фич" можно ещё вагон и маленькую тележку написать). В статье я дал тот минимум, который нужен для написания регистрации.
Указанная функция (ShowCharList) не выполняется, совсем. Что может быть не так?PHP код:
public UploadPlayerAccount(playerid)
{
cache_get_value_name_int(0, "ID", pInfo[playerid][pID]);
SendClientMessage(playerid, COLOR_GREEN, "Âû óñïåøíî àâòîðèçèðîâàëèñü! Âûáåðèòå ïåðñîíàæà...");
new query_string[128];
format(query_string, sizeof(query_string), "SELECT `CharName` FROM `Characters` WHERE `ID` = '%d'", pInfo[playerid][pID]);
mysql_tquery(mysql_connect_ID, query_string, "ShowCharList", "i", playerid);
return 1;
}
Если указать вместо ID (cache_get_value_name_int) что-нибудь другое, то выполняется, как так? Почему?