Другое С/С++ Вопрос - Ответ

Адский Дрочила)

Адский дрочер
Проверенный
287
478
Так я делаю на SF API, а не на SAMP API.

Если там есть функция, кидай тут, я не буду там в коде копаться, который ты мне кинул.
Просто вытащи функцию себе в проект, в СФ я такой не нашёл
 

sc6ut

неизвестный
Модератор
382
1,077
я не буду там в коде копаться, который ты мне кинул.
не пиши тогда совсем код и не проси о помощи, раз не готов своими мозгами подразкинуть, за тебя никто не собирается всё делать
Какую именно функцию?
он тебе дал ссылку на конкретную функцию BOOL CObjectPool::Delete(ID nId)
тебе даже делать ничего не надо, разве что достать object pool в сф апи понять что функция GetAddress возвращает оффсет от samp.dll
Так я делаю на SF API, а не на SAMP API.
и да для него есть своя тема чтобы не писать об этом по тыще раз в каждом сообщение
 

Yuriy Code

Известный
754
927
не пиши тогда совсем код и не проси о помощи, раз не готов своими мозгами подразкинуть, за тебя никто не собирается всё делать

он тебе дал ссылку на конкретную функцию BOOL CObjectPool::Delete(ID nId)
тебе даже делать ничего не надо, разве что достать object pool в сф апи понять что функция GetAddress возвращает оффсет от samp.dll


и да для него есть свой раздел чтобы не писать об этом по тыще раз в каждом сообщение
Что за ID функция принимает? Хендл?
1650541223288.png

Ты мне пишешь, что нужен object pool, окей, но какой элемент именно нужно использовать?
1650541281884.png
 

sc6ut

неизвестный
Модератор
382
1,077

Yuriy Code

Известный
754
927
понял тебя, сначала научись писать на с++,
Я тебя понял, считаешь, что я не умею писать не C++, хотя я просто не знаю, как работает функция в API.
Ясно, наверно сделаю просто через отлов RPC, вместо того, чтобы париться над этим.
Не знаю, зря ли я задал вопрос здесь. Возможно, найдётся человек, который лучше тебя ответит мне более понятно и подробно.
 

sc6ut

неизвестный
Модератор
382
1,077
Я тебя понял, считаешь, что я не умею писать не C++, хотя я просто не знаю, как работает функция в API.
функция в апи вызывает оригинальную функцию по адрессу, который получает из фунции GetAddress что возвращает оффсет от samp.dll, что такое ID можно посмотреть скачав проект и открыв его в любом IDE оно покажет тебе где находится typedef/using, если ты конечно знаешь что это такое. если ты это не можешь понять, то да, ты не знаешь как писать код на с++

держи функцию бро - https://wiki.blast.hk/ru/moonloader/lua/deleteObject
 
  • Нравится
Реакции: etereon

F0RQU1N and

Известный
1,310
495
Что за ID функция принимает? Хендл? Посмотреть вложение 144415
Ты мне пишешь, что нужен object pool, окей, но какой элемент именно нужно использовать?Посмотреть вложение 144416
так у тебя есть функция удаления, функция получие хэндла по иду и наоборот, что тебе ещё нужно то?
 

Yuriy Code

Известный
754
927
так у тебя есть функция удаления, функция получие хэндла по иду и наоборот, что тебе ещё нужно то?
Разно уже пробовал. Вот вариант, который просто крашит самп:
Код:
                CObject* object = GAME->GetPools()->GetObjectA((DWORD*)SF->getSAMP()->getInfo()->pPools->pObject->object[id]);
                GAME->GetPools()->RemoveObject(object);
 

sc6ut

неизвестный
Модератор
382
1,077
Пробовал я её уже через CLEO опкод вызывать в SF API, не срабатывает.
Как я понял, когда получаешь хендл в том же луа, то он будет не такой, как в SF API.
мне тут подсказали, что тебе хендл нужен, попробуй эту - https://wiki.blast.hk/ru/moonloader/lua/sampGetObjectHandleBySampId
 

Yayachana)

Известный
32
10
Лучше бы мне ответили, как узнать что локальный игрок в прицеле находится😭
 

Yuriy Code

Известный
754
927
С луа сработает, это понятно. На луа там вообще сложности не возникнет.
Но, я делаю на SF API, ещё раз повторюсь.

Ладно, не парьте себе мозги. Уж можно сделать через отлов создания объекта от сервера и просто return false сделать.