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

Maddy

Известный
34
11
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]
[FONT=Consolas][I]// параметры:[/I][/FONT]
[FONT=Consolas][I]// twBar_NewCheats - бар(окно), в котором будет кнопка [/I][/FONT]
[FONT=Consolas][I]// 001 - напиши что угодно, главное чтобы не совпадало с другими элементами бара (кнопки и т.д) [/I][/FONT]
[FONT=Consolas][I]// function - наша TW_CALL функция [/I][/FONT]
[FONT=Consolas][I]// null - параметр client data. Обычно используется для получения ида нажатого элемента бара. Нам это не нужно, так что пусть будет нулем [/I][/FONT]
[FONT=Consolas][I]// "label='My Function'" - параметры элемента бара. Label - название кнопки, если его не указать то кнопка будет называться ][/I][/FONT]
[FONT=Consolas][I]// "001" - вторым параметром
 

William_Young1

Новичок
11
0
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][/I][/FONT]
[FONT=Consolas][I][FONT=Consolas][I]// параметры:[/I][/FONT][/I][/FONT]
[FONT=Consolas][I][FONT=Consolas][I]// twBar_NewCheats - бар(окно), в котором будет кнопка [/I][/FONT][/I][/FONT]
[FONT=Consolas][I][FONT=Consolas][I]// 001 - напиши что угодно, главное чтобы не совпадало с другими элементами бара (кнопки и т.д) [/I][/FONT][/I][/FONT]
[FONT=Consolas][I][FONT=Consolas][I]// function - наша TW_CALL функция [/I][/FONT][/I][/FONT]
[FONT=Consolas][I][FONT=Consolas][I]// null - параметр client data. Обычно используется для получения ида нажатого элемента бара. Нам это не нужно, так что пусть будет нулем [/I][/FONT][/I][/FONT]
[FONT=Consolas][I][FONT=Consolas][I]// "label='My Function'" - параметры элемента бара. Label - название кнопки, если его не указать то кнопка будет называться ][/I][/FONT][/I][/FONT]
[FONT=Consolas][I][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 и столкнулся с этой проблемой, незнаю куда этот код засунуть..
 

Maddy

Известный
34
11
Я сохранил оригинальную функцию, так что не удивительно что не работает. Твоя функция циклическая, поэтому вставь ее в подходящее место и сделай переключатель cheat_state->_generic.coord_fly 1 0
 

Chesko

Новичок
31
13
Господа, возникла небольшая проблема: написал свою .dll'ку, все дела. Если подгружаю её инжектором - работает на ура, но если переименовать её в .asi и кинуть в папку с игрой, то крашит на моментах с ASM кодом. Тоесть на моментах с добавлением строки в чат и добавлением команды.

---

Разобрался сам
 

WinLock

Известный
19
0
By Vasiliy, вначале поищи в интернете уроки по с++! Если покажется сложно то лучше поизучай более простые языки программирования! Потом, когда всё взвесишь , скачай исходрик самого собейта и изучай! Имеется множество монуалов по этому поводу!
 
D

deleted-user-17124

Гость
By Vasiliy, вначале поищи в интернете уроки по с++! Если покажется сложно то лучше по изучай более простые языки программирования! Потом, когда всё взвесишь , скачай исходник самого собейта и изучай! Имеется множество монуалов по этому поводу!

Ну господин хороший, спасибо. Но с С++ я дружу нормально, хоть и не гений програмирования но функцию или класс могу реализовать. Это не такой уж сложный язык. Проблема в том что я просто мало знаю какие там есть способы взаимодействия с SAMP. Я как-то ещё с собейтом ничего не кодил.