| Author | Message | 
        
			| mail2345 
					Joined: Tue Nov 06, 2007 6:58 am
 Posts: 2054
   |   Lua and attachables work around.Just posting this very minor snippet of code that does nothing of significant importance. Code: i = 1; while i < MovableMan:GetMOIDCount() do if MovableMan:GetMOFromID(i).RootID == ActivityMan:GetActivity():GetControlledActor(0).ID then MovableMan:GetMOFromID(i).Scale = 0 end i = i + 1 endOhh, look another pointless snippet! Code: i = 1; while i < MovableMan:GetMOIDCount() do if MovableMan:GetMOFromID(i).RootID == ActivityMan:GetActivity():GetControlledActor(0).ID and MovableMan:GetMOFromID(i).ID ~= MovableMan:GetMOFromID(i).RootID then ToAttachable(MovableMan:GetMOFromID(i)):Detach() end i = i + 1 end
 
 | 
		
			| Sun Jun 14, 2009 5:16 am | 
					
					   | 
	
	
		|  | 
	
			| Flammablezombie 
					Joined: Wed Jan 14, 2009 7:12 pm
 Posts: 1525
 Location: In between your sister's legs, showing her how to use a... PS3 controller!
   |   Re: Lua and attachables work around.If I had any idea what these meant I'd bow down and worship you as a god. 
 
 | 
		
			| Mon Jun 15, 2009 6:02 pm | 
					
					   | 
	
	
		|  | 
	
			| mail2345 
					Joined: Tue Nov 06, 2007 6:58 am
 Posts: 2054
   |   Re: Lua and attachables work around.They work in the console, btw.
 Number one makes the unit mostly invisible, number two detaches every attachable of the unit.
 
 
 | 
		
			| Mon Jun 15, 2009 6:10 pm | 
					
					   | 
	
	
		|  | 
	
			| zalo 
					Joined: Sat Feb 03, 2007 7:11 pm
 Posts: 1496
   |   Re: Lua and attachables work around.I don't suppose we can selectively pick out certain attachments, right? 
 
 | 
		
			| Tue Jun 16, 2009 5:24 am | 
					
					     | 
	
	
		|  | 
	
			| mail2345 
					Joined: Tue Nov 06, 2007 6:58 am
 Posts: 2054
   |   Re: Lua and attachables work around.Standard class name, preset name or group checks should work. 
 
 | 
		
			| Tue Jun 16, 2009 5:29 am | 
					
					   | 
	
	
		|  | 
	
			| Geti 
					Joined: Sun Jul 13, 2008 9:57 am
 Posts: 4886
 Location: some compy
   |   Re: Lua and attachables work around.<3your lua messings around are really paying off for the rest of us. this is awesomefantastic.
 
 
 | 
		
			| Tue Jun 16, 2009 6:37 am | 
					
					     | 
	
	
		|  | 
	
			| Daman 
					Joined: Fri Jan 26, 2007 3:22 am
 Posts: 1451
   |   Re: Lua and attachables work around.I don't see how this is a work around or anything important? Why'd it need a new topic? 
 
 | 
		
			| Fri Jun 19, 2009 7:34 pm | 
					
					   | 
	
	
		|  | 
	
			| mail2345 
					Joined: Tue Nov 06, 2007 6:58 am
 Posts: 2054
   |   Re: Lua and attachables work around.I was pointing out that attachables were not something living ouside of lua.
 The first thing might have applications in stealth tech.
 
 The second thing shows that via conversion to attachable object, attachable functions can be accessed.
 
 
 | 
		
			| Fri Jun 19, 2009 8:02 pm | 
					
					   | 
	
	
		|  | 
	
			| CrazyMLC 
					Joined: Fri Dec 22, 2006 4:20 am
 Posts: 4772
 Location: Good news everyone!
   |   Re: Lua and attachables work around.I have a programming friend that is trying to help me learn lua, he said this might be a simpler way to do number two. Code: local controlled = ActivityMan:GetActivity():GetControlledActor(0)
 for i = 1, MovableMan:GetMOIDCount() do
 local mo = MovableMan:GetMOFromID(i)
 if mo.RootID == controlled.ID and mo.ID ~= mo.RootID then
 ToAttachable(mo):Detach()
 end
 end
I don't know if this is valid, but he knows a lot of languages, but not lua. Just asking because we were using your code as a lesson.
 
 | 
		
			| Sat Jun 20, 2009 7:21 am | 
					
					     | 
	
	
		|  | 
	
			| mail2345 
					Joined: Tue Nov 06, 2007 6:58 am
 Posts: 2054
   |   Re: Lua and attachables work around.Looks valid, but it's a cleaner way, not a simpler way. 
 
 | 
		
			| Sat Jun 20, 2009 7:29 am | 
					
					   | 
	
	
		|  | 
	
			| TheLastBanana DRL Developer 
					Joined: Wed Dec 13, 2006 5:27 am
 Posts: 3138
 Location: A little south and a lot west of Moscow
   |   Re: Lua and attachables work around.Nice find, mail.  This will be very useful for scripts of all kinds.CrazyMLC, one problem I see with that code is that mo is declared as a local variable every time the for loop loops.  That can cause a lot of problems.  It would be best to declare mo as nil outside of the for loop.
 
 
 | 
		
			| Sat Jun 20, 2009 7:55 pm | 
					
					     | 
	
	
		|  | 
	
			| CrazyMLC 
					Joined: Fri Dec 22, 2006 4:20 am
 Posts: 4772
 Location: Good news everyone!
   |   Re: Lua and attachables work around.Some wiki somewhere said that if the number is not listed, it is automatically set to 1.I don't know if that is what you mean, though.
 
 
 | 
		
			| Sun Jun 21, 2009 1:08 am | 
					
					     | 
	
	
		|  | 
	
			| TheLastBanana DRL Developer 
					Joined: Wed Dec 13, 2006 5:27 am
 Posts: 3138
 Location: A little south and a lot west of Moscow
   |   Re: Lua and attachables work around.If a variable isn't declared, it's automatically nil, actually. And no, that's not what I mean.  If you declare a local variable more than once you encounter problems. Let me give you an example: Code: local x = 5;local x = 7;
x would still be 5, as declaring the variable as local twice doesn't work. So, in that code, think of it this way: Code: for i = 1, MovableMan:GetMOIDCount() dolocal mo = MovableMan:GetMOFromID(i)
 if mo.RootID == controlled.ID and mo.ID ~= mo.RootID then
 ToAttachable(mo):Detach()
 end
 end
Let's say there are 2 MOs.  This will be what actually happens: Code:   local mo = MovableMan:GetMOFromID(1)if mo.RootID == controlled.ID and mo.ID ~= mo.RootID then
 ToAttachable(mo):Detach()
 end
 local mo = MovableMan:GetMOFromID(2)
 if mo.RootID == controlled.ID and mo.ID ~= mo.RootID then
 ToAttachable(mo):Detach()
 end
 
Notice that "local mo" is declared twice.  That's where the problem is. On the other hand, if we declare mo as local outside  of the for loop... Code:   local mo = nil;mo = MovableMan:GetMOFromID(1)
 if mo.RootID == controlled.ID and mo.ID ~= mo.RootID then
 ToAttachable(mo):Detach()
 end
 mo = MovableMan:GetMOFromID(2)
 if mo.RootID == controlled.ID and mo.ID ~= mo.RootID then
 ToAttachable(mo):Detach()
 end
 
mo just gets set twice, which is fine.
 
 | 
		
			| Sun Jun 21, 2009 1:26 am | 
					
					     | 
	
	
		|  | 
	
			| CrazyMLC 
					Joined: Fri Dec 22, 2006 4:20 am
 Posts: 4772
 Location: Good news everyone!
   |   Re: Lua and attachables work around.-_-; Well, I don't know. ...When I told him what you said he showed me this page . then pointed at  Code:     local a, b = 1, 10if a<b then
 print(a)   --> 1
 local a    -- `= nil' is implicit
 print(a)   --> nil
 end          -- ends the block started at `then'
 print(a,b)   -->  1   10
 
 
 | 
		
			| Sun Jun 21, 2009 2:57 am | 
					
					     | 
	
	
		|  | 
	
			| mail2345 
					Joined: Tue Nov 06, 2007 6:58 am
 Posts: 2054
   |   Re: Lua and attachables work around.That's not looping. 
 
 | 
		
			| Sun Jun 21, 2009 3:07 am | 
					
					   | 
	
	
		|  | 
	
	
		|  |