warning message when loading/reloading a mod

Ask for help about creating mods and scripts for Grimrock 2 or share your tips, scripts, tools and assets with other modders here. Warning: forum contains spoilers!
bongobeat
Posts: 1076
Joined: Thu May 16, 2013 5:58 pm
Location: France

warning message when loading/reloading a mod

Post by bongobeat »

Since a few days, I sometimes got that error message from the editor:
SpoilerShow
Image
anyone already have that one? what does that mean?


this is what it is on the line 116341

Code: Select all

spawn("indus_biodome_moongate_door",14,4,1,0,"indus_biodome_moongate_door_5")
My asset pack: viewtopic.php?f=22&t=9320

Log1 mod : Toorum Manor: viewtopic.php?f=14&t=5505
minmay
Posts: 2790
Joined: Mon Sep 23, 2013 2:24 am

Re: warning message when loading/reloading a mod

Post by minmay »

Functions in Lua are limited to 65536 constants at compile time. Because dungeon.lua uses a string constant for every GameObject id and GameObject ids are unique, every GameObject placed in your dungeon corresponds to at least one constant (more if one of its name, or one of its x,y,facing,elevation,level values has not appeared previously).

I see two possible solutions to this.

1. hack the dungeon editor to save dungeon.lua with its constants spread across multiple functions if there are too many GameObjects (hard)
2. reduce the number of GameObjects explicitly placed in the editor in your dungeon (easy: you can just spawn some objects immediately after the game starts and delete them in the editor)

Example of 2.: suppose you have this in your dungeon.lua on level 37:

Code: Select all

spawn("cemetery_fence_01",19,17,3,0,"cemetery_fence_01_34")
spawn("cemetery_fence_01",18,15,1,0,"cemetery_fence_01_36")
spawn("cemetery_fence_01",20,14,2,0,"cemetery_fence_01_37")
spawn("cemetery_fence_01",21,14,2,0,"cemetery_fence_01_38")
spawn("cemetery_fence_01",19,15,0,0,"cemetery_fence_01_39")
spawn("cemetery_arch_01",18,16,1,0,"cemetery_arch_01_1")
spawn("cemetery_pillar_01",19,16,2,0,"cemetery_pillar_01_10")
spawn("cemetery_pillar_01",19,17,2,0,"cemetery_pillar_01_11")
spawn("beach_rock_2x1",31,26,2,0,"beach_rock_2x1_5")
spawn("cemetery_wall_01",7,18,0,0,"cemetery_wall_01_1")
spawn("cemetery_pillar_01",18,18,2,0,"cemetery_pillar_01_12")
spawn("cemetery_pillar_01",17,18,2,0,"cemetery_pillar_01_13")
spawn("cemetery_pillar_01",16,18,1,0,"cemetery_pillar_01_14")
spawn("cemetery_pillar_01",15,18,1,0,"cemetery_pillar_01_15")
spawn("cemetery_pillar_01",14,18,1,0,"cemetery_pillar_01_16")
spawn("cemetery_pillar_01",13,18,2,0,"cemetery_pillar_01_17")
spawn("cemetery_pillar_01",12,18,3,0,"cemetery_pillar_01_18")
spawn("cemetery_pillar_01",11,18,3,0,"cemetery_pillar_01_19")
spawn("cemetery_pillar_01",10,18,1,0,"cemetery_pillar_01_20")
spawn("cemetery_pillar_01",9,18,1,0,"cemetery_pillar_01_21")
spawn("cemetery_pillar_01",8,18,1,0,"cemetery_pillar_01_22")
spawn("cemetery_pillar_01",7,18,1,0,"cemetery_pillar_01_23")
spawn("cemetery_pillar_01",3,17,2,0,"cemetery_pillar_01_24")
spawn("cemetery_pillar_01",5,18,2,0,"cemetery_pillar_01_25")
spawn("cemetery_pillar_01",4,18,3,0,"cemetery_pillar_01_26")
spawn("cemetery_pillar_01",4,17,0,0,"cemetery_pillar_01_27")
spawn("cemetery_pillar_01",4,16,1,0,"cemetery_pillar_01_28")
spawn("cemetery_pillar_01",3,16,1,0,"cemetery_pillar_01_29")
spawn("cemetery_pillar_01",3,15,0,0,"cemetery_pillar_01_30")
spawn("cemetery_pillar_01",3,14,1,0,"cemetery_pillar_01_31")
spawn("cemetery_pillar_01",3,13,2,0,"cemetery_pillar_01_32")
spawn("cemetery_pillar_01",3,12,0,0,"cemetery_pillar_01_33")
spawn("cemetery_pillar_01",3,11,2,0,"cemetery_pillar_01_34")
spawn("cemetery_pillar_01",3,10,0,0,"cemetery_pillar_01_35")
spawn("cemetery_pillar_01",3,9,3,0,"cemetery_pillar_01_36")
spawn("cemetery_pillar_01",3,8,2,0,"cemetery_pillar_01_37")
spawn("cemetery_pillar_01",3,7,1,0,"cemetery_pillar_01_38")
spawn("cemetery_pillar_01",3,6,0,0,"cemetery_pillar_01_39")
spawn("cemetery_pillar_01",3,5,1,0,"cemetery_pillar_01_40")
spawn("cemetery_pillar_01",4,5,0,0,"cemetery_pillar_01_41")
spawn("cemetery_pillar_01",5,5,0,0,"cemetery_pillar_01_42")
spawn("cemetery_pillar_01",5,4,0,0,"cemetery_pillar_01_43")
spawn("cemetery_pillar_01",6,4,2,0,"cemetery_pillar_01_44")
spawn("cemetery_pillar_01",7,4,2,0,"cemetery_pillar_01_45")
spawn("cemetery_pillar_01",7,3,3,0,"cemetery_pillar_01_46")
spawn("cemetery_pillar_01",8,3,3,0,"cemetery_pillar_01_47")
spawn("cemetery_pillar_01",9,3,2,0,"cemetery_pillar_01_48")
spawn("cemetery_pillar_01",10,3,2,0,"cemetery_pillar_01_49")
spawn("cemetery_pillar_01",11,3,2,0,"cemetery_pillar_01_50")
spawn("cemetery_pillar_01",13,3,2,0,"cemetery_pillar_01_51")
spawn("cemetery_pillar_01",12,3,2,0,"cemetery_pillar_01_52")
spawn("cemetery_pillar_01",14,3,3,0,"cemetery_pillar_01_53")
spawn("cemetery_pillar_01",15,3,3,0,"cemetery_pillar_01_54")
spawn("cemetery_pillar_01",16,3,3,0,"cemetery_pillar_01_55")
spawn("cemetery_pillar_01",17,3,2,0,"cemetery_pillar_01_56")
spawn("cemetery_pillar_01",18,3,1,0,"cemetery_pillar_01_57")
spawn("cemetery_pillar_01",19,3,0,0,"cemetery_pillar_01_58")
spawn("cemetery_pillar_01",19,4,2,0,"cemetery_pillar_01_59")
spawn("cemetery_pillar_01",20,4,2,0,"cemetery_pillar_01_60")
spawn("cemetery_pillar_01",21,4,2,0,"cemetery_pillar_01_61")
spawn("cemetery_pillar_01",21,5,1,0,"cemetery_pillar_01_62")
spawn("cemetery_pillar_01",22,5,1,0,"cemetery_pillar_01_63")
spawn("cemetery_pillar_01",22,6,1,0,"cemetery_pillar_01_64")
spawn("cemetery_pillar_01",22,7,1,0,"cemetery_pillar_01_65")
spawn("cemetery_pillar_01",22,8,3,0,"cemetery_pillar_01_66")
spawn("cemetery_pillar_01",22,9,0,0,"cemetery_pillar_01_67")
spawn("cemetery_pillar_01",22,10,0,0,"cemetery_pillar_01_68")
spawn("cemetery_pillar_01",22,11,3,0,"cemetery_pillar_01_69")
spawn("cemetery_pillar_01",22,12,3,0,"cemetery_pillar_01_70")
spawn("cemetery_pillar_01",22,13,0,0,"cemetery_pillar_01_71")
spawn("cemetery_pillar_01",22,14,1,0,"cemetery_pillar_01_72")
spawn("cemetery_pillar_01",22,15,1,0,"cemetery_pillar_01_73")
spawn("cemetery_pillar_01",21,15,1,0,"cemetery_pillar_01_74")
spawn("cemetery_pillar_01",20,15,1,0,"cemetery_pillar_01_75")
spawn("cemetery_pillar_01",19,15,3,0,"cemetery_pillar_01_76")
spawn("cemetery_pillar_01",22,16,2,0,"cemetery_pillar_01_77")
spawn("cemetery_pillar_01",22,17,3,0,"cemetery_pillar_01_78")
spawn("cemetery_pillar_01",21,17,2,0,"cemetery_pillar_01_79")
spawn("cemetery_pillar_01",21,18,1,0,"cemetery_pillar_01_80")
spawn("cemetery_pillar_01",20,18,1,0,"cemetery_pillar_01_81")
spawn("cemetery_pillar_01",19,18,2,0,"cemetery_pillar_01_82")
spawn("cemetery_pillar_01",19,20,0,0,"cemetery_pillar_01_83")
spawn("cemetery_pillar_01",18,20,1,0,"cemetery_pillar_01_84")
spawn("cemetery_wall_01",18,18,3,0,"cemetery_wall_01_2")
spawn("cemetery_pillar_01",18,19,1,0,"cemetery_pillar_01_85")
spawn("cemetery_wall_01",19,18,3,0,"cemetery_wall_01_3")
spawn("cemetery_pillar_01",19,19,1,0,"cemetery_pillar_01_86")
spawn("cemetery_wall_01",17,20,0,0,"cemetery_wall_01_4")
spawn("cemetery_pillar_01",17,20,2,0,"cemetery_pillar_01_87")
spawn("cemetery_wall_01",19,20,0,0,"cemetery_wall_01_5")
spawn("cemetery_pillar_01",20,20,2,0,"cemetery_pillar_01_88")
spawn("cemetery_wall_01",22,30,0,0,"cemetery_wall_01_7")
spawn("cemetery_wall_01",23,30,0,0,"cemetery_wall_01_35")
spawn("cemetery_wall_01",24,30,0,0,"cemetery_wall_01_65")
spawn("cemetery_wall_01",26,30,0,0,"cemetery_wall_01_79")
spawn("cemetery_wall_01",29,29,3,0,"cemetery_wall_01_83")
spawn("cemetery_wall_01",25,26,0,0,"cemetery_wall_01_88")
spawn("cemetery_wall_01",24,27,0,0,"cemetery_wall_01_89")
spawn("cemetery_wall_01",23,27,0,0,"cemetery_wall_01_92")
spawn("cemetery_wall_01",21,27,1,0,"cemetery_wall_01_94")
spawn("cemetery_wall_01",22,27,0,0,"cemetery_wall_01_95")
spawn("cemetery_wall_01",11,25,0,0,"cemetery_wall_01_97")
spawn("cemetery_wall_01",12,24,3,0,"cemetery_wall_01_98")
spawn("cemetery_wall_01",9,25,0,0,"cemetery_wall_01_99")
spawn("cemetery_wall_01",9,24,3,0,"cemetery_wall_01_100")
spawn("cemetery_wall_01",9,22,3,0,"cemetery_wall_01_101")
spawn("cemetery_wall_01",9,23,3,0,"cemetery_wall_01_102")
spawn("cemetery_wall_01",8,21,3,0,"cemetery_wall_01_106")
spawn("cemetery_wall_01",10,20,1,0,"cemetery_wall_01_119")
spawn("cemetery_wall_01",11,21,0,0,"cemetery_wall_01_120")
spawn("cemetery_wall_01",12,21,0,0,"cemetery_wall_01_121")
spawn("cemetery_wall_01",12,21,1,0,"cemetery_wall_01_122")
spawn("cemetery_wall_01",12,22,1,0,"cemetery_wall_01_123")
spawn("cemetery_wall_01",13,23,1,0,"cemetery_wall_01_124")
spawn("cemetery_wall_01",12,24,0,0,"cemetery_wall_01_125")
spawn("cemetery_wall_01",22,29,3,0,"cemetery_wall_01_82")
spawn("cemetery_arch_01",26,18,2,0,"cemetery_arch_01_4")
spawn("cemetery_pillar_01",12,21,0,0,"cemetery_pillar_01_90")
spawn("cemetery_pillar_01",11,21,3,0,"cemetery_pillar_01_91")
spawn("cemetery_pillar_01",10,21,1,0,"cemetery_pillar_01_92")
spawn("cemetery_pillar_01",13,21,2,0,"cemetery_pillar_01_94")
spawn("cemetery_pillar_01",13,23,3,0,"cemetery_pillar_01_95")
spawn("cemetery_pillar_01",13,24,0,0,"cemetery_pillar_01_96")
spawn("cemetery_pillar_01",12,24,2,0,"cemetery_pillar_01_97")
spawn("cemetery_pillar_01",12,25,0,0,"cemetery_pillar_01_98")
spawn("cemetery_pillar_01",11,25,1,0,"cemetery_pillar_01_99")
spawn("cemetery_pillar_01",10,25,2,0,"cemetery_pillar_01_100")
spawn("cemetery_pillar_01",9,25,3,0,"cemetery_pillar_01_101")
spawn("cemetery_pillar_01",9,24,1,0,"cemetery_pillar_01_102")
spawn("cemetery_pillar_01",9,24,0,0,"cemetery_pillar_01_103")
spawn("cemetery_pillar_01",9,22,2,0,"cemetery_pillar_01_104")
spawn("cemetery_pillar_01",22,27,2,0,"cemetery_pillar_01_105")
spawn("cemetery_pillar_01",22,28,1,0,"cemetery_pillar_01_107")
spawn("cemetery_pillar_01",23,27,3,0,"cemetery_pillar_01_109")
spawn("cemetery_pillar_01",24,27,1,0,"cemetery_pillar_01_110")
spawn("cemetery_pillar_01",25,27,3,0,"cemetery_pillar_01_111")
spawn("cemetery_pillar_01",29,30,2,0,"cemetery_pillar_01_115")
spawn("cemetery_pillar_01",25,30,3,0,"cemetery_pillar_01_116")
spawn("cemetery_pillar_01",24,30,0,0,"cemetery_pillar_01_118")
spawn("cemetery_pillar_01",23,30,2,0,"cemetery_pillar_01_119")
spawn("cemetery_pillar_01",22,30,3,0,"cemetery_pillar_01_121")
spawn("cemetery_pillar_01",22,29,0,0,"cemetery_pillar_01_122")
spawn("cemetery_wall_01",25,21,3,0,"cemetery_wall_01_90")
spawn("cemetery_wall_01",25,20,3,0,"cemetery_wall_01_126")
spawn("cemetery_wall_01",25,19,3,0,"cemetery_wall_01_127")
spawn("cemetery_wall_01",25,19,0,0,"cemetery_wall_01_128")
spawn("cemetery_wall_01",27,19,0,0,"cemetery_wall_01_129")
spawn("cemetery_wall_01",27,18,1,0,"cemetery_wall_01_130")
spawn("cemetery_wall_01",28,17,3,0,"cemetery_wall_01_131")
spawn("cemetery_wall_01",28,16,2,0,"cemetery_wall_01_132")
spawn("cemetery_wall_01",29,17,0,0,"cemetery_wall_01_133")
spawn("cemetery_wall_01",29,17,1,0,"cemetery_wall_01_134")
spawn("cemetery_wall_01",29,18,1,0,"cemetery_wall_01_135")
spawn("cemetery_wall_01",29,19,1,0,"cemetery_wall_01_136")
spawn("cemetery_wall_01",29,20,1,0,"cemetery_wall_01_137")
spawn("cemetery_wall_01",29,21,1,0,"cemetery_wall_01_138")
spawn("cemetery_wall_01",29,22,1,0,"cemetery_wall_01_139")
spawn("cemetery_wall_01",30,25,0,0,"cemetery_wall_01_140")
spawn("cemetery_wall_01",27,24,0,0,"cemetery_wall_01_142")
spawn("cemetery_wall_01",26,24,0,0,"cemetery_wall_01_143")
spawn("cemetery_wall_01",25,24,0,0,"cemetery_wall_01_144")
spawn("cemetery_arch_01",24,23,1,0,"cemetery_arch_01_6")
spawn("cemetery_wall_01",25,22,3,0,"cemetery_wall_01_86")
spawn("cemetery_fence_01",28,21,0,0,"cemetery_fence_01_40")
spawn("cemetery_fence_01",26,21,3,0,"cemetery_fence_01_41")
spawn("cemetery_fence_01",28,20,0,0,"cemetery_fence_01_42")
spawn("cemetery_fence_01",25,21,0,0,"cemetery_fence_01_43")
spawn("cemetery_pillar_01",25,23,3,0,"cemetery_pillar_01_123")
spawn("cemetery_pillar_01",25,22,2,0,"cemetery_pillar_01_124")
spawn("cemetery_pillar_01",25,21,3,0,"cemetery_pillar_01_125")
spawn("cemetery_pillar_01",25,20,2,0,"cemetery_pillar_01_126")
spawn("cemetery_pillar_01",25,19,0,0,"cemetery_pillar_01_127")
spawn("cemetery_pillar_01",26,19,3,0,"cemetery_pillar_01_128")
spawn("cemetery_pillar_01",27,19,1,0,"cemetery_pillar_01_129")
spawn("cemetery_pillar_01",28,19,1,0,"cemetery_pillar_01_130")
spawn("cemetery_pillar_01",28,18,0,0,"cemetery_pillar_01_131")
spawn("cemetery_pillar_01",28,17,1,0,"cemetery_pillar_01_132")
spawn("cemetery_pillar_01",29,17,2,0,"cemetery_pillar_01_133")
spawn("cemetery_pillar_01",30,17,1,0,"cemetery_pillar_01_134")
spawn("cemetery_pillar_01",30,18,1,0,"cemetery_pillar_01_135")
spawn("cemetery_pillar_01",30,19,1,0,"cemetery_pillar_01_136")
spawn("cemetery_pillar_01",30,20,0,0,"cemetery_pillar_01_137")
spawn("cemetery_pillar_01",30,21,3,0,"cemetery_pillar_01_138")
spawn("cemetery_pillar_01",30,22,3,0,"cemetery_pillar_01_139")
spawn("cemetery_pillar_01",30,23,3,0,"cemetery_pillar_01_141")
spawn("cemetery_pillar_01",28,24,3,0,"cemetery_pillar_01_142")
spawn("cemetery_pillar_01",28,23,0,0,"cemetery_pillar_01_143")
spawn("cemetery_pillar_01",27,24,3,0,"cemetery_pillar_01_144")
spawn("cemetery_pillar_01",26,24,2,0,"cemetery_pillar_01_145")
spawn("cemetery_pillar_01",25,24,3,0,"cemetery_pillar_01_146")
spawn("cemetery_pillar_01",26,21,3,0,"cemetery_pillar_01_147")
spawn("cemetery_pillar_01",29,20,3,0,"cemetery_pillar_01_148")
spawn("cemetery_pillar_01",29,21,3,0,"cemetery_pillar_01_149")
spawn("cemetery_pillar_01",26,22,1,0,"cemetery_pillar_01_150")
spawn("cemetery_pillar_01",28,21,3,0,"cemetery_pillar_01_151")
spawn("cemetery_pillar_01",28,20,3,0,"cemetery_pillar_01_152")
spawn("cemetery_fence_01",28,20,1,0,"cemetery_fence_01_44")
spawn("cemetery_fence_01",28,20,3,0,"cemetery_fence_01_45")
Replacing all instances of \,".*\) with ) and all instances of "\, with ",37, results in this:

Code: Select all

spawn("cemetery_fence_01",37,19,17,3,0)
spawn("cemetery_fence_01",37,18,15,1,0)
spawn("cemetery_fence_01",37,20,14,2,0)
spawn("cemetery_fence_01",37,21,14,2,0)
spawn("cemetery_fence_01",37,19,15,0,0)
spawn("cemetery_arch_01",37,18,16,1,0)
spawn("cemetery_pillar_01",37,19,16,2,0)
spawn("cemetery_pillar_01",37,19,17,2,0)
spawn("beach_rock_2x1",37,31,26,2,0)
spawn("cemetery_wall_01",37,7,18,0,0)
spawn("cemetery_pillar_01",37,18,18,2,0)
spawn("cemetery_pillar_01",37,17,18,2,0)
spawn("cemetery_pillar_01",37,16,18,1,0)
spawn("cemetery_pillar_01",37,15,18,1,0)
spawn("cemetery_pillar_01",37,14,18,1,0)
spawn("cemetery_pillar_01",37,13,18,2,0)
spawn("cemetery_pillar_01",37,12,18,3,0)
spawn("cemetery_pillar_01",37,11,18,3,0)
spawn("cemetery_pillar_01",37,10,18,1,0)
spawn("cemetery_pillar_01",37,9,18,1,0)
spawn("cemetery_pillar_01",37,8,18,1,0)
spawn("cemetery_pillar_01",37,7,18,1,0)
spawn("cemetery_pillar_01",37,3,17,2,0)
spawn("cemetery_pillar_01",37,5,18,2,0)
spawn("cemetery_pillar_01",37,4,18,3,0)
spawn("cemetery_pillar_01",37,4,17,0,0)
spawn("cemetery_pillar_01",37,4,16,1,0)
spawn("cemetery_pillar_01",37,3,16,1,0)
spawn("cemetery_pillar_01",37,3,15,0,0)
spawn("cemetery_pillar_01",37,3,14,1,0)
spawn("cemetery_pillar_01",37,3,13,2,0)
spawn("cemetery_pillar_01",37,3,12,0,0)
spawn("cemetery_pillar_01",37,3,11,2,0)
spawn("cemetery_pillar_01",37,3,10,0,0)
spawn("cemetery_pillar_01",37,3,9,3,0)
spawn("cemetery_pillar_01",37,3,8,2,0)
spawn("cemetery_pillar_01",37,3,7,1,0)
spawn("cemetery_pillar_01",37,3,6,0,0)
spawn("cemetery_pillar_01",37,3,5,1,0)
spawn("cemetery_pillar_01",37,4,5,0,0)
spawn("cemetery_pillar_01",37,5,5,0,0)
spawn("cemetery_pillar_01",37,5,4,0,0)
spawn("cemetery_pillar_01",37,6,4,2,0)
spawn("cemetery_pillar_01",37,7,4,2,0)
spawn("cemetery_pillar_01",37,7,3,3,0)
spawn("cemetery_pillar_01",37,8,3,3,0)
spawn("cemetery_pillar_01",37,9,3,2,0)
spawn("cemetery_pillar_01",37,10,3,2,0)
spawn("cemetery_pillar_01",37,11,3,2,0)
spawn("cemetery_pillar_01",37,13,3,2,0)
spawn("cemetery_pillar_01",37,12,3,2,0)
spawn("cemetery_pillar_01",37,14,3,3,0)
spawn("cemetery_pillar_01",37,15,3,3,0)
spawn("cemetery_pillar_01",37,16,3,3,0)
spawn("cemetery_pillar_01",37,17,3,2,0)
spawn("cemetery_pillar_01",37,18,3,1,0)
spawn("cemetery_pillar_01",37,19,3,0,0)
spawn("cemetery_pillar_01",37,19,4,2,0)
spawn("cemetery_pillar_01",37,20,4,2,0)
spawn("cemetery_pillar_01",37,21,4,2,0)
spawn("cemetery_pillar_01",37,21,5,1,0)
spawn("cemetery_pillar_01",37,22,5,1,0)
spawn("cemetery_pillar_01",37,22,6,1,0)
spawn("cemetery_pillar_01",37,22,7,1,0)
spawn("cemetery_pillar_01",37,22,8,3,0)
spawn("cemetery_pillar_01",37,22,9,0,0)
spawn("cemetery_pillar_01",37,22,10,0,0)
spawn("cemetery_pillar_01",37,22,11,3,0)
spawn("cemetery_pillar_01",37,22,12,3,0)
spawn("cemetery_pillar_01",37,22,13,0,0)
spawn("cemetery_pillar_01",37,22,14,1,0)
spawn("cemetery_pillar_01",37,22,15,1,0)
spawn("cemetery_pillar_01",37,21,15,1,0)
spawn("cemetery_pillar_01",37,20,15,1,0)
spawn("cemetery_pillar_01",37,19,15,3,0)
spawn("cemetery_pillar_01",37,22,16,2,0)
spawn("cemetery_pillar_01",37,22,17,3,0)
spawn("cemetery_pillar_01",37,21,17,2,0)
spawn("cemetery_pillar_01",37,21,18,1,0)
spawn("cemetery_pillar_01",37,20,18,1,0)
spawn("cemetery_pillar_01",37,19,18,2,0)
spawn("cemetery_pillar_01",37,19,20,0,0)
spawn("cemetery_pillar_01",37,18,20,1,0)
spawn("cemetery_wall_01",37,18,18,3,0)
spawn("cemetery_pillar_01",37,18,19,1,0)
spawn("cemetery_wall_01",37,19,18,3,0)
spawn("cemetery_pillar_01",37,19,19,1,0)
spawn("cemetery_wall_01",37,17,20,0,0)
spawn("cemetery_pillar_01",37,17,20,2,0)
spawn("cemetery_wall_01",37,19,20,0,0)
spawn("cemetery_pillar_01",37,20,20,2,0)
spawn("cemetery_wall_01",37,22,30,0,0)
spawn("cemetery_wall_01",37,23,30,0,0)
spawn("cemetery_wall_01",37,24,30,0,0)
spawn("cemetery_wall_01",37,26,30,0,0)
spawn("cemetery_wall_01",37,29,29,3,0)
spawn("cemetery_wall_01",37,25,26,0,0)
spawn("cemetery_wall_01",37,24,27,0,0)
spawn("cemetery_wall_01",37,23,27,0,0)
spawn("cemetery_wall_01",37,21,27,1,0)
spawn("cemetery_wall_01",37,22,27,0,0)
spawn("cemetery_wall_01",37,11,25,0,0)
spawn("cemetery_wall_01",37,12,24,3,0)
spawn("cemetery_wall_01",37,9,25,0,0)
spawn("cemetery_wall_01",37,9,24,3,0)
spawn("cemetery_wall_01",37,9,22,3,0)
spawn("cemetery_wall_01",37,9,23,3,0)
spawn("cemetery_wall_01",37,8,21,3,0)
spawn("cemetery_wall_01",37,10,20,1,0)
spawn("cemetery_wall_01",37,11,21,0,0)
spawn("cemetery_wall_01",37,12,21,0,0)
spawn("cemetery_wall_01",37,12,21,1,0)
spawn("cemetery_wall_01",37,12,22,1,0)
spawn("cemetery_wall_01",37,13,23,1,0)
spawn("cemetery_wall_01",37,12,24,0,0)
spawn("cemetery_wall_01",37,22,29,3,0)
spawn("cemetery_arch_01",37,26,18,2,0)
spawn("cemetery_pillar_01",37,12,21,0,0)
spawn("cemetery_pillar_01",37,11,21,3,0)
spawn("cemetery_pillar_01",37,10,21,1,0)
spawn("cemetery_pillar_01",37,13,21,2,0)
spawn("cemetery_pillar_01",37,13,23,3,0)
spawn("cemetery_pillar_01",37,13,24,0,0)
spawn("cemetery_pillar_01",37,12,24,2,0)
spawn("cemetery_pillar_01",37,12,25,0,0)
spawn("cemetery_pillar_01",37,11,25,1,0)
spawn("cemetery_pillar_01",37,10,25,2,0)
spawn("cemetery_pillar_01",37,9,25,3,0)
spawn("cemetery_pillar_01",37,9,24,1,0)
spawn("cemetery_pillar_01",37,9,24,0,0)
spawn("cemetery_pillar_01",37,9,22,2,0)
spawn("cemetery_pillar_01",37,22,27,2,0)
spawn("cemetery_pillar_01",37,22,28,1,0)
spawn("cemetery_pillar_01",37,23,27,3,0)
spawn("cemetery_pillar_01",37,24,27,1,0)
spawn("cemetery_pillar_01",37,25,27,3,0)
spawn("cemetery_pillar_01",37,29,30,2,0)
spawn("cemetery_pillar_01",37,25,30,3,0)
spawn("cemetery_pillar_01",37,24,30,0,0)
spawn("cemetery_pillar_01",37,23,30,2,0)
spawn("cemetery_pillar_01",37,22,30,3,0)
spawn("cemetery_pillar_01",37,22,29,0,0)
spawn("cemetery_wall_01",37,25,21,3,0)
spawn("cemetery_wall_01",37,25,20,3,0)
spawn("cemetery_wall_01",37,25,19,3,0)
spawn("cemetery_wall_01",37,25,19,0,0)
spawn("cemetery_wall_01",37,27,19,0,0)
spawn("cemetery_wall_01",37,27,18,1,0)
spawn("cemetery_wall_01",37,28,17,3,0)
spawn("cemetery_wall_01",37,28,16,2,0)
spawn("cemetery_wall_01",37,29,17,0,0)
spawn("cemetery_wall_01",37,29,17,1,0)
spawn("cemetery_wall_01",37,29,18,1,0)
spawn("cemetery_wall_01",37,29,19,1,0)
spawn("cemetery_wall_01",37,29,20,1,0)
spawn("cemetery_wall_01",37,29,21,1,0)
spawn("cemetery_wall_01",37,29,22,1,0)
spawn("cemetery_wall_01",37,30,25,0,0)
spawn("cemetery_wall_01",37,27,24,0,0)
spawn("cemetery_wall_01",37,26,24,0,0)
spawn("cemetery_wall_01",37,25,24,0,0)
spawn("cemetery_arch_01",37,24,23,1,0)
spawn("cemetery_wall_01",37,25,22,3,0)
spawn("cemetery_fence_01",37,28,21,0,0)
spawn("cemetery_fence_01",37,26,21,3,0)
spawn("cemetery_fence_01",37,28,20,0,0)
spawn("cemetery_fence_01",37,25,21,0,0)
spawn("cemetery_pillar_01",37,25,23,3,0)
spawn("cemetery_pillar_01",37,25,22,2,0)
spawn("cemetery_pillar_01",37,25,21,3,0)
spawn("cemetery_pillar_01",37,25,20,2,0)
spawn("cemetery_pillar_01",37,25,19,0,0)
spawn("cemetery_pillar_01",37,26,19,3,0)
spawn("cemetery_pillar_01",37,27,19,1,0)
spawn("cemetery_pillar_01",37,28,19,1,0)
spawn("cemetery_pillar_01",37,28,18,0,0)
spawn("cemetery_pillar_01",37,28,17,1,0)
spawn("cemetery_pillar_01",37,29,17,2,0)
spawn("cemetery_pillar_01",37,30,17,1,0)
spawn("cemetery_pillar_01",37,30,18,1,0)
spawn("cemetery_pillar_01",37,30,19,1,0)
spawn("cemetery_pillar_01",37,30,20,0,0)
spawn("cemetery_pillar_01",37,30,21,3,0)
spawn("cemetery_pillar_01",37,30,22,3,0)
spawn("cemetery_pillar_01",37,30,23,3,0)
spawn("cemetery_pillar_01",37,28,24,3,0)
spawn("cemetery_pillar_01",37,28,23,0,0)
spawn("cemetery_pillar_01",37,27,24,3,0)
spawn("cemetery_pillar_01",37,26,24,2,0)
spawn("cemetery_pillar_01",37,25,24,3,0)
spawn("cemetery_pillar_01",37,26,21,3,0)
spawn("cemetery_pillar_01",37,29,20,3,0)
spawn("cemetery_pillar_01",37,29,21,3,0)
spawn("cemetery_pillar_01",37,26,22,1,0)
spawn("cemetery_pillar_01",37,28,21,3,0)
spawn("cemetery_pillar_01",37,28,20,3,0)
spawn("cemetery_fence_01",37,28,20,1,0)
spawn("cemetery_fence_01",37,28,20,3,0)

self.go:destroy() -- dispose of script entity so it doesn't hurt serialization performance
which you can paste into a script_entity. The dungeon won't change unless the entity IDs of those objects were important (don't do this for GameObjects where you do need their IDs) but the number of constants in dungeon.lua is reduced.

The main function is just the implicit function that is the entire source block itself, in this case the entirety of dungeon.lua.
Grimrock 1 dungeon
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
bongobeat
Posts: 1076
Joined: Thu May 16, 2013 5:58 pm
Location: France

Re: warning message when loading/reloading a mod

Post by bongobeat »

This is wonderfull, thanks for the reply! I didn't understand why this was happened!

seems that I have hit the highscore with those thousands of objects and levels! Is there any guiness guy in this forum? I will be happy to be exposed in the next guiness books, for a few grimrock records! :lol:

hermm, I don't suppose you have some kind of script that can automatize a few lines of dungeon code, to be changed in a few lines of script code?
My asset pack: viewtopic.php?f=22&t=9320

Log1 mod : Toorum Manor: viewtopic.php?f=14&t=5505
User avatar
Isaac
Posts: 3192
Joined: Fri Mar 02, 2012 10:02 pm

Re: warning message when loading/reloading a mod

Post by Isaac »

bongobeat wrote:hermm, I don't suppose you have some kind of script that can automatize a few lines of dungeon code, to be changed in a few lines of script code?
Better to do it "by hand" ~using a decent text editor, with its find & replace feature.
bongobeat
Posts: 1076
Joined: Thu May 16, 2013 5:58 pm
Location: France

Re: warning message when loading/reloading a mod

Post by bongobeat »

I'm coming back on this thread:

is that better that you spawn all objects (for all levels) at the beginning in the mod, or to spawn objects only when coming on the concerned levels?
My asset pack: viewtopic.php?f=22&t=9320

Log1 mod : Toorum Manor: viewtopic.php?f=14&t=5505
User avatar
Eleven Warrior
Posts: 752
Joined: Thu Apr 18, 2013 2:32 pm
Location: Australia

Re: warning message when loading/reloading a mod

Post by Eleven Warrior »

Hi Bongo.

I actually spawn most objects onto each level and in some level when the player finishes them I delete most of the objects. I have that reload times increase very good.
bongobeat
Posts: 1076
Joined: Thu May 16, 2013 5:58 pm
Location: France

Re: warning message when loading/reloading a mod

Post by bongobeat »

Hey Eleven,

How many objects you remove after the end of the level exactly?

then you respawn all of them, if I have understand, if the player come back in the level? how do you do that?
My asset pack: viewtopic.php?f=22&t=9320

Log1 mod : Toorum Manor: viewtopic.php?f=14&t=5505
User avatar
Eleven Warrior
Posts: 752
Joined: Thu Apr 18, 2013 2:32 pm
Location: Australia

Re: warning message when loading/reloading a mod

Post by Eleven Warrior »

Hi Bongo.

On certain levels in my mod I have made it so that the player cannot return to that level eg: Namara Caves. When the player does everything in the level they are teleported out of that level onto a spawned floor_trigger which activates a script to destroy most object in the Cave level.

WARNING!! Don't destroy objects like Altars, alcoves or socket objects as this could crash your mod. If the player leaves a item on a Altar and you try to destroy that altar via script then WHAMMMM CRASH.

I just destroy objects that are not required anymore eg: beach_rock etc.... If I want the player to come back to the same level and don't want them to check out the whole level then I just spawn a few things and use a hudprint saying: Wow things have changed since we were here.

Since Minmay reported that you can only have some many objects in your mod I had to do some levels where the player cannot return, I destroy all those objects by, yes hand. It then allows me to build bigger levels.

I also build a few levels the way I want them and check the objects position(s) eg: beach_rock_01_ (1 1,1,1,0,0) then I spawn it like this with a small name: (spawn"beach_rock_01",1,1,1,0,0,"br1"). Yes it is labour intensive but it works when I need to destroy them later.

Most of the levels in my mod are empty of objects and are spawned as the player reaches that level and then the levels behind the player the objects are destroyed. So it allows me to have good looking levels and not worry about object counting. Of course it takes a lot longer to build the Mod but it's working for me ATM :)
minmay
Posts: 2790
Joined: Mon Sep 23, 2013 2:24 am

Re: warning message when loading/reloading a mod

Post by minmay »

Eleven Warrior wrote:Since Minmay reported that you can only have some many objects in your mod
I never reported any such thing. It's not true.
Grimrock 1 dungeon
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
User avatar
Isaac
Posts: 3192
Joined: Fri Mar 02, 2012 10:02 pm

Re: warning message when loading/reloading a mod

Post by Isaac »

Eleven Warrior wrote:Hi Bongo.
Most of the levels in my mod are empty of objects and are spawned as the player reaches that level and then the levels behind the player the objects are destroyed. So it allows me to have good looking levels and not worry about object counting. Of course it takes a lot longer to build the Mod but it's working for me ATM :)
This is how the ORRR2 works, except that it's done per room rather than per level; had to be... The frame rate was terrible; the maps are really dense.
Post Reply