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
|
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] [INFO] changed log level from 'warning, error' to 'debug, info, warning, error'
[19:23:14] [DEBUG] mysql_connect("127.0.0.1", "admin", "*****", "samp", 0) (new.pwn:90)
[19:23:14] [DEBUG] CHandleManager::Create(this=0x27b7ff8, host='127.0.0.1', user='admin', pass='****', db='samp', options=0x27ac5d8)
[19:23:14] [INFO] Creating new connection handle...
[19:23:14] [DEBUG] CConnection::CConnection(this=0x27bcdb0, host='127.0.0.1', user='admin', passw='****', db='samp', options=0x27ac5d8)
[19:23:14] [DEBUG] CConnection::CConnection - new connection = 0x2790ae0
[19:23:14] [DEBUG] CConnection::CConnection(this=0x5bee020, host='127.0.0.1', user='admin', passw='****', db='samp', options=0x27ac5d8)
[19:23:14] [DEBUG] CConnection::CConnection - new connection = 0x27e01c0
[19:23:15] [DEBUG] CThreadedConnection::CThreadedConnection(this=0x5bee020, connection=0x5bee020)
[19:23:15] [DEBUG] CConnectionPool::CConnectionPool(size=2, this=0x27bcf70)
[19:23:15] [DEBUG] CConnection::CConnection(this=0x5db4020, host='127.0.0.1', user='admin', passw='****', db='samp', options=0x27ac5d8)
[19:23:15] [DEBUG] CThreadedConnection::WorkerFunc(this=0x5bee020, connection=0x5bee020)
[19:23:15] [DEBUG] CConnection::CConnection - new connection = 0x27f3dd0
[19:23:15] [DEBUG] CThreadedConnection::CThreadedConnection(this=0x5db4020, connection=0x5db4020)
[19:23:15] [DEBUG] CConnection::CConnection(this=0x5f86020, host='127.0.0.1', user='admin', passw='****', db='samp', options=0x27ac5d8)
[19:23:15] [DEBUG] CThreadedConnection::WorkerFunc(this=0x5db4020, connection=0x5db4020)
[19:23:15] [DEBUG] CConnection::CConnection - new connection = 0x27fddf8
[19:23:15] [DEBUG] CThreadedConnection::CThreadedConnection(this=0x5f86020, connection=0x5f86020)
[19:23:15] [INFO] Connection handle with id '1' successfully created.
[19:23:15] [DEBUG] CHandleManager::Create - new handle = 0x27b0c78
[19:23:15] [DEBUG] mysql_connect: return value: '1' (new.pwn:90)
[19:23:15] [DEBUG] CThreadedConnection::WorkerFunc(this=0x5f86020, connection=0x5f86020)
[19:24:51] [DEBUG] mysql_format(0, 0x04B2BC4C, 128, "SELECT * FROM `players` WHERE `player_name` = '%e'") (new.pwn:159)
[19:24:51] [ERROR] mysql_format: invalid connection handle '0' (new.pwn:159)
[19:24:51] [DEBUG] mysql_tquery(0, "", "OnQueryFinished", "dd") (new.pwn:160)
[19:24:51] [ERROR] mysql_tquery: invalid connection handle '0' (new.pwn:160)
[19:24:51] [DEBUG] mysql_tquery: return value: '0' (new.pwn:160)
В официальной теме тоже упоминается о такой проблеме, но что то решения её я там не нашел.
Re: Скриптинг курилка -
ZiGGi - 28.08.2017
Quote:
Originally Posted by thebatya
При выполнении запросов выдает ошибку о несуществующем подключении.
В чем может быть проблема, судя по логу подключение имеется?
PHP код:
[19:23:14] [INFO] changed log level from 'warning, error' to 'debug, info, warning, error'
[19:23:14] [DEBUG] mysql_connect("127.0.0.1", "admin", "*****", "samp", 0) (new.pwn:90)
[19:23:14] [DEBUG] CHandleManager::Create(this=0x27b7ff8, host='127.0.0.1', user='admin', pass='****', db='samp', options=0x27ac5d8)
[19:23:14] [INFO] Creating new connection handle...
[19:23:14] [DEBUG] CConnection::CConnection(this=0x27bcdb0, host='127.0.0.1', user='admin', passw='****', db='samp', options=0x27ac5d8)
[19:23:14] [DEBUG] CConnection::CConnection - new connection = 0x2790ae0
[19:23:14] [DEBUG] CConnection::CConnection(this=0x5bee020, host='127.0.0.1', user='admin', passw='****', db='samp', options=0x27ac5d8)
[19:23:14] [DEBUG] CConnection::CConnection - new connection = 0x27e01c0
[19:23:15] [DEBUG] CThreadedConnection::CThreadedConnection(this=0x5bee020, connection=0x5bee020)
[19:23:15] [DEBUG] CConnectionPool::CConnectionPool(size=2, this=0x27bcf70)
[19:23:15] [DEBUG] CConnection::CConnection(this=0x5db4020, host='127.0.0.1', user='admin', passw='****', db='samp', options=0x27ac5d8)
[19:23:15] [DEBUG] CThreadedConnection::WorkerFunc(this=0x5bee020, connection=0x5bee020)
[19:23:15] [DEBUG] CConnection::CConnection - new connection = 0x27f3dd0
[19:23:15] [DEBUG] CThreadedConnection::CThreadedConnection(this=0x5db4020, connection=0x5db4020)
[19:23:15] [DEBUG] CConnection::CConnection(this=0x5f86020, host='127.0.0.1', user='admin', passw='****', db='samp', options=0x27ac5d8)
[19:23:15] [DEBUG] CThreadedConnection::WorkerFunc(this=0x5db4020, connection=0x5db4020)
[19:23:15] [DEBUG] CConnection::CConnection - new connection = 0x27fddf8
[19:23:15] [DEBUG] CThreadedConnection::CThreadedConnection(this=0x5f86020, connection=0x5f86020)
[19:23:15] [INFO] Connection handle with id '1' successfully created.
[19:23:15] [DEBUG] CHandleManager::Create - new handle = 0x27b0c78
[19:23:15] [DEBUG] mysql_connect: return value: '1' (new.pwn:90)
[19:23:15] [DEBUG] CThreadedConnection::WorkerFunc(this=0x5f86020, connection=0x5f86020)
[19:24:51] [DEBUG] mysql_format(0, 0x04B2BC4C, 128, "SELECT * FROM `players` WHERE `player_name` = '%e'") (new.pwn:159)
[19:24:51] [ERROR] mysql_format: invalid connection handle '0' (new.pwn:159)
[19:24:51] [DEBUG] mysql_tquery(0, "", "OnQueryFinished", "dd") (new.pwn:160)
[19:24:51] [ERROR] mysql_tquery: invalid connection handle '0' (new.pwn:160)
[19:24:51] [DEBUG] mysql_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_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD, MYSQL_DATABASE);
printf("%d", _:gConnectionHandle); // Выводит 1
return 1;
}
Отправляю запрос:
PHP код:
public OnPlayerConnect(playerid)
{
static query[128];
mysql_format(gConnectionHandle, query, sizeof(query), "SELECT * FROM `players` WHERE `player_name` = '%e'", GetPlayerName(playerid));
mysql_tquery(gConnectionHandle, query, "OnQueryFinished", "dd", playerid, THREAD_CHECK_ACCOUNT);
return 1;
}
Re: Скриптинг курилка -
ZiGGi - 28.08.2017
Quote:
Originally Posted by thebatya
Создаю подключение:
PHP код:
public OnGameModeInit()
{
mysql_log(ALL);
gConnectionHandle = mysql_connect(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD, MYSQL_DATABASE);
printf("%d", _:gConnectionHandle); // Выводит 1
return 1;
}
Отправляю запрос:
PHP код:
public OnPlayerConnect(playerid)
{
static query[128];
mysql_format(gConnectionHandle, query, sizeof(query), "SELECT * FROM `players` WHERE `player_name` = '%e'", GetPlayerName(playerid));
mysql_tquery(gConnectionHandle, query, "OnQueryFinished", "dd", playerid, THREAD_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_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD, MYSQL_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, камера не будет проваливаться за площадку?