|
отловить событие
|
|
| HoRRoR | Дата: Пятница, 04.12.2009, 00:36:45 | Сообщение # 1 |
 Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| в общем нужно отловить событие, когда игрок ибивает других трех и более игроков одной гранатой пока не получается =/ Code if (weapon == CSW_HEGRENADE && cs_is_not_one_team(killer, victim)) { set_task(3.0, "switch_off_bloodbath", BLOODBATH_ID) relay_BloodBath = true; relay_BloodBath_count[killer]++; if (relay_BloodBath && relay_BloodBath_count[killer] >= 3) { get_user_name(killer, kName, 23); set_hudmessage(200, 20, 20, -1.0, str_Ypos, 0, 0.0, 4.0, 0.0, 2.0, -1); show_hudmessage(0, "%s is on BLOOD BATH!", kName); client_cmd(0, "spk %s", streakSnd[0]) cs_add_user_money(killer, PRICE_BLOODBATH) relay_BloodBath = false; } }
|
| |
|
|
| PomanoB | Дата: Пятница, 04.12.2009, 01:02:57 | Сообщение # 2 |
 Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Code static killTime[33], killCount[33] static curTime curTime = get_systime() if (weapon == CSW_HEGRENADE && cs_is_not_one_team(killer, victim)) { if (curTime == killTime[killer]) { killCount[killer]++ if (killCount[killer] == 3) { // do it } } else { killTime[killer] = curTime killCount[killer] = 0 } }
http://romanov4400.mybrute.com
|
| |
|
|
| HoRRoR | Дата: Пятница, 04.12.2009, 01:40:01 | Сообщение # 3 |
 Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| не работает =/ вот исходник, попробуй подкорректировать что ли
|
| |
|
|
| defaultNick8433 | Дата: Пятница, 04.12.2009, 14:16:51 | Сообщение # 4 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| А так,только это простой пример без времени,хотя не знаю почему вариант РоманоВа не работает: Code #include <amxmodx> #include <cstrike>
new g_hegkills[33]
public plugin_init() { register_plugin("x","x","x") register_event("DeathMsg","onDeath","a") } public onDeath() { new killer=read_data(1) new victim=read_data(2)
new weapon
get_user_weapon(killer)
if(weapon==CSW_HEGRENADE&& cs_is_not_one_team(killer, victim)) { if(++g_hegkills[victim]>=3) { //your code } else { g_hegkills[victim]=0 } } }
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
| |
|
|
| HoRRoR | Дата: Пятница, 04.12.2009, 16:52:01 | Сообщение # 5 |
 Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| твой тоже не работает =/
|
| |
|
|
| PomanoB | Дата: Суббота, 05.12.2009, 15:15:30 | Сообщение # 6 |
 Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| new weapon = read_data(4) - неправильно, тк оружие - это строка, к примеру weapon_grenade http://wiki.amxmodx.org/Half-Life_1_Game_Events#DeathMsg
http://romanov4400.mybrute.com
|
| |
|
|
| defaultNick8433 | Дата: Суббота, 05.12.2009, 15:41:56 | Сообщение # 7 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Тогда должно быть что-то типо этого: Code new weapon[255];read_data(4,weapon,sizeof(weapon)-1)
if(!killer&&equal(weapon,"weapon_grenade")) { if(++g_hegkills[victim]>=3) { //... } }
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
| |
|
|