Да, кстати, очень актуально. Сам плагин CRP старый, и похоже автор не знал в то время про перехваты функций, и задефайнил самым обычным способом, из-за чего и возникают подобные ошибки.
Это во-первых, во-вторых там нет поддержки для PlayerTextDraw's, из-за того, что они появились в 0.3e в 2012 году, тогда как плагин сам 2011.
Решение, что сделал у себя:
1. Закомментируй строки
PHP код:
#define GameTextForAll GameTextForAllRus
#define GameTextForPlayer GameTextForPlayerRus
#define CreateMenu CreateMenuRus
#define AddMenuItem AddMenuItemRus
#define SetMenuColumnHeader SetMenuColumnHeaderRus
#define TextDrawCreate TextDrawCreateRus
#define TextDrawSetString TextDrawSetStringRus
#define CreatePlayerTextDraw CreatePlayerTextDrawRus
#define PlayerTextDrawSetString PlayerTextDrawSetStringRus
2.Сделать перехватички для всех нативных функий
Пример с GameTextForAll:
Точно таким же образом и для всех остальных функцийPHP код:
stock crp_GameTextForAll(string[], time, style)
{
CRP(string, buffer);
return GameTextForAll(buffer, time, style);
}
#if defined _ALS_GameTextForAll
#undef GameTextForAll
#else
#define _ALS_GameTextForAll
#endif
#define GameTextForAll crp_GameTextForAll
3. Добавить перехватчики для CreatePlayerTextDraw() и PlayerTextDrawSetString():
PHP код:
stock PlayerText:crp_CreatePlayerTextDraw(playerid, Float:x, Float:y, text[])
{
CRP(text, buffer);
return CreatePlayerTextDraw(playerid, x, y, buffer);
}
#if defined _ALS_CreatePlayerTextDraw
#undef CreatePlayerTextDraw
#else
#define _ALS_CreatePlayerTextDraw
#endif
#define CreatePlayerTextDraw crp_CreatePlayerTextDraw
// -------------------------------------------------------------------------------------*-
stock crp_PlayerTextDrawSetString(playerid, PlayerText:text, string[])
{
CRP(string, buffer);
return PlayerTextDrawSetString(playerid, text, buffer);
}
#if defined _ALS_PlayerTextDrawSetString
#undef PlayerTextDrawSetString
#else
#define _ALS_PlayerTextDrawSetString
#endif
#define PlayerTextDrawSetString crp_PlayerTextDrawSetString
Последний раз редактировалось Glant; 12.08.2016 в 13:10.
Я спрашивал,почему возникает рекурсия из-за инклуда fixes!
Последний раз редактировалось Igor_Stalker; 12.08.2016 в 15:43.
Чем она мешает, вы что, все помешались на этой рекурсии?!
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
vovandolg (13.08.2016)
А ещё иногда такое бывает когда пластинку заедает и она начинает повторятся, тем самым сервер всё больше и больше нагружается, но это уже быдлокоды такое исполняют.
[Anticheat]___Invisible Fly Hack
[Anticheat]____Weapon/Ammo Hack
[Function]______ResetPlayerWeaponSlot
[Function]_______FIX_SetPlayerAmmo
[ServerMod]______TDM | Zombie Apokalypse
Эту тему просматривают: 4 (пользователей: 0 , гостей: 4)