ArcEmu: What Is Pgo In Instance_event_on_go_push ? - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Labels

Make sure when posting a help or release topic you put [c++] or [lua] BEFORE your topic title!
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

What Is Pgo In Instance_event_on_go_push ?

#1 User is offline   Magnifikator 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 398
  • Joined: 05-October 11
  • Gender:Male
  • Location:Switzerland
  • Server OS:Windows

Posted 30 June 2012 - 05:55 PM

When I use this script I get nil for the go.

The Console output is
Line1: GameObject (205D2A28)
Line2: is nil :-)

I have expected the GO object in pGO.

function GO_PUSH(InstanceID, pGo)

	print(pGo)

	if(pGO==nil) then
		print("is nil :-)")
	end

end

RegisterInstanceEvent(230, 8, GO_PUSH) -- INSTANCE_EVENT_ON_GO_PUSH



Edit:
This is also not working.

pGameObject is nil. There is an error message in the console

function Stein_Spawn(pGameObject)

local target = pGameobject:GetEntry()

end

RegisterGameObjectEvent(300065, 2, Stein_Spawn) --GAMEOBJECT_EVENT_ON_SPAWN			= 2	--(pGameObject)

Try out the LoE ArcEmu World database. Please visit dev.LandOfElves.net.

Posted Image


0

#2 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 30 June 2012 - 06:40 PM

It's definitely a gameobject in both cases.
As for why they are nil, no idea.
"The demand for free goods is infinite."
0

#3 User is offline   Dzjhenghiz 

  • حشّاشين
  • Group: Contributor
  • Posts: 1,936
  • Joined: 07-June 08
  • Gender:Male
  • Location:2nd stone after the 3rd oase western sahara
  • Interests:M.C.S.E :- Minesweeper Consultant & Solitaire Expert
  • Server OS:Other

Posted 03 July 2012 - 01:22 AM

Stein_Spawn

Its a stone suppose to do some fancy **** i bet?

Need Help With Arcemu ? ^^
Posted Image
Concordia res parvae crescunt In varietate concordia
Spoiler

0

#4 User is offline   kenuvis 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 440
  • Joined: 27-July 08

Posted 05 July 2012 - 03:46 PM

pGo is a metatable, maybe hidden. It has a tostring procedure, that call when use print, otherwise, it is nil.

Maybe the dev let it look like nil, nobody change it, and when the data comes back, it can handle without any errors, because the real userdata type hide in the metatable.

0

#5 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 05 July 2012 - 07:14 PM

View Postkenuvis, on 05 July 2012 - 03:46 PM, said:

pGo is a metatable, maybe hidden. It has a tostring procedure, that call when use print, otherwise, it is nil.

Maybe the dev let it look like nil, nobody change it, and when the data comes back, it can handle without any errors, because the real userdata type hide in the metatable.

No, it's definitely a simple GameObject, since a GameObject is pushed there in the "core".
"The demand for free goods is infinite."
0

#6 User is offline   Magnifikator 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 398
  • Joined: 05-October 11
  • Gender:Male
  • Location:Switzerland
  • Server OS:Windows

Posted 06 July 2012 - 07:12 AM

Kenuvis, du hast PM :)
Try out the LoE ArcEmu World database. Please visit dev.LandOfElves.net.

Posted Image


0

#7 User is offline   kenuvis 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 440
  • Joined: 27-July 08

Posted 07 July 2012 - 09:46 AM

dfighter:

try
print(type(pGo))

and I think, it prints "nil", so pGo is no simple GameObject. - therefore, maybe we should know, what types lua can control. ^^ string, boolean, number, nil, table, function and userdata. so, a gameobject should become a userdata, but then "pGO==nil" should be false (I assume that there is no bug in the luaengine), but that is'nt so. And that's the reason, I think, it's a metatable.

The other thing, that confirm me, is that print(pGo) print "GameObject (205D2A28)". If it is a real userdata, it should print some numbers representing any memory-whatever and it dont know, that is a gameobject. Maybe, there is a way in c++ to modify it, I dont know!


I think, to solve this question, I have to look at the engine and should learn c++. :D
But I never will veto dfighter.

0

#8 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 08 July 2012 - 12:05 PM

Lua Instance script that implements
INSTANCE_EVENT_ON_GO_PUSH
		void OnGameObjectPushToWorld(GameObject* pGameObject)
		{
			CHECK_BINDING_ACQUIRELOCK
			sLuaMgr.BeginCall(m_binding->m_functionReferences[INSTANCE_EVENT_ON_GO_PUSH]);
			sLuaMgr.PUSH_UINT(m_instanceId);
			sLuaMgr.PushGo(pGameObject);
			sLuaMgr.ExecuteCall(2);
			RELEASE_LOCK
		};


Lua GameObject script that implements
GAMEOBJECT_EVENT_ON_SPAWN
		void OnSpawn()
		{

			CHECK_BINDING_ACQUIRELOCK

			sLuaMgr.BeginCall(m_binding->m_functionReferences[GAMEOBJECT_EVENT_ON_SPAWN]);
			sLuaMgr.PushGo(_gameobject);
			sLuaMgr.ExecuteCall(1);

			RELEASE_LOCK
		}


both use PushGo

void LuaEngine::PushGo(Object* go, lua_State* L)
{
	GameObject* pGo = NULL;
	if(go != NULL && go->IsGameObject())
		pGo = TO< GameObject* >(go);
	if(L == NULL)
		ArcLuna<GameObject>::push(lu, pGo);
	else
		ArcLuna<GameObject>::push(L, pGo);
}

"The demand for free goods is infinite."
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users