Дроп с мобов

Реклама:

Owletass

Пользователь
21 Авг 2014
57
0
6
17
Реакции
0 0 0
#1
Хочу сделать так, чтобы когда умирает крип, то с него падала вещь с некоторым шансом.
 

-ExotiC-

Администратор
Команда форума
11 Авг 2014
412
15
18
22
customgames.ru
Steam
Проект
Trolls vs Elves
Реакции
5 0 0
#2
Owletass, через скрипты реализуется. Отслеживаешь смерть моба, через рандом (для некоторого шанса) создаешь на точке смерти предмет.

entity_killed

  • [li]entindex_killed(long)[/li]
    [li]entindex_attacker (long)[/li]
    [li]entindex_inflictor (long)[/li]
    [li]damagebits (long)[/li]
 

Owletass

Пользователь
21 Авг 2014
57
0
6
17
Реакции
0 0 0
#3
[quote author=-ExotiC- link=topic=24.msg94#msg94 date=1408893721]
Owletass, через скрипты реализуется. Отслеживаешь смерть моба, через рандом (для некоторого шанса) создаешь на точке смерти предмет.

entity_killed

  • [li]entindex_killed( long )[/li]
    [li]entindex_attacker ( long )[/li]
    [li]entindex_inflictor ( long )[/li]
    [li]damagebits ( long )[/li]
[/quote]
Это всё и так было ясно. Дело в том, что я не могу реализовать это. Помоги, если не сложно.
 

SilentFoXy

Новичок
26 Авг 2014
9
0
1
17
Реакции
0 0 0
#4
Начали тему - продолжите ее . Помогите новичкам что-ли :)
 

doter.ua

Продвинутый
17 Авг 2014
280
4
18
24
UA
Реакции
1 0 0
#5
Хочу сделать так, чтобы когда умирает крип, то с него падала вещь с некоторым шансом.
фнкция умер крип(keys)
local Guf = EntIndexToHScript(keys.entindex_killed)
local myItem = CreateItem("item_aegis", nil, nil)
CreateItemOnPositionSync(Guf:GetAbsOrigin(), myItem)
энд

шанс: например if RandomInt(1, 10) > 3 then ... else ... end Насколько я помню по комбинаторике шанс равен 7\10 = 70% ( 7 из 10 чисел "> 3")
 
Последнее редактирование модератором:

Owletass

Пользователь
21 Авг 2014
57
0
6
17
Реакции
0 0 0
#6
[quote author=doter.ua link=topic=24.msg123#msg123 date=1409038459]
фнкция умер крип(keys)
local Guf = EntIndexToHScript(keys.entindex_killed)
local myItem = CreateItem("item_aegis", nil, nil)
CreateItemOnPositionSync(Guf:GetAbsOrigin(), myItem)
энд

шанс: например if RandomInt(1, 10) > 3 then ... else ... end Насколько я помню по комбинаторике шанс равен 7\10 = 70% ( 7 из 10 чисел "> 3")
[/quote]

Извини, но я не знаю, что с этим делать.

Закинул этот код в addon_name_mod.lua и, кажется, заработало.

function DotaPvP:eek:nEntityKilled(keys)
if RandomInt(3, 100) > 3 then
else local Guf = EntIndexToHScript(keys.entindex_killed)
local myItem = CreateItem("item_aegis", nil, nil)
CreateItemOnPositionSync(Guf:GetAbsOrigin(), myItem)
end
end
 
Последнее редактирование модератором:

doter.ua

Продвинутый
17 Авг 2014
280
4
18
24
UA
Реакции
1 0 0
#7
Последнее редактирование модератором:

Илья

Супермодератор
Команда форума
25 Сен 2015
2,359
25
48
26
Реакции
11 1 0
#8
Ребят, у меня похожий вопрос: как узнать, что умер монстр конкретного типа?

Вот тут, например, узнаем индекс умершего монстра.
Код:
local killedEntity = EntIndexToHScript(event.entindex_killed)
Далее я бы мог сравнить его с необходимым для выполнения условия индексом, но где мне его взять?

Как мне узнать индекс моего кастомного монстра, который называется "cow"?
 
Последнее редактирование модератором:

Илья

Супермодератор
Команда форума
25 Сен 2015
2,359
25
48
26
Реакции
11 1 0
#9
Все, разобрался. Нашел где-то на просторах инета такой вот метод GetUnitName().

Кому интересно, вот в итоге код обработчика:

Код:
 function OnEntityKilled (event)
  local killedEntity = EntIndexToHScript(event.entindex_killed)
  if killedEntity:GetUnitName() == "cow" then
   CreateDrop("item_flask", killedEntity:GetAbsOrigin())
  end
 end
 
Последнее редактирование модератором:
Реклама: