struct c_chat * g_chat { nullptr } ; uintptr_t base_address { 0 } ; unsigned long get_address ( uintptr_t offset ) { return base_address + offset ; } void initialize ( ) { base_address = reinterpret_cast ( GetModuleHandleA ( "samp.dll" ) ) ; g_chat = * reinterpret_cast ( get_address ( 0x26E8C8 ) ) ; } void add_chat_message ( u_long color , const char * szText ) { ( ( void ( __thiscall * ) ( cChat * , unsigned long , const char * ) ) get_address ( 0x679F0 ) ) ( g_chat , color , szText ) ; } // Инициализация в каком-то месте (выполняется один раз) initialize ( ) ; // Отправка сообщения в чат (только после иницализации) add_chat_message ( - 1 , "kill bill, baby tape i hard 2 kill!" ) ;