Демид 0 Опубликовано 22 января, 2020 Мне бы объяснить и ответить на один вопросик Вопросик: Возможно ли удалить весь маппинг с сервера CRMP ( стоковый маппинг ) без лаунчера? Проблема: я заливаю в include Remove.inc >> удаление объектов Подключаю его через stock | в OnPlayerConnect пишу RemoveObject(); public OnGameModeInit() RemoveObject(); stock RemoveObject() { #include"../include/Mapping/Remove.inc" } У меня не удаляется маппинг с сервера... В Remove.inc #if defined _removeobject #endinput #endif #define _removeobject RemoveObject() { MAPPING return 1; } Так-же пробовал без данного кода #if defined _removeobject #endinput #endif #define _removeobject RemoveObject() { return 1; } Мне банально выдавал ERROR по типу не существует playerid RemoveBuildingForPlayer(playerid, x, y ,z ); Пробовал так же вариацию добавить в stock LoadObject Мне выдавал ERROR по типу не существует playerid RemoveBuildingForPlayer(playerid, x, y ,z ); Убирал playerid выдавал ERROR по типу не существует данного Float Из за допольнительных координат но это бред их убирать... Так же пробовал чисто добавить удаление маппинга в мод... OnPlayerConnect и потом пробовал в OnGameModeInt У меня либо крашило при входе либо банально зависало на авторизаций. И просто 0 реакций от КРМП.. но картинки CRMP двигаются и проявляются.. Я как понял это из за того что много удалено.. но как выше написал в include у меня не получается залить нормально. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 23 января, 2020 Функция RemoveBuildingForPlayer, как несложно догадаться из названия, удаляет объект для конкретного игрока, указанного переменной playerid. Чтобы поместить все вызовы в инклуде, в функцию RemoveObject нужно передавать id игрока, для которого удаляются объекты. Объекты удаляются для подключённых игроков. Вызывать RemoveBuildingForPlayer на пустые слоты бесполезно. Игра может зависнуть из-за RemoveObjectForPlayer при двух ситуациях: 1) Некоторые объекты нельзя чисто удалить с сервера 2) Вы удаляете уже удалённый объект (т.е. либо RemoveBuildingForPlayer вызывается несколько раз, либо у Вас есть дупликаты этой функции) Кстати говоря, судя по это строке 20 часов назад, Демид сказал: RemoveBuildingForPlayer(playerid, x, y ,z ); Вы даже не заглянули в документацию: RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius) В которой также указано, что на функцию существует ограничение в 1000 объектов/вызовов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Демид 0 Опубликовано 23 января, 2020 (изменено) 2 часа назад, 16Shadows сказал: Функция RemoveBuildingForPlayer, как несложно догадаться из названия, удаляет объект для конкретного игрока, указанного переменной playerid. Чтобы поместить все вызовы в инклуде, в функцию RemoveObject нужно передавать id игрока, для которого удаляются объекты. Объекты удаляются для подключённых игроков. Вызывать RemoveBuildingForPlayer на пустые слоты бесполезно. Игра может зависнуть из-за RemoveObjectForPlayer при двух ситуациях: 1) Некоторые объекты нельзя чисто удалить с сервера 2) Вы удаляете уже удалённый объект (т.е. либо RemoveBuildingForPlayer вызывается несколько раз, либо у Вас есть дупликаты этой функции) Кстати говоря, судя по это строке Вы даже не заглянули в документацию: RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius) В которой также указано, что на функцию существует ограничение в 1000 объектов/вызовов. Я читал документацию, а эту строчку написал чисто как пример. RemoveBuildingForPlayer(playerid, x, y ,z ); По счёт 1000 объектов я как раз и спрашивал, возможно ли обойти это ограничение без лаунчера. По счёт RemoveObject - буду знать и попробую через эту функцию выполнить удаления. По счёт зависания игры, спасибо учту эти моменты перепроверю удаления объектов Изменено 23 января, 2020 пользователем Демид Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 24 января, 2020 Думаю, ограничение в ~1000 вызовов нельзя обойти. Вы можете удалять объекты сразу по всей карте, но моделей всё-равно больше 1000. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты