Re: Скриптинг курилка -
stabker - 14.10.2017
С заморозкой это очевидно, я думал обойтись без нее. Тем более, что в функции, создающей интерьер, еще меняется погода, время, звук (это насчет извращений).
Re: Скриптинг курилка -
Romz - 14.10.2017
Quote:
Originally Posted by stabker
С заморозкой это очевидно, я думал обойтись без нее. Тем более, что в функции, создающей интерьер, еще меняется погода, время, звук (это насчет извращений).
|
Ну в R2 добавили же собственный звук для интерьеров, по этому уже не считается извращением.
Re: Скриптинг курилка -
Romz - 15.10.2017
Quote:
Originally Posted by Eims
А знает кто способ как заставить компилятор ругаться на все случаи несовпадения тега Float, а не подставлять функцию "float"?
Ну чтоб на что-то подобное
PHP код:
SetPlayerPos(playerid, 0, 0, 0);
Компилятор выплюнул предупреждение о несовпадении тегов
|
Не нашли способ?
Re: Скриптинг курилка -
Eims - 15.10.2017
Quote:
Originally Posted by Romz
Не нашли способ?
|
Увы, нет.
Re: Скриптинг курилка -
m1n1vv - 15.10.2017
SetObjectMaterialText обновляется конкретное количество раз. На это есть фикс?
Re: Скриптинг курилка -
White_116 - 15.10.2017
Quote:
Originally Posted by m1n1vv
SetObjectMaterialText обновляется конкретное количество раз. На это есть фикс?
|
Конкретнее можно описать ситуацию...
Re: Скриптинг курилка -
m1n1vv - 15.10.2017
Quote:
Originally Posted by White_116
Конкретнее можно описать ситуацию...
|
Я делаю редактор объектов. В нем можно менять цвет, текст, жирность и тд. Но после 10 изменений, SetObjectMaterialText перестает реагировать на любые изменения для того ИД объекта.
Re: Скриптинг курилка -
eakwarp - 15.10.2017
Quote:
Originally Posted by m1n1vv
Я делаю редактор объектов. В нем можно менять цвет, текст, жирность и тд. Но после 10 изменений, SetObjectMaterialText перестает реагировать на любые изменения для того ИД объекта.
|
Пересоздать?
Re: Скриптинг курилка -
m1n1vv - 15.10.2017
Quote:
Originally Posted by eakwarp
Пересоздать?
|
Пересоздание не помогает. Оно же к иду привязывается. Нашел такой выход с ситуации. После 10-й правки отправлять объект в центр карты, а в сцене создавать новый. Таким образом 10 000 возможностей изменить.
Re: Скриптинг курилка -
OstGot - 15.10.2017
Quote:
Originally Posted by m1n1vv
SetObjectMaterialText обновляется конкретное количество раз. На это есть фикс?
|
Попробуй использовать стримерские объекты. И если уже на них этот баг останется, то можно попробовать поиграть с функциями Streamer_SetIntData/Streamer_SetFloatData/Streamer_Update, чтобы он их после ретекстура как-то обновлял без изменения их ида.
Re: Скриптинг курилка -
m1n1vv - 15.10.2017
Quote:
Originally Posted by OstGot
Попробуй использовать стримерские объекты. И если уже на них этот баг останется, то можно попробовать поиграть с функциями Streamer_SetIntData/Streamer_SetFloatData/Streamer_Update, чтобы он их после ретекстура как-то обновлял без изменения их ида.
|
Про это я знаю. У себя в проекте использую. А я хочу собрать конструктор объектов без использования всяких плагинов.
Re: Скриптинг курилка -
Eims - 16.10.2017
Продолжение вот этой темы:
Quote:
Originally Posted by Eims
Есть кривой мод (предположительно паблик), на котором периодически перестаёт синхронизировать игрока с сервером: все игроки в зоне стрима встают в афк, а объекты за зоной стрима просто не создаются. Все команды, завязанные на действиях с другими игроками (например, слежка за игроком) так же отказываются работать. Работает только чат (игрок получает сообщения от других и сам может их писать). И так до релога (хоть даже собейтом сделать быстрый релог), после чего всё опять нормально.
Какую-то последовательность отловить не смог, собственно, поэтому обращаюсь к вам. Знает ли кто с чем это может быть связано?
P.S. OnPlayerUpdate всегда возвращает 1.
|
Собрал ряд скринов со статистикой сети при рассинхроне, но я особо никогда в это не вникал, поэтому не могу даже представить, есть ли в этих данных что-то полезное по моей теме.
Шарящим людям просьба заглянуть в скрины
https://i.imgur.com/n04MEsx.png
https://i.imgur.com/4S65Yjm.png
https://i.imgur.com/JdpspRp.png
https://i.imgur.com/RXl5qb8.png
https://i.imgur.com/SoN1oRJ.png
https://i.imgur.com/vy8pmGi.png
Re: Скриптинг курилка -
Romz - 17.10.2017
Quote:
Originally Posted by Eims
Есть кривой мод (предположительно паблик), на котором периодически перестаёт синхронизировать игрока с сервером: все игроки в зоне стрима встают в афк, а объекты за зоной стрима просто не создаются. Все команды, завязанные на действиях с другими игроками (например, слежка за игроком) так же отказываются работать. Работает только чат (игрок получает сообщения от других и сам может их писать). И так до релога (хоть даже собейтом сделать быстрый релог), после чего всё опять нормально.
Какую-то последовательность отловить не смог, собственно, поэтому обращаюсь к вам. Знает ли кто с чем это может быть связано?
P.S. OnPlayerUpdate всегда возвращает 1.
|
У меня раньше было такое, проблема была в хостинге. Но помимо такого лага иногда еще происходили дикие фризы (не всегда).
Сменил хост - проблема исчезла.
Re: Скриптинг курилка -
Eims - 17.10.2017
Хостинг, если что, ruhoster. Было у кого такое там?
Re: Скриптинг курилка -
Romz - 17.10.2017
Quote:
Originally Posted by Eims
Хостинг, если что, ruhoster. Было у кого такое там?
|
у меня было такое на игрохосте, сейчас тоже использую рухостер и вроде такого не замечал.
Re: Скриптинг курилка -
White_116 - 17.10.2017
Видно потери пакетов у клиента, так же количество созданных объектов 999, предположительно не верно настроен стриммер, либо идёт утечка в амх коде. Думаю причина в потере пакетов, стоит выяснить в какой момент это происходит и как сильно нагружения сервер.
Re: Скриптинг курилка -
Romz - 17.10.2017
Всем привет. Посоветуйте, как лучше избавиться от предупреждения:
Код:
sscanf warning: String buffer overflow.
Собственно код самой команды:
Код:
COMMAND:kick(playerid, params[]) {
new userid, reason[16];
if(sscanf(params, "rs[16]", userid, reason)) {
SCM(playerid, -1, "/kick [игрок] [причина]");
return 1;
}
// Остальной код
return 1;
}
Если я например ввожу причину которая длинней 16 символов, выскакивает предупреждение в логи сервера.
Я понимаю конечно что можно увеличить массив reason, но зачем мне он очень длинный если я все равно не планирую использовать причину длинней 16 символов?
Re: Скриптинг курилка -
Eims - 17.10.2017
Как вариант
PHP код:
COMMAND:kick(playerid, params[]) {
new userid;
if(sscanf(params, "rs[128]", userid, params)) {
SCM(playerid, -1, "/kick [игрок] [причина]");
return 1;
}
if(strlen(params) > 16)
...
// Остальной код
return 1;
}
Хотя никогда не понимал зачем делать какие-то ограничения в подобных случаях
Quote:
Originally Posted by White_116
Видно потери пакетов у клиента, так же количество созданных объектов 999, предположительно не верно настроен стриммер, либо идёт утечка в амх коде. Думаю причина в потере пакетов, стоит выяснить в какой момент это происходит и как сильно нагружения сервер.
|
Хорошо, спасибо. Значит дело именно в кривом моде (при онлайне в 150 грузит процессор на 100%). Я просто думал узнать, вдруг у подобных рассинхронов есть какая-то конкретная причина в виде конкретного кода, а не просто нагрузка.
Re: Скриптинг курилка -
Romz - 17.10.2017
Quote:
Originally Posted by Eims
Хотя никогда не понимал зачем делать какие-то ограничения в подобных случаях
|
Весь текст который я планирую писать в SendClientMessage + очень длинная причина просто не поместится в 144 символа, по этому и нужно ограничение на длину.
Re: Скриптинг курилка -
Eims - 17.10.2017
Quote:
Originally Posted by Romz
Весь текст который я планирую писать в SendClientMessage + очень длинная причина просто не поместится в 144 символа, по этому и нужно ограничение на длину.
|
Реализовать перенос на следующую строку?
Это не так уж и сложно делается, но, при этом, админам не нужно будет страдать, если вдруг они решат развернуто написать причину, а им не даст.
У сампа и так уже есть ограничение в 128 символов для окна чата. Зачем придумывать ещё что-то?