Вопросы и ответы
|
|
YA_N_DEX |
Дата: Пятница, 29.03.2013, 15:15 | Сообщение # 1081
|
Боец
Сообщений: 281
Статус: Offline
|
Вопрос: Как сделать отключение функции сразу после активации? Например, чтоб пополнение ХП без кика работало 1 раз при нажатии клавиши, а не бесконечно
|
|
|
|
Lisma |
Дата: Пятница, 29.03.2013, 15:22 | Сообщение # 1082
|
Боец
Сообщений: 66
Статус: Offline
|
Цитата (YA_N_DEX) Вопрос: Как сделать отключение функции сразу после активации? Например, чтоб пополнение ХП без кика работало 1 раз при нажатии клавиши, а не бесконечно Код void HP_NO_KICK() { if(KEY_DOWN()) { <-code-> } }
|
|
|
|
YA_N_DEX |
Дата: Пятница, 29.03.2013, 15:47 | Сообщение # 1083
|
Боец
Сообщений: 281
Статус: Offline
|
Цитата (Lisma) void HP_NO_KICK() { if(KEY_DOWN()) { <-code-> } } Не работает Похоже, у меня руки немного не из того места растут. Вот такой код получился: Код void cheat_handle_sethp () { traceLastFunc( "cheat_handle_sethp()" ); if(KEY_DOWN('r')) { struct actor_info *self = actor_info_get( ACTOR_SELF, ACTOR_ALIVE ); self->hitpoints = 100.0f; } return; } Захожу в игру, тыкаю "R" - никакой реакции..Добавлено (29.03.2013, 15:47) --------------------------------------------- Там еще в коде было это: Код SendWastedNotification(49, 0); но я убрал т.к. компилятор выдавал ошибку, типа неизвестная функция или что-то в этом роде...
|
|
|
|
Bomj_Terrorist |
Дата: Пятница, 29.03.2013, 15:57 | Сообщение # 1084
|
Бывалый
Сообщений: 383
Статус: Offline
|
Цитата (YA_N_DEX) return; Убери это и не будет повторятся... Цитата (YA_N_DEX) SendWastedNotification(49, 0); Это самое главное, без него не будет работать.
http://www.youtube.com/watch?v=DbBI60FVtkw
|
|
|
|
YA_N_DEX |
Дата: Пятница, 29.03.2013, 16:09 | Сообщение # 1085
|
Боец
Сообщений: 281
Статус: Offline
|
Цитата (Bomj_Terrorist) Это самое главное, без него не будет работать. Отлично, теперь вообще не активируется раньше хотя бы хп пополнялось, сейчас реакции никакой. Код void cheat_handle_sethp () { traceLastFunc( "cheat_handle_sethp()" ); if ( KEY_PRESSED(set.key_sethp) ) { cheat_state->_generic.sethp ^= 1; }
if( cheat_state->_generic.sethp == 1 ) { SendWastedNotification(49, 0); struct actor_info *self = actor_info_get( ACTOR_SELF, ACTOR_ALIVE ); self->hitpoints = 100.0f; } }
|
|
|
|
_AMG_ |
Дата: Пятница, 29.03.2013, 16:13 | Сообщение # 1086
|
Бывалый
Сообщений: 319
Статус: Offline
|
Цитата (YA_N_DEX) if(KEY_DOWN('r')) Вместо r поставь 0x27, коды кнопок можно посмотреть здесь http://www.quickmacros.com/help/Tables/IDP_VIRTUALKEYS.html (Не реклама) Цитата (Bomj_Terrorist) Это самое главное, без него не будет работать. будет, но кикДобавлено (29.03.2013, 16:13) ---------------------------------------------
Код void hp () { if(KEY_DOWN(0x27)) // держа кнопку r функция будет работать { SendWastedNotification(49, 0); struct actor_info *self = actor_info_get( ACTOR_SELF, ACTOR_ALIVE ); self->hitpoints = 100.0f; } }
--MURDERED-- AMG CARTEL DOBRA Skype: murdered1017
|
|
|
|
YA_N_DEX |
Дата: Пятница, 29.03.2013, 16:29 | Сообщение # 1087
|
Боец
Сообщений: 281
Статус: Offline
|
Цитата (_AMG_) void hp () { if(KEY_DOWN(0x27)) // держа кнопку r функция будет работать { SendWastedNotification(49, 0); struct actor_info *self = actor_info_get( ACTOR_SELF, ACTOR_ALIVE ); self->hitpoints = 100.0f; } }
Все равно, давлю "R" безрезультатно. Наверное косяк где-то в другом месте, в любом случае спасибо, + кинул.Добавлено (29.03.2013, 16:29) --------------------------------------------- Еще Вопрос: Обязательно ли нужна traceLastFunc( "cheat_handle_название()" ); ? И почему 1>cheat_generic.cpp(1258): error C3861: 'SendWastedNotification': identifier not found?
|
|
|
|
Bomj_Terrorist |
Дата: Пятница, 29.03.2013, 16:42 | Сообщение # 1088
|
Бывалый
Сообщений: 383
Статус: Offline
|
Цитата (YA_N_DEX) 1>cheat_generic.cpp(1258): error C3861: 'SendWastedNotification': identifier not found? Индефикатор не найден. Цитата (YA_N_DEX) Вопрос: Обязательно ли нужна traceLastFunc( "cheat_handle_название()" ); ? И почему Вроде не нужна..
http://www.youtube.com/watch?v=DbBI60FVtkw
|
|
|
|
YA_N_DEX |
Дата: Пятница, 29.03.2013, 16:47 | Сообщение # 1089
|
Боец
Сообщений: 281
Статус: Offline
|
Цитата (Bomj_Terrorist) Индефикатор не найден. Да, но никто не может объяснить как найти этот самый идентификатор? Цитата (Bomj_Terrorist) Вроде не нужна.. По моему без нее вообще не работала функция
|
|
|
|
sneak_ayes |
Дата: Пятница, 29.03.2013, 16:49 | Сообщение # 1090
|
Боец
Сообщений: 207
Статус: Offline
|
Цитата (YA_N_DEX) 1>cheat_generic.cpp(1258): error C3861: 'SendWastedNotification': identifier not found?
у тебя в raksamp.cpp ее нету или она по другому объявлена
|
|
|
|
Bomj_Terrorist |
Дата: Пятница, 29.03.2013, 16:51 | Сообщение # 1091
|
Бывалый
Сообщений: 383
Статус: Offline
|
Цитата (YA_N_DEX) Да, но никто не может объяснить как найти этот самый идентификатор? В raksamp.cpp Код void SendWastedNotification(BYTE byteDeathReason, SHORT WhoWasResponsible) { if (g_SAMP == NULL) return; //raknet = stGetRakNet(); RakNet::BitStream bsPlayerDeath; bsPlayerDeath.Write(byteDeathReason); bsPlayerDeath.Write(WhoWasResponsible); g_SAMP->pRakClientInterface->RPC(&RPC_Death, &bsPlayerDeath, HIGH_PRIORITY, RELIABLE_ORDERED, 0, 0); //g_SAMP->pRakClientInterface->RPC(&RPC_Death, &bsPlayerDeath, HIGH_PRIORITY, RELIABLE_ORDERED, 0, 0); } в raksamp.h Код void SendWastedNotification(BYTE byteDeathReason, SHORT WhoWasResponsible);
http://www.youtube.com/watch?v=DbBI60FVtkw
Сообщение отредактировал Bomj_Terrorist - Пятница, 29.03.2013, 16:54 |
|
|
|
YA_N_DEX |
Дата: Пятница, 29.03.2013, 17:51 | Сообщение # 1092
|
Боец
Сообщений: 281
Статус: Offline
|
sneak_ayes, Bomj_Terrorist, спасибо, теперь работает, но у меня еще один Вопрос: как сделать активацию "хп без кика" из меню? тоесть без "KEY_DOWN", а то получается я себя убиваю 3 раза пока кнопка нажата...
|
|
|
|
Bomj_Terrorist |
Дата: Пятница, 29.03.2013, 18:08 | Сообщение # 1093
|
Бывалый
Сообщений: 383
Статус: Offline
|
Цитата (YA_N_DEX) Вопрос: как сделать активацию "хп без кика" из меню? тоесть без "KEY_DOWN", а то получается я себя убиваю 3 раза пока кнопка нажата... Из нового/старого? Уроки же есть...
http://www.youtube.com/watch?v=DbBI60FVtkw
Сообщение отредактировал Bomj_Terrorist - Пятница, 29.03.2013, 18:09 |
|
|
|
YA_N_DEX |
Дата: Пятница, 29.03.2013, 18:16 | Сообщение # 1094
|
Боец
Сообщений: 281
Статус: Offline
|
Цитата (Bomj_Terrorist) Из нового/старого? Уроки же есть... Старое меню. Уроки есть, да, но там проблема... Вот какой код я оттуда получил: Код static int menu_callback_testing ( int op, struct menu_item *item ) { if (g_SAMP == NULL) return 0; if ( op == MENU_OP_ENABLED ) { switch (item->id) { case ID_HARD_SETHP: return cheat_state->_generic.sethp; break; } } if ( op == MENU_OP_SELECT ) { switch (item->id) { case ID_HARD_SETHP: cheat_state->_generic.sethp ^=1; break; } } } Но там функция даже не активируется, точнее загорается зеленым, но никакого действия не происходит.
|
|
|
|
Bomj_Terrorist |
Дата: Пятница, 29.03.2013, 18:30 | Сообщение # 1095
|
Бывалый
Сообщений: 383
Статус: Offline
|
YA_N_DEX, по примеру других функций делай. Например смотри как сделали Load m0d Commands.
http://www.youtube.com/watch?v=DbBI60FVtkw
|
|
|
|