# How gui node get same exact position in game object

**URL:** <https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464>\
**Category:** Questions\
**Created:** [October 10, 2023, 5:53am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464 "2023-10-10T05:53:16Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [October 11, 2023, 7:28am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/21 "2023-10-11T07:28:07Z")

</div>

This is not how you require a module:

```lua
local card_prop = "card/cardglue"

```

In my previous post I outlined how to do it:

```lua
local card_prop = require "path.to.card_prop"

```

I am guessing your module is called cardglue.lua and stored in a folder called card. In that case:

```lua
local card_prop = require "card.cardglue"

```

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 7:32am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/22 "2023-10-11T07:32:08Z")

</div>

still same error

so to declare in require directory is not “/” but “.”

```lua
local card_prop = "card.cardglue"

function init(self)
	msg.post("@render:", "use_fixed_fit_projection", { near = -1, far = 1 })
	card_prop.store_card_id_pos("/card/card.go")
end

```

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [October 11, 2023, 7:33am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/23 "2023-10-11T07:33:05Z")

</div>

```lua
local card_prop = "card.cardglue"

```

This is still not correct. Read his suggestions _carefully_ 🙂

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 7:34am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/24 "2023-10-11T07:34:39Z")

</div>

ok my bad i am typo. i am so sad about it

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 7:42am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/25 "2023-10-11T07:42:11Z")

</div>

still nil value

```lua
function card_prop.store_card_id_pos(card_id)
	card_id_pos = go.get_position(go.get_id(card_id))
	print(card_id_pos)
end

```

this is my go object script

```lua
local card_prop = require "card.cardglue"

function init(self)
	msg.post("@render:", "use_fixed_fit_projection", { near = -1, far = 1 })
	card_prop.store_card_id_pos("/card/card.go")
end

```

this is the error

ERROR:SCRIPT: card/cardglue.lua:9: Instance (null) not found  
stack traceback:  
[C]👎 in function get\_position  
card/cardglue.lua:9: in function store\_card\_id\_pos  
card/card\_spawn.script:5: in function \<card/card\_spawn.script:3\>

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [October 11, 2023, 7:48am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/26 "2023-10-11T07:48:47Z")

</div>

The go id doesn’t look right.

Have a look at this manual:

> **[Addressing in Defold](https://defold.com/manuals/addressing/)**
>
> This manual explains how Defold has solved the problem of addressing.

You don’t use “.go” when getting an id. It seems to me you are using “Path” rather than “Url”:

 ![image](https://forum-defold.b-cdn.net/uploads/default/original/3X/0/c/0c64d34863ac10aa7ebfad66e0d2b92087919efe.png)

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 7:51am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/27 "2023-10-11T07:51:50Z")

</div>

seems the autocomplete code get little mess because it’s said required path.But whatever i will change it

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [October 11, 2023, 7:52am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/28 "2023-10-11T07:52:47Z")

</div>

> [@Kunyum](#):
>
> `"/card/card.go"`

To be clear, it’s this part that is wrong.

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 7:53am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/29 "2023-10-11T07:53:15Z")

</div>

yes , i am understand sir

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 8:00am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/30 "2023-10-11T08:00:42Z")

</div>

ok the print result is appear

DEBUG:SCRIPT: Listening for debugger on 0.0.0.0  
DEBUG:SCRIPT: Debugger connected from 127.0.0.1  
DEBUG:SCRIPT: vmath.vector3(58, 253, 0)

but when I using

```lua
gui.set_position(gui_node, card_id_pos)

```

this error is appear  
ERROR:SCRIPT: card/cardglue.lua:15: bad argument #2 to ‘set\_position’ (vector4 expected, got nil)  
stack traceback:  
[C]👎 in function set\_position  
card/cardglue.lua:15: in function size  
card/card.gui\_script:4: in function \<card/card.gui\_script:3\>

I assuming gui and game object vector properties is different

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [October 11, 2023, 8:05am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/31 "2023-10-11T08:05:16Z")

</div>

No, the vectors are the same.

What does print( gui\_node, card\_id\_pos) just before line 15 output?

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 8:10am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/32 "2023-10-11T08:10:29Z")

</div>

are you mean this

DEBUG:SCRIPT: Listening for debugger on 0.0.0.0  
DEBUG:SCRIPT: Debugger connected from 127.0.0.1  
ERROR:SCRIPT: card/cardglue.lua:15: bad argument #2 to ‘set\_position’ (vector4 expected, got nil)  
stack traceback:  
[C]👎 in function set\_position  
card/cardglue.lua:15: in function size  
card/card.gui\_script:4: in function \<card/card.gui\_script:3\>

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [October 11, 2023, 8:14am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/33 "2023-10-11T08:14:45Z")

</div>

```lua
function card_prop.size(gui_node, card_id)
	gui_node = gui.get_node(gui_node)
	print(gui_node, card_id_pos) --I want to see the output of this
	gui.set_position(gui_node, card_id_pos)
	return gui_node, card_id
end

```

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 8:16am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/34 "2023-10-11T08:16:21Z")

</div>

DEBUG:SCRIPT: box@(133, 544, 0) nil

this print result is appear

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [October 11, 2023, 8:21am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/35 "2023-10-11T08:21:43Z")

</div>

Are you sure you are calling card\_prop.store\_card\_id\_pos() **before** card\_prop.size()? If you are doing both in init() then the order is not guaranteed.

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 8:29am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/36 "2023-10-11T08:29:43Z")

</div>

i am not sure because i am newbie here. You are more advanced than me. Then do you have any advice for me?

ps : I learn a lot from this case about debugging. Many thanks of that

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [October 11, 2023, 8:34am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/37 "2023-10-11T08:34:33Z")

</div>

If you zip up the project (first delete “build” and “.internal” folders) then I can take a look.

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 8:39am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/38 "2023-10-11T08:39:24Z")

</div>

here is the file  
[Mobile game.zip](https://forum.defold.com/uploads/short-url/fJNnb2z0CQpx8Jwq0ldQyikTSkZ.zip) (203.6 KB)

many thanks about your sincerity.

---

<div class="post-metadata">

**Author:** ![Alex\_8BitSkull](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/alex_8bitskull/32/5424_2.png) [@Alex\_8BitSkull](https://forum.defold.com/u/Alex_8BitSkull)\
**Post date:** [October 11, 2023, 8:46am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/39 "2023-10-11T08:46:11Z")

</div>

Yes, it’s an order issue. If you do this in card.gui\_script:

```lua
	timer.delay(0.01, false, function()
		card_prop.size("card_front", "/card")
	end)

```

Then this function will run _after_ the go equivalent.

---

<div class="post-metadata">

**Author:** ![Kunyum](https://forum-defold.b-cdn.net/letter_avatar_proxy/v4/letter/k/a9a28c/32.png) [@Kunyum](https://forum.defold.com/u/Kunyum)\
**Post date:** [October 11, 2023, 8:52am UTC](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464/40 "2023-10-11T08:52:25Z")

</div>

wow it’s working . so in my case i must using timer to resolve this problem

[Previous page](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464.md?page=1)

[Next page](https://forum.defold.com/t/how-gui-node-get-same-exact-position-in-game-object/74464.md?page=3)
