eMphaticBG 0 Опубликовано 19 Февраля 2012 (изменено) Я хотел бы написать скрипт, который заменяет лагерях, потому что я не функционируют лагеря. Я старался, чтобы написать script здесь он будет работать PS Я не русский так извините за мой плохой язык local npc = { mar_clear_sky_respawn_1 = mar_clear_sky_respawn_1_counter mar_clear_sky_respawn_2 = mar_clear_sky_respawn_2_counter mar_clear_sky_respawn_3 = mar_clear_sky_respawn_3_counter } local npc_spawn_data = { mar_clear_sky_respawn_1 = -61.996055603027, 0.92057931423187, 293.67742919922, game_vertex_id = 3402, level_vertex_id = 106182 mar_clear_sky_respawn_2 = -51.345394134521, 1.1859278678894, 296.54559326172, game_vertex_id = 3402, level_vertex_id = 114134 mar_clear_sky_respawn_3 = -51.345394134521, 1.1859278678894, 296.54559326172, game_vertex_id = 3402, level_vertex_id = 114134 } local npc_respawn_counter = { mar_clear_sky_respawn_1_counter = 3 mar_ clear_sky_respawn_2_counter = 5 mar_clear_sky_respawn_3_counter = 2 } local npc_spawn = Respawn_NPC() function start() npc_spawn:LoadConfig() end class "Respawn_NPC" function Respawn_NPC:__init() self.init_done = false self.respawn_npc_tabel = nil self.respawn_counter = nil self.respawn_counter_name = nil self.respawn_npc = nil self.respawn_npc_point = nil self.respawn_timer = 0 if level.name() ~= "marsh" then self.enabled = false else self.enabled = true self:LoadConfig() end self.init_done = true end function Respawn_NPC:__finalize() self.init_done = nil self.enabled = nil self.respawn_counter = nil self.respawn_npc_tabel = nil self.respawn_counter_name = nil self.respawn_npc = nil self.respawn_npc_point = nil end function Respawn_NPC:LoadConfig() self.respawn_npc .. "_" .. count = 0 local npc_1 = npc local npc_respawn_counter_1 = npc_respawn_counter local npc_spawn_data_1 = npc_spawn_data self.respawn_counter = {} self.respawn_counter_name = {} self.respawn_npc = {} self.respawn_npc_point = {} for k,v in pairs ("npc_1")do self.respawn_npc(k) self.respawn_counter_name(v) end for k,v in pairs("npc_respawn_counter_1") do if k == respawn_counter_name then self.respawn_counter(v) end end for k,v in pairs("npc_spawn_data_1") do if k == respawn_npc then if respawn_npc .. "_" .. count < respawn_counter then self.respawn_npc_point(v) else return end end end end function Respawn_NPC:Timer() if respawn_timer == false then if respawn_timer == 0 then respawn_timer = level.get_time_hours() + math.random(3, 4) if respawn_timer > 23 then respawn_timer = respawn_timer - 24 end end if db.actor:alive() then if level.get_time_hours() > respawn_timer then respawn_timer = 0 respawn_timer_a = true end end end function Respawn_NPC:Spawn_NPC(respawn_counter_ltx, respawn_npc_point) if respawn_timer_a == true then if respawn_timer == 0 then if not respawn_counter and not respawn_npc_point then return false end end self.respawn_npc_tabel = {} if npc_respawn_counter < respawn_counter then self.spwan = alife():create(respawn_npc, vector():set(respawn_npc_point) respawn_npc_tabel[spwan.id] = true end end function Respawn_NPC:Counter(respawn_npc_tabel) if not respawn_npc_tabel then return false end local obj,count,tbl_cnt = nil,0,#respawn_npc_tabel for k,v in pairs(respawn_npc_tabel) do obj = alife():object(k) if obj == nil then v = nil respawn_npc .. "_" .. count = respawn_npc .. "_" .. count - 1 end end if respawn_npc .. "_" .. count < respawn_counter then respawn_timer = false respawn_timer = 0 end end If you possess the English, then write on it yet, so it will be easier for you to understand. ColR_iT Изменено 19 Февраля 2012 пользователем ColR_iT Поделиться этим сообщением Ссылка на сообщение