News | Forum | People | FAQ | Links | Search | Register | Log in
Mapping Help
This is the place to ask about mapping problems, techniques, and bug fixing, and pretty much anything else you want to do in the level editor.

For questions about coding, check out the Coding Help thread: https://www.celephais.net/board/view_thread.php?id=60097
First | Previous | Next | Last
 
this is for quoth, so no qc modifications.

but yeah, i don't see why you couldn't do that.

in void() respawn:
if (coop)
{
// make a copy of the dead body for appearances sake
CopyToBodyQue (self);
// get the spawn parms as they were at level start
setspawnparms (self);
// respawn
PutClientInServer ();
}
else if (deathmatch)
{
// make a copy of the dead body for appearances sake
CopyToBodyQue (self);
// set default spawn parms
SetNewParms ();
// respawn
PutClientInServer ();
}
else
{ // restart the entire server
localcmd ("restart\n");
}

it would just be a matter of replacing the restart command at the bottom. 
Need Someone With UnrealED3 (UT3) 
I need someone with UnrealED3 (the UT3 version) installed to take a brief look over a map I have been slowly working on for a loooong time now to help me decide whether I should continue slowly building upon it or whether I should just put it out of it's misery.

Download it HERE
Arrow 
As I'm making a frogman model I'm confronted with a strange qc compile habbit.

I reconstruckted the model on the enforcer qc, this means I used the shoot section to evaluate its harpoon action.
As I compiled the arrow suddenly blasts to the sky.
I couldn't find a reason for it, so I changed the
org = self.origin + v_forward * 30 + v_right * 8.5 + '0 0 16';
from the model_fire section into
org = self.origin + v_forward * 30 + v_right * 8.5 + '0 0 -24';
and now the model shoots somehow left to the player, but not exact aiming its goal.

What I don't get is that they both seem to harm the player.
Also if I change the -24 a measure further the arrow shoots in the ground.
It seems impossible to aim it straight to the player.

Another strange habbit occurs on the model that's in the water.
It is the same subroutine I use for as the land model.
Only the land model shoots an arrow, the watermodel only shoots but there doesn't appear an arrow in water.
Does this mean the conditions for a model to spawn is different than on land? 
 
have you called makevectors(self.angles) before using the v_ unit vectors? 
Yes 
as I thought this part was the positioning of the shooting angle of the model itself, it didn't make sense to me the arrow shoots straight to the sky.

void() harpi_fire =
{
local vector org;

self.effects = self.effects | EF_MUZZLEFLASH;
makevectors (self.angles);

org = self.origin + v_forward * 30 + v_right * 8.5 + '0 0 -24';

Launchharpi(org, self.enemy.origin - self.origin);
};
 
 
ok, that bit looks fine, now you need to check if launchharpi is correct. 
Well 
It's the same as the enforcer, but I must admit it is not a usual qc.
It is a combination of two models, who will be going to be melted as a water and a land model.
So the problem might as well lay in another part, although both of the models use the same Launchharpi.


void(vector org, vector vec) Launchharpi =
{
local vector vec;

if (self.classname == "monster_enforcer")
sound (self, CHAN_WEAPON, "enforcer/enfire.wav", 1, ATTN_NORM);

vec = normalize(vec);

newmis = spawn();
newmis.owner = self;
newmis.movetype = MOVETYPE_FLY;
newmis.solid = SOLID_BBOX;
newmis.effects = EF_DIMLIGHT;

setmodel (newmis, "progs/pioen.mdl");
setsize (newmis, '0 0 0', '0 0 0');

setorigin (newmis, org);

newmis.velocity = vec * 600;
newmis.angles = vectoangles(newmis.velocity);

newmis.nextthink = time + 5;
newmis.think = SUB_Remove;
newmis.touch = harpi_Touch;
};
 
 
i see a potential problem here. you have a variable 'vec' being passed into the function, and you also have a local variable 'vec' being declared at the start.

remove the local variable and that may fix your problem. 
Necros 
I'm not so familiar with the stats although I'll believe you.
Remove the local variable, is that

//vec = normalize(vec);  
 
No, this:

//local vector vec;

Then you'll be using the variable you passed in rather than the local one. 
 
yeah, the normalize(vec) is actually very important. normalize makes whatever the vector passed in a unit vector.
that is to say, the vector is reduced from whatever it was so that it's total length is 1.
this is how you can then multiply vec by an arbitrary number to create consistent velocity (ie: projectile always travels at 600 units per second). if you didn't normalize, the velocity of the projectile would change in relation to how far apart you and the enemy are. 
Thanks! 
I included it in the qc, but I wondered. I always thought that the

org = self.origin + v_forward * 30 + v_right * 8.5 + '0 0 -24';

positioned the point of shooting from the monster, where the last three numbers were the actual position of its gun.

With these coordinates I get a shooting frogman which shoots its arrow 24 units above its gun, but the arrow goes left above me.

http://members.home.nl/gimli/frogman.jpg 
 
org = self.origin + v_forward * 30 + v_right * 8.5 + '0 0 -24';

assuming makevectors has been run, the above line will set org to a position 30 units in front, 8.5 units to the right and -24 units up (all monsters are 24 units above the ground, so -24 will make it right on the floor).

the reason it's shooting nuts is because when you call launchharpi, you are calculating the trajectory with self.enemy.origin - self.origin but your spawn point is at org.

in order for it to work correctly, the function call should either be:
Launchharpi(org, self.enemy.origin - org);
or:
Launchharpi(self.origin, self.enemy.origin - self.origin); 
Indeed! 
It might as well be above my hat but it seems to work.
I just get a little confused by the -24 as it still shoots above the players head.
It reminds me at the moment I placed the new monster in game and it flew 24 units above the ground.
I decided to lower all frames. So it is this difference that shoots the arrow overhead. Can't think of a way to overcome this now. 
9000! 
 
It's Over 9000. 
just take -24 off.

it's shooting up because you are doing:
self.enemy.origin - org

think of it this way:

self.origin = '0 0 0' (you)
self.enemy.origin = '128 0 0' (monster)

this would be both the monster and you being at the same height.

but now, you are calculating:
self.enemy.origin - org
let's forget about v_forward and v_right for now.
that makes org = '128 0 -24' because the math is: '128 0 0' + '0 0 -24' = '128 0 -24'.

so think of it like the enemy.origin is the gun which is -24, so it has to shoot up towards 0.

removing -24 from the vertical element will make the monster shoot straight horizontally.

remember shamblers, how their lightning goes downwards or droles shoot at the player's feet. the drole shooting at the player's feet was completely unintentional and was a by-product of the spawn point of the drole missile (which is above the origin of the monster, so it shoots downward at the player which is the opposite of what's happening to your monster). 
Alternatively, 
if you want the monster to shoot from it's feet, then change the trajectory vector.

instead of Launchharpi(org, self.enemy.origin - org);, do Launchharpi(org, (self.enemy.origin + '0 0 -24') - org); which will make the monster shoot at your feet too. 
Right 
Thanks for your clear explanation!

I understand now how this positioning works.
I just couldn't understand why the arrow kept shooting above the monster, although the cooordinates were right.

Then I realized when I imported the monster into Qmle it was 24 units above the ground.
So when I put these models back in game the arrow shoots right.

Now I need to know how I can lower the model 24 units and keep their original shooting point.
It sounds kinky, but it seems Qmle imports models rather rough.
One moment they are exact on the 0'0'0 axis.
But after playing in game they suddenly drop 24 to 48 units down the zero line.
Also it seems as if there is no difference between the zero line and, let's say a multiple above or below. 
 
all monsters' feet are at -24 units. 
So 
Noone has UnrealED3 (UT3) installed? 
Jago: I Had A Quick Look 
Heh - my first time ever looking at UnrealEditor. The level looks pretty smart, You obviously blocked it out with the brick texture. I never work like this, although I know a lot of people do. I actually dont think that the red brick texture should be used anywhere in this map. I think if you went for some tech-style textures (metal panels etc) which would go with the trim. The trim (the meshes and stuff) look like they are out of a spaceship, or an oil-rig or something.
I think you would find that the level would start to materialise into something which looked a bit better-themed if you slowly went through the map and replaced all of the brick textures, with dark metal panels and suchlike.

The layout looked prety interesting - multi-tiered, and nice interconnection. So I would say you should finish it for sure. Just do more with tech-style texturing and good old brushwork :D

Nice work 
Looking Into Making A New .map Editor 
Tell me, what features do you like and what parts do you not like. anything goes.

It will be implemented in Erlang with plugins written in Erlang. The newest release of Erlang includes wxWidgets and OpenGL so I decided to learn how to use wxWidgets. 
Good Luck 
I'd say these are the important features:

Good Cameras
Decent Texture System, with texture lock and multiple WAD support
Ease of use entity listing (def, fgd, whatever)
Ease of install / setup
Slice Brush Tool
Vertex Manipulation Tool
Prefab Library

Probably some stuff I'm forgetting there. 
Damn 
Viusal (named group) hiding is nice as well. 
Some Notes 
| Good Cameras
Is that good camera controls? Ability to change camera positions quickly? i have an idea (look below)

| Decent Texture System, with texture lock and multiple WAD support
I consider multiple part of the virtual file system I will have to make.
Texture locking is for moving brushes, correct?
And what kind of User Interface controls are needed, tagging textures and using that to browse sounds usefull for instance.

| Ease of use entity listing (def, fgd, whatever)
I already started with using a fgd file to see how i can make my own format: http://3spire.com/quake.txt
it is based on Erlang terms and can be loaded easyly, will this format work?
Configuration will also use this kind of file, so that it can be loaded easily.

| Ease of install / setup
I plan on using the same install system of Wings3D

| Slice Brush Tool
| Vertex Manipulation Tool
These should be able to be done with plugins

| Prefab Library
Also done with plugins, so that the prefabs can be configurable

| Visual (named group) hiding
I would like to be able to provide multiple views into the same map as represented as named tabs. Each tab can control visibility of each brush/entity and the positions of the 3d camera and 2d grids.
Another idea is to make brushes and entities each belong to multiple layers, and hiding/showing layers are per tab as well. 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.