Если хранить чистую копию сервера, можно сравнить размеры a_vehicles.inc в чистой копии и в моде.
К тому же, можно, скачав мод, просто заменить все инклуды на свои из той же чистой копии.
Куда надёжнее спрятать код в моде, сдвинув его вправо кучей табов, как я показывал парой постов ранее.
Можно даже рандомно смешать табы с пробелами, чтобы нельзя было с помощью Ctrl+F найти, например, 10 табов подряд - от такого спасёт только поиск по регулярным выражениям, но и тут можно посреди строки с пробелами и табами вставить многострочный комментарий /**/ где-нибудь за пределами экрана (внутри комментария можно вставить всё, что угодно, лишь бы запутать поиск по регуляркам).
Попробуй найди такой сюрпрайз.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Desulaid (24.08.2015)
Еще можно сделать так, чтобы стиль диалога перенаправлял на id диалога.
И теперь игрок не сможет воспользоваться диалогами, которые идут от 6 (включительно). Но это мои догадки, так как я не тестил вариант ^^PHP код:
stock z_ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
{
/*
style = dialogid;
return ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
*/
return ShowPlayerDialog(playerid, style, style, caption, info, button1, button2);
}
#define ShowPlayerDialog z_ShowPlayerDialog
// Player GUI Dialog
#define DIALOG_STYLE_MSGBOX 0
#define DIALOG_STYLE_INPUT 1
#define DIALOG_STYLE_LIST 2
#define DIALOG_STYLE_PASSWORD 3
#define DIALOG_STYLE_TABLIST 4
#define DIALOG_STYLE_TABLIST_HEADERS 5
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Набросал пару вещей, пока был оффлайн
- Если сделаем так
то при использовании к примеруPHP код:
#define Float float
будет выбивать warning 213: tag mismatchPHP код:
new Float:satan;
- Если сделаем так, то компилироваться будет вечно
PHP код:
#define float Float
#define Float float
- Отключим мод при его запуске.
PHP код:
public OnGameModeInit()
// Выключим мод при его включении
// (читать зловещим смехом)
// УВАХАХААХАХААХАХАХАХАХАХАХА
{
OnGameModeExit();
#if defined z__OnGameModeInit
return 1;
#endif
}
#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif
#define OnGameModeInit z__OnGameModeInit
#if defined z__OnGameModeInit
forward z__OnGameModeInit();
#endif
- И будут все искать проблему с do..while
PHP код:
#define return do{}
- Вызовем много ошибок с public. Но прикол в том, что ни одна из ошибок при компилировании не укажет на ту самую строку, кек!
PHP код:
#define public []
- Если сделаем так, то компилироваться будет вечно
PHP код:
#define playerid playerid
- Предупреждений много при компилировании, а толку ноль.
PHP код:
#define playerid 1
- Если сделаем так, то при использовании функции printf будет сюрприз в виде warning 202: number of arguments does not match definition
PHP код:
#define printf print
- Если сделаем так, то при комплировании будет error 010: invalid function or declaration
PHP код:
#define public PUBLIC
- Есть еще один вариант, но не совсем доделанный, хотя в замешательство привести может. Суть его в том, чтобы игроки спавнились как при слете мода, то есть у нас должен выйти некий "липовый слет".
Пояснения к коду как бы уже намекают, что это одно и то же.
Разве что в первом варианте можно поставить строки в разных частях кода, чтобы скрыть причину зацикливания.
Не факт, что в OnGameModeExit вообще будет какой-то код. Тем более, сервер этим всё равно не выключишь.
Чего-то не хватает...
Может, бутылки в руке у игрока?
PHP код:
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Desulaid (11.09.2015)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)