-
[CoD2] SWIMMING
Another great new achievement in the CoD2-Modding-History made by IzNoGod!
http://www.xfire.com/video/5c7323/
-
Expected something different :D
I thought by swimming you meant swimming on the surface of the water. This is more like diving.
Anyways, it looks amazing. This guy is so amazing and his newest creation...wow. Honestly, great work.
-
IzNoGod would you mind posting source code for this kind of swimming ?! It would be great !
Thanks.
-
Quote:
Originally Posted by
kung foo man
Swimzoring by IzNoGod:
PHP Code:
#include std\player;
swim()
{
swimspeed = 200;
swimfactor = 0.05;
swimcorrection = 35.5; //experimental random number (do not change)
if(isdefined(self.swim_running) && self.swim_running)
return; //dont double-start thread
waters = getentarray("water", "targetname");
touching = false;
wastouching = false;
while(isdefined(self) && isdefined(self.sessionstate) && self.sessionstate == "playing")
{
wastouching = touching;
touching = false;
for(i = 0; i < waters.size; i++)
{
if(self istouching(waters[i]))
{
touching = true;
break;
}
}
vec = (0, 0, 0);
if(touching || wastouching)
{
fw = anglestoforward(self getplayerangles());
rg = anglestoright(self getplayerangles());
if(self leftButtonPressed())
vec -= rg;
if(self rightButtonPressed())
vec += rg;
if(self forwardButtonPressed())
vec += fw;
if(self backButtonPressed())
vec -= fw;
if(self leanleftButtonPressed())
vec -= (0, 0, 1);
if(self leanrightButtonPressed())
vec += (0, 0, 1);
vec = vectornormalize(vec);
vec = maps\mp\_utility::vectorScale(vec, swimspeed);
}
if(touching)
{
currentspeed = self getVelocity();
speed_diff = vec - currentspeed;
speed = (speed_diff[0] * swimfactor, speed_diff[1] * swimfactor, speed_diff[2] * swimfactor + swimcorrection * (1 - 0.5 * self isonground()));
self addVelocity(speed);
}
else if(wastouching && (vec[2] > swimspeed/10 || self jumpButtonPressed()))
{
currentspeed = self getVelocity();
currentspeed = (currentspeed[0], currentspeed[1], 250);
self setvelocity(currentspeed);
}
wait 0.05;
}
if(isdefined(self))
self.swim_running = false;
}
Found something (maybe the same) in thread @https://killtube.org/showthread.php?t=1407
-
Thank you for your answer, you've been very helpful.
-