Guest User

Untitled

a guest
Aug 1st, 2020
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.52 KB | None | 0 0
  1. --------------------------------------wind----------------
  2. ---   https://www.geogebra.org/m/GDgua6HK
  3. ---    y = sin(3x/2)/3+sin(2x/2+2)/3+sin(3x/2-3)/2-sin(4x/2+1)/3-sin(5x/2+3)/4-sin(6x/2+4)/2+sin(x/3)+2.5
  4.  
  5. script.on_nth_tick(6000, function(event)
  6.     if global.wind >= 1800 then
  7.         global.wind = 0
  8.     end
  9. end)
  10.  
  11. script.on_nth_tick(60, function(event)
  12.     global.wind = global.wind + 0.02
  13.     local x = global.wind
  14.     local y = (math.sin(3*x/2)/3)+(math.sin(2*x/2+2)/3)+(math.sin(3*x/2-3)/2)-(math.sin(4*x/2+1)/3)-(math.sin(5*x/2+3)/4)-(math.sin(6*x/2+4)/2)+math.sin(x/3)+5
  15.    
  16.     for _, wind_turbine in pairs(global.wind_turbines) do
  17.         wind_turbine = wind_turbine[1]
  18.         if wind_turbine.valid then
  19.             wind_turbine.fluidbox[1] = {name="steam", amount=200, temperature=14*y}
  20.         end
  21.     end
  22. end)
  23.  
  24. local function create_varibles()
  25.     global.wind = global.wind or 0
  26.     global.wind_turbines = global.wind_turbines or {}
  27. end
  28.  
  29. script.on_init(create_varibles)
  30. script.on_configuration_changed(create_varibles)
  31.  
  32. -------------------------------------------------------------------------------------------------------------------
  33. ------------------------------------------hidden poles---------------------------------------------
  34.  
  35. local turbine_map = {
  36.     ["texugo-wind-turbine"] = "twt-electric-pole",
  37.     ["texugo-wind-turbine2"] = "twt-electric-pole2",
  38.     ["texugo-wind-turbine3"] = "twt-electric-pole3",
  39.     ["texugo-wind-turbine4"] = "twt-electric-pole4",
  40. }
  41.  
  42. script.on_event({defines.events.on_built_entity, defines.events.on_robot_built_entity, defines.events.script_raised_revive}, function(event)
  43.     local entity = event.created_entity or event.entity
  44.     if turbine_map[entity.name] then
  45.         local registration_number = script.register_on_entity_destroyed(entity)
  46.         global.wind_turbines[registration_number] = {entity, entity.name, entity.position, entity.surface}
  47.        
  48.         local hidden_pole = entity.surface.create_entity{name=turbine_map[entity.name], position=entity.position, force=entity.force}
  49.         hidden_pole.minable = false
  50.         hidden_pole.destructible = false
  51.     end
  52. end)
  53.  
  54. script.on_event(defines.events.on_entity_destroyed, function(event)
  55.     local entity = global.wind_turbines[event.registration_number]
  56.     if entity and turbine_map[entity[2]] then
  57.         local center = entity[3]
  58.         for _, hidden_pole in pairs(entity[4].find_entities_filtered{
  59.             area = {{center.x-0.5, center.y-0.5}, {center.x+0.5, center.y+0.5}},
  60.             name = turbine_map[entity.name]
  61.         }) do
  62.             hidden_pole.destroy()
  63.         end
  64.     end
  65.     global.wind_turbines[event.registration_number] = nil
  66. end)
Add Comment
Please, Sign In to add comment