assassingao wrote:Yeah riiight, and I thought that both used the same engine, even though aleph one is made for MARATHON.
Damage, Inc. is a
modified version of the Marathon engine. The modifications were to the source code, and the engine is different enough that we can't produce the special behavior of Damage, Inc. Can you load Half-Life using the Quake engine? No, but Half-Life is a variant of Quake. Same thing in our case.
Samus wrote:Now I know why so many people leave these forums in disgust, Your putting down his creation before he has even started it.
Samus, I am an experienced scripter. I've tried this myself, many times. I know what I'm talking about, which is why you posted my headshot script in another thread, even though you neither gave me credit nor asked for my permission. Here is the detailed explanation that I didn't want to post:
Jumping is possible, but the means to implement it are too primitive. Your liquids idea wasn't bad, but you have to consider a few things. First of all, you'd need to make a new version of every map you wanted to play it on. Second, it would only work locally, not in net games, since it's a MML script, and MML is NOT transmitted from a host to its clients, and it definitely wouldn't work if he just joined a game. He would go out-of sync. Playing this way is too cumbersome; few will play games with him if everyone in the game has to use a new map and add a new script to their Scripts directory.
A Lua script enabling true jumping, without a buggy liquids hack, is not possible. It's too clumsy. I have tried it. There's no way to assign functions to keys using Lua, so you'd have to use the only thing that can even remotely detect when a player triggers it: projectile detonation. There are plenty of problems with this. First of all, you have to map every gun you wanted t be able to use while jumping so that it fired a special projectile whose detonation would call the jumping part of the script into action. In addition, you'd have to make the special projectile fall down and explode as quickly as possible, which isn't always fast enough. When it is, fast enough, e.g. making the projectile spawn 1/1024 of a world unit off the ground so that it detonates in the next tick, if often messes up and doesn't explode at all, because the bobbing motion of the player causes the shot to spawn in the void, under the floor of the polygon, where it does nothing. So, detection of when to jump is in a very poor state. I won't even get into the problems with accelerate_player and set_player_external_velocity, both of which have their own problems. Even if you chose to use an exploding projectile to jump, and negate all subsequent damage, there would still be similar problems, plus the explosion might send you in an unexpected direction, or it might cause other nearby players to bounce somewhere they shouldn't.
Crouching is also impossible. I've tinkered with a crouching physics model, and it failed. The engine has certain hard-coded behaviors that conflict with the modified physics, so you end up adjusting to the crouch height permanently, then when you try crouching again, you only go lower.
You've really pissed me off with your ignorance. When I say it can't be done, I mean it.