Как передаются аргументы

  • Автор темы Автор темы justjew
  • Дата начала Дата начала
  • Официальное уведомление администрации CustomGames.RU
    В связи с масштабным техническим сбоем в инфраструктуре прежнего хостинг-провайдера (Beget), работа форума CustomGames.RU была оперативно перенесена на новую серверную площадку и развёрнута из резервной копии базы данных.

    • Безопасность данных: учётные записи и данные пользователей находятся в полной безопасности. Все пароли и защищаемые параметры хранятся исключительно в криптографически зашифрованном (хэшированном) виде — никаких критических инцидентов для аккаунтов пользователей не произошло.
    • Временные технические ограничения: на этапе синхронизации файлового хранилища часть статических материалов (пользовательские аватары и архивные вложения) временно недоступна. По мере получения доступа к файловым архивам все материалы будут восстановлены в полном объёме.

justjew

Пользователь
19 Мар 2016
18
0
С программированием на объектно-ориентированных языках я знаком (java, c#), но со скриптовыми никогда не работал.
Вот в чем вопрос: есть следующий код
Код:
function teleportPlayer(event)
   local unit = event.activator
   local wws= "tpPoint" -- вот та сама точка, куда мы будем телепортировать героя, мы её указали в скрипте

   local ent = Entities:FindByName( nil, wws) --строка ищет как раз таки нашу точку pnt1
   local point = ent:GetAbsOrigin() --эта строка выясняет где находится pnt1 и получает её координаты
   event.activator:SetAbsOrigin( point ) -- получили координаты, теперь меняем место героя на pnt1
   FindClearSpaceForUnit(event.activator, point, false) --нужно чтобы герой не застрял
   event.activator:Stop() --приказываем ему остановиться, иначе он побежит назад к предыдущей точке
end
Entity Script'у триггера я присваиваю имя файла.lua, затем в самом триггере CallScriptFunction'у я передаю название функции, без передачи каких-либо аргументов.

Собственно, откуда функция teleportPlayer берет этот самый event?
 
Последнее редактирование модератором:
[quote author=justjew link=topic=777.msg3142#msg3142 date=1458504793]
С программированием на объектно-ориентированных языках я знаком (java, c#), но со скриптовыми никогда не работал.
Вот в чем вопрос: есть следующий код
Код:
function teleportPlayer(event)
   local unit = event.activator
   local wws= "tpPoint" -- вот та сама точка, куда мы будем телепортировать героя, мы её указали в скрипте

   local ent = Entities:FindByName( nil, wws) --строка ищет как раз таки нашу точку pnt1
   local point = ent:GetAbsOrigin() --эта строка выясняет где находится pnt1 и получает её координаты
   event.activator:SetAbsOrigin( point ) -- получили координаты, теперь меняем место героя на pnt1
   FindClearSpaceForUnit(event.activator, point, false) --нужно чтобы герой не застрял
   event.activator:Stop() --приказываем ему остановиться, иначе он побежит назад к предыдущей точке
end
Entity Script'у триггера я присваиваю имя файла.lua, затем в самом триггере CallScriptFunction'у я передаю название функции, без передачи каких-либо аргументов.

Собственно, откуда функция teleportPlayer берет этот самый event?
[/quote]
ниоткуда, ключи ты сам называешь, эта функция передает все ключи и их значения, которые прописаны в c++
function teleportPlayer(kokoko) хоть так можно
 
Последнее редактирование модератором:
[quote author=justjew link=topic=777.msg3142#msg3142 date=1458504793]
С программированием на объектно-ориентированных языках я знаком (java, c#), но со скриптовыми никогда не работал.
Вот в чем вопрос: есть следующий код
Код:
function teleportPlayer(event)
   local unit = event.activator
   local wws= "tpPoint" -- вот та сама точка, куда мы будем телепортировать героя, мы её указали в скрипте

   local ent = Entities:FindByName( nil, wws) --строка ищет как раз таки нашу точку pnt1
   local point = ent:GetAbsOrigin() --эта строка выясняет где находится pnt1 и получает её координаты
   event.activator:SetAbsOrigin( point ) -- получили координаты, теперь меняем место героя на pnt1
   FindClearSpaceForUnit(event.activator, point, false) --нужно чтобы герой не застрял
   event.activator:Stop() --приказываем ему остановиться, иначе он побежит назад к предыдущей точке
end
Entity Script'у триггера я присваиваю имя файла.lua, затем в самом триггере CallScriptFunction'у я передаю название функции, без передачи каких-либо аргументов.

Собственно, откуда функция teleportPlayer берет этот самый event?
[/quote]
Эвент идет из хаммера автоматически. Прочекать его можно типа for i,x in pairs(event) do print(i,x) end
 
Последнее редактирование модератором:
ниоткуда, ключи ты сам называешь, эта функция передает все ключи и их значения, которые прописаны в c++
function teleportPlayer(kokoko) хоть так можно
А где я могу узнать какие вообще есть "ключи, которые прописаны в с++"?
 
Последнее редактирование модератором:
А где я могу узнать какие вообще есть "ключи, которые прописаны в с++"?
[quote author=CryDeS link=topic=777.msg3144#msg3144 date=1458508896]
Эвент идет из хаммера автоматически. Прочекать его можно типа
for i,x in pairs(event) do print(i,x) end
[/quote]
 
Последнее редактирование модератором:
Реклама: