I'm a newbie of D3E, and I wonder how the proxmine works.
It is a quite simple object, and it does not have any gunpoint.
But you know, when you hit it, it would explode and cover a very large range. I check the tablefile of this item, but nothing there.
Is there anything in script which is doing this, and where the exploding animation came from?
could anyone explain to me how such objects work and how to make it work?
How the ProxMine works
Thanks, but this thread did say what i want.
I exported the Proxmine.oof and table.gam item out and make a new .mn3, then i use this robot in my level, just like what Jon did, but the new mines in my level are only standing there without doing anything. I have to shoot them to die.
I write a script of one of the mine, and make the behavior simular like the original Proxmine, but it only works with the mines i defined with names.
So how could i make a robot like the proxmine, and i can put them in the game without doing any script work for every of them.
What DigiJo said makes sense, but i have no idea how to make a instruction for them.
BTW, How can i show a uservar on the screen or write then in a output file? i use the HUD message with integer, but it only showed the message without a number from uservar.
I exported the Proxmine.oof and table.gam item out and make a new .mn3, then i use this robot in my level, just like what Jon did, but the new mines in my level are only standing there without doing anything. I have to shoot them to die.
I write a script of one of the mine, and make the behavior simular like the original Proxmine, but it only works with the mines i defined with names.
So how could i make a robot like the proxmine, and i can put them in the game without doing any script work for every of them.
What DigiJo said makes sense, but i have no idea how to make a instruction for them.
BTW, How can i show a uservar on the screen or write then in a output file? i use the HUD message with integer, but it only showed the message without a number from uservar.
- Interceptor6
- DBB Ace
- Posts: 138
- Joined: Sat Mar 01, 2003 3:01 am
- Location: baton rouge, LA, USA
Well, if you want to make a custom prox mine you don't need to make it a robot. You can leave it as a weapon.
Countermeasures are weapons with an extremely low lifetime that spawn a robot (what you see in the game). You can just edit the weapon page to have a lifetime of -1 or 9999 and get rid of the robot spawn.
The Explosion for the Prox mines is simple a blast ring that was generated with an internal script that can't be edited in dallas. It is a lot easier to use the weaponized version, it will perform the same way.
But if you want to use the robot version, just make sure that the GAM page has the same name as that of the original prox, and set the Script name override to DestroyOnContact or ExplodeonContact with a very low HP level.
Hope that helps.
-Int
Countermeasures are weapons with an extremely low lifetime that spawn a robot (what you see in the game). You can just edit the weapon page to have a lifetime of -1 or 9999 and get rid of the robot spawn.
The Explosion for the Prox mines is simple a blast ring that was generated with an internal script that can't be edited in dallas. It is a lot easier to use the weaponized version, it will perform the same way.
But if you want to use the robot version, just make sure that the GAM page has the same name as that of the original prox, and set the Script name override to DestroyOnContact or ExplodeonContact with a very low HP level.
Hope that helps.
-Int
That makes sense for How the Proxmine works. Thanks, Int.
I never did any weapons, but i guess it also needs to be defined how to behave in Dallas every time when you use them.
I like the idea of overriding functions, this probably makes a custom robot more like the original one. Could you tell me where can i find relevant infos for doing this, such as what functions i can override and what these functions do. Thanks,
I never did any weapons, but i guess it also needs to be defined how to behave in Dallas every time when you use them.
I like the idea of overriding functions, this probably makes a custom robot more like the original one. Could you tell me where can i find relevant infos for doing this, such as what functions i can override and what these functions do. Thanks,
- Interceptor6
- DBB Ace
- Posts: 138
- Joined: Sat Mar 01, 2003 3:01 am
- Location: baton rouge, LA, USA
Actually, weapons themselves don't require any scripting at all, and are quite simple to make. all you need is a few models (oof) and a weapon page in your level's gam. The only other thing you need is a Generic Object page in the tablefile for the powerup, but that is it.
But as for creating a custom 'script override', i'm not sure. I know of a few built in override names, but not how to create a new one. There is probably a way to do it, but you might beed to know some coding, since so far I haven't been able to make a script for an ObjectID instead of a single object, as in scripting behavior for all 'Squids' instead of just one squid with a dallas name.
Here are a few of the built in ones:
ExplodeonContact - Makes an object explode when it comes in contact with a player.
DestroyOnContact - This will destroy any object that comes in to contact with it, like the subway trains in Retribution level 4.
Skiff - This makes the robot behave somewhat similar to an airplane. It simply flies around randomly looking for targets, and does not evade or circle any enimies. This is useful on terrain.
Thief - This makes a robot act like a thiefbot.
Barnswallow - This will make the robot drag powerups around randomly like the 'Barnswallow' does.
Sniper - The Orbot uses this one. The robot will fire a few shots and usually not be much foa threat.
SniperNoRun - This causes a robot to act more like a Playership (like the blackpyros in level 4), which can create a very powerful enemy. However, this has one downside: the robot usually takes off and runs throughout a level after firing a few shots at you, so only use this one if you want a roaming enemy or you have the enemy in a secluded area.
I'm sure there are a few more, but those are the ones I use the most often in the gams.
Anyways, good luck. I found out most of that just by experimenting ad searching through Table.gam, so just look around in there and you can find out a lot of stuff on how the GAM works. ( you can extract this from d3.hog using hogview32 )
-Int
But as for creating a custom 'script override', i'm not sure. I know of a few built in override names, but not how to create a new one. There is probably a way to do it, but you might beed to know some coding, since so far I haven't been able to make a script for an ObjectID instead of a single object, as in scripting behavior for all 'Squids' instead of just one squid with a dallas name.
Here are a few of the built in ones:
ExplodeonContact - Makes an object explode when it comes in contact with a player.
DestroyOnContact - This will destroy any object that comes in to contact with it, like the subway trains in Retribution level 4.
Skiff - This makes the robot behave somewhat similar to an airplane. It simply flies around randomly looking for targets, and does not evade or circle any enimies. This is useful on terrain.
Thief - This makes a robot act like a thiefbot.
Barnswallow - This will make the robot drag powerups around randomly like the 'Barnswallow' does.
Sniper - The Orbot uses this one. The robot will fire a few shots and usually not be much foa threat.
SniperNoRun - This causes a robot to act more like a Playership (like the blackpyros in level 4), which can create a very powerful enemy. However, this has one downside: the robot usually takes off and runs throughout a level after firing a few shots at you, so only use this one if you want a roaming enemy or you have the enemy in a secluded area.
I'm sure there are a few more, but those are the ones I use the most often in the gams.
Anyways, good luck. I found out most of that just by experimenting ad searching through Table.gam, so just look around in there and you can find out a lot of stuff on how the GAM works. ( you can extract this from d3.hog using hogview32 )
-Int
There are a few more overridable functions extracted from table.gam, i got them by following your idea, thanks,;)
Seeker, sixgun, stinger, humonculous, sickle, Chemicalball, Hateptmc, EvaderModA, JoshBell
GBPowerUp, Sparky, Mantaray, Barnswallow
SpyHunter, FireAtDist
Actually I think overriding functions is quite limited, as it can only be used in the object that invokes these functions. But for the object like proxmine, which does not use such things at all, you cannot override a function for it. Also, if your overrided object must have an object name to be identified in Dallas, why would you directly write a script for it instead overriding?
Have you got any clue to write scripts for all 'Squids' instead of a single named squid, i try to work with it, but it only allow me to choose a named object as the script Owner.
I guess i probably misunderstand in some part with this overriding thing, why would designier let us to override something. is the for disabling the original AI and building new behaviors for them or what? This gives me a feeling that it should work for all existing objects instead of only one, otherwise why would we need it?
Maybe i'm just being stupid to say some rubbish, but i have not got any better learning for it.
Cheers,
yf
Seeker, sixgun, stinger, humonculous, sickle, Chemicalball, Hateptmc, EvaderModA, JoshBell
GBPowerUp, Sparky, Mantaray, Barnswallow
SpyHunter, FireAtDist
Actually I think overriding functions is quite limited, as it can only be used in the object that invokes these functions. But for the object like proxmine, which does not use such things at all, you cannot override a function for it. Also, if your overrided object must have an object name to be identified in Dallas, why would you directly write a script for it instead overriding?
Have you got any clue to write scripts for all 'Squids' instead of a single named squid, i try to work with it, but it only allow me to choose a named object as the script Owner.
I guess i probably misunderstand in some part with this overriding thing, why would designier let us to override something. is the for disabling the original AI and building new behaviors for them or what? This gives me a feeling that it should work for all existing objects instead of only one, otherwise why would we need it?
Maybe i'm just being stupid to say some rubbish, but i have not got any better learning for it.
Cheers,
yf