EntityPlus - A single player Q3 mod
Re: Here's a wild idea: EntityPlus
bliccer - you mean gravity games like also in Prey?
Re: Here's a wild idea: EntityPlus
How about a gravity boots powerup entity so the player can walk around on a MC Escher styled map. When the powerup time expires normal gravity resumes for the player. 



[color=#4040FF][b]www.mrlego.com[/b][/color]
Re: Here's a wild idea: EntityPlus
Either this, or the lvldesigner can add this attribute to specific brushes he wants.MrLego wrote:How about a gravity boots powerup entity so the player can walk around on a MC Escher styled map. When the powerup time expires normal gravity resumes for the player.
That's what I meant with Serious Sam. There you have a cylinder in which the player is walking around, with monsters spawning all around him. After all monsters are shot the door opens.
@Noruen: I don't know Prey... or well I watched someone playing it and it looked like a lot of fun, also maptech-wise.
Re: Here's a wild idea: EntityPlus
Bliccer - yes, it is a LOT of fun. I don't understand why multiplayer is not more popular (maybe absence of bots?), but there are gravity "games" and you have no chance to recognize ceiling/floor
If THIS can work in Q3A it would be absolutely... amazing 


Re: Here's a wild idea: EntityPlus
It would definitely be cool if the gravity direction could be set as well.... Quite a bit more work than simply altering the gravity methinks, but it's a cool idea nonetheless.
-
- Posts: 2237
- Joined: Sat Mar 12, 2005 10:49 pm
Re: Here's a wild idea: EntityPlus
I remember talking about a gravity mod with misantropia way back in like 2002/2003. Would be neat to see something implemented.
Re: Here's a wild idea: EntityPlus
Didn't tremulous use a gravity direction for the aliens?(perpendicular to surface)
-
- Posts: 4022
- Joined: Sat Mar 12, 2005 6:24 pm
Re: Here's a wild idea: EntityPlus
I wrote a gravity mod proof-of-concept once or twice. It's certainly possible but getting Q3A to render models at all angles (and handle all the corner cases) is a royal pain.
Re: Here's a wild idea: EntityPlus
I guess you mean moving models, not static ones?
-
- Posts: 4022
- Joined: Sat Mar 12, 2005 6:24 pm
Re: Here's a wild idea: EntityPlus
That is correct.
Re: Here's a wild idea: EntityPlus
I've made a target_botspawn.
It spawns a specific or a random bot into the game. I'm going to try and figure out if I can spawn the bot to a specific position but because spawning a bot appears to go through the .exe code, I'm not sure how much control I have there.
It spawns a specific or a random bot into the game. I'm going to try and figure out if I can spawn the bot to a specific position but because spawning a bot appears to go through the .exe code, I'm not sure how much control I have there.
-
- Posts: 4022
- Joined: Sat Mar 12, 2005 6:24 pm
Re: Here's a wild idea: EntityPlus
You can intercept the bot in ClientSpawn() in g_client.c.
Re: Here's a wild idea: EntityPlus
If you play this map,
Lo sota Olt
there is a bot included with the entities already existing in q3a. Afaik it's just an entity command for the info_player_deathmatch called nobot 1 or 0... don't know right now.
Dmeat also sent me a testmap in which he let spawn several bots after each one got fragged. Afterwards a door opened if you got 5 frags.
Lo sota Olt
there is a bot included with the entities already existing in q3a. Afaik it's just an entity command for the info_player_deathmatch called nobot 1 or 0... don't know right now.
Dmeat also sent me a testmap in which he let spawn several bots after each one got fragged. Afterwards a door opened if you got 5 frags.
Re: Here's a wild idea: EntityPlus
Yes there are nobot and nohuman keys you can set for info_player_deathmatch to prevent either bots or humans from spawning there.
The "5 frags opens a door" think is an interesting one. Any idea how he did this?
The "5 frags opens a door" think is an interesting one. Any idea how he did this?
Re: Here's a wild idea: EntityPlus
nohuman causes q3 to crash (try \kill in Lo sota Olt). it was removed in later pointreleases as far as i know.
Re: Here's a wild idea: EntityPlus
Here's a nooby map I made a while ago testing that out: http://q3a.ath.cx/map/10_frags/Eraser wrote:Yes there are nobot and nohuman keys you can set for info_player_deathmatch to prevent either bots or humans from spawning there.
The "5 frags opens a door" think is an interesting one. Any idea how he did this?
If you decompile it you will see how easy it is to do with items; the same principles should apply with buttons.
Here's a tutorial: http://q3a.ath.cx/level_design/frags_filter/
[url=http://www.xfire.com/profile/vlnoheaven/][img]http://i105.photobucket.com/albums/m231/Lowerboy444/xfire.png[/img][/url]
[url=http://teameventhorizon.com/]Team Event -O- Horizon[/url]
[url=http://mapping.maverickservers.com/]NoGhost Map Making Competition 2 (June 2010)[/url]
[url=http://teameventhorizon.com/]Team Event -O- Horizon[/url]
[url=http://mapping.maverickservers.com/]NoGhost Map Making Competition 2 (June 2010)[/url]
Re: Here's a wild idea: EntityPlus
Sorry but, "target_fragsFilter"? Really?
edit:
oh right, you're linking to a Defrag tutorial. It's part of the Defrag mod, so it's no vanilla Quake 3 feature.
edit:
oh right, you're linking to a Defrag tutorial. It's part of the Defrag mod, so it's no vanilla Quake 3 feature.
Re: Here's a wild idea: EntityPlus
Well, I tested it out on another map as well - meant for TDM a la King of the Hill (where the teams would attempt to control a certain area in the center of the map that would cause them to score a point if there was a player from the team within that area). It worked in vanilla 1.32 q3, so I say give it a try.
[url=http://www.xfire.com/profile/vlnoheaven/][img]http://i105.photobucket.com/albums/m231/Lowerboy444/xfire.png[/img][/url]
[url=http://teameventhorizon.com/]Team Event -O- Horizon[/url]
[url=http://mapping.maverickservers.com/]NoGhost Map Making Competition 2 (June 2010)[/url]
[url=http://teameventhorizon.com/]Team Event -O- Horizon[/url]
[url=http://mapping.maverickservers.com/]NoGhost Map Making Competition 2 (June 2010)[/url]
Re: Here's a wild idea: EntityPlus
Yes but that is a different thing. You can have a trigger_multiple set up to only be triggered by players from a specific team (the RED_ONLY/BLUE_ONLY spawnflags) which aims at a target_score. That is indeed possible in vanilla Quake 3. Now that you mention this, I wonder why no one has thought of making a King of the Hill type of map this way before. It sounds like a bloody good idea to me.Anthem wrote:Well, I tested it out on another map as well - meant for TDM a la King of the Hill (where the teams would attempt to control a certain area in the center of the map that would cause them to score a point if there was a player from the team within that area). It worked in vanilla 1.32 q3, so I say give it a try.
Re: Here's a wild idea: EntityPlus
Ok, this is possible now. I've implemented a target_disable entity. This can be targetted by any triggerable entity (such as trigger_multiple or func_button). When it's triggered it will toggle the enabled status of all trigger_ entities it targets. So you could make a button that targets a target_disable which would target a trigger_push. This allows you to make a jumppad that can be toggled on and off.DaEngineer wrote:Something like a controllable timer that activates or deactivates other entities would also be great. This would allow to create - for example - jumppads that are disabled and activate every 20 seconds for 5 seconds.
In combination with the func_timer entity (that already exists in vQ3) you could create the set up you want. It's still a bit fidding around, but I think this should work:

00: trigger_always fires target_disable 2 to disable trigger_push
00: trigger_always fires func_timer 1
00: JUMPPAD DISABLED
20: func_timer 1 fires target_disable 1 to enable trigger_push
20: func_timer 1 fires func_relay
20: func_relay fires func_timer 2
20: JUMPPAD ENABLED
25: func_timer 2 fires target_disable 1 to disable trigger_push
25: func_timer 2 fires func_relay
25: func_relay fires func_timer 2 which stops counting
25: JUMPPAD DISABLED
45: func_timer 1 fires target_disable 1 to enable trigger_push
45: func_timer 1 fires func_relay
45: func_relay fires func_timer 2
45: JUMPPAD ENABLED
50: func_timer 2 fires target_disable 1 to disable trigger_push
50: func_timer 2 fires func_relay
50: func_relay fires func_timer 2 which stops counting
50: JUMPPAD DISABLED
etc etc
Note that I haven't made an actual test set up for this so I've done it only on paper. Maybe I've overlooked something but I think this should work. It is important to note that func_timer entities already have their built-in enabled/disabled functionality whenever they're targeted by a trigger.
edit:
the func_relay is there because entities are not allowed to target themselves, so I need an intermediary step.
-
- Posts: 4022
- Joined: Sat Mar 12, 2005 6:24 pm
Re: Here's a wild idea: EntityPlus
So here is an awesome idea:
https://github.com/bnoordhuis/entityplus/compare/movers
https://github.com/bnoordhuis/entityplu ... vers.patch
Now kick the source onto GH so I can simply fork it next time.
Color diff and patch:Add new key 'type' to func_rotating, func_bobbing and func_pendulum. Configures the type of movement, allowed values 'linear', 'sine' and 'gravity'.
https://github.com/bnoordhuis/entityplus/compare/movers
https://github.com/bnoordhuis/entityplu ... vers.patch
Now kick the source onto GH so I can simply fork it next time.
Re: Here's a wild idea: EntityPlus
You're welcome to pull the most recent version out of SVN, import it into some github account somewhere and explain to me how that shit works 

Re: Here's a wild idea: EntityPlus
Funnily I've been playing around with those TR_GRAVITY, TR_LINEAR and TR_SINE constants as well for func_rotating but if I set
ent->s.apos.trType
to anything other than TR_LINEAR weird things happen. With TR_SINE the brush simply disappears, with TR_GRAVITY my brush starts spinning around a different axis like a madman.
So I'm not exactly sure how that's supposed to work...
ent->s.apos.trType
to anything other than TR_LINEAR weird things happen. With TR_SINE the brush simply disappears, with TR_GRAVITY my brush starts spinning around a different axis like a madman.
So I'm not exactly sure how that's supposed to work...
-
- Posts: 4022
- Joined: Sat Mar 12, 2005 6:24 pm
Re: Here's a wild idea: EntityPlus
Actually, that's exactly what I did.Eraser wrote:You're welcome to pull the most recent version out of SVN, import it into some github account somewhere and explain to me how that shit works
1. Clone your repository with `git svn clone http://entityplus.googlecode.com/svn`
2. Create a new repository on GH and push to it: `git remote add origin git@github.com:username/entityplus.git`, followed by `git push origin master`
3. Done!
git-svn is a perl script so how well that works on Windows, I don't know. If you create a project under your account and add me, I'll push the Subversion export to it.
EDIT: I can add you to my copy too. Whatever floats your boat.
Last edited by ^misantropia^ on Tue Mar 22, 2011 4:15 pm, edited 1 time in total.
-
- Posts: 4022
- Joined: Sat Mar 12, 2005 6:24 pm
Re: Here's a wild idea: EntityPlus
Ah, maybe it's ent->s.pos.trType that needs to be set.Eraser wrote:Funnily I've been playing around with those TR_GRAVITY, TR_LINEAR and TR_SINE constants as well for func_rotating but if I set
ent->s.apos.trType
to anything other than TR_LINEAR weird things happen. With TR_SINE the brush simply disappears, with TR_GRAVITY my brush starts spinning around a different axis like a madman.
So I'm not exactly sure how that's supposed to work...