A mysql ошибка в pawno

Posts: 252
Threads: 24
Joined: Jul 2013

Reputation:

0

pawn Код:

fatal error 100: cannot read from file: "a_mysql"

Its placed in pawno>include
And this is what i found in it

PHP код:



/**

*

*            MySQL Native Functions

*    More information about the function usage at mysql.com

*

**/

#if defined mysql_included

    #endinput

#endif

#define mysql_included

#include <a_samp>

#include <a_sampmysql>

//Definitions

#define mysql_fetch_row(%1) mysql_fetch_row_format(%1,"|")

#define mysql_get_field(%1,%2) mysql_fetch_field_row(%2,%1)

//Native functions

native mysql_affected_rows(connectionHandle 1);

native mysql_close(connectionHandle 1);

native mysql_connect(const host[],const user[],const database[],const password[]);

native mysql_debug(enable 1);

native mysql_errno(connectionHandle 1);

native mysql_fetch_int(connectionHandle 1);

native mysql_fetch_field(number,dest[],connectionHandle 1);

native mysql_fetch_field_row(string[],const fieldname[],connectionHandle 1);

native mysql_fetch_float(&Float:result,connectionHandle 1);

native mysql_fetch_row_format(string[],const delimiter[] = "|",connectionHandle 1);

native mysql_field_count(connectionHandle 1);

native mysql_free_result(connectionHandle 1);

native mysql_get_charset(destination[],connectionHandle 1);

native mysql_insert_id(connectionHandle 1);

native mysql_num_rows(connectionHandle 1);

native mysql_num_fields(connectionHandle 1);

native mysql_ping(connectionHandle 1);

native mysql_query(query[],resultid = (-1),extraid = (-1),connectionHandle 1);

native mysql_real_escape_string(const source[],destination[],connectionHandle 1);

native mysql_reconnect(connectionHandle 1);

native mysql_reload(connectionHandle 1) = mysql_reconnect;

native mysql_set_charset(charset[],connectionHandle 1);

native mysql_stat(const destination[],connectionHandle 1);

native mysql_store_result(connectionHandle 1);

native mysql_warning_count(connectionHandle 1);

//Callback

forward OnQueryFinish(query[], resultidextraidconnectionHandle); 




26.09.2013, 14:55

(

Последний раз редактировалось Patrick; 26.09.2013 в 18:14.

)

On your main-script, you forgot to add

Posts: 252
Threads: 24
Joined: Jul 2013

Reputation:

0

Quote:

Originally Posted by pds2012
Посмотреть сообщение

On your main-script, you forgot to add

First you forgot to put > after a_mysql
Second, its already there!!!

Sorry, sometimes people make mistake or miss-type, can you show us the whole error, for example this kind of error

pawn Код:

C:UsersPCNameLocationFoldernamegamemodesScriptName.pwn(9) : error 038: extra characters on line

not just the error:

pawn Код:

fatal error 100: cannot read from file: "a_mysql"

make you you include it like that, and you have the right include name on your include folder

pawn Код:

pawno/include/a_mysql.inc

Posts: 252
Threads: 24
Joined: Jul 2013

Reputation:

0

  • 0


MacLuckys

Вопросы

Доброго времени суток. Собственно сама проблема:

[15:04:16] [WARNING] CMySQLResult::GetRowData - invalid row ('0') or field index ('25')
[15:04:16] [WARNING] CMySQLResult::GetRowData - invalid row ('8') or field index ('1')
[15:04:16] [ERROR] cache_get_row_int - invalid datatype
[15:04:16] [WARNING] CMySQLResult::GetRowData - invalid row ('8') or field index ('2')
[15:04:16] [ERROR] cache_get_row_int - invalid datatype
[15:04:16] [WARNING] CMySQLResult::GetRowData - invalid row ('8') or field index ('3')
[15:04:16] [ERROR] cache_get_row_int - invalid datatype

Поделиться сообщением


Ссылка на сообщение

Лучший ответ

Опубликовал

ʟᴀsᴛ ᴇᴍᴘᴇʀᴏʀ.

,Опубликовано 28 июня, 2020

В решении этой проблемы можешь помочь себе только ты. Пробуй искать в моде по cache_get_row_int, проверяй таблицы.

6 ответов на этот вопрос

  • Сортировать по голосам
  • Сортировать по дате
  • 0

19 минут назад, MacLuckys сказал:

В каком месте я спорил? Я лишь сказал, что сделал до появления ошибки. Может чем-то бы и помог этот факт в решении проблемы.


В решении этой проблемы можешь помочь себе только ты. Пробуй искать в моде по cache_get_row_int, проверяй таблицы.

Поделиться сообщением


Ссылка на сообщение

  • 0

Г@MacLuckys Где-то в коде, есть строка с загрузкой с бд и указан неверный тип данных. Попробуй найди его.

Поделиться сообщением


Ссылка на сообщение

  • 0

Проблема возникла после перехода на 0.3.7, на 0.3.е никаких ошибок не наблюдалось

4 часа назад, Nekit_Krut18 сказал:

Г@MacLuckys Где-то в коде, есть строка с загрузкой с бд и указан неверный тип данных. Попробуй найди его.

Отредактировано 27 июня, 2020 пользователем MacLuckys

Поделиться сообщением


Ссылка на сообщение

  • 0

@MacLuckys Вам дали ответ, но вы спорите что проблемы нет, что виновата как я понял по вашим словам переход с 0.3е на 0.3.7
А так ответ тут очевиден 

Цитата

Где-то в коде, есть строка с загрузкой с бд и указан неверный тип данных. Попробуй найди его

Поделиться сообщением


Ссылка на сообщение

  • 0

В каком месте я спорил? Я лишь сказал, что сделал до появления ошибки. Может чем-то бы и помог этот факт в решении проблемы.

6 часов назад, MuhammadPawn сказал:

@MacLuckys Вам дали ответ, но вы спорите что проблемы нет, что виновата как я понял по вашим словам переход с 0.3е на 0.3.7
А так ответ тут очевиден 

Поделиться сообщением


Ссылка на сообщение

  • 0

Хорошо, спасибо.

2 минуты назад, GLADE сказал:


В решении этой проблемы можешь помочь себе только ты. Пробуй искать в моде по cache_get_row_int, проверяй таблицы.

Поделиться сообщением


Ссылка на сообщение


Гость

Эта тема закрыта для публикации ответов.

  • Последние посетители

      0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент


    • levi

      От

      levi

      Требуется pawn разработчик для создания копии мода амазинг рп, естественно не за бесплатно, цену обсудим уже далее. Желательно примерно знать системы амазинга.
      ТГ: @fgsgfsadf.


    • Sergo_Alexeev

      От

      Sergo_Alexeev

       

      Менял на: 

       

      Ничего не происходит…

  • #2

Замените stock mysql_connects() на:

stock mysql_connects()
{
dbHandle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_BASE, MYSQL_PASSWORD);
switch(mysql_errno(dbHandle))
{
case 0: printf(«Подключение к базе данных состоялось успешно.»);
case 1044: printf(«При подключении к базе данных возникла ошибка: неверное имя пользователя.»);
case 1045: printf(«При подключении к базе данных возникла ошибка: неверный пароль.»);
case 1049: printf(«При подключении к базе данных возникла ошибка: неверное имя базы данных.»);
case 2003: printf(«При подключении к базе данных возникла ошибка: хостинг не отвечает»);
case 2005: printf(«При подключении к базе данных возникла ошибка: неизвестный адрес хостинга.»);
default: printf(«При подключении к базе данных возникла ошибка. Код ошибки: %d.», mysql_errno(dbHandle));
}
mysql_log(LOG_ALL);
return true;
}

И смотрите что пишет в логах.

SpongeBOZZ


  • #3

Заменил.

В логах пишет то же самое, что и до замены.

Код:

[20:59:36] [ERROR] mysql_connect - empty connection data specified[20:59:36] [ERROR] "mysql_errno" - invalid connection handle (id: 1)

@Elrmrnt-Kritik,

Так же после замены появился варнинг в строке switch(mysql_errno(dbHandle))

Код:

warning 217: loose indentation

Последнее редактирование модератором: 01.07.2017

SpongeBOZZ


  • #5

@Elrmrnt-Kritik

Логи MySQL

[00:30:01] [DEBUG] CMySQLConnection::Connect — establishing connection to database…
[00:30:01] [DEBUG] CMySQLConnection::Connect — establishing connection to database…
[00:30:01] [ERROR] CMySQLConnection::Connect — (error #1045) Access denied for user ‘root’@’localhost’ (using password: YES)
[00:30:01] [ERROR] CMySQLConnection::Connect — (error #1045) Access denied for user ‘root’@’localhost’ (using password: YES)
[00:30:01] [ERROR] CMySQLConnection::Connect — (error #1045) Access denied for user ‘root’@’localhost’ (using password: YES)
[00:30:24] [ERROR] CMySQLConnection::Connect — (error #1045) Access denied for user ‘root’@’localhost’ (using password: YES)
[00:30:24] [DEBUG] CMySQLConnection::Connect — establishing connection to database…
[00:30:24] [DEBUG] CMySQLConnection::Connect — establishing connection to database…
[00:30:24] [ERROR] CMySQLConnection::Connect — (error #1045) Access denied for user ‘root’@’localhost’ (using password: YES)
[00:30:55] [DEBUG] CMySQLConnection::Connect — establishing connection to database…
[00:30:55] [DEBUG] CMySQLConnection::Connect — establishing connection to database…
[00:30:55] [DEBUG] CMySQLConnection::Connect — connection was successful
[00:30:55] [DEBUG] CMySQLConnection::Connect — connection was successful
[00:30:55] [DEBUG] CMySQLConnection::Connect — auto-reconnect has been enabled
[00:30:55] [DEBUG] CMySQLConnection::Connect — auto-reconnect has been enabled
[00:30:55] [DEBUG] CMySQLConnection::Connect — auto-reconnect has been enabled
[00:31:55] [DEBUG] mysql_tquery — connection: 1, query: «SELECT ‘id’ FROM ‘accounts’ WHERE ‘login’ = ‘Mark_Daniels'», callback: «player_check», format: «ii»
[00:31:55] [DEBUG] CMySQLQuery::Execute[player_check] — starting query execution
[00:31:55] [ERROR] CMySQLQuery::Execute[player_check] — (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near »accounts’ WHERE ‘login’ = ‘Mark_Daniels» at line 1
[00:31:55] [DEBUG] CMySQLQuery::Execute[player_check] — error will be triggered in OnQueryError
[00:31:55] [DEBUG] Calling callback «OnQueryError»..

Логи сервера

Код:

----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3e, (C)2005-2012 SA-MP Team

[00:30:55] filterscripts = ""  (string)
[00:30:55] 
[00:30:55] Server Plugins
[00:30:55] --------------
[00:30:55]  Loading plugin: dc_cmd
[00:30:55]   Daniel's CMD plugin v2.8
[00:30:55]     (c) 2014 Daniel_Cortez
[00:30:55] 	www.pro-pawn.ru
[00:30:55]   Loaded.
[00:30:55]  Loading plugin: mysql
[00:30:55]  &gt;&gt; plugin.mysql: R39-2 successfully loaded.
[00:30:55]   Loaded.
[00:30:55]  Loading plugin: sscanf
[00:30:55] 

[00:30:55]  ===============================

[00:30:55]       sscanf plugin loaded.     

[00:30:55]          Version:  2.8.1        

[00:30:55]    (c) 2012 Alex "Y_Less" Cole  

[00:30:55]  ===============================

[00:30:55]   Loaded.
[00:30:55]  Loading plugin: streamer
[00:30:55] 

*** Streamer Plugin v2.7.4 by Incognito loaded ***

[00:30:55]   Loaded.
[00:30:55]  Loaded 4 plugins.

[00:30:55] 
[00:30:55] Filterscripts
[00:30:55] ---------------
[00:30:55]   Loaded 0 filterscripts.

[00:30:55] Подключение к базе данных состоялось успешно.
[00:30:55] 
----------------------------------
[00:30:55] -------------Palace Rp------------
[00:30:55] ----------------------------------

[00:30:55] Number of vehicle models: 1
[00:31:55] Incoming connection: 127.0.0.1:53250
[00:31:55] [join] Mark_Daniels has joined the server (0:127.0.0.1)
[00:33:06] [part] Mark_Daniels has left the server (0:1)

  • #6

[00:30:55] Подключение к базе данных состоялось успешно.

Подключение прошло успешно.

Покажите SQL запрос поиска аккаунта из мода (при входе в игру), а также player_check.

SpongeBOZZ


  • #7

@Elrmrnt-Kritik,

Заранее извиняюсь если что-то лишнее приложил,я в этом деле новичок.

Код:

forward player_connect(playerid);
public player_connect(playerid)
{
	new query[48+24];
	format (query, sizeof(query), "SELECT 'id' FROM 'accounts' WHERE 'login' = '%s'", sendername(playerid));
	mysql_function_query(dbHandle, query, true, "player_check", "ii", playerid, 0);
	return 1;
}
forward player_check(playerid);
public player_check(playerid)
{
	new rows[2];
	cache_get_data(rows[0], rows[1]);
	if (rows[0]) show_login(playerid);
	else show_register(playerid);
	return 1;
}
forward player_login(playerid);
public player_login(playerid)
{
	new rows[2], temp [128];
	cache_get_data(rows[0], rows[1]);
	if(rows[0])
	{
	    cache_get_field_content(0, "id", temp), player_info[playerid][ID] = strval(temp);
	}
}

  • #8

mysql_function_query(dbHandle, query, true, «player_check», «ii», playerid, 0);

Замените на это:

mysql_function_query(dbHandle, query, true, «player_check», «i», playerid);
И попробуйте снова авторизоваться или что Вы там делаете…

SpongeBOZZ


  • #9

mysql_function_query(dbHandle, query, true, «player_check», «i», playerid);

Мне нужно добиться вызова окна регистрации при заходе в игру, уже прописанного в коде, но этого не происходит.

Аккаунт не создается в Базе данных, созданной мной в phpAdmins MySQL.

SpongeBOZZ


  • #11

@Elrmrnt-Kritik

Да, естественно.
Заменил, перепроверил.
На всякий случай Логи MySQL

Код:

[01:23:27] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[01:23:27] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[01:23:27] [DEBUG] CMySQLConnection::Connect - connection was successful
[01:23:27] [DEBUG] CMySQLConnection::Connect - connection was successful
[01:23:27] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[01:23:27] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[01:23:27] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[01:24:02] [DEBUG] mysql_tquery - connection: 1, query: "SELECT 'id' FROM 'accounts' WHERE 'login' = 'Mark_Daniels'", callback: "player_check", format: "i"
[01:24:02] [DEBUG] CMySQLQuery::Execute[player_check] - starting query execution
[01:24:02] [ERROR] CMySQLQuery::Execute[player_check] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''accounts' WHERE 'login' = 'Mark_Daniels'' at line 1
[01:24:02] [DEBUG] CMySQLQuery::Execute[player_check] - error will be triggered in OnQueryError
[01:24:02] [DEBUG] Calling callback "OnQueryError"..

  • #12

format (query, sizeof(query), «SELECT ‘id’ FROM ‘accounts’ WHERE ‘login’ = ‘%s'», sendername(playerid));

Попробуйте еще ее заменить на эту:

Код:

format (query, sizeof(query), "SELECT `id` FROM `accounts` WHERE `login` = '%s'", sendername(playerid));

SpongeBOZZ


  • #13

format (query, sizeof(query), «SELECT `id` FROM `accounts` WHERE `login` = ‘%s'», sendername(playerid));

Данная поправка стала вызывать прописанное окно регистрации аккаунта.

Но после прохождения регистрации,не создался аккаунт в самой БД MySQL

Логи:

Код:

[01:36:43] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[01:36:43] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[01:36:43] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[01:36:43] [DEBUG] CMySQLConnection::Connect - connection was successful
[01:36:43] [DEBUG] CMySQLConnection::Connect - connection was successful
[01:36:43] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[01:36:43] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[01:37:07] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `id` FROM `accounts` WHERE `login` = 'Mark_Daniels'", callback: "player_check", format: "i"
[01:37:07] [DEBUG] CMySQLQuery::Execute[player_check] - starting query execution
[01:37:07] [DEBUG] CMySQLQuery::Execute[player_check] - query was successfully executed within 0.574 milliseconds
[01:37:07] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[01:37:07] [DEBUG] Calling callback "player_check"..
[01:37:07] [DEBUG] cache_get_data - connection: 1
[01:37:07] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[01:37:29] [DEBUG] mysql_escape_string - source: "qwerty12345", connection: 1, max_len: 16
[01:37:29] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO 'accounts' ('login', 'password') VALUES ('Mark_Danie", callback: "(null)", format: "(null)"
[01:37:29] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM 'accounts' WHERE 'login' = 'Mark_Daniels' AND 'pas", callback: "player_login", format: "i"
[01:37:29] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[01:37:29] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''accounts' ('login', 'password') VALUES ('Mark_Daniels','qwerty12345')' at line 1
[01:37:29] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
[01:37:29] [DEBUG] CMySQLQuery::Execute[player_login] - starting query execution
[01:37:29] [ERROR] CMySQLQuery::Execute[player_login] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''accounts' WHERE 'login' = 'Mark_Daniels' AND 'password' = 'qwerty12345' LIMIT 1' at line 1
[01:37:29] [DEBUG] CMySQLQuery::Execute[player_login] - error will be triggered in OnQueryError
[01:37:29] [DEBUG] Calling callback "OnQueryError"..
[01:37:29] [DEBUG] Calling callback "OnQueryError"..

SpongeBOZZ


  • #15

@Elrmrnt-Kritik,

Код:

stock show_register(playerid)
{
	SPD(playerid, 1 , DIALOG_STYLE_INPUT, "{0099FF}Регистрация", "Добро пожаловать на сервер Palace Role PlaynЧтобы начать игру вам необходимо пройти регистрациюnnВведите пароль для вашего аккаунтаnОн будет запрашиваться каждый раз когда вы заходите на серверnntt{30DB2A}Примечания:nttПароль может состоять из русских и латинских символовnttПароль чувствителен к региструnttДлинна пароля от 6 до 15-ти символов", "Далее", "");
} 

  • #16

@SpongeBOZZ, в OnDialogResponse ищите if(dialogid == 1) или case 1 и показывайте.

SpongeBOZZ


  • #17

Код:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch(dialogid)
	{
	    case 1:
	    {
		if(!strlen(inputtext) || strlen(inputtext) &lt; 6 ||strlen(inputtext) &gt; 16)
	    	{
	            show_register(playerid);
	    	}
	    	else
	    	{
	    	    new query[128], temp[16];
    	    	mysql_real_escape_string(inputtext, temp);
    	    	format(query, sizeof(query), "INSERT INTO 'accounts' ('login', 'password') VALUES ('%s','%s')", sendername(playerid), temp);
    	    	mysql_function_query(dbHandle, query, false, "", "");
    	    	format(query, sizeof(query), "SELECT * FROM 'accounts' WHERE 'login' = '%s' AND 'password' = '%s' LIMIT 1", sendername(playerid), temp);
    	    	mysql_function_query(dbHandle, query, true, "player_login", "i", playerid);
	    	}
	    }
	}
	return 1;
}

  • #18

@SpongeBOZZ, замените на это:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 1:
{
if(!strlen(inputtext) || strlen(inputtext) &lt; 6 ||strlen(inputtext) &gt; 16)
show_register(playerid);
else
{
new query[128], temp[16];
mysql_real_escape_string(inputtext, temp);
format(query, sizeof(query), «INSERT INTO `accounts` (`login`, `password`) VALUES (‘%s’,’%s’)», sendername(playerid), temp);
mysql_function_query(dbHandle, query, false, «», «»);
format(query, sizeof(query), «SELECT * FROM `accounts` WHERE `login` = ‘%s’ AND `password` = ‘%s’ LIMIT 1», sendername(playerid), temp);
mysql_function_query(dbHandle, query, true, «player_login», «i», playerid);
}
}
}
return 1;

В апостроф () нужно брать только типы данных в SQL запросах (%s, %d, %f), а названия таблиц, столбцов — в тальду (`). Например,

SELECT * FROM `accounts` WHERE `name` = ‘%s’ 
:261D:  accounts и name — названия таблиц и столбцов соответственно — пишем `. ‘%s‘ — тип данных, которые мы получаем, потому используем .

Последнее редактирование модератором: 03.07.2017

SpongeBOZZ


  • #19

В апостроф (‘) нужно брать только типы данных в SQL запросах (‘%s’, ‘%d’, ‘%f’), а названия таблиц, столбцов — в тальду (`). Например, ? 1 SELECT * FROM `accounts` WHERE `name` = ‘%s’   accounts и name — названия таблиц и столбцов соответственно — пишем `. ‘%s’ — тип данных, которые мы получаем, потому используем ‘.

Огромное вам спасибо, проблема решена, аккаунт добавился в БД.
Отдельное спасибо за приведенные примеры. :D83DDE0A:

    // This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>
#include <fix>
#include "streamer"
#include "a_actor"
#include "a_mysql"
#include "dc_cmd"
#include "sscanf2"
#include <mxdate>
#include <foreach>
//=======================================[ Дефайны ]========================================================================

//--------------База данных-------------

#define     SQL_HOST    "localhost"
#define     SQL_USER    "root"
#define     SQL_PASS    "mypw"
#define     SQL_DB    	"mydb"

//-------------Дефайны функций----------
#define     SCM             SendClientMessage
#define     SCMTA           SendClientMessageToAll
#define     SPD             ShowPlayerDialog

//-------------Дефайны цвета------------
#define		COLOR_GREY			0xAFAFAFAA
#define     COLOR_YELLOW    	0xF7FF00FF
#define     COLOR_WHITE   		0xFFFFFFFF
#define     COLOR_RED       	0xF0320CFF
#define     COLOR_ORANGEYELLOW  0xFFDF0FFF
#define     COLOR_LIGHTRED      0xFF4530FF
#define     COLOR_LIGHTGREY     0xD1D1D1FF
#define     COLOR_BLUE          0x3657FFFF
#define     COLOR_SALAD         0xA0FF33FF
#define     COLOR_GREEN         0x4BCC2BFF
#define     COLOR_ORANGE        0xFF7A05FF

#define 	SERVER_NAME		"Dawn RolePlay"//㡭饠񥰢池

//----------------------аᣨ젠񥰢池-------------------
new rules[] =
"{FFDA1F}1. ϱ{FFFFFF}n"
"-Ƞ౥񥭮 鲯לּ询᳼ 쿡󥠷鳻, 򰥩󬠬糧 鬨 CLEO 񪰨೻n"
"-Ƞ౥񥭠DeathMatch (DM) - 󡨩񲢮 衭ᮥ񥭨塢𥤠 餰﫠졡槠౨��n"
"-Ƞ౥񥭮 󡨢᳼ 餰﫮⡭ࡱࡢ(�򥬠䥥 ﮨ ௿㬿�� ⡨䱥)n"
"-Ƞ౥񥭻 󡨩񲢠 ല欠襠 쨠񲰥콡󠨧 ᣲ"
"-Ƞ౥񥭮 󵮤鳼 ࡳ賠⡶欿��Ქ ﲠᥠ��n"
"-Ƞ౥񥭮 鲯לּ询ᮨ塢館吝ﲲ橠񥰢池 嬿 񮧤ᮨ��󤮡񲢠屳䩬 餰﫠흮",
rules_1[] =
"{FFDA1F}2. а﷥񱠮⺥{FFFFFF}n"
"-Ƞ౥񥭠�, ﲪﱡ즭饠屳䩵 餰﫮㝮"
"-Ƞ౥񥭻 󣰮軠屳䩬 餰﫠젨ﳭﲿ񨥱��餰�౮��󩜮"
"-Ƞ౥񥭮 ੱ᳼ 򰠭񫨲ﬠ(𨬥𠢢ya zawel na server"")n"
"-Ƞ౥񥭠 쿡ῠ𥪫᭠ 񲮰ﮭ鵠𥱳𱮢n"
"-Ƞ౥񥭮 ��鳼 (��ﱿ򼠮婭᫮㼥 ��󬠨쨠��󠡥硱�쯢褐𳧪誜n",
rules_2[] =
"{FFDA1F}3. d�鲲𠶨��FFFF}n"
"-Υ泌�񮮡񠲼 ᥬ鮨񲰠��񥰢池 �� 񫳷‵ 󸥭鿠塭 ౠ㩫n"
"-d�鲲𠶨���򮿲欼㼡鱠沠𲰠�� 񠭪��嬿 롦寣ﮪ𥲭冷 񫳷“n"
"-Ҡ騠�󲠯𨬥��񰠧󠯮񫥠󸥭鿠鬨 ��硢𥬿 (𨬥𬠢௱쥥񲢨衯ﲲ󯫥 硫)n"
"-Ʊ쨠𲰠�� 񠭪��⼫࡯𨬥ࡪ 㡬 ﹨⯷ 񢿦鳥񼠱 ᥬ鮨񲰠��";

enum	player
{
	ID[6],
	NAME[MAX_PLAYER_NAME +1],
	MONEY[128],
	LEVEL[4],
}
new pInfo[MAX_PLAYERS][player];

new query[256];

main()
{
	print("n----------------------------------");
	print(" Blank Gamemode by your name here");
	print("----------------------------------n");
}
//new MySQL: sql;
new MySQL: cHandle;
public OnGameModeInit()
{
	//=======================================[ Ү楨饠񠡠诩 塭 ]==================================================
    new MySQLOpt: option_id = mysql_init_options();	//	ϯ��MySQL
    mysql_set_option(option_id, AUTO_RECONNECT, true);	//	b򮠯汥௤묾��半    cHandle = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DB, option_id);	// ԭ��嫫��鿍
    if(cHandle == MYSQL_INVALID_HANDLE || mysql_errno(cHandle) != 0) // 𮢥𪠠௤묾��塪 ⡧塤ᮭ󵍊	{
		print("[MySQL] Υ 󤠫ﲼ 󱲠鳼 񮥤鮥 񠡠诩 塭."); // û㯤 񮮡񥭨��믭񮫼

		SendRconCommand("exit"); // ϱ򠭮㫠 񥰢池
		return 1;
	}
    print("[MySQL] Ү楨饠񠡠诩 塭 󱯥𭮠󱲠즭");
	//mysql_log(ERROR | WARNING);
	mysql_log(ERROR | WARNING);

	DisableInteriorEnterExits();
	EnableStuntBonusForAll(0);
	SetGameModeText("test");
	SendRconCommand("hostname "SERVER_NAME"");
	rules[sizeof(rules)-1] = 'n';
	rules_1[sizeof(rules_1)-1] = 'n';
	rules_2[sizeof(rules_2)-1] = '';
	AddPlayerClass(0,1755.1631,-1894.1062,13.5568,268.8526,0,0,0,0,0,0);
	return 1;
}
public OnGameModeExit()
{
	mysql_close();	//	Ƞ뱻㡥족捻鮥 񠡠诩 塭
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}

public OnPlayerConnect(playerid)
{
	GetPlayerName(playerid, pInfo[playerid][NAME], MAX_PLAYER_NAME);
	SetTimerEx("CheckPlayerExistance", 1000, 0, "i", playerid);
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	//save_account(playerid);
	mysql_close();
	return 1;
}

public OnPlayerSpawn(playerid)
{
	clear_player(playerid);
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/test", cmdtext, true, 10) == 0)
	{
		GivePlayerMoney(playerid, 50000);
		// Do something here
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch(dialogid)
	{
		case	1:
		{
			if(!response)
			{
				SPD(playerid, 35, DIALOG_STYLE_MSGBOX, "{FFEF0D}ϸ颪ࢬ "01", "Ƞ뱻򼢬 "");
				SCM(playerid, COLOR_RED, "â楨򥠯q(/quit) ��󠢻골.");
				Kick(playerid);
				return 1;
			}
			else
			{
				if(!strlen(inputtext) || strlen(inputtext) < 8 || strlen(inputtext) > 16)
				{
					SCM(playerid, COLOR_RED, "[Ҩ񲥬ᝠϸ颪ຠͨᬼ 嬨 ࡰ﬿ 8 񨬢אַ⬠�񨬠콭ῠ16.");
				}
				else
				{
					new Characters[][2] = {"1","2","3","4","5","6","7","8","9"};
					for(new i=0; i<sizeof(Characters); i++)
					{
						if(strfind(pInfo[playerid][NAME], Characters[i], true) != -1)
						{
							{
								SPD(playerid, 35, DIALOG_STYLE_MSGBOX, "{FFEF0D}ϸ颪ࢬ "à𠭨ꡭ塤ﬦ歠񮤥𦠲���� ɧ�鳥 椮 衯ﱨ򥠰椨񲰠��, "Ƞ뱻򼢬 "");
								SCM(playerid, COLOR_RED, "â楨򥠯q(/quit) ��󠢻골.");
								Kick(playerid);
								return 1;
							}
						}
					}
					SetPVarString(playerid, "reg_pass", inputtext);
					SPD(playerid, 2, DIALOG_STYLE_INPUT, "{1472FF}ѥ䲲𠶨��ޫ櫲𮭭ῠ௷򠢬 "{FFFFFF}â楨򥠠履񠂠𥩠��򰮭 ௷򻜮ɱ௫�� 椮, 㻠񬮦泥 㯱񲠭򼠤ﲲ󯠪 ᫪ᴭ򳜮⡱촷ᥠ㨫ﭠ 鬨 沫衧ᢳ妲塯ᱮ켮nnΠ email �㼸즬 񱻫볮  򥷥 14 宥顂󠬮禲杮র檲衯橠嬿 ௤򢥰祥 ௷򻮜nnԡ楨򥱼 ⡯𠢨콭ﲲ衢㯤ࡨ �塜"Š즥"", "Š즥", "");
				}
			}
		}
		case	2:
		{
			if(!response)
			{
				
			}
			else
			{
				SPD(playerid, 3, DIALOG_STYLE_INPUT, "{1472FF}ѥ䩱򰠶鿠- ѥ��뢬 "{FFFFFF}Ʊ쨠㻠󧭠쨠ṥ족汢汥 ﲠ񢮥䮠屳䡜n믲ﱻ顲󲠨䱠沬 󪠦鳥 椮  ⡯ﬥ 杮n{C3FF1F}а衤ﲲ駥 㡬蠴-䮠󰮢㻠 ௫󷨲衢鶴ᤰ᧤殨墬 "Š즥", "аﰳ񲨲��
				SetPVarString(playerid, "email", inputtext);
			}
		}
		case	3:
		{
			if(!response)
			{
				SCM(playerid, COLOR_GREY, "Υ򠰥��젢);
				SetPVarString(playerid, "referal" , "");
				SPD(playerid, 4, DIALOG_STYLE_MSGBOX, "{1472FF}ѥ䩱򰠶鿠- Ю뢬 "û⦰鳥 ௫ 㡸椮 র񮭠砢, "ͳ粪謁, "ǥ驢);
			}
			else
			{
				SetPVarString(playerid, "referal" , inputtext);
				SCM(playerid, COLOR_GREY, "Ʊ򼠰浥𠫢);
				SPD(playerid, 4, DIALOG_STYLE_MSGBOX, "{1472FF}ѥ䩱򰠶鿠- Ю뢬 "û⦰鳥 ௫ 㡸椮 র񮭠砢, "ͳ粪謁, "ǥ驢);
			}
		}
		case	4:
		{
			if(!response)
			{
				SetPVarInt(playerid, "sex", 2);
				SCM(playerid, COLOR_GREY, "û 㼡𠫨 ǥ驠௫.");
				SPD(playerid, 5, DIALOG_STYLE_INPUT, "{1472FF}ѥ䩱򰠶鿠- î豠񲢬 "Ԫ᧨򥠢侮Ჲ 㡸椮 র񮭠硜nϲ 18 宠50 ̥򢬠"Š즥", "");
			}
			else
			{
				SetPVarInt(playerid, "sex", 1);
				SCM(playerid, COLOR_GREY, "û 㼡𠫨 ͳ粪褐௫.");
				SPD(playerid, 5, DIALOG_STYLE_INPUT, "{1472FF}ѥ䩱򰠶鿠- î豠񲢬 "Ԫ᧨򥠢侮Ჲ 㡸椮 র񮭠硜nϲ 18 宠50 ̥򢬠"Š즥", "");
			}
		}
		case	5:
		{
			if(!response)
			{
				
			}
			else
			{
				new reg_age = strval(inputtext);
				SetPVarInt(playerid, "age", reg_age);
				SPD(playerid, 6, DIALOG_STYLE_INPUT, "{1472FF}ѥ䩱򰠶鿠- Π񥡥", "Ԫ᧨򥠯ᱳ 񫮢 㮸졯汱ﮠ禜nà箮! ɭ��ᷨ��𿥲񿠠孨򰠶馩.", "Š즥", "");
			}
		}
		case	6:
		{
			if(!response)
			{
				
			}
			else
			{
				SPD(playerid, 7, DIALOG_STYLE_MSGBOX, "{1472FF}ѥ䩱򰠶鿠- ϯ󲠨䱻","{FFFFFF}û 㰥𢻥 餰ᦲ塢 GTA San Andreas Multiplayer (SAMP)?nͻ ௪᧥졢ᬠ寯שּׂ鳥콭󥠯辰롧먠嬿 㡱.", "ή㩷甆, "Ԧ塨䱠뢩;
				SetPVarString(playerid, "about", inputtext);
			}
		}
		case	7:
		{
			if(!response)
			{
				SetPVarInt(playerid, "newbie", 0);
				SCM(playerid, COLOR_GREY, "û 㼡𠫨 - Ԧ塨䱠뢩;
				SPD(playerid, 8, DIALOG_STYLE_MSGBOX, "{1472FF}ѥ䩱򰠶鿠- аᣨ젠񥰢池", rules, "а鮿򼢬 "ϲ�ࢩ;
			}
			else
			{
				SetPVarInt(playerid, "newbie", 1);
				SCM(playerid, COLOR_GREY, "û 㼡𠫨 - ή㩷甆);
				SPD(playerid, 8, DIALOG_STYLE_MSGBOX, "{1472FF}ѥ䩱򰠶鿠- аᣨ젠񥰢池", rules, "а鮿򼢬 "ϲ�ࢩ;
			}
		}
		case	8:
		{
			if(!response)
			{
				SCM(playerid, COLOR_RED, "[Ҩ񲥬ᝠϸ颪ຠū��𻠭࡭ṥ족汢汥 㡬 ⶮ婬狼Შ򱿠񠯰ᣨ졬表䱻.");
				Kick(playerid);
			}
			else
			{
				//new	query[256];
				new r_pass[32];
				new r_sex;
				new r_email[32];
				new r_referal[32];
				new r_age;
				new r_about[256];
				new r_newbie;
				GetPVarString(playerid, "reg_pass", r_pass, sizeof(r_pass));
				GetPVarString(playerid, "email", r_email, sizeof(r_email));
				GetPVarString(playerid, "referal", r_referal, sizeof(r_referal));
				r_sex = GetPVarInt(playerid, "sex");
				r_age = GetPVarInt(playerid, "age");
				GetPVarString(playerid, "about", r_about, sizeof(r_about));
				r_newbie = GetPVarInt(playerid, "newbie");
				
				format(query, sizeof(query), "INSERT INTO `accounts` (`login`,`password`,`email`,`referal`,`sex`,`age`,`about`,`newbie`) VALUES ('%s','%s','%s','%s','%d','%d','%s','%d')", pInfo[playerid][NAME],r_pass,r_email,r_referal,r_sex,r_age,r_about,r_newbie);
				mysql_tquery(cHandle, query, "OnPlayerRegistered", "i", playerid);
			}
		}
		case	9:
		{
				if(!response)
				{
					// Ʊ쨠ᬨ 㼵懶
				}
				else
				{
					SetPVarString(playerid, "l_pass", inputtext);
					//new	query[128];
					format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `login` = '%s' AND `password` = '%s' LIMIT 1",playername(playerid), inputtext);
					mysql_tquery(cHandle, query, "OnPlayerLogin", "r", playername(playerid));
				}
		}
	}
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}
public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
{
		SetPlayerPos(playerid, fX, fY, fZ);
		SetPlayerVirtualWorld(playerid, 0);
		SetPlayerInterior(playerid, 0);
	//return 0;
}
//====================================================================
stock playername(playerid)
{
	new	pName[MAX_PLAYER_NAME +1];
	GetPlayerName(playerid, pName, sizeof(pName));
	return	pName;
}
stock sendername(playerid)
{
	new newname[MAX_PLAYER_NAME];
	GetPlayerName(playerid, newname, sizeof(newname));
	return newname;
}
stock save_account(playerid)
{
	new string[256];
	format(string, sizeof(string), "[SAVE ACCOUNT ON EXIT] User %s Money Ammount : %d", pInfo[playerid][NAME],pInfo[playerid][MONEY]);
	printf(string);
	//new query[256];
	format(query, sizeof(query), "UPDATE `accounts` SET `money` = '%d' WHERE `id` = '%d' LIMIT 1", pInfo[playerid][MONEY], pInfo[playerid][ID]);
	mysql_query(cHandle, query);
	
}
stock give_money(playerid, amount)
{
	pInfo[playerid][MONEY] += amount;
	GivePlayerMoney(playerid, amount);
}
stock clear_player(playerid)
{
    pInfo[playerid][MONEY] = 0;
	pInfo[playerid][ID] = 0;
}
stock LoadPlayerData(playerid)
{
	new query[256];
	format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `login` = '%s'", playername(playerid));
	mysql_tquery(sql, query, "OnTest", "r", playerid);
	cache_get_value_name_int(0, "money", pInfo[playerid][MONEY]);
	
	
}
//====================================================================

forward CheckPlayerExistance(playerid);
public  CheckPlayerExistance(playerid)
{
		SetPlayerCameraPos(playerid, 1027.7542, -1075.3053, 109.6629);
        SetPlayerCameraLookAt(playerid, 1028.7198, -1075.5803, 109.6678);
        // ⡬怜 㡰顭򥠪᭥𠠡󤥲 㩤 ﲪ𥡮⡋ﱠҠ񠍊        
        //format(query, sizeof query, "SELECT * FROM `accounts` WHERE `login` = '%s'", pInfo[playerid][NAME]); // ��᳨𳥬 衯𮱠񠯥𥡮𮬠򠡫鷻 accounts 衯况믬 񮢯ᥥ ⡯ﬥ name
        //mysql_tquery(sql, query, "PlayerExists", "ii", playerid, THREAD_TESTING);

		mysql_format(cHandle, query, sizeof(query), "SELECT * FROM `accounts` WHERE `login` = '%e' LIMIT 1",pInfo[playerid][NAME]);
		// the variable 'query' contains now the formatted query (including the escaped string)
		mysql_tquery(cHandle, query, "PlayerExists");
		return 1;
}
forward PlayerExists(playerid);
public  PlayerExists(playerid)
{
        if (cache_num_rows() < 1) // 沫衭᪤殮 0 񮢯ᥥ, 򮠨䱮ꡤﬦ歠衰椨񲰨𮢠򼱿
        {
			SCM(playerid,COLOR_RED, "NOT REGISTERED");
		}
        else //  ࡥ񫨠妭 ᣲﱨ衶鿍
        {
			SCM(playerid,COLOR_GREEN, "REGISTERED");
		}
		return 1;
}

Pawno-Info.Ru — Портал о программировании №1

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям и ответы на все интересующие Вас вопросы. После регистрации Вы сможете создавать темы, публиковать ответы, влиять на репутацию пользователей форума, обмениваться личными сообщениями и многое другое. Это быстро и совершенно бесплатно, так чего же Вы ждете?

Вход

Регистрация

Возможно, вам также будет интересно:

  • A b тестирование ошибка первого рода
  • A 42901 тендер ошибка тендер
  • 9с59 ошибка обновления windows 7 как исправить
  • 9с59 ошибка обновления windows 7 internet explorer 11
  • 9с57 ошибка обновления windows 7 internet explorer 11

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии