Re: Скриптинг курилка -
Romz - 03.11.2015
Quote:
Originally Posted by Seregamil1
Чтение памяти процесса - ReadProcessMemory.
Запись в память процесса - WriteProcessMemory.
Создание удаленных потоков - CreateRemoteThread.
Изменение контекста потоков - SetThreadContext.
Внедрение оконных перехватчиков - SetWindowsHookEx.
Можно "задрать" разрешения процесса gta_sa.exe так, чтобы его нельзя было открыть без дополнительных
манипуляций, таких как получение привилегий отладки.
Внедрить в процесс игры "жучка", который будет время от времени проверять
список загруженных модулей и отключать их при необходимости.
Похукать часто вызываемые функции и проверять в них адрес возврата, чтобы он находился в разрешенном диапазоне адресов.
Использовать шифрование и динамическую модификацию кода (протекторы).
Короче говоря, если подключить фантазию, можно соорудить вполне сносную защиту.
|
Спасибо за советы.
Re: Скриптинг курилка -
Urukhay - 07.11.2015
Почему может не работать двойной запрос?
Quote:
INSERT INTO ......... VALUES .......... ; SELECT id FROM table WHERE name = 'Test'
|
В PMA работает, плагин от BlueG выдаёт ошибку.
Re: Скриптинг курилка -
Stepashka - 07.11.2015
Quote:
Originally Posted by Urukhay
Почему может не работать двойной запрос?
В PMA работает, плагин от BlueG выдаёт ошибку.
|
А что за ошибку выдает?
Re: Скриптинг курилка -
Urukhay - 07.11.2015
Некорректный синтаксис второй части, второго запроса. (1064 ошибка).
Re: Скриптинг курилка -
Urukhay - 07.11.2015
Попробовал так:
Quote:
SELECT * FROM table; SELECT * FROM table
|
Та же история.
Если сделать такой запрос в PMA, данные приходят в виде "трёхмерного массива" - 2 таблицы, в каждой по N столбцов и N строк.
А плагин, видимо, может обрабатывать лишь "двумерный массив" - 1 таблица, N столбцов и N строк.
Re: Скриптинг курилка -
devil77771 - 11.11.2015
Если мод качественно на FS написать весь, будут ли какие-то минусы в его работоспособности и потери оптимизации/скорости?
Re: Скриптинг курилка -
JesusJagger - 11.11.2015
Товарищи вопрос:
id"s объектов татуировок.
Видел где-то, потерял, найти не могу.
Re: Скриптинг курилка -
cm666 - 12.11.2015
Quote:
Originally Posted by JesusJagger
Товарищи вопрос:
id"s объектов татуировок.
Видел где-то, потерял, найти не могу.
|
Это не id это картинке вроде как
Re: Скриптинг курилка -
Mcc - 13.11.2015
\% разве не выводит проценты в строке на GUI или SendClientMessage?
Re: Скриптинг курилка -
Romz - 13.11.2015
Quote:
Originally Posted by Mcc
\% разве не выводит проценты в строке на GUI или SendClientMessage?
|
% будет видно как #
%% будет видно как %
Re: Скриптинг курилка -
prineside - 13.11.2015
Quote:
Originally Posted by JesusJagger
Товарищи вопрос:
id"s объектов татуировок.
Видел где-то, потерял, найти не могу.
|
[Папка GTA SA]/models/player.img
Внутри .txd-файлы, обычно начинаются с цифры, например 9rasta.txd
Это текстуры, которые ложатся поверх модели CJ - моделей татуировок как таковых нет
Re: Скриптинг курилка -
prineside - 13.11.2015
Quote:
Originally Posted by devil77771
Если мод качественно на FS написать весь, будут ли какие-то минусы в его работоспособности и потери оптимизации/скорости?
|
Разве что только то, что для запуска сервера все равно нужен какой-то гейм-мод. Если писать все в FS, тогда этот GM должен быть абсолютно пустой, чтобы не возникало конфликтов в логике сервера.
Но зачем писать весь мод на FS?
Re: Скриптинг курилка -
Mcc - 13.11.2015
Quote:
Originally Posted by Kolstin
% будет видно как #
%% будет видно как %
|
Благодарю.
Re: Скриптинг курилка -
Reim - 13.11.2015
Мб кто сталкивался с такой ошибкой?
PHP Code:
SA-MP 0.3.7
Exception At Address: 0x007324B6
Base: 0x03FE0000
Вылетает чаще всего в центре карты, но бывает и в других местах, в стандартной сборке серва нечего не вылетает.
Делал следующее
- Гта/Самп переустанавливал (гта по разным ссылкам брал)
- Модов/читов нет, гта чистая
- gta_sa.set удалял
- Отключал все динам. объекты и обычные, также 3d тексты, кары, пикапы, чекпоинты, иконки на карте, гангзоны, RemoveBuildingForPlayer и актеров, и еще текстдравы
Вроде бы все
Прошу помощи
Re: Скриптинг курилка -
JesusJagger - 14.11.2015
Quote:
Originally Posted by cm666
Это не id это картинке вроде как
|
Точно, точно. И у Меня в голове картина полная сложилась. Спасибо Тебе мил Человек.
Re: Скриптинг курилка -
OstGot - 14.11.2015
Quote:
Originally Posted by prineside
Но зачем писать весь мод на FS?
|
Возможность динамически подгружать и отгружать системы, например
Re: Скриптинг курилка -
devil77771 - 14.11.2015
Quote:
Originally Posted by OstGot
Возможность динамически подгружать и отгружать системы, например
|
Именно. Меня только волнует вопрос: не будет ли работа мода на FS значительно медленнее работать, чем тот же мод в виде мода (не ФС)?? Возможно не правильно выразился, но надеюсь на понимание.
Re: Скриптинг курилка -
SoNikMells - 14.11.2015
Quote:
Originally Posted by devil77771
Именно. Меня только волнует вопрос: не будет ли работа мода на FS значительно медленнее работать, чем тот же мод в виде мода (не ФС)?? Возможно не правильно выразился, но надеюсь на понимание.
|
Если посмотреть работу плагинов, например стример и командный процессор то можно понять, что реализация в FS не лучшая затея.
При вводе команды, даже стандартный вывод в OnPlayerCommandText идет во всех загруженных FS а после в моде.
Подключим streamer от Incognito.
При загрузке нового AMX, он добавляется в память плагина.
Игрок наступил на пикап или выбрал объект динамический, плагин будет искать в скрипте и моде соответствующий public каждый раз, когда происходит действие.
Так же с командными процессорами, при загрузке FS в память плагина добавляется AMX адрес
и поиск введенной команды идет по всем скриптам и моду.
Исходя из этого придерживаюсь идеи, не использовать FS вообще.
Re: Скриптинг курилка -
cm666 - 14.11.2015
Какая будет нагрузка на сервер если на нем будет 50000 объектов в разных мирах и интах.
Re: Скриптинг курилка -
Urukhay - 15.11.2015
Есть пользовательская автовызываемая функция (public). Её нужно использовать в нескольких include.
При использовании конструкции:
PHP Code:
forward Func(playerid, status); // общее
// Вставка include 1
public Func(playerid, status)
{
// вызывается
}
#if defined _ALS_Func
#undef OnProfileLogin
#else
#define _ALS_OnProfileLogin
#endif
#define Func test_Func
forward test_Func(playerid, status);
// Вставка include 2
public Func(playerid, status)
{
// не вызывается
}
Если к данному методу применять стандартные автовызываемые функции (OnPlayerConnect), вызывается в двух "вставках".