Простой код с бомбой, Никогда не работал с бомбой не смогу сам написать |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Простой код с бомбой, Никогда не работал с бомбой не смогу сам написать |
Orty_Hart
|
8.9.2013, 16:03
Сообщение
|
|
|
xSav,
http://amxxmodx.ru/core/amxmodxinc/78-regi...yh-sobytiy.html http://amxxmodx.ru/csx/csxinc/393-client_d...ok-umiraet.html http://amxxmodx.ru/cstrike/238-cs_get_user...ande-igrok.html
Отредактировал: Orty_Hart, - 8.9.2013, 16:03
|
Поблагодарили 1 раз
|
|
xSav
|
8.9.2013, 16:49
Сообщение
|
|
|
Orty_Hart,
Мне это мало чем поможет. Я это читал, но не сообразив правильное решение - написал тут Хотя б последовательность действий подскажите |
|
|
|
mittagswind
|
8.9.2013, 17:09
Сообщение
|
![]() |
вот ссылка:
https://forums.alliedmods.net/showthread.php?t=40164 вот код проверки оттуда - есть ли у игрока бомба: Код: // Is given player has the bomb? но у мервых игроков бомбы нет. я бы сделал так - отлавливал событие урона игрокам (например, Ham_TakeDamage из hamsandwich или client_damage из csx), в нем бы определял у кого бомба и сохранял id игрока в какую-нибудь глобальную переменную. обнулял бы ее при отключении/самоубийстве игрока. а в client_death (csx) уже находил бы того, кто убил сохраненный id игрока с бомбой. |
Поблагодарили 1 раз
|
|
Orty_Hart
|
8.9.2013, 18:35
Сообщение
|
|
|
xSav,
1. (теоретически) Ловим событие client_death() и у игрока который умер, проверяем чтоб он был с бомбой если есть, делаем что нао и т.д. Но тут 1 НО! это теоретически.... может быть такое, что функция не словит.... Т.е. игрок уже будет мертв и без бомбы а мы только проверяем.... 2. С помощью Ham_Killed http://amxxmodx.ru/hamsandwich/ham_constin...oka-obekta.html ловим события ДО смерти, провеярем бомбу... и делаем что нужно. примерно код будет такой Скрытый текст Код #include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <fakemeta> public plugin_init() { register_plugin("HamSandWich killed", "1.0", "Admin") RegisterHam(Ham_Killed, "player", "ham_player_kill", 0) } public ham_player_kill(victim, attacker) { if(pev(victim, pev_weapons) & (1 << CSW_C4)) //если у жертвы есть C4 engclient_cmd(victim, "drop", "weapon_c4") } |
Поблагодарили 1 раз
|
|
xSav
|
8.9.2013, 19:49
Сообщение
|
|
|
Не догнал это вывод сообщения о падении бомбы убийце ?
engclient_cmd(victim, "drop", "weapon_c4") |
|
|
|
Orty_Hart
|
8.9.2013, 21:10
Сообщение
|
|
|
xSav,
Код public plugin_init() { register_plugin("HamSandWich killed", "1.0", "Admin") //Регистрируем имя, версию и автора плагина RegisterHam(Ham_Killed, "player", "ham_player_kill", 0) //ловим события убийства (0 - до события 1 - после (т.е. когда игрока убили)) после перенаправляем в ham_player_kill() } public ham_player_kill(victim, attacker) // создаем и ловим в public убийцу и жертву { if(pev(victim, pev_weapons) & (1 << CSW_C4)) //проверяем есть-ли у жертвы в "кормане" C4 engclient_cmd(victim, "drop", "weapon_c4") // если результат проверку true выбрасываем C4 } http://amxxmodx.ru/core/amxmodxinc/365-eng...ya-klientu.html https://c-s.net.ua/forum/ipb.html?s=&sh...st&p=472664 |
Поблагодарили 1 раз
|
|
xSav
|
8.9.2013, 21:45
Сообщение
|
|
|
Перепутал victim c attaker
вечно приставка vict меня тянет на победителя то есть атакера )) Завтра проверю |
|
|
|
Dasister
|
9.9.2013, 9:01
Сообщение
|
|
|
Вторая проверка у тебя выполняется в любом случае. Тебе-же нужно сделать так, дабы она производилась только тогда, когда у игрока была бомба.
|
|
|
|
Orty_Hart
|
11.9.2013, 15:12
Сообщение
|
|
|
xSav,
Цитата Дайте знающие люди код, при котором если КТ убил ТТ с бомбой всё... надоело... у вас код есть, делайте что хотите. |
|
|
|
xSav
|
11.9.2013, 18:33
Сообщение
|
|
|
нет ну разжуйте плизз.. я же сказал что я возможно чего-то непонимаю
|
|
|
|
![]() ![]() |