PDA

View Full Version : I've been messin around with OFFLINE WA


Muzer
21 Jan 2007, 12:40
I've been using artmoney to try to edit health and ammo, I succeeded in that, but in replays that doesn't show up. What is funny, however, is when I tried fiddling with the number of worms. In the first replay, I set the first team to have 16 worms and the second to 20. In the second one, the first team had 19 and the second just one.


NOTE: You must escape these replays

Melon
21 Jan 2007, 12:53
Uh... nothing happens in either of those replays.

In the first one, no worms show up. The team health bars show no health or flags, and the blue team's health drops to 0, but it does not dissapear.

In the second, yes, there are loads of worms, but they have no names, most have no health, one of them is poisoned (WTF?) and the same problems occur with the team health bars as above.

So there's clearly some big mess up with the way that the replays store the information. Games don't normally allow more than 16 worms anyway, obviously the limit must be at 20 for replays.

I'm also surprised that the replays don't come up with some error. Strange. In one of Deadcode's replays though, I saw that his worms began ith 6 health, so there's obviously a way to change them.

-EDIT- I didn't mean that the replay system was faulty by the way, just that it obviously isn't perepared to record such changes.

Muzer
21 Jan 2007, 13:35
Well, the fact that they had no names or flags is because, when I installed the beta many moons ago, my teams all went like that. It's nothing to do with the hack.


And yes, that's exactly what happened ingame, so it's the game, not the replay, that's flawed :)


Here's another replay. I can't remember what I set the teams to, but it's quite funny :p

Lex
21 Jan 2007, 17:27
LMFAO, Muzer! The second replay is the absolute best! You just gained 50 points in my coolness books. Continue messing around!

Muzer
21 Jan 2007, 20:10
Has anyone got any more ideas on what to do? Minus one and 0 worms both crash it, as well as stupid values, and others end up the same as one of the above. Replays do desynch though when you play them while changing health halfway through a game, and it draws the round if you give a dead worm health and it comes to his go (and doesn't, surprisingly, crash).

Lyndon
22 Jan 2007, 08:35
Has anyone got any more ideas on what to do? Minus one and 0 worms both crash it, as well as stupid values, and others end up the same as one of the above. Replays do desynch though when you play them while changing health halfway through a game, and it draws the round if you give a dead worm health and it comes to his go (and doesn't, surprisingly, crash).

Find the value that Wind Effects worms when your chuting, if you freeze that to always on, you can jump and be sent flying backwards. Also freeze the value of digging, it allows you to walk in the air and over water.

Another thing you can do is freeze the lightbulbs to always on when hosting, youll need friends to help you with it, each light bulb is a different integer. Not sure if deadcode fixed that exploit.

M3ntal
23 Jan 2007, 00:24
Another thing you can do is freeze the lightbulbs to always on when hosting, youll need friends to help you with it, each light bulb is a different integer. Not sure if deadcode fixed that exploit.
He did indeed.

Deadcode
23 Jan 2007, 20:29
If you hack a team to have more than 8 worms, only the first 8 will be properly initialized with health! That's why the "2007-01-21 12.32.54" replay has 8 worms with 100 health and 11 worms with 0 health. It is also why one of those 11 worms is poisoned.

See, the structure from which the worms are initialized has an array of just 8 worms, so any worms beyond that will be initialized from out-of-bounds positions in the array... with whatever values happen to be in memory. If the structure were rearranged (which normally would have no effect whatsoever on the game), then instead of one worm being poisoned, there could be some other random effect (e.g. maybe the worms would have nonzero healths).

The turn never starts because the game thinks there is damage pending; it reads out-of-bounds array members from the internal database to check for that. But none of the worms themselves are tagged with damage pending, so the condition perpetuates and the turn never starts.

Briefly: The game engine does not support more than 8 worms per team, because it uses fixed-length arrays in many places (with 8 elements, one for each worm in a team). It does support up to 48 worms total, although the autoplacement will be bugged by more than 32, and may be bugged by more than 18. It did not occur to me to put a range check in the replay loader, but there needs to be one — at least until >8 support is added.