Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.46 KB | None | 0 0
  1. -- биндер болтов
  2.  
  3. drop_bolt={}
  4. local spawn_time=0
  5.  
  6. function init(obj)
  7.     local bag = BBolt(obj)
  8.     obj:bind_object(bag)
  9. end
  10.  
  11. class "BBolt" (object_binder)
  12.  
  13. function BBolt:__init(obj) super(obj)
  14.     self.object=obj
  15. end
  16.  
  17. function BBolt:reload(section)
  18.     object_binder.reload(self, section)
  19. end
  20.  
  21. function BBolt:reinit()
  22.    object_binder.reinit(self)
  23. end
  24.  
  25. function BBolt:update(delta)
  26.     object_binder.update(self, delta)
  27. end
  28.  
  29. function OnSpawnFBolt(arg, iId, gObj)
  30.     local parent=alife():object(iId).parent_id or 65535
  31.     if parent==65535 then
  32.         local h = hit()
  33.         h.draftsman = db.actor
  34.         h.type = hit.strike
  35.         h.direction = vector():set(1,0,0)
  36.         h.power = 1
  37.         h.impulse = 1
  38.         gObj:hit(h)
  39.     end
  40. end
  41.  
  42. function BBolt:net_spawn(data)
  43.     if spawn_time<time_global() and self.object:position():distance_to(db.actor:position())<2.5 then spawn_time=time_global()+50 table.insert( bolt_mod.new_bolt_id, self.object:id() ) else self.object:bind_object(nil) end
  44.     return object_binder.net_spawn(self, data)
  45. end
  46.  
  47. function BBolt:net_destroy()
  48. --dbg.log("биндер болт---нет дестрой")
  49. if drop_bolt[self.object:id()] then
  50.     local sobj=alife():create("fake_bolt", self.object:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id())
  51.     level.client_spawn_manager():add(sobj.id,  0, OnSpawnFBolt,     0)
  52.     drop_bolt[self.object:id()]=nil
  53. end
  54. object_binder.net_destroy(self)
  55. end
  56.  
  57. function BBolt:net_save_relevant()
  58. return true
  59. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement