[Crash] Somehow, party:setPosition doesn't like me - SOLVED

Talk about creating Grimrock 1 levels and mods here. Warning: forum contains spoilers!
Post Reply
User avatar
MakenMedium
Posts: 5
Joined: Wed Apr 10, 2013 11:53 pm

[Crash] Somehow, party:setPosition doesn't like me - SOLVED

Post by MakenMedium »

Hi, I'm new to the forum, so please don't hit me ;)

I'm using Editor 1.3.7 for the following.

Right now, my party shall be trapped within an "neverending" corridor, for a set amount of time. For this, I have set up three hidden plattforms, the middle one activating the others two as well as a timer. When stepping on either of the two plattforms, my party shall be set to a field next to the other plattform, with their current facing direction. So far, so good. In my example the following would be called upon stumbling over the rightmost plattform (happens both ways, though):

Code: Select all

function TeleportRight()
	party:setPosition(11, 13, party.facing, 1)
end
Now the problem:
As soon as I step on the plattform, instead of changing my position, the editor crashes.

signature
SpoilerShow
EventType : BEX P1 : grimrock.exe P2 : 0.0.0.0 P3 : 5115140b
P4 : grimrock.exe P5 : 0.0.0.0 P6 : 5115140b P7 : 00041c9e
P8 : c0000409 P9 : 00000000
appcompat.txt
SpoilerShow
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="grimrock.exe" FILTER="GRABMI_FILTER_PRIVACY">
<MATCHING_FILE NAME="doclauncher.exe" SIZE="7168" CHECKSUM="0x5531F58F" MODULE_TYPE="WIN32" PE_CHECKSUM="0x8C12" LINKER_VERSION="0x0" LINK_DATE="10/01/2012 11:42:54" UPTO_LINK_DATE="10/01/2012 11:42:54" />
<MATCHING_FILE NAME="FreeImage.dll" SIZE="2420736" CHECKSUM="0x4ADCEA00" BIN_FILE_VERSION="3.13.1.0" BIN_PRODUCT_VERSION="3.13.1.0" PRODUCT_VERSION="3, 13, 1, 0" FILE_DESCRIPTION="FreeImage library" COMPANY_NAME="FreeImage" PRODUCT_NAME="FreeImage" FILE_VERSION="3, 13, 1, 0" ORIGINAL_FILENAME="FreeImage.dll" INTERNAL_NAME="FreeImage" LEGAL_COPYRIGHT="Copyright © 2003-2009 by FreeImage" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x25C0A6" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="3.13.1.0" UPTO_BIN_PRODUCT_VERSION="3.13.1.0" LINK_DATE="12/22/2009 14:55:47" UPTO_LINK_DATE="12/22/2009 14:55:47" VER_LANGUAGE="Englisch (USA) [0x409]" />
<MATCHING_FILE NAME="grimrock.exe" SIZE="1804800" CHECKSUM="0xB2E6A1D2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x1C5941" LINKER_VERSION="0x0" LINK_DATE="02/08/2013 15:04:43" UPTO_LINK_DATE="02/08/2013 15:04:43" />
<MATCHING_FILE NAME="lua51.dll" SIZE="319488" CHECKSUM="0xD78EA284" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/11/2012 06:45:29" UPTO_LINK_DATE="03/11/2012 06:45:29" />
<MATCHING_FILE NAME="steam_api.dll" SIZE="105808" CHECKSUM="0xA56B1245" BIN_FILE_VERSION="1.55.77.96" BIN_PRODUCT_VERSION="1.0.0.1" PRODUCT_VERSION="01.00.00.01" FILE_DESCRIPTION="Steam Client API (buildbot_winslave04_steam_steam_rel_client_hotfix_win32@winslave04)" COMPANY_NAME="Valve Corporation" PRODUCT_NAME="Steam Client API" FILE_VERSION="01.55.77.96" ORIGINAL_FILENAME="steam_api.dll" INTERNAL_NAME="Steam Client API" LEGAL_COPYRIGHT="Copyright (C) 2007" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x2023B" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.55.77.96" UPTO_BIN_PRODUCT_VERSION="1.0.0.1" LINK_DATE="10/24/2012 21:55:19" UPTO_LINK_DATE="10/24/2012 21:55:19" VER_LANGUAGE="Englisch (USA) [0x409]" />
<MATCHING_FILE NAME="DirectX\DSETUP.dll" SIZE="89944" CHECKSUM="0xD61C6440" BIN_FILE_VERSION="4.9.0.904" BIN_PRODUCT_VERSION="4.9.0.904" PRODUCT_VERSION="4.9.0.0904" FILE_DESCRIPTION="Direct driver preloader" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® DirectX for Windows®" FILE_VERSION="4.9.0.0904" ORIGINAL_FILENAME="dsetup.dll" INTERNAL_NAME="dsetup.dll" LEGAL_COPYRIGHT="Copyright (c) Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x10004" VERFILETYPE="0x3" MODULE_TYPE="WIN32" PE_CHECKSUM="0x230AF" LINKER_VERSION="0x60000" UPTO_BIN_FILE_VERSION="4.9.0.904" UPTO_BIN_PRODUCT_VERSION="4.9.0.904" LINK_DATE="06/02/2010 11:34:54" UPTO_LINK_DATE="06/02/2010 11:34:54" />
<MATCHING_FILE NAME="DirectX\dsetup32.dll" SIZE="1801048" CHECKSUM="0x30342D60" BIN_FILE_VERSION="4.9.0.904" BIN_PRODUCT_VERSION="4.9.0.904" PRODUCT_VERSION="4.9.0.0904" FILE_DESCRIPTION="DirectX-Setup (32 Bit)" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® DirectX für Windows®" FILE_VERSION="4.9.0.0904" ORIGINAL_FILENAME="dsetup32.dll" INTERNAL_NAME="dsetup32.dll" LEGAL_COPYRIGHT="Copyright © Microsoft Corporation. Alle Rechte vorbehalten." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x10004" VERFILETYPE="0x3" MODULE_TYPE="WIN32" PE_CHECKSUM="0x1C3141" LINKER_VERSION="0x60000" UPTO_BIN_FILE_VERSION="4.9.0.904" UPTO_BIN_PRODUCT_VERSION="4.9.0.904" LINK_DATE="06/02/2010 11:34:54" UPTO_LINK_DATE="06/02/2010 11:34:54" />
<MATCHING_FILE NAME="DirectX\DXSETUP.exe" SIZE="537432" CHECKSUM="0x336C67FA" BIN_FILE_VERSION="4.9.0.904" BIN_PRODUCT_VERSION="4.9.0.904" PRODUCT_VERSION="4.9.0.0904" FILE_DESCRIPTION="Microsoft DirectX-Setup" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® DirectX für Windows®" FILE_VERSION="4.9.0.0904" ORIGINAL_FILENAME="dxsetup.exe" INTERNAL_NAME="dxsetup.exe" LEGAL_COPYRIGHT="Copyright © Microsoft Corporation. Alle Rechte vorbehalten." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x10004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x8B861" LINKER_VERSION="0x60000" UPTO_BIN_FILE_VERSION="4.9.0.904" UPTO_BIN_PRODUCT_VERSION="4.9.0.904" LINK_DATE="06/02/2010 11:34:56" UPTO_LINK_DATE="06/02/2010 11:34:56" />
<MATCHING_FILE NAME="vcredist\vcredist_x86.exe" SIZE="4995416" CHECKSUM="0xD9AE53FA" BIN_FILE_VERSION="10.0.40219.1" BIN_PRODUCT_VERSION="10.0.40219.1" PRODUCT_VERSION="10.0.40219.01" FILE_DESCRIPTION="Microsoft Visual C++ 2010 x86 Redistributable Setup" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft Visual C++ 2010 x86 Redistributable" FILE_VERSION="10.0.40219.01" ORIGINAL_FILENAME="vcredist_x86.exe" INTERNAL_NAME="vcredist_x86.exe" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x4CC9B8" LINKER_VERSION="0x50002" UPTO_BIN_FILE_VERSION="10.0.40219.1" UPTO_BIN_PRODUCT_VERSION="10.0.40219.1" LINK_DATE="12/21/2007 07:26:24" UPTO_LINK_DATE="12/21/2007 07:26:24" VER_LANGUAGE="Englisch (USA) [0x409]" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
<MATCHING_FILE NAME="kernel32.dll" SIZE="1063936" CHECKSUM="0xE83A657" BIN_FILE_VERSION="5.1.2600.6293" BIN_PRODUCT_VERSION="5.1.2600.6293" PRODUCT_VERSION="5.1.2600.6293" FILE_DESCRIPTION="Client-DLL für Windows NT-Basis-API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Betriebssystem Microsoft® Windows®" FILE_VERSION="5.1.2600.6293 (xpsp_sp3_gdr.121001-1622)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. Alle Rechte vorbehalten." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x1044D0" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.6293" UPTO_BIN_PRODUCT_VERSION="5.1.2600.6293" LINK_DATE="10/03/2012 04:58:00" UPTO_LINK_DATE="10/03/2012 04:58:00" VER_LANGUAGE="Deutsch (Deutschland) [0x407]" />
</EXE>
</DATABASE>
manifest.txt
SpoilerShow
Server=watson.microsoft.com
UI LCID=1031
Flags=1672016
Brand=WINDOWS
TitleName=grimrock.exe
DigPidRegPath=HKLM\Software\Microsoft\Windows NT\CurrentVersion\DigitalProductId
ErrorText=Falls Sie gerade Daten bearbeitet haben, sind diese möglicherweise verloren gegangen.
Stage1URL=
Stage1URL=/StageOne/Generic/BEX/grimrock_exe/0_0_0_0/5115140b/grimrock_exe/0_0_0_0/5115140b/00041c9e/c0000409/00000000.htm
Stage2URL=
Stage2URL=/dw/GenericTwo.ASP?EventType=BEX&P1=grimrock.exe&P2=0.0.0.0&P3=5115140b&P4=grimrock.exe&P5=0.0.0.0&P6=5115140b&P7=00041c9e&P8=c0000409&P9=00000000
DataFiles=C:\DOKUME~1\Medium\LOKALE~1\Temp\WER33d8.dir00\grimrock.exe.mdmp|C:\DOKUME~1\Medium\LOKALE~1\Temp\WER33d8.dir00\appcompat.txt
Heap=C:\DOKUME~1\Medium\LOKALE~1\Temp\WER33d8.dir00\grimrock.exe.hdmp
ErrorSubPath=Generic\BEX\grimrock.exe\0.0.0.0\5115140b\grimrock.exe\0.0.0.0\5115140b\00041c9e\c0000409\00000000
DirectoryDelete=C:\DOKUME~1\Medium\LOKALE~1\Temp\WER33d8.dir00
I tried playing it as custom dungeon in the game, hoping it would be just a little bug in the editor preview, but then Grimrock also crashed, stating "dynamic obstacle already occupying a cell". However, on 11,13 there is absolutely nothing, not even a torch. My first guess would be, I'm simply too stupid to see the solution to my problem.

Anyone got an idea?
Last edited by MakenMedium on Thu Apr 11, 2013 11:33 pm, edited 1 time in total.
User avatar
Komag
Posts: 3659
Joined: Sat Jul 28, 2012 4:55 pm
Location: Boston, USA

Re: [Crash] Somehow, party:setPosition doesn't like me

Post by Komag »

Are you able to use setPosition anywhere, just with console, etc?
Finished Dungeons - complete mods to play
User avatar
JohnWordsworth
Posts: 1397
Joined: Fri Sep 14, 2012 4:19 pm
Location: Devon, United Kingdom
Contact:

Re: [Crash] Somehow, party:setPosition doesn't like me

Post by JohnWordsworth »

I get the same in a tiny test dungeon that I just built. I have a pressure plate linked to a script which simply fires party:setPosition(1,1,1,1) {Which I did to make sure the parameters weren't in the wrong order on the modding reference}. I get the same crash.

You might want to consider having (or dynamically creating) a teleporter object that you turn on to teleport the player and then turn it off again a second later. You can easily turn off the sound effects and visual effects of the teleporter I believe.

Edit: On OSX by the way.
My Grimrock Projects Page with links to the Grimrock Model Toolkit, GrimFBX, Atlas Toolkit, QuickBar, NoteBook and the Oriental Weapons Pack.
User avatar
Dr.Disaster
Posts: 2876
Joined: Wed Aug 15, 2012 11:48 am

Re: [Crash] Somehow, party:setPosition doesn't like me

Post by Dr.Disaster »

While fouling around with the console i also encountered a few LoG crashes with party:setPosition() here and there. Yet it always happend when i tried to teleport to a floor below or above the dungeon. So my take is when you have a crash teleporting to level 1 make sure there is a level 1 :)
User avatar
Komag
Posts: 3659
Joined: Sat Jul 28, 2012 4:55 pm
Location: Boston, USA

Re: [Crash] Somehow, party:setPosition doesn't like me

Post by Komag »

could it be an OSX issue? I have had an occasional party:setPosition crash, but only when I mixed up the coordinates/level/etc and tried to go to a spot that wasn't there.
Finished Dungeons - complete mods to play
User avatar
slackmg
Posts: 20
Joined: Fri Nov 09, 2012 12:21 am
Location: Here I am.

Re: [Crash] Somehow, party:setPosition doesn't like me

Post by slackmg »

You may want to set up a timer that you kick off from the pressure pad that will do the setPosition after it expires. That's the way I've gotten around the setPostion errors. It almost seems like it hasn't finished moving the party before you move it again and it gets confused.

For instance, to get around the error, I use this in what I'm working on now (timer is set to expire at 0.2):

Code: Select all

_waterEndPos = {}
function _canCrossWaterX(x, y)
    if not maze_util._checkForItem("ship_bottle") then
        hudPrint("The water is too deep and you're pushed back!")
        hudPrint("You end up near the door you came in from.")
        _waterEndPos.x = x
        _waterEndPos.y = y
        water_timer:activate()
        playSound("splash_stop")
    else
        playSound("splash_ok")
    end
end

function waterTimerStop()
    water_timer:deactivate()
    local x = _waterEndPos.x
    local y = _waterEndPos.y
    party:setPosition(x, y, party.facing, party.level)
end
User avatar
JohnWordsworth
Posts: 1397
Joined: Fri Sep 14, 2012 4:19 pm
Location: Devon, United Kingdom
Contact:

Re: [Crash] Somehow, party:setPosition doesn't like me

Post by JohnWordsworth »

Ahh yeah, that makes sense regarding the moving actually. I guess it's possible that certain hooks are called during the party move process, and therefore it is not possible to move the party again until they have finished moving the first time. The pressure plate specifically might be likely to fall prey to that sort of trap. I will try a similar test when I get home this evening for a lever and see if that works on OSX. I can't imagine the platform matters, but it would be nice to know what does / doesn't work so that we have a line on what's going on.
My Grimrock Projects Page with links to the Grimrock Model Toolkit, GrimFBX, Atlas Toolkit, QuickBar, NoteBook and the Oriental Weapons Pack.
User avatar
MakenMedium
Posts: 5
Joined: Wed Apr 10, 2013 11:53 pm

Re: [Crash] Somehow, party:setPosition doesn't like me

Post by MakenMedium »

I didn't even notice the console yet. But yes, I was able moving to the coordinates using the console. It's got to be an effect of the pressure plates, somehow.
It isn't something like activating it twice, I just tried the "Activate once", didn't work either. Same for different activation types, "Activate", "Deactivate" or "Any", none made a difference.

My browser sure is slow, when I just wrote my reply, I still had only one answer shown...

I'll try using the timer now. Besides, I AM in Level 1, first project, don't even have stairs yet ^^
Also, running on WinXP.

Edit: Thanks, the Timer did work for me. Now, excuse me, time to run in circles, aimlessly.
Post Reply