Elevation; valid range is -7 to 7. Maps start on elevation 0/zero by default.
Ask a simple question, get a simple answer
Re: Ask a simple question, get a simple answer
What do you mean by direction? There is a spin, which turns you in that direction when you teleport
Grey Island mod(WIP): http://www.grimrock.net/forum/viewtopic ... 99#p123699
Re: Ask a simple question, get a simple answer
For the teleport component there is a setSpin() function, to force the direction of the party (or objects) when they emerge at the new location.
Alternatively, one can just set the spin value in the inspector properties of the teleporter object.
Alternatively, one can just set the spin value in the inspector properties of the teleporter object.
Re: Ask a simple question, get a simple answer
I have two questions: Firstly, I believe that I saw somewhere on the forum that someone had a script so that if the party was wearing metal armor they took damage, but I can't find that topic again. Secondly, how do I make custom portraits for my mod? Is there an exact size that they need to be? Thanks.
Grey Island mod(WIP): http://www.grimrock.net/forum/viewtopic ... 99#p123699
- Zo Kath Ra
- Posts: 937
- Joined: Sat Apr 21, 2012 9:57 am
- Location: Germany
Re: Ask a simple question, get a simple answer
1) It must be this thead:ratman wrote: ↑Tue Oct 27, 2020 7:18 pm I have two questions: Firstly, I believe that I saw somewhere on the forum that someone had a script so that if the party was wearing metal armor they took damage, but I can't find that topic again. Secondly, how do I make custom portraits for my mod? Is there an exact size that they need to be? Thanks.
A thank you and a script question
2) One of the developers answered this question here:
Custom Portrait specs
Re: Ask a simple question, get a simple answer
About the format... In that linked thread Petri mentions TGA, but the asset pack portraits are in DDS format. DDS format also works, but it's not always a save option in one's image editor. *Even so... DDS portraits must be referenced as .tga files in the scripts.
So, a file named "mod_assets\textures\portraits\minotaur_female_8.dds" must be written in script as "mod_assets/textures/portraits/minotaur_female_8.tga", even though it's not a tga file.
128x128 pixels
DDS format; no compression.
An easy way to generate portraits (on Windows OS) is to use Paint.NET; it saves to DDS format without plugins. Otherwise there are GIMP & Photoshop. Paint.Net is free, and available here: https://getpaint.net
DDS Settings for Paint.NET:
Here is a blank portrait if you need it for backgrounds.
Re: Ask a simple question, get a simple answer
Yes, thank you. I'm trying to modify it so that when the party is in the snowy maps, or the desert maps, they take cold or fire damage depending on the armor they are wearing. (in the snowy map they would take less damage for cloth or leather armor, and more for metal or no armor.)Zo Kath Ra wrote: ↑Tue Oct 27, 2020 9:13 pm 1) It must be this thead:
A thank you and a script question
Grey Island mod(WIP): http://www.grimrock.net/forum/viewtopic ... 99#p123699
Re: Ask a simple question, get a simple answer
New question:
is there a way to 'aim' where an item is spawned in, say, a chest?
is there a way to 'aim' where an item is spawned in, say, a chest?
Re: Ask a simple question, get a simple answer
I don't believe so. But you can use these functions to change the position of the item:
Code: Select all
rock_1:setWorldRotationAngles(0, 0, 0)
rock_1:setSubtileOffset(0, 0)
rock_1:setWorldPositionY(0)
Grey Island mod(WIP): http://www.grimrock.net/forum/viewtopic ... 99#p123699
Re: Ask a simple question, get a simple answer
It can be done, but there is a requirement to it. For it to happen at load time, the container object spawn must precede the script object's setSource lines in dungeon.lua. This can be as simple as placing the container first, then placing the script_entity, or you can open the dungeon.lua file, and manually move the lines to the end of the file.
Using the delayedCall function works without the need for the specific definitions order.
Using the delayedCall function works without the need for the specific definitions order.
Code: Select all
function setSurfaceItemFacing(containerId, identifier, facing) --identifier can be object name or ID
if type(containerId) ~= "table" then
local obj = findEntity(containerId)
facing = iff(facing<4 and facing>-1, facing, 0)
if obj then
for _,itm in chest_1.surface:contents() do
if identifier == itm.go.name or identifier == itm.go.id then
local subtileX, subtileY = itm.go:getSubtileOffset()
local pos = itm.go:getWorldPositionY()
itm.go:setPosition(obj.x,obj.y,facing,obj.elevation,obj.level)
itm.go:setSubtileOffset(subtileX,subtileY)
itm.go:setWorldPositionY(pos)
return
end
end
print("ERROR: "..self.go.id.." : setSurfaceItemFacing : \"item not found\"") --comment out if using with delayedCall.
else
print("ERROR: "..self.go.id.." : setSurfaceItemFacing : \"container not found\"")
end
else local caller = iff(containerId.go and containerId.go.name, containerId.go.name.."s", "caller")
print("ERROR: "..self.go.id.." : setSurfaceItemFacing : \"incompatible with "..caller.."\"")
end
end
--==========================================================================================={This line, and all lines below it are safe to comment out, or delete.}===
--usage example parameters: <container object>, <Item object>, <intended item facing>
setSurfaceItemFacing("chest_1", "figure_skeleton_1", 0)
-- alternatively, the function is compatible with delayedCall but can cause "item not found" console spam if the item is removed
--before the event completes. The line for printing this error can be commented out if need be.
for x = 0, 3, 1 do
delayedCall("script_entity_1", x+2, "setSurfaceItemFacing", "chest_1", "figure_skeleton_1", x)
end