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

Quote:
Originally Posted by Seregamil1
View Post
Чтение памяти процесса - 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
View Post
Почему может не работать двойной запрос?


В 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
View Post
Товарищи вопрос:
id"s объектов татуировок.
Видел где-то, потерял, найти не могу.
Это не id это картинке вроде как


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

\% разве не выводит проценты в строке на GUI или SendClientMessage?


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

Quote:
Originally Posted by Mcc
View Post
\% разве не выводит проценты в строке на GUI или SendClientMessage?
% будет видно как #
%% будет видно как %


Re: Скриптинг курилка - prineside - 13.11.2015

Quote:
Originally Posted by JesusJagger
View Post
Товарищи вопрос:
id"s объектов татуировок.
Видел где-то, потерял, найти не могу.
[Папка GTA SA]/models/player.img
Внутри .txd-файлы, обычно начинаются с цифры, например 9rasta.txd
Это текстуры, которые ложатся поверх модели CJ - моделей татуировок как таковых нет


Re: Скриптинг курилка - prineside - 13.11.2015

Quote:
Originally Posted by devil77771
View Post
Если мод качественно на FS написать весь, будут ли какие-то минусы в его работоспособности и потери оптимизации/скорости?
Разве что только то, что для запуска сервера все равно нужен какой-то гейм-мод. Если писать все в FS, тогда этот GM должен быть абсолютно пустой, чтобы не возникало конфликтов в логике сервера.

Но зачем писать весь мод на FS?


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

Quote:
Originally Posted by Kolstin
View Post
% будет видно как #
%% будет видно как %
Благодарю.


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
View Post
Это не id это картинке вроде как
Точно, точно. И у Меня в голове картина полная сложилась. Спасибо Тебе мил Человек.


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

Quote:
Originally Posted by prineside
View Post
Но зачем писать весь мод на FS?
Возможность динамически подгружать и отгружать системы, например


Re: Скриптинг курилка - devil77771 - 14.11.2015

Quote:
Originally Posted by OstGot
View Post
Возможность динамически подгружать и отгружать системы, например
Именно. Меня только волнует вопрос: не будет ли работа мода на FS значительно медленнее работать, чем тот же мод в виде мода (не ФС)?? Возможно не правильно выразился, но надеюсь на понимание.


Re: Скриптинг курилка - SoNikMells - 14.11.2015

Quote:
Originally Posted by devil77771
View Post
Именно. Меня только волнует вопрос: не будет ли работа мода на 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(playeridstatus); // общее
// Вставка include 1
public Func(playeridstatus)
{    
        
// вызывается
}
#if defined _ALS_Func
    #undef OnProfileLogin
#else
    #define _ALS_OnProfileLogin
#endif
#define Func test_Func
forward test_Func(playeridstatus);
// Вставка include 2
public Func(playeridstatus)
{    
    
// не вызывается

Если к данному методу применять стандартные автовызываемые функции (OnPlayerConnect), вызывается в двух "вставках".