Дата: Пятница, 12.07.2013, 16:05 | Сообщение # 1623
Новичок
Статус: Offline
Как сделать переключение между серверами? В скайпе и вк сделок не веду, ни под какими логинами не добавляюсь чтобы занять денег \ купить \ продать что либо
Дата: Пятница, 12.07.2013, 19:57 | Сообщение # 1625
Новичок
Статус: Offline
Bomj_Terrorist, проблема в том что во всех исходниках она не рабочая В скайпе и вк сделок не веду, ни под какими логинами не добавляюсь чтобы занять денег \ купить \ продать что либо
Дата: Пятница, 12.07.2013, 20:08 | Сообщение # 1626
Любитель
Сообщений: 33
Статус: Offline
Всем доброго времени суток... Вообщем назрел вопрос. "Как найти базовый адрес samp.dll?". Писал по разному, в одном случае игра вылетала, в другом ничего не происходит. И да, функция GetWindowThreadProcessId что возвращает? pID или ID потока? + дам :3
Дата: Понедельник, 15.07.2013, 07:35 | Сообщение # 1634
Любитель
Сообщений: 33
Статус: Offline
Эм, все, казалось бы выход найден, и pID нашел и base addres asmp.dll нашел, а вот функцию SendClientMessage не могу воспроизвести. ASM:
Код
push samp.XXXXXXXX - адрес с текстом push EAX - этот параметр обычно равен 0 call samp.10079680 - вызов SendClientMessage
В C++ я это осуществляю так: C++:
Код
DWORD samp_base = XXXXXXXX;//Base address samp.dll - находится через другую функцию и находится точно. Проверял через CLEO sampfuncs, в sampfuncs логи сохраняются, а в логах этот базовый адрес. Вообщем они равны. DWORD SendClientMessage = samp_base + 0x10079680//Смещение на функцию от начала samp.dll string Msg = "blablabla"; void SendMessage() { _asm { push Msg push 0 call SendClientMessage } }
В итоге нулевая реакция игры или вылет с крашом...
Прошу тапками не кидаться
Сообщение отредактировал novice43 - Понедельник, 15.07.2013, 07:35