 |
|

18.01.2014, 11:49
|
|
Познающий
Регистрация: 07.10.2013
Сообщений: 31
С нами:
6630532
Репутация:
58
|
|
Сообщение от Спойлер
Сообщение от MISTER_GONWIK
самый простой вариант
Сообщение от MoRG
Код:
Код:
void addCmd ( char *name, int funci )
{
if ( name == NULL || funci== NULL)
return;
/* if ( strlen(name) > 30 )
{
Log( "Error: command name '%s' was too long.", name );
return;
}
//Проверка на длину команды, реализуй..
*/
uint32_t data = g_dwSAMP_Addr + 0x212A28;
uint32_t func = g_dwSAMP_Addr + 0x7A8C0;
__asm mov eax, data
__asm mov ecx, [eax]
__asm push funci
__asm push name
__asm call func
}
Вот так пробовал??
Не получается ни в какую, прошу помощи, крч.
|
|
|

18.01.2014, 14:34
|
|
Познающий
Регистрация: 27.06.2013
Сообщений: 52
С нами:
6776307
Репутация:
0
|
|
Сообщение от Chesko
Не получается ни в какую, прошу помощи, крч.
сам пользуюсь таким кодом все ок
|
|
|

24.01.2014, 18:55
|
|
Познающий
Регистрация: 31.03.2013
Сообщений: 92
С нами:
6903095
Репутация:
0
|
|
Сообщение от MoRG
сам пользуюсь таким кодом все ок
аналогично
|
|
|

07.02.2014, 15:23
|
|
Новичок
Регистрация: 17.07.2013
Сообщений: 11
С нами:
6748091
Репутация:
0
|
|
Код:
Код:
case ID_CHEAT_CFLY:
{
cheat_state->_generic.coord_fly ^= 1;
if(cheat_state->_generic.coord_fly == 0) {
float pos[3] = {pPedSelf->GetPosition()->fX,pPedSelf->GetPosition()->fY,pPedSelf->GetPosition()->fZ};
pos[2] = pGameInterface->GetWorld()->FindGroundZForPosition( pos[0], pos[1] )+1;
cheat_teleport(pos,0);
}
GTAfunc_LockActor(cheat_state->_generic.coord_fly);
break;
}
Вот код из dumb_menu.cpp
Как это реализовать через AntTweakBar?
|
|
|

07.02.2014, 22:35
|
|
Познающий
Регистрация: 19.03.2013
Сообщений: 83
С нами:
6920791
Репутация:
113
|
|
Сообщение от William_Young1
Код:
Код:
case ID_CHEAT_CFLY:
{
cheat_state->_generic.coord_fly ^= 1;
if(cheat_state->_generic.coord_fly == 0) {
float pos[3] = {pPedSelf->GetPosition()->fX,pPedSelf->GetPosition()->fY,pPedSelf->GetPosition()->fZ};
pos[2] = pGameInterface->GetWorld()->FindGroundZForPosition( pos[0], pos[1] )+1;
cheat_teleport(pos,0);
}
GTAfunc_LockActor(cheat_state->_generic.coord_fly);
break;
}
Вот код из dumb_menu.cpp
Как это реализовать через AntTweakBar?
Хватит простого включения функции в АТБ без этого
|
|
|

08.02.2014, 14:56
|
|
Новичок
Регистрация: 17.07.2013
Сообщений: 11
С нами:
6748091
Репутация:
0
|
|
Функция активируется, но работает очень криво..
|
|
|

09.02.2014, 03:19
|
|
Познающий
Регистрация: 08.04.2013
Сообщений: 35
С нами:
6891688
Репутация:
58
|
|
William_Young1,думаю ты хотел узнать как вставить эту функцию в ATB
В начало после всех TwBar
Код:
Код:
void TW_CALL function(void *)
{
cheat_state->_generic.coord_fly ^= 1;
if(cheat_state->_generic.coord_fly == 0)
{
float pos[3] = {pPedSelf->GetPosition()->fX,pPedSelf->GetPosition()->fY,pPedSelf->GetPosition()->fZ;
pos[2] = pGameInterface->GetWorld()->FindGroundZForPosition( pos[0], pos[1] )+1;
cheat_teleport(pos,0);
}
GTAfunc_LockActor(cheat_state->_generic.coord_fly);
}
В void initializeBarsMenu()
[
Код:
Код:
TwAddButton(twBar_NewCheats,"001", function, NULL, "label='My Function'");
Код:
// параметры:
// twBar_NewCheats - бар(окно), в котором будет кнопка
// 001 - напиши что угодно, главное чтобы не совпадало с другими элементами бара (кнопки и т.д)
// function - наша TW_CALL функция
// null - параметр client data. Обычно используется для получения ида нажатого элемента бара. Нам это не нужно, так что пусть будет нулем
// "label='My Function'" - параметры элемента бара. Label - название кнопки, если его не указать то кнопка будет называться ]
// "001" - вторым параметром
|
|
|

09.02.2014, 13:59
|
|
Новичок
Регистрация: 17.07.2013
Сообщений: 11
С нами:
6748091
Репутация:
0
|
|
Сообщение от Maddy
William_Young1,думаю ты хотел узнать как вставить эту функцию в ATB
В начало после всех TwBar
Код:
Код:
void TW_CALL function(void *)
{
cheat_state->_generic.coord_fly ^= 1;
if(cheat_state->_generic.coord_fly == 0)
{
float pos[3] = {pPedSelf->GetPosition()->fX,pPedSelf->GetPosition()->fY,pPedSelf->GetPosition()->fZ;
pos[2] = pGameInterface->GetWorld()->FindGroundZForPosition( pos[0], pos[1] )+1;
cheat_teleport(pos,0);
}
GTAfunc_LockActor(cheat_state->_generic.coord_fly);
}
В void initializeBarsMenu()
[
Код:
Код:
TwAddButton(twBar_NewCheats,"001", function, NULL, "label='My Function'");
Код:
[/I][/FONT]
// параметры:
// twBar_NewCheats - бар(окно), в котором будет кнопка
// 001 - напиши что угодно, главное чтобы не совпадало с другими элементами бара (кнопки и т.д)
// function - наша TW_CALL функция
// null - параметр client data. Обычно используется для получения ида нажатого элемента бара. Нам это не нужно, так что пусть будет нулем
// "label='My Function'" - параметры элемента бара. Label - название кнопки, если его не указать то кнопка будет называться ]
[FONT=Consolas][I]// "001" - вторым параметром
Есть написанный коорд флай
Его код лежит в cheat_generic.cpp
Функция работает, но очень криво без
Код:
Код:
void TW_CALL function(void *)
{
cheat_state->_generic.coord_fly ^= 1;
if(cheat_state->_generic.coord_fly == 0)
{
float pos[3] = {pPedSelf->GetPosition()->fX,pPedSelf->GetPosition()->fY,pPedSelf->GetPosition()->fZ;
pos[2] = pGameInterface->GetWorld()->FindGroundZForPosition( pos[0], pos[1] )+1;
cheat_teleport(pos,0);
}
GTAfunc_LockActor(cheat_state->_generic.coord_fly);
}
Через dumb_menu все работает, я знаю где там этот код объявить
Недавно перешел на ATB и столкнулся с этой проблемой, незнаю куда этот код засунуть..
|
|
|

09.02.2014, 20:26
|
|
Познающий
Регистрация: 08.04.2013
Сообщений: 35
С нами:
6891688
Репутация:
58
|
|
Я сохранил оригинальную функцию, так что не удивительно что не работает. Твоя функция циклическая, поэтому вставь ее в подходящее место и сделай переключатель cheat_state->_generic.coord_fly 1 0
|
|
|

10.02.2014, 08:14
|
|
Познающий
Регистрация: 07.10.2013
Сообщений: 31
С нами:
6630532
Репутация:
58
|
|
Господа, возникла небольшая проблема: написал свою .dll'ку, все дела. Если подгружаю её инжектором - работает на ура, но если переименовать её в .asi и кинуть в папку с игрой, то крашит на моментах с ASM кодом. Тоесть на моментах с добавлением строки в чат и добавлением команды.
---
Разобрался сам
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|