Ну это тоже вариант "троллинга", только в твоём случае получится рекурсия на стадии препроцессинга, когда препроцессор будет бесконечно изменять 1 макрос сам на себя и мод никогда не скомпилируется. Моё же предложение не получится твоим способом реализовать. Хоть бы скомпилировал код, раз не разбираешься в работе макросов...
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Что произойдет:PHP код:
if(newkeys || oldkeys) OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
1. Переполнится память (STK), это приведет к краху мода!
2. Не будут работать функции в этом паблике
PHP код:
[23:04:44] [debug] #98 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
[23:04:44] [debug] #99 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
[23:04:44] [debug] #100 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
[23:04:45] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[23:04:45] [debug] Stack pointer (STK) is 0xA6984, heap pointer (HEA) is 0xA6948
[23:04:45] [debug] AMX backtrace:
[23:04:45] [debug] #0 000190b8 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
[23:04:45] [debug] #1 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
[23:04:45] [debug] #2 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
[23:04:45] [debug] #3 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
Не увидел на этом теме такой вариант, и новые варианты троллинга походу уже не остались, можно только придумать альтернативуВаш вариант не новый. Произойдёт обычная неуправляемая рекурсия.
Как я уже говорил раньше, "#define true false" - это вчерашний день.
Вот так, без палева объявив макрос перед подключением a_samp, можно заставить функцию TextDrawCreate возвращать целые числа.PHP код:
/*<описание мода, строка 1>*/
/*<описание мода, строка 2>*/
/*<описание мода, строка 3>*/ /*<много табов>*/ #define Text:Text Text
/*...*/
/*<описание мода, строка N>*/
#include <a_samp>
Т.е. вместо
получится:PHP код:
native Text:TextDrawCreate(Float:x, Float:y, text[]);
Для обычных смертных это означает кучу варнингов из-за несовпадения типов (tag mismatch).PHP код:
native TextDrawCreate(Float:x, Float:y, text[]);
И даже если объявить переменные для сохранения текстдравов, как целочисленные (убрать "Text:"), остальные функции всё ещё будут требовать значения типа Text (!)
Ещё макрос:
Тут сразу несколько затрагиваемых функций:PHP код:
#define Float:Get Get
PHP код:
native Float:GetSVarFloat(varname[]);
native Float:GetPlayerDistanceFromPoint(playerid, Float:X, Float:Y, Float:Z);
native Float:GetPVarFloat(playerid, varname[]);
native Float:GetPlayerCameraAspectRatio(playerid);
native Float:GetPlayerCameraZoom(playerid);
native Float:GetVehicleDistanceFromPoint(vehicleid, Float:X, Float:Y, Float:Z);
И ещё порция макросов:
PHP код:
#define PlayerText:Create Create // CreatePlayerTextDraw
#define Menu:Create Create // CreateMenu
#define Text3D:Create Create // Create3DTextLabel
#define PlayerText3D:Create Create // CreatePlayer3DTextLabel
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
$continue$ (22.08.2015) Blood (23.08.2015) L0ndl3m (22.08.2015) [ForD] (23.08.2015)
Не знаю, можно ли затролить этим, но заставить скриптера помучиться может
PHP код:
// Подмена функции CreateVehicle.
// Теперь эта функция не создает авто, а удаляет его.
stock z_CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, addsiren)
{
return DestroyVehicle(CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, addsiren));
}
#define CreateVehicle z_CreateVehicle
Daniel_Cortez (24.08.2015)
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Desulaid (24.08.2015)
Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)