Как активировать функцию [mod_sa] - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Admin_Bot, Admin_Bot2, Admin_Bot3, Admin_Bot4  
Как активировать функцию [mod_sa]
Wеezy Дата: Пятница, 01.05.2015, 09:40 | Сообщение # 1
Новичок
Статус: Offline

Добрый день
С вами Weezy
Этот урок по активации функции в C++.
Я буду это показывать на примере: SkillMaster

Вот код нашего SkillMaster
Код
void cheat_handle_skillmaster() {    static int time=0;      
          if(cheat_state->_generic.skill == 1 && GetTickCount()-1000 > time) {      
              actor_info *info = actor_info_get(-1,0);      
              if(info->weapon_slot != 0) {      
                  if(info->weapon[info->weapon_slot].ammo_clip == 0) {      
                      if(info->weapon[info->weapon_slot].ammo > 7) info->weapon[info->weapon_slot].ammo_clip += 7;      
                      else info->weapon[info->weapon_slot].ammo_clip = info->weapon[info->weapon_slot].ammo;      
                  }      
                  if(info->weapon[info->weapon_slot].ammo_clip > 0) {      
                      info->weapon[info->weapon_slot].ammo_clip -= 1;      
                      info->weapon[info->weapon_slot].ammo -= 1;      
                  }      
              }      
              time = GetTickCount();      
          }      
}

Куда-же нам его вписать?
Для этого нам помогает 1 строка.
Код
void cheat_handle_skillmaster

Ага, тут все ясно заходим в samp.cpp
Ищем там void cheat_handle
И после любого такого void"a пишем, наш код.
Отлично, но мы только на часть активировали его.
Дальше идём в cheat.h и находим
Код
struct cheat_state_generic

Вставляем там под любым int
Код
int skill;

Почему-же именно skill?
Потому на 2 строке мы видим
Код
if(cheat_state->_generic.skill == 1 && GetTickCount()-1000 > time) {

А именно
Код
generic.skill

generic отсекаем остается skill.
Вот и все. Теперь давайте рассмотрим как активировать ее в меню:

Перед прочтением создайте свое меню.
Заходим в "dumb_menu.cpp"
Там в самом начале видим всякие
#define
К ним всем вписываем
Код
#define ID_HARD_MEGO_CHEAT 228

#define- не трогаем
ID_HARD_MEGO_CHEAT- любая переменная дайте любое имя
228- это целое число. Там пишете любое которого нету там.
Далее ищем например такую строку
Код
menu_item_add( menu_specialaction, NULL, "Urinate", ID_MENU_SPECIAL_ACTION_URINATE, MENU_COLOR_DEFAULT, NULL );

Далее вставляем например такой код.
Код
menu_item_add( menu_testing, NULL, "MEGA_CHEAT_HAHAHA", ID_HARD_MEGO_CHEAT, MENU_COLOR_DEFAULT, NULL );

menu_testing- структура вашего меню ( если вы создали свое вам будет понятно) эта то где будет сама функция
NULL- не трогаем
MEGA_CHEAT_HAHAHA- название
ID_HARD_MEGO_CHEAT- там самая #define ID_HARD_MEGO_CHEAT 228 в место ID_HARD_MEGO_CHEAT пишете то что вы писали тогда вместо 228 пишете тоже что и писали тогда.
Дальше ищем:
static int menu_callback_testing ( int op, struct menu_item *item )
Вы можете искать другое
testing-название вашего меню из урока по созданию меню.
И там впихиваем:
Код
    if ( op == MENU_OP_ENABLED ) // типо функция вкл. или выкл.      
        {      
         switch (item->id)      
         {      
         case ID_HARD_MEGO_CHEAT: // создаем кейс для нашей функции.      
          return cheat_state->_generic.mega_cheat // возвращаем статус чита, для покраски пункта.      
          break;      
         }      
        }      
        if ( op == MENU_OP_SELECT ) // тут уже если мы на нее кликнули.      
        {      
         switch (item->id)      
         {      
         case ID_HARD_MEGO_CHEAT: // опять же кейс.      
          cheat_state->_generic.mega_cheat ^=1; // устанавливаем статус читу, т.е включаем/выключаем.      
          break;      
         }      
        }

Сейчас я опишу что куда и как:
case ID_HARD_MEGO_CHEAT это опять наш тот самый #define в место ID_HARD_MEGO_CHEAT пишем то что писали там.
Там есть опять такой код:
case ID_HARD_MEGO_CHEAT делаем тоже самое.
Дальше:
return cheat_state->_generic.mega_cheat вот и наш generic если вы читали то что выше вы наверное поняли что в место mega_cheat надо вставить skill, почему-же? В коде с нашем скилл мастером мы видим такой код:
Код
  if(cheat_state->_generic.skill == 1 && GetTickCount()-1000 > time) {

а именно generic.skill вот вам и ответ PRUF
Дальше мы видим это:
cheat_state->_generic.mega_cheat ^=1;
опять -же делаем то что я говорил выше.
Вот и все теперь компилируем и PRUFIT!!!


Сообщение отредактировал Wеezy - Пятница, 01.05.2015, 09:41
DexT3R Дата: Пятница, 01.05.2015, 13:36 | Сообщение # 2
(•̪●)=ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿ ̿””
Сообщений: 1978
Статус: Offline
Че ты несешь, функция "mega_cheat" даже не похожа на "skill", лучше не заходи на СМ и не пиши глупые темы, не зная сам что пишешь.

НИЧЕГО НЕ ПРОДАЮ В ТЕЛЕГРАММЕ И ВК!!
Helico Дата: Пятница, 01.05.2015, 14:10 | Сообщение # 3
Любитель
Сообщений: 44
Статус: Offline
Kukushka, он же после объяснил чем это заменить, не? wacko
Цитата Wеezy ()
Сейчас я опишу что куда и как:
case ID_HARD_MEGO_CHEAT это опять наш тот самый #define в место ID_HARD_MEGO_CHEAT пишем то что писали там.
Там есть опять такой код:
case ID_HARD_MEGO_CHEAT делаем тоже самое.
Дальше:
return cheat_state->_generic.mega_cheat вот и наш generic если вы читали то что выше вы наверное поняли что в место mega_cheat надо вставить skill, почему-же? В коде с нашем скилл мастером мы видим такой код:
Код
  if(cheat_state->_generic.skill == 1 && GetTickCount()-1000 > time) {

а именно generic.skill вот вам и ответ PRUF
Дальше мы видим это:
cheat_state->_generic.mega_cheat ^=1;
опять -же делаем то что я говорил выше.
Вот и все теперь компилируем и PRUFIT!!!


Mirai Nikki
ллавлооялаофыаффаыфаош ©Helico
---------------------------------------------------
Бесплатная графика: http://cheat-master.ru/forum/134-462464-1
Skype: dno.dno27
---------------------------------------------------
Помогаю всем кто в этом нуждается.
CentiuS Дата: Суббота, 02.05.2015, 16:50 | Сообщение # 4
Ignat Bantserov
Сообщений: 398
Статус: Offline
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7210]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
vlabsbd [03:43]

jeffreycollman [23:06]

infait228_aye [20:43]

uradzordan5 [16:32]

Donater192814 [16:30]

ivanpro777ooo [22:18]

FoxyMix [21:38]

pororo39084723 [21:21]

Visionseh [20:29]

Danik_Ursu [15:10]

Gennadii_Bukin [10:04]

ub1xmanager [21:28]

Amazonnnswf [18:54]