Can anyone help me fix this script so it runs according to the game scenario? : dofile("Scripts/mission.lua");
dofile("Scripts/msl.lua");
function PostCreate()
-- Inisialisasi dasar sistem misi mesin Sudden Strike 3
mission_lua.BasicMissionInitialize()
-- Menjalankan skrip utama secara berkala setiap 10 ticks permainan
AIparts:AddPeriodic("MAIN SCRIPT", 10, func_MAIN_SCRIPT, 0 + RandomHalf(10))
-- DEKLARASI DAFTAR VARIABEL UTAMA (Bersih dan Sinkron)
msd_vars = {
ATTACK_ORDER_GER_1 = 0,
ATTACK_ORDER_GER_2 = 0,
ATTACK_ORDER_GER_3 = 0,
ATTACK_ORDER_GER_4 = 0,
BREAKTHROUGHGERMANTRENCHE = 0,
GER_COUNTERATTACK_1_DELAY = 0,
GER_COUNTERATTACK_1_SPAWNED = 0,
GER_COUNTERATTACK_2_DELAY = 0,
GER_COUNTERATTACK_2_SPAWNED = 0,
GER_COUNTERATTACK_3_DELAY = 0,
GER_COUNTERATTACK_3_SPAWNED = 0,
GER_COUNTERATTACK_4_DELAY = 0,
GER_COUNTERATTACK_4_SPAWNED = 0,
HOLD_CITY_PREP_TIMER = 0,
HOLD_CITY_TIMER = 0, -- Status waktu: 0 = berjalan, 1 = waktu habis (menang), 2 = tamat/kunci
USSR_BEACH_SUPPLY_SPAWNED = 0,
USSR_CITY_SUPPLY_SPAWNED = 0,
USSR_HQ_REINFORCEMENT_SPAWNED = 0,
USSR_EMERGENCY_REINF_TIMER = 0,
}
end
function func_MAIN_SCRIPT()
-- =========================================================================
-- 1. KONDISI KEKALAHAN UTAMA
-- =========================================================================
if NumPlayerUnits("Player") == 0 and msd_vars.HOLD_CITY_TIMER ~= 2 and msd_vars.HOLD_CITY_TIMER ~= 3 then
msd_vars.HOLD_CITY_TIMER = 3
AIparts:RemovePeriodic("MAIN SCRIPT")
PlayerDefeat("Player")
return
end
if msd_vars.USSR_CITY_SUPPLY_SPAWNED == 1 and msd_vars.HOLD_CITY_TIMER == 0 then
if NumPlayerUnitsInZone("Player", "ZONE_CITY_CENTER") == 0 then
msd_vars.HOLD_CITY_TIMER = 3
AIparts:RemovePeriodic("MAIN SCRIPT")
PlayerDefeat("Player")
return
end
end
-- =========================================================================
-- OBJEKTIF 1: BREAK THROUGH GERMAN TRENCHES
-- =========================================================================
if ((NumGroupUnits("GER_BEACH_DEFENSE_LEFT", 0, true, true, true) == 0
and NumGroupUnits("GER_BEACH_DEFENSE_RIGHT", 0, true, true, true) == 0
and NumGroupUnits("GER_BEACH_DEFENSE_CENTER", 0, true, true, true) == 0)
or NumPlayerUnitsInZone("Player", "ZONE_BEACH_CENTER") > 0)
and msd_vars.USSR_BEACH_SUPPLY_SPAWNED == 0 then
SetObjectiveComplete("Break Through German Trenches", "Player")
ActivateObjective("Capture the City")
mission.OutMessage(129)
RunSpawn("Player", {"Ussr Deploy 1"}, "GATE_BEACH_ENTRY", "USSR BEACH ASSAULT CENTER", "", true, true, {}, false, 0)
msd_vars.USSR_BEACH_SUPPLY_SPAWNED = 1
end
-- =========================================================================
-- OBJEKTIF 2: CAPTURE THE CITY
-- =========================================================================
if NumPlayerUnitsInZone("Player", "ZONE_CITY_CENTER") > 0 and msd_vars.USSR_CITY_SUPPLY_SPAWNED == 0 then
SetObjectiveComplete("Capture the City", "Player")
ActivateObjective("CAPTURE GERMAN HQ")
RunSpawn("Player", {"Ussr Deploy 2"}, "GATE_USSR_CITY_SUPPLY_01", "USSR CITY ASSAULT", "", true, true, {}, false, 0)
msd_vars.USSR_CITY_SUPPLY_SPAWNED = 1
end
-- =========================================================================
-- OBJEKTIF 3: CAPTURE GERMAN HQ & PICU TIMER
-- =========================================================================
if NumPlayerUnitsInZone("Player", "ZONE_GER_HQ") > 0
and NumGroupUnits("GER HQ", 0, false, false, false) == 0
and msd_vars.USSR_HQ_REINFORCEMENT_SPAWNED == 0 then
msd_vars.USSR_HQ_REINFORCEMENT_SPAWNED = 1
SetObjectiveComplete("CAPTURE GERMAN HQ", "Player")
ActivateObjective("HOLD THE CITY")
mission.OutMessage(100000)
RunSpawn("Player", {"ussr Reinforcement1"}, "GATE_USSR_REINFORCEMENT_01", "USSR CITY ASSAULT", "", true, false, {}, true, 0)
mission.OutMessage(100001)
-- Timer persiapan serangan balik Jerman ke-1 (180 detik / 3 menit)
AIparts:AddOneTime("TIMER_VAR_HOLD_CITY_PREP_TIMER", 180*10, function() msd_vars.HOLD_CITY_PREP_TIMER = 1 end)
-- TIMER UTAMA 30 MENIT BERTAHAN (1800 detik * 10 ticks = 18000 ticks)
-- Ketika waktu habis, fungsi ini mengubah variabel msd_vars.HOLD_CITY_TIMER menjadi 1
AIparts:AddOneTime("TIMER_VAR_HOLD_CITY_COUNTDOWN", 1800*10, function() msd_vars.HOLD_CITY_TIMER = 1 end)
-- Memicu sistem suplai bantuan logistik berkala milik player (setiap 5 menit)
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_PLAYER_REINF_"), 300*10, function() msd_vars.USSR_EMERGENCY_REINF_TIMER = 1 end)
end
-- =========================================================================
-- SISTEM LOGISTIK BERKALA PLAYER (SETIAP 5 MENIT)
-- =========================================================================
if msd_vars.USSR_EMERGENCY_REINF_TIMER == 1 and msd_vars.HOLD_CITY_TIMER == 0 then
RunSpawn("Player", {"ussr Reinforcement2"}, "GATE_USSR_REINFORCEMENT_01", "USSR CITY ASSAULT", "", true, false, {}, true, 0)
RunSpawn("Player", {"ussr Reinforcement2"}, "GATE_USSR_REINFORCEMENT_02", "USSR CITY ASSAULT", "", true, false, {}, true, 0)
RunSpawn("Player", {"Ussr Deploy 1"}, "GATE_BEACH_ENTRY", "USSR BEACH ASSAULT CENTER", "", true, true, {}, false, 0)
mission.OutMessage(100005)
msd_vars.USSR_EMERGENCY_REINF_TIMER = 0
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_PLAYER_REINF_"), 300*10, function() msd_vars.USSR_EMERGENCY_REINF_TIMER = 1 end)
end
-- =========================================================================
-- SERANGAN BALIK JERMAN GELOMBANG 1 SAMPAI 4 (JEDA 5 MENIT SEKALI)
-- =========================================================================
if msd_vars.HOLD_CITY_PREP_TIMER == 1 and msd_vars.GER_COUNTERATTACK_1_SPAWNED == 0 then
RunSpawn("Enemy", {"GER_COUNTERATTACK_01"}, "GATE_GER_COUNTERATTACK_01", "GER COUNTERATTACK 1", "", true, false, {}, true, 15)
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_ATK_"), 30*10, function() msd_vars.ATTACK_ORDER_GER_1 = 1 end)
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_DELAY_"), 300*10, function() msd_vars.GER_COUNTERATTACK_2_DELAY = 3 end)
msd_vars.GER_COUNTERATTACK_1_SPAWNED = 1
end
if msd_vars.ATTACK_ORDER_GER_1 == 1 then
GroupAttackPlace("GER COUNTERATTACK 1", "WP_GER_CITY_ASSAULT", 15)
msd_vars.ATTACK_ORDER_GER_1 = 2
end
if msd_vars.GER_COUNTERATTACK_2_DELAY == 3 and msd_vars.GER_COUNTERATTACK_2_SPAWNED == 0 then
RunSpawn("Enemy", {"GER_COUNTERATTACK_02"}, "GATE_GER_COUNTERATTACK_02", "GER COUNTERATTACK 2", "", true, false, {}, true, 15)
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_ATK_"), 30*10, function() msd_vars.ATTACK_ORDER_GER_2 = 1 end)
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_DELAY_"), 300*10, function() msd_vars.GER_COUNTERATTACK_3_DELAY = 1 end)
msd_vars.GER_COUNTERATTACK_2_SPAWNED = 1
end
if msd_vars.ATTACK_ORDER_GER_2 == 1 then
GroupAttackPlace("GER COUNTERATTACK 2", "WP_GER_CITY_ASSAULT", 15)
msd_vars.ATTACK_ORDER_GER_2 = 3
end
if msd_vars.GER_COUNTERATTACK_3_DELAY == 1 and msd_vars.GER_COUNTERATTACK_3_SPAWNED == 0 then
mission.OutMessage(100002)
RunSpawn("Enemy", {"GER_COUNTERATTACK_03"}, "GATE_GER_COUNTERATTACK_03", "GER_COUNTERATTACK_3", "", true, false, {}, true, 15)
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_ATK_"), 30*10, function() msd_vars.ATTACK_ORDER_GER_3 = 1 end)
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_DELAY_"), 300*10, function() msd_vars.GER_COUNTERATTACK_4_DELAY = 1 end)
msd_vars.GER_COUNTERATTACK_3_SPAWNED = 1
end
if msd_vars.ATTACK_ORDER_GER_3 == 1 then
GroupAttackPlace("GER_COUNTERATTACK_3", "WP_GER_CITY_ASSAULT", 15)
msd_vars.ATTACK_ORDER_GER_3 = 4
end
if msd_vars.GER_COUNTERATTACK_4_DELAY == 1 and msd_vars.GER_COUNTERATTACK_4_SPAWNED == 0 then
RunSpawn("Enemy", {"GER_COUNTERATTACK_04"}, "GATE_GER_COUNTERATTACK_04", "GER_COUNTERATTACK_4", "", true, false, {}, true, 15)
AIparts:AddOneTime(AIparts:GetUniqueId("TIMER_ATK_"), 30*10, function() msd_vars.ATTACK_ORDER_GER_4 = 1 end)
msd_vars.GER_COUNTERATTACK_4_SPAWNED = 1
end
if msd_vars.ATTACK_ORDER_GER_4 == 1 then
GroupAttackPlace("GER_COUNTERATTACK_4", "WP_GER_CITY_ASSAULT", 15)
msd_vars.ATTACK_ORDER_GER_4 = 5
end
-- =========================================================================
-- EKSEKUSI PENUTUP MISI UTAMA: URUTAN TERBAIK PEMICU PAPAN SKOR KEMENANGAN
-- =========================================================================
if msd_vars.HOLD_CITY_TIMER == 1 then
-- Langkah 1: Langsung kunci status agar mesin terputus dari loop ticks selanjutnya
msd_vars.HOLD_CITY_TIMER = 2
msd_vars.USSR_EMERGENCY_REINF_TIMER = 0
AIparts:RemovePeriodic("MAIN SCRIPT")
-- Langkah 2: Selesaikan status teks misi di layar HUD
mission.OutMessage(124)
SetObjectiveComplete("HOLD THE CITY", "Player")
mission.OutScreenMessage(124, 5, "0xFF000000")
-- Langkah 3: Perintah mutlak Fireglow untuk menghentikan total gameplay taktis,
-- menyalakan lagu kemenangan, dan langsung menampilkan lembar visual PAPAN SKOR.
SetMissionResult(true)
EndMission()
end
end
The script cannot be run; there are no errors, but the commands are not being executed.
Hauptforum für Sudden Strike 3.
Antworten
1 Beitrag
• Seite 1 von 1
Gehe zu
- Panzer Strike (Coming soon)
- ↳ Information Panzer Strike
- ↳ Videos Panzer Strike
- Allgemein (Generally)
- ↳ Allgemeines Forum
- ↳ Virtueller Flohmarkt / Tauschbörse
- ↳ Filme, Dokus, Bücher, Reportagen, eure Multiplayer Geschichten und YouTube
- ↳ Modellbau von A - Z
- ↳ Off Topic
- ↳ Rund um Games / Internet
- Mapbereich / Map-Area
- ↳ Map-Testbereich / Map-Test-Area (alle Versionen)
- ↳ Map-Testbereich / Map-Test-Area (RWM Maps)
- ↳ Maprohlinge / Maps without Scripts
- ↳ Mapveröffentlichungen / Mapreleases at www.sudden-strike-maps.de
- Let´s Play Videos
- ↳ Videos
- Technik und Modding von A-Z rund um Sudden Strike und Co
- ↳ Alles rund um Router und Firewalls
- ↳ Editor Fibel
- ↳ Alles zum Thema Modding
- Sudden-Strike Forever
- ↳ Sudden-Strike Forever Allgemein
- ↳ Sudden Strike Forever Mapeditor & Scripte
- Sudden Strike 2
- ↳ Sudden Strike 2
- ↳ Sudden Strike 2 Mapeditor / Scripte
- ↳ Cold War Conflicts
- RWM - Real Warfare Mod für Sudden Strike 2 und Sudden Strike Ressorce War
- ↳ RWM Allgemein
- ↳ RWM 8.0 v4.xx
- ↳ RWM 8.0 für SSRW
- ↳ RWM 8.5 für SS RW
- ↳ RWM 6.5, 6.6 und 6.71
- ↳ RWM 6.8 Forum
- Pacific Warfare Mod
- ↳ PWM 1+2
- ↳ PWM 3.0
- Sudden Strike Resource War
- ↳ Sudden Strike Resource War
- ↳ Eastern Front Mod
- ↳ Spanish Civil War Mod
- ↳ Modern Warfare Mod 2+3
- ↳ Real Wargame -Truth of War
- ↳ Vietnam Project
- ↳ World at War Mod
- ↳ PRM (SS RW)
- ↳ AXPRM (SS RW)
- ↳ Warzone 2
- ↳ Liberation Mod (SS RW)
- ↳ RCM (alle Versionen)
- ↳ Longrange Mod
- Sudden Strike 3 (Arms for Victory und Update Last Stand)
- ↳ Sudden Strike 3
- ↳ Modern Arms series
- ↳ Sudden Strike 3 Mods
- ↳ Sudden Strike 3 Modding und Map Editor
- ↳ SS 3 Maps-Fundgrube
- Sudden Strike 4
- ↳ Sudden Strike 4 Neuigkeiten
- ↳ Sudden Strike 4 Modding (englisch / deutsch)
- ↳ Sudden Strike 4 Mapeditor (englisch / deutsch)
- ↳ Map-Testbereich / Map-Test-Area (Sudden Strike 4)
- ↳ Official Sudden Strike 4Ever - A mod about realism
- Sudden Strike 5
- ↳ Sudden Strike 5 News
- APRM - Hidden Stroke 1+2 mit Mods
- ↳ APRM Allgemein
- ↳ Hidden Stroke
- ↳ Hidden Stroke II
- ↳ Hidden Stroke III + IV Mod
- ↳ Neddus Stroke
- Geschichte
- ↳ Waffen und Kriegskonflikte der Neuzeit
- ↳ 2. Weltkrieg (Schlachten, Gefechtsberichte, Biographien und Waffe)
- Archiv
- ↳ Archiv