SA-MP Forums Archive
Скриптинг курилка - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Скриптинг курилка (/showthread.php?tid=111279)



Re: Скриптинг курилка - Stepashka - 17.08.2017

Quote:
Originally Posted by SCALOlaz
Посмотреть сообщение
Подскажите годную либрари под foreach
Планировал оптимизировать циклы for & MAX_PLAYERS

Можете что-нибудь подсказать в этом направлении?
http://forum.sa-mp.com/showthread.ph...40#post1678140


Re: Скриптинг курилка - ZiGGi - 17.08.2017

Quote:
Originally Posted by SCALOlaz
Посмотреть сообщение
Подскажите годную либрари под foreach
Планировал оптимизировать циклы for & MAX_PLAYERS

Можете что-нибудь подсказать в этом направлении?
Ты русский язык что-ли забыл?

Вот тебе либрари (моя модификация): https://github.com/Open-GTO/foreach


Re: Скриптинг курилка - SCALOlaz - 24.08.2017

Спасибо за исходник! Проживаю не на территории Р.

Ни у кого не наблюдаются проблемы с сервером/клиентом?
Около одного часа назад появилась проблема в мастерсервере сервера то прибавляются, то уменьшаются.

При этом свои сервера в клиенте иногда в клиенте пингуются, либо отображаются как выключенные.
По факту в моей админ-панели и в логах сервер не выключался и продолжает функционировать

P.S. Данная проблема возникла не только у меня
P.S.S Интернет соединение у меня в порядке


Re: Скриптинг курилка - SCALOlaz - 24.08.2017

redirect to ( https://sampforum.blast.hk/showthread.php?tid=639846 )

Проблема в Hosted аналогичная


Re: Скриптинг курилка - gensek4 - 25.08.2017

Quote:
Originally Posted by SCALOlaz
Посмотреть сообщение
redirect to ( https://sampforum.blast.hk/showthread.php?tid=639846 )

Проблема в Hosted аналогичная
http://forum.sa-mp.com/forumdisplay.php?f=19

Все сервера в вкладке Hosted (соответственно и Internet, поскольку разницы в них нет) ддосят. Наиболее слабые по всей видимости уходят с полей сражения.


Re: Скриптинг курилка - Mcc - 27.08.2017

сколько одновременно работающих таймеров может держать сервер? зависит от характеристик компутера или есть какие то лимиты на создание?


Re: Скриптинг курилка - eakwarp - 27.08.2017

Quote:
Originally Posted by Mcc
Посмотреть сообщение
сколько одновременно работающих таймеров может поддерживать сервер?
Ограничения нет, единственное, что каждому новому таймеру присваивается новый айди, критическая масса - 4 байта, т.е 4294967296/2. Проблемы начнутся когда айди подйут с минусом.


Re: Скриптинг курилка - Mcc - 27.08.2017

Понятно спс


Re: Скриптинг курилка - ZiGGi - 27.08.2017

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Ограничения нет, единственное, что каждому новому таймеру присваивается новый айди, критическая масса - 4 байта, т.е 4294967296/2. Проблемы начнутся когда айди подйут с минусом.
И то не факт, что проблемы начнутся.


Re: Скриптинг курилка - Mcc - 28.08.2017

Создается по 10 объектов на каждого игрока. Всего игроков - 1000. Эти объекты расфасованы по виртуальным мирам для каждого игрока. Т.е, заходит игрок с уникальным айди в БД, под него обустраивается виртуальный мир с 10-тью объектами. В общем счете получается 10 тысяч объектов, одновременно, которые еще и ретекстурятся.

Вопрос: какую нагрузку создает стример в таком формате использования?
Я вот думаю, что никакую, по своим соображениям, но интересует мнение остальных

Стример Инкогнито


Re: Скриптинг курилка - White_116 - 28.08.2017

Вывод простой, вначеле идёт проверка на винт.мир, далее на интерьер, потом только суп вариться.


Re: Скриптинг курилка - thebatya - 28.08.2017

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

PHP код:
[19:23:14] [INFOchanged log level from 'warning, error' to 'debug, info, warning, error'
[19:23:14] [DEBUGmysql_connect("127.0.0.1""admin""*****""samp"0) (new.pwn:90)
[
19:23:14] [DEBUGCHandleManager::Create(this=0x27b7ff8host='127.0.0.1'user='admin'pass='****'db='samp'options=0x27ac5d8)
[
19:23:14] [INFOCreating new connection handle...
[
19:23:14] [DEBUGCConnection::CConnection(this=0x27bcdb0host='127.0.0.1'user='admin'passw='****'db='samp'options=0x27ac5d8)
[
19:23:14] [DEBUGCConnection::CConnection - new connection 0x2790ae0
[19:23:14] [DEBUGCConnection::CConnection(this=0x5bee020host='127.0.0.1'user='admin'passw='****'db='samp'options=0x27ac5d8)
[
19:23:14] [DEBUGCConnection::CConnection - new connection 0x27e01c0
[19:23:15] [DEBUGCThreadedConnection::CThreadedConnection(this=0x5bee020connection=0x5bee020)
[
19:23:15] [DEBUGCConnectionPool::CConnectionPool(size=2this=0x27bcf70)
[
19:23:15] [DEBUGCConnection::CConnection(this=0x5db4020host='127.0.0.1'user='admin'passw='****'db='samp'options=0x27ac5d8)
[
19:23:15] [DEBUGCThreadedConnection::WorkerFunc(this=0x5bee020connection=0x5bee020)
[
19:23:15] [DEBUGCConnection::CConnection - new connection 0x27f3dd0
[19:23:15] [DEBUGCThreadedConnection::CThreadedConnection(this=0x5db4020connection=0x5db4020)
[
19:23:15] [DEBUGCConnection::CConnection(this=0x5f86020host='127.0.0.1'user='admin'passw='****'db='samp'options=0x27ac5d8)
[
19:23:15] [DEBUGCThreadedConnection::WorkerFunc(this=0x5db4020connection=0x5db4020)
[
19:23:15] [DEBUGCConnection::CConnection - new connection 0x27fddf8
[19:23:15] [DEBUGCThreadedConnection::CThreadedConnection(this=0x5f86020connection=0x5f86020)
[
19:23:15] [INFOConnection handle with id '1' successfully created.
[
19:23:15] [DEBUGCHandleManager::Create - new handle 0x27b0c78
[19:23:15] [DEBUGmysql_connect: return value'1' (new.pwn:90)
[
19:23:15] [DEBUGCThreadedConnection::WorkerFunc(this=0x5f86020connection=0x5f86020)
[
19:24:51] [DEBUGmysql_format(00x04B2BC4C128"SELECT * FROM `players` WHERE `player_name` = '%e'") (new.pwn:159)
[
19:24:51] [ERRORmysql_formatinvalid connection handle '0' (new.pwn:159)
[
19:24:51] [DEBUGmysql_tquery(0"""OnQueryFinished""dd") (new.pwn:160)
[
19:24:51] [ERRORmysql_tqueryinvalid connection handle '0' (new.pwn:160)
[
19:24:51] [DEBUGmysql_tquery: return value'0' (new.pwn:160
В официальной теме тоже упоминается о такой проблеме, но что то решения её я там не нашел.


Re: Скриптинг курилка - ZiGGi - 28.08.2017

Quote:
Originally Posted by thebatya
Посмотреть сообщение
При выполнении запросов выдает ошибку о несуществующем подключении.
В чем может быть проблема, судя по логу подключение имеется?

PHP код:
[19:23:14] [INFOchanged log level from 'warning, error' to 'debug, info, warning, error'
[19:23:14] [DEBUGmysql_connect("127.0.0.1""admin""*****""samp"0) (new.pwn:90)
[
19:23:14] [DEBUGCHandleManager::Create(this=0x27b7ff8host='127.0.0.1'user='admin'pass='****'db='samp'options=0x27ac5d8)
[
19:23:14] [INFOCreating new connection handle...
[
19:23:14] [DEBUGCConnection::CConnection(this=0x27bcdb0host='127.0.0.1'user='admin'passw='****'db='samp'options=0x27ac5d8)
[
19:23:14] [DEBUGCConnection::CConnection - new connection 0x2790ae0
[19:23:14] [DEBUGCConnection::CConnection(this=0x5bee020host='127.0.0.1'user='admin'passw='****'db='samp'options=0x27ac5d8)
[
19:23:14] [DEBUGCConnection::CConnection - new connection 0x27e01c0
[19:23:15] [DEBUGCThreadedConnection::CThreadedConnection(this=0x5bee020connection=0x5bee020)
[
19:23:15] [DEBUGCConnectionPool::CConnectionPool(size=2this=0x27bcf70)
[
19:23:15] [DEBUGCConnection::CConnection(this=0x5db4020host='127.0.0.1'user='admin'passw='****'db='samp'options=0x27ac5d8)
[
19:23:15] [DEBUGCThreadedConnection::WorkerFunc(this=0x5bee020connection=0x5bee020)
[
19:23:15] [DEBUGCConnection::CConnection - new connection 0x27f3dd0
[19:23:15] [DEBUGCThreadedConnection::CThreadedConnection(this=0x5db4020connection=0x5db4020)
[
19:23:15] [DEBUGCConnection::CConnection(this=0x5f86020host='127.0.0.1'user='admin'passw='****'db='samp'options=0x27ac5d8)
[
19:23:15] [DEBUGCThreadedConnection::WorkerFunc(this=0x5db4020connection=0x5db4020)
[
19:23:15] [DEBUGCConnection::CConnection - new connection 0x27fddf8
[19:23:15] [DEBUGCThreadedConnection::CThreadedConnection(this=0x5f86020connection=0x5f86020)
[
19:23:15] [INFOConnection handle with id '1' successfully created.
[
19:23:15] [DEBUGCHandleManager::Create - new handle 0x27b0c78
[19:23:15] [DEBUGmysql_connect: return value'1' (new.pwn:90)
[
19:23:15] [DEBUGCThreadedConnection::WorkerFunc(this=0x5f86020connection=0x5f86020)
[
19:24:51] [DEBUGmysql_format(00x04B2BC4C128"SELECT * FROM `players` WHERE `player_name` = '%e'") (new.pwn:159)
[
19:24:51] [ERRORmysql_formatinvalid connection handle '0' (new.pwn:159)
[
19:24:51] [DEBUGmysql_tquery(0"""OnQueryFinished""dd") (new.pwn:160)
[
19:24:51] [ERRORmysql_tqueryinvalid connection handle '0' (new.pwn:160)
[
19:24:51] [DEBUGmysql_tquery: return value'0' (new.pwn:160
В официальной теме тоже упоминается о такой проблеме, но что то решения её я там не нашел.
Ты создал подключение с ID 1, а отправляешь запрос в подключение с ID 0.


Re: Скриптинг курилка - thebatya - 28.08.2017

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
Ты создал подключение с ID 1, а отправляешь запрос в подключение с ID 0.
Создаю подключение:
PHP код:
public OnGameModeInit()
{
    
mysql_log(ALL);
    
gConnectionHandle mysql_connect(MYSQL_HOSTNAMEMYSQL_USERNAMEMYSQL_PASSWORDMYSQL_DATABASE);
    
printf("%d"_:gConnectionHandle); // Выводит 1
    
return 1;

Отправляю запрос:
PHP код:
public OnPlayerConnect(playerid)
{
    static 
query[128];
    
mysql_format(gConnectionHandlequerysizeof(query), "SELECT * FROM `players` WHERE `player_name` = '%e'"GetPlayerName(playerid));
    
mysql_tquery(gConnectionHandlequery"OnQueryFinished""dd"playeridTHREAD_CHECK_ACCOUNT);
    return 
1;




Re: Скриптинг курилка - ZiGGi - 28.08.2017

Quote:
Originally Posted by thebatya
Посмотреть сообщение
Создаю подключение:
PHP код:
public OnGameModeInit()
{
    
mysql_log(ALL);
    
gConnectionHandle mysql_connect(MYSQL_HOSTNAMEMYSQL_USERNAMEMYSQL_PASSWORDMYSQL_DATABASE);
    
printf("%d"_:gConnectionHandle); // Выводит 1
    
return 1;

Отправляю запрос:
PHP код:
public OnPlayerConnect(playerid)
{
    static 
query[128];
    
mysql_format(gConnectionHandlequerysizeof(query), "SELECT * FROM `players` WHERE `player_name` = '%e'"GetPlayerName(playerid));
    
mysql_tquery(gConnectionHandlequery"OnQueryFinished""dd"playeridTHREAD_CHECK_ACCOUNT);
    return 
1;

Ошибка проявляется всегда? Мне кажется, что только после перезагрузки (gmx). Возможно в OnGameModeExit нет mysql_close(gConnectionHandle);.


Re: Скриптинг курилка - thebatya - 28.08.2017

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
Ошибка проявляется всегда? Мне кажется, что только после перезагрузки (gmx). Возможно в OnGameModeExit нет mysql_close(gConnectionHandle);.
Всегда.

UPD 1:
Проверил на всех версиях R40-R41.

Из-за чего, то переменная, которая хранит в себе идентификатор подключения, обнуляется после включения мода.

PHP код:
public OnGameModeInit()
{
    
mysql_log(ALL);
    
gConnectionHandle mysql_connect(MYSQL_HOSTNAMEMYSQL_USERNAMEMYSQL_PASSWORDMYSQL_DATABASE);
    
printf("%d"_:gConnectionHandle); // 1
    
return 1;

При запуске мода после подключения выводит 1.

PHP код:
main() 
{
    
printf("%d"_:gConnectionHandle); // 0

После запуска мода уже выводит 0.
В моде нет не где обнуления 100%.

UPD 2:
Странным образом после удаления лог-файла ошибка пропала и запросы начали отправляться.


Re: Скриптинг курилка - eakwarp - 28.08.2017

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
И то не факт, что проблемы начнутся.
Начнутся, я проверял


Re: Скриптинг курилка - ZiGGi - 28.08.2017

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Начнутся, я проверял
По сути, если в моде нет проверок вида timerid < 0, то проблем быть не должно. Но это только теория.


Re: Скриптинг курилка - eakwarp - 28.08.2017

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
По сути, если в моде нет проверок вида timerid < 0, то проблем быть не должно. Но это только теория.
У меня много прерываний, так что, до 2ккк таймеры доходят где-то за недели полторы. Там начинаются проблемы.


Re: Скриптинг курилка - Urukhay - 29.08.2017

Всем привет. Если расположить далеко в океане большую площадку для города через CreateObject, а все объекты на ней через DynamicObject, камера не будет проваливаться за площадку?