- 1,431
- 798
в sampapiкакой оффсет Create3DTextLabel r1
пробовал искать в idb но чет там нету ну или я не нашел
в sampapiкакой оффсет Create3DTextLabel r1
пробовал искать в idb но чет там нету ну или я не нашел
bool __cdecl TestHOOK(const decltype(CTxdStore__LoadTxd_Hook)& hook, int index, const char* filename) {
if (strcmp(filename, (char*)0x86A648) == 0) {
return hook.call_trampoline(index, "FONT.TXD");
} else if(strcmp(filename, (char*)0x0000) == 0) {
return hook.call_trampoline(index, "zalupa.txd");
}
return hook.call_trampoline(index, filename);
}
void install_fucking_hook() {
CTxdStore__LoadTxd_Hook.set_dest(0x7320B0);
CTxdStore__LoadTxd_Hook.set_cb(TestHOOK);
CTxdStore__LoadTxd_Hook.install();
}
Кажись у каждого CVehicle есть поле с хендлингомкак можно изменить handling для определенного cvehicle
У ктхуков в контексте кажись есть метод для получения указателя на return_address. Можешь попробовать его изменитьКороче, как сделать, чтобы хук на LoadTxd редиректил в два разных адреса, в зависимости от того, какой txd'шник грузится? типа
Один FONT.TXD - 0x7320B0
Второй zalupa.txd - какой-то другой адрес
С++:bool __cdecl TestHOOK(const decltype(CTxdStore__LoadTxd_Hook)& hook, int index, const char* filename) { if (strcmp(filename, (char*)0x86A648) == 0) { return hook.call_trampoline(index, "FONT.TXD"); } else if(strcmp(filename, (char*)0x0000) == 0) { return hook.call_trampoline(index, "zalupa.txd"); } return hook.call_trampoline(index, filename); } void install_fucking_hook() { CTxdStore__LoadTxd_Hook.set_dest(0x7320B0); CTxdStore__LoadTxd_Hook.set_cb(TestHOOK); CTxdStore__LoadTxd_Hook.install(); }
а то я пытался делать в разных функциях, то оно работает только в одном из них а не все, допустим шрифт заменяется а другой txd нет
при изменении меняется для всей модели а мне надо как то сделать для определеного CVehicleКажись у каждого CVehicle есть поле с хендлингом
![]()
plugin-sdk/plugin_sa/game_sa/CVehicle.h at master · DK22Pac/plugin-sdk
An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - DK22Pac/plugin-sdkgithub.com
![]()
plugin-sdk/plugin_sa/game_sa/tHandlingData.h at master · DK22Pac/plugin-sdk
An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - DK22Pac/plugin-sdkgithub.com
а конкретней как это реализуется ?У ктхуков в контексте кажись есть метод для получения указателя на return_address. Можешь попробовать его изменить
через СDog класспри изменении меняется для всей модели а мне надо как то сделать для определеного CVehicle
SFML Используй
#include <SFML/Graphics.hpp>
#include <iomanip>
#include <sstream>
std::string formatCoordinates(float x, float y, float z) {
std::ostringstream oss;
oss << std::fixed << std::setprecision(6);
oss << "X: " << x << ", Y: " << y << ", Z: " << z;
return oss.str();
}
int main() {
sf::RenderWindow window(sf::VideoMode(800, 600), "Coordinates Display");
sf::Font font;
font.loadFromFile("arial.ttf");
sf::Text coordinatesText;
coordinatesText.setFont(font);
coordinatesText.setCharacterSize(24);
coordinatesText.setFillColor(sf::Color::White);
coordinatesText.setPosition(600, 550);
float x = 761.897775f, y = 1526.382080f, z = 12.000000f; // тут передавай свои значения
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed)
window.close();
}
coordinatesText.setString(formatCoordinates(x, y, z));
window.clear(sf::Color::Black);
window.draw(coordinatesText);
window.display();
}
return 0;
}
как нопнуть весь худ гташки?
*reinterpret_cast<uint8_t*>(0x58FAE0) = 0xC3;