AMX MOD X
Понедельник, 21.09.2020, 21:18:07



Приветствую Вас Гость | RSS
[ Главная ] [ отловить событие - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » отловить событие (убийство гранатой)
отловить событие
HoRRoRДата: Пятница, 04.12.2009, 00:36:45 | Сообщение # 1
Полковник
Группа: Скриптеры
Сообщений: 181
Репутация: 8
Статус: Не в сети
в общем нужно отловить событие, когда игрок ибивает других трех и более игроков одной гранатой
пока не получается =/

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
Репутация: 70
Статус: Не в сети
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
Репутация: 8
Статус: Не в сети
не работает =/

вот исходник, попробуй подкорректировать что ли

Прикрепления: amx_hudevents.sma(8.1 Kb)
 
defaultNick8433Дата: Пятница, 04.12.2009, 14:16:51 | Сообщение # 4
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
А так,только это простой пример без времени,хотя не знаю почему вариант РоманоВа не работает:
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
Репутация: 8
Статус: Не в сети
твой тоже не работает =/
 
PomanoBДата: Суббота, 05.12.2009, 15:15:30 | Сообщение # 6
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
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
Репутация: 19
Статус: Не в сети
Тогда должно быть что-то типо этого:
Code
new weapon[255];read_data(4,weapon,sizeof(weapon)-1)

if(!killer&&equal(weapon,"weapon_grenade"))
{
if(++g_hegkills[victim]>=3)
{
//...
}
}


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » отловить событие (убийство гранатой)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2020