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: Скриптинг курилка - Krasuha - 04.06.2018

Stepashka, при вводе "/home/samp03/samp03svr &" сервер не запускается...

*** System restart required ***
Last login: Mon Jun 4 17:50:48 2018 from 93.190.203.201
root@Ubuntu:~# killall samp03svr
root@Ubuntu:~# /home/samp03/samp03svr &
[1] 6283
root@Ubuntu:~#
[1]+ Done /home/samp03/samp03svr
root@Ubuntu:~#


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

cd /home/samp03/ ; ./samp03svr &2 не?


Re: Скриптинг курилка - Krasuha - 07.06.2018

Mcc, спасибо, всё получилось.
Если кому-то нужно так же сделать перезапуск процесса сервера SA-MP, вот как сделал я:

Вводим:
crontab -e

И в конец файла забиваем:
* */3 * * * killall samp03svr ; cd /home/samp03/ ; ./samp03svr &

Таким образом процесс будет перезапускаться каждый день в 3 часа ночи.

Что бы подробнее узнать о возможных настройках запуска, гуглите cron.


Re: Скриптинг курилка - DrumYum - 13.06.2018

Здравствуйте.

Ковырял стандартный скрипт "flymode", в связи с чем возникла пара вопросов, подскажите, люди знающие:

1. Настолько ли значима вообще разница в производительности между использованием в OnPlayerUpdate обычных переменных и PVar? В упомянутом скрипте, как я понял, намеренно избегается использование PVar именно в этом паблике
2. В этом же OnPlayerUpdate в случае, когда игрок в режиме полёта, у него отключается отправка данных другим игрокам (т.е. return 0). С какой целью это сделано, я чего-то не знаю? Игрока в режиме полёта всё равно же не видно


Re: Скриптинг курилка - OstGot - 13.06.2018

Quote:
Originally Posted by DrumYum
Посмотреть сообщение
1. Настолько ли значима вообще разница в производительности между использованием в OnPlayerUpdate обычных переменных и PVar? В упомянутом скрипте, как я понял, намеренно избегается использование PVar именно в этом паблике
Пвары медленнее, потому и избегается их использование в OnPlayerUpdate (который вызывается как раз очень часто).


Re: Скриптинг курилка - Eims - 14.06.2018

Quote:
Originally Posted by DrumYum
Посмотреть сообщение
2. В этом же OnPlayerUpdate в случае, когда игрок в режиме полёта, у него отключается отправка данных другим игрокам (т.е. return 0). С какой целью это сделано, я чего-то не знаю? Игрока в режиме полёта всё равно же не видно
Вероятнее всего, потому что игрок продолжает отсылать данные о своём состоянии для сервера, а тот продолжает их синхронизировать с игроками, что, в данном случае, бессмысленно. Вот эта лишняя синхронизация и убирается.


Re: Скриптинг курилка - ea8de1 - 21.06.2018

Всем привет,

Правда ли, что код на C/C++ в плагине отрабатывает значительно быстрее, нежели аналогичный код на Pawn? Есть у кого-нибудь результаты тестов в подобных делах?

Заранее благодарю за ответы!


Re: Скриптинг курилка - Romz - 21.06.2018

Quote:
Originally Posted by ea8de1
Посмотреть сообщение
Правда ли, что код на C/C++ в плагине отрабатывает значительно быстрее, нежели аналогичный код на Pawn?
Да, правда.


Re: Скриптинг курилка - VVWVV - 21.06.2018

Quote:
Originally Posted by ea8de1
Посмотреть сообщение
Всем привет,

Правда ли, что код на C/C++ в плагине отрабатывает значительно быстрее, нежели аналогичный код на Pawn? Есть у кого-нибудь результаты тестов в подобных делах?

Заранее благодарю за ответы!
Быстрее потому, что у компиляторов C и C++ есть хороший оптимизатор, да и код выполняется сразу через процессор, а не через интерпретатор.


Re: Скриптинг курилка - TriskeliS - 26.06.2018

Quote:
Originally Posted by VVWVV
Посмотреть сообщение
Быстрее потому, что у компиляторов C и C++ есть хороший оптимизатор, да и код выполняется сразу через процессор, а не через интерпретатор.
Это не совсем так, да машинный код выполняемый непосредственно процессором работает быстрее, чем итерпритируемый, но всю шустрость плагинов сводит на нет прослойка pawn -> C++ -> pawn.
Помнится здесь где то был топик с реализациями одного и того же кода в pawn и C++ с замерами времени выполнения, в итоге самым шустрым оказался pawn + jit


Re: Скриптинг курилка - Mutha_X - 26.06.2018

Quote:
Originally Posted by TriskeliS
Посмотреть сообщение
Это не совсем так, да машинный код выполняемый непосредственно процессором работает быстрее, чем итерпритируемый, но всю шустрость плагинов сводит на нет прослойка pawn -> C++ -> pawn.
Помнится здесь где то был топик с реализациями одного и того же кода в pawn и C++ с замерами времени выполнения, в итоге самым шустрым оказался pawn + jit
Разве? - http://forum.sa-mp.com/showpost.php?...2&postcount=85 (но я так понимаю смотрели вы на ПП).
Вообще-то от назначения и объёма работ одной и той же функции может быть выигрыш необязательно у pawn+JIT.
И на самом деле, если говорить в отношении сравнения pawn/cpp, то конкретно в вышеприведённой теме сыграло значительную роль само богатство языка (а именно приведение типов и указатели), за счёт которой, при реализации, например, на if, возник выигрыш за счёт уменьшения кол-ва условий в 2 раза. Так что тут примерно следующее: если ориентируетесь в asm и представляете как скомпилируется - будет вам и производительность.
+ В теме было указано какая часть кода в функциях плагина более всего всё дело тормозило.


Re: Скриптинг курилка - pawnoholic - 08.07.2018

Возможно кто то знает, какие еще можно ID для объектов занять в CUSTOM.IMG, кроме задокументированных 15065-15999?


Re: Скриптинг курилка - pawnoholic - 08.07.2018

Quote:
Originally Posted by pawnoholic
Посмотреть сообщение
Возможно кто то знает, какие еще можно ID для объектов занять в CUSTOM.IMG, кроме задокументированных 15065-15999?
Не актуально)) Нашел еще около тысячи свободных ID.


Re: Скриптинг курилка - Romz - 24.07.2018

Помогите, не могу решить проблему.
Код:
./samp03svr: relocation error: plugins/jit.so: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
ubuntu 14.04 64bit


Re: Скриптинг курилка - ][Noname][ - 24.07.2018

Quote:

version GLIBCXX_3.4.21 not defined in file libstdc++.so.6

дурацкая хрень
устаревшая версия системы
либо систему обновлять
либо перекомпилить на этой старой


Re: Скриптинг курилка - Romz - 24.07.2018

Quote:
Originally Posted by ][Noname][
Посмотреть сообщение
дурацкая хрень
устаревшая версия системы
либо систему обновлять
либо перекомпилить на этой старой
Я бы не против, проблема в дисконектах игроков. Какую посоветуешь OS?
https://sampforum.blast.hk/showthread.php?tid=656472
http://forum.sa-mp.com/showthread.ph...35#post3971535


Re: Скриптинг курилка - Romz - 24.07.2018

Что касаемо компиляции под свою OS, я не могу это сделать.



Re: Скриптинг курилка - DrumYum - 05.08.2018

Здравствуйте.

1. Может кто сталкивался, при пересоздании TD с PreviewModel и последующем его показе игроку, на какие-то доли секунды он моргает (чтобы прогрузиться?), что через какое-то время начинает очень раздражать. Вряд ли это возможно как-то пофиксить со стороны сервера, но может хоть костыль какой-нибудь есть?

Уже пробовал предварительно создать TD на всех возможных координатах, чтобы показывать без пересоздания, ноль разницы.

2. Неважно в каком порядке создавать и показывать TD, PreviewModel всё равно показывается ПОД текстом, а нужно НАД. Сверху же должен быть созданный последним, или я туплю?

Прикрепляю видео, где видно обе проблемы (извиняюсь за FPS): тык


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

Quote:
Originally Posted by gensek4
Посмотреть сообщение
По поводу статистики онлайна. В теме уже отвечали, что лучше создать таблицу с полями
id
user
enter
left

Но непонятно как с ней взаимодействовать. Например, мне нужно вывести онлайн за 7 дней. Мне необходимо как то склеить все игровые сессии за каждый из этих дней, а после каждый день вывести в диалоге, но как это сделать?
Код:
SELECT user, SUM(left - enter) as online_time FROM tablename WHERE left > (UNIX_TIMESTAMP() - 7 * 86400) GROUP BY user



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

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Код:
SELECT user, SUM(left - enter) as online_time FROM tablename WHERE left > (UNIX_TIMESTAMP() - 7 * 86400) GROUP BY user
Хорошо, это выдает общее время онлайна за эти дни. А возможно как-то вывести отдельно время за каждый из этих дней (получить в результате запроса 7 строк, с 3 полями: user, online_time, и, например, date_game - который указывает на конкретную дату в формате, например %d.%m.%Y)?

Или, если отфильтровать запрос по средствам MySQL нельзя, то как его форматировать в Pawn?