I know I posted a similar post just about a week ago, but this time I have a little more info on the problem:
I'm having the same problem again that I posted earlier in Freaky Crashing, but this time I totally rewrit the mod. The problem is that in multiplayer, as soon as I fire a rocket, the other player (was host too) turns into a random thing (usually first turns into the rocketsmoke model I use). Eventually, the game crashes probably because of the changing. I don't get this problem at all because I check the cogs and see nothing wrong. I'm starting to think it might be something in the rocket template, but I'm not sure at all so it may still be in the cogs. I'm hoping you guys can take a look and spot anything.
The problem always comes up as soon as I fire the a rocket from this weapon: Here are all cogs that control the weapon and anything with the projectiles:
this cog controls stuff that isn't necessary to be sent over in an MP game, attemp to reduce lag
this cog controls stuff with the weapon that should be sent over in an MP game
this controls the creation of the projectiles. ignore the unused code
this is the rocket's class cog. The SendMessage is sent is to turn off rocket camera on the creaton of a new rocket.
this is the class cog of the rocket smoke, since the other player always seems to turn into [ROCKETSMOKE1.3DO] first
and last, the problem may even be in the rocket's template information. yes, there are different cogs for the different rocket types, but it still does it with ANY rocket, and so I posted the the class cog of the simplest rocket
Might want to check the "typeflags" because to get the rocket to explode right, I randomly fiddled with that to get it to work...
everything works perfect in and exactly how I expect it in single player, but this problem always comes up in MP.
I'm completly out of ideas. Am I the only one who's ever had this problem in JK before??!? Any ideas? This would be the next greatest help for the UR Mod.
------------------
I am _ Ace_1 _ , and I approve this message.
[This message has been edited by Ace1 (edited August 02, 2004).]
[This message has been edited by Ace1 (edited August 02, 2004).]
I'm having the same problem again that I posted earlier in Freaky Crashing, but this time I totally rewrit the mod. The problem is that in multiplayer, as soon as I fire a rocket, the other player (was host too) turns into a random thing (usually first turns into the rocketsmoke model I use). Eventually, the game crashes probably because of the changing. I don't get this problem at all because I check the cogs and see nothing wrong. I'm starting to think it might be something in the rocket template, but I'm not sure at all so it may still be in the cogs. I'm hoping you guys can take a look and spot anything.
The problem always comes up as soon as I fire the a rocket from this weapon: Here are all cogs that control the weapon and anything with the projectiles:
this cog controls stuff that isn't necessary to be sent over in an MP game, attemp to reduce lag
Code:
# Jedi Knight Cog Script
flags=0x240
symbols
model NoPovModel=crosshairs2.3do local
sound outSound=pistout1.wav local
template projectile=+bryarbolt local
thing player local
flex weaponRating=500.0 local
flex fireDelay=1.0 local
flex bfireDelay=0.6 local
flex reloadTime=1.75 local
int weaponActionCog=187 local
int weaponPovCog=160 local
int povShootID=2 local
int povLWhipID=4 local
int povRWhipID=5 local
int povReloadID=3 local
int curUsedWeapon=7 local
int ArmWait=1.5 local
int FireWait=1.5 local
int mode local
int ammocounter=15 local
int ammobin=15 local
int magazineSize=10 local
int nextwhip=0 local
int reloading=0 local
message autoselect
message selected
message deselected
message activated
message deactivated
message timer
message user1
message user2
end
# ========================================================================================
code
# ........................................................................................
autoselect:
player = GetSourceRef();
if(GetInv(player, curUsedWeapon) != 0.0)
{
ReturnEx(weaponRating);
}
else
{
ReturnEx(-1.0);
}
Return;
# ........................................................................................
selected:
player = GetSourceRef();
SetCurWeapon(player, curUsedWeapon);
SetMountWait(player, ArmWait);
jkSetPOVModel(player, NoPovModel);
reloading = 0;
jkSetWaggle(player, '0.0 0.0 0.0', 0);
Print("Selected");
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 10);
SetInv(player, 21, 1);
SetInv(player, 22, 1);
SetInv(player, 23, 1);
SetInvAvailable(player, 21, 1);
SetInvAvailable(player, 22, 1);
SetInvAvailable(player, 23, 1);
Return;
# ........................................................................................
deselected:
player = GetSourceRef();
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 20);
Return;
# ........................................................................................
activated:
player = GetSourceRef();
mode = GetSenderRef();
if(GetInv(player, 163) != 0)
{
Return;
}
SetMountWait(player, fireDelay);
if(mode == 0)
{
if(GetInv(player, ammobin) == 0)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 32);
Return;
}
else
{
if(firemode == 0)
{
if(damagemode == 0)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 300);
}
if(damagemode == 1)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 301);
}
if(damagemode == 2)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 302);
}
}
if(firemode == 1)
{
if(damagemode == 0)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 310);
}
if(damagemode == 1)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 311);
}
if(damagemode == 2)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 312);
}
}
if(firemode == 2)
{
if(damagemode == 0)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 320);
}
if(damagemode == 1)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 321);
}
if(damagemode == 2)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 322);
}
}
ChangeInv(player, 15, -1.0);
}
}
if(mode == 1)
{
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 350);
SendMessageEx(GetInvCog(player, 164), user0, player, 0, 0, 71);
}
Return;
# ........................................................................................
deactivated:
player = GetSourceRef();
mode = GetSenderRef();
Return;
# ........................................................................................
timer:
timerID = GetSenderID();
parameter0 = GetParam(0);
parameter1 = GetParam(1);
if(timerID == 1)
{
magazine = 0;
reloading = 0;
Print("Reloaded");
}
Return;
# ........................................................................................
user1:
if(reloading != 1)
{
SetTimerEx(reloadTime, 1, 0, 0);
reloading = 1;
SetInv(player, weaponPovCog, povReloadID);
SendMessageEx(GetInvCog(player, weaponActionCog), user0, player, 0, 0, 40);
}
Return;
# ........................................................................................
user2:
if((GetParam(3) == 10) && (reloading != 1))
{
if(firemode == 0)
{
Print("Firemode set to Seeking");
firemode = 1;
}
else if(firemode == 1)
{
Print("Firemode set to Guided");
firemode = 2;
}
else if(firemode == 2)
{
Print("Firemode set to Normal");
firemode = 0;
}
}
else if((GetParam(3) == 20) && (reloading != 1))
{
if(damagemode == 0)
{
Print("You are using Cluster Rockets");
damagemode = 1;
}
else if(damagemode == 1)
{
Print("You are using Stun Rockets");
damagemode = 2;
}
else if(damagemode == 2)
{
Print("You are using Concussion Rockets");
damagemode = 0;
}
call user1;
}
Return;
# ........................................................................................
end this cog controls stuff with the weapon that should be sent over in an MP game
Code:
# Jedi Knight Cog Script
symbols
model weaponMesh=plxg.3do local
sound mountSound=df_rif_ready.wav local
sound dismountSound=PutWeaponAway01.wav local
sound fireSound=RailChargeFire01.wav local
sound outSound=RailChargeEmpty01.wav local
template projectile=+nineshot local
template projectile2=+punch local
thing player local
flex autoAimFOV=30 local
flex autoAimMaxDist=5 local
int curArmedMode=1 local
int dummy local
message user0
end
# ========================================================================================
code
# ........................................................................................
user0:
player = GetParam(0);
xoff = GetParam(1);
yoff = GetParam(2);
msgID = GetParam(3);
Print("Weapon Action");
if(msgID == 10)
{
call selectWeap;
}
if(msgID == 20)
{
call deselectWeap;
}
if(msgID == 300)
{
call fireShotNCN;
}
if(msgID == 301)
{
call fireShotNCL;
}
if(msgID == 302)
{
call fireShotNS;
}
if(msgID == 310)
{
call fireShotSCN;
}
if(msgID == 311)
{
call fireShotSCL;
}
if(msgID == 312)
{
call fireShotSS;
}
if(msgID == 320)
{
call fireShotCCN;
}
if(msgID == 321)
{
call fireShotCCL;
}
if(msgID == 322)
{
call fireShotCS;
}
if(msgID == 350)
{
call detonateShots;
}
if(msgID == 31)
{
call fireReload;
}
if(msgID == 32)
{
call fireOut;
}
if(msgID == 35)
{
call fireWhip;
}
if(msgID == 40)
{
call reload;
}
Return;
# ........................................................................................
selectWeap:
jkSetWeaponMesh(player, weaponMesh);
SendTrigger(-1, 770, player, 2, xoff, yoff);
SetArmedMode(player, curArmedMode);
PlayMode(player, 41);
PlaySoundThing(mountSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
deselectWeap:
SendTrigger(-1, 775, player, 2, xoff, yoff);
Return;
# ........................................................................................
fireShot:
SendTrigger(-1, 200, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotNCN:
SendTrigger(-1, 700, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotNCL:
SendTrigger(-1, 701, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotNS:
SendTrigger(-1, 702, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotSCN:
SendTrigger(-1, 710, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotSCL:
SendTrigger(-1, 711, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotSS:
SendTrigger(-1, 712, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotCCN:
SendTrigger(-1, 720, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotCCL:
SendTrigger(-1, 721, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireShotCS:
SendTrigger(-1, 722, player, 2, xoff, yoff);
PlaySoundThing(fireSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
detonateShots:
SendTrigger(-1, 750, player, 2, xoff, yoff);
Return;
# ........................................................................................
fireWhip:
dummy = FireProjectile(player, projectile2, -1, 15, '0 0.05 0.02', '0 0 0', 1.0, 0x20, 30, 60);
Return;
# ........................................................................................
fireReload:
PlaySoundThing(rldSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
fireOut:
PlaySoundThing(outSound, player, 1.0, -1.0, -1.0, 0x80);
Return;
# ........................................................................................
reload:
PlaySoundThing(rldSound, player, 1.0, -1.0, -1.0, 0x80);
PlayMode(player, 41);
Return;
endthis controls the creation of the projectiles. ignore the unused code
Code:
# Jedi Knight Cog Script
#
# CLIENT_WEAPONRY.COG
flags=0x240
symbols
int player local
int weapon local
int dummy=0 local
int trigID local
int controlbin=163 local
flex Xaimoff local
flex Yaimoff local
template lightblast=+pistolbolt local
template heavyblast=+riflebolt local
template rocketncn=+rocketncn local
template rocketncl=+rocketncl local
template rocketns=+rocketns local
template rocketscn=+rocketscn local
template rocketscl=+rocketscl local
template rocketss=+rocketss local
template rocketccn=+rocketccn local
template rocketccl=+rocketccl local
template rocketcs=+rocketcs local
message trigger
message timer
end
# ========================================================================================
code
trigger:
trigID = GetSourceRef();
player = GetParam(0);
weapon = GetParam(1);
Xaimoff = GetParam(2);
Yaimoff = GetParam(3);
if(trigID == 200)
{
dummy = FireProjectile(player, lightblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 201)
{
dummy = FireProjectile(player, heavyblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 202)
{
dummy = FireProjectile(player, heavyblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
dummy = FireProjectile(player, lightblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 203)
{
dummy = FireProjectile(player, heavyblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
dummy = FireProjectile(player, heavyblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 204)
{
dummy = FireProjectile(player, heavyblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
dummy = FireProjectile(player, heavyblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
dummy = FireProjectile(player, heavyblast, -1, 8, '0.023 0.05 0.0085', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 700)
{
dummy = FireProjectile(player, rocketncn, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 701)
{
dummy = FireProjectile(player, rocketncl, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 702)
{
dummy = FireProjectile(player, rocketns, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 710)
{
dummy = FireProjectile(player, rocketscn, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 711)
{
dummy = FireProjectile(player, rocketscl, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 712)
{
dummy = FireProjectile(player, rocketss, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 720)
{
dummy = FireProjectile(player, rocketccn, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 721)
{
dummy = FireProjectile(player, rocketccl, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 722)
{
dummy = FireProjectile(player, rocketcs, -1, 8, '0.035 0.05 0.015', VectorSet(Xaimoff, Yaimoff, 0), 1.0, 0x20, 30, 60);
}
if(trigID == 750)
{
for(i=0; i<=GetThingCount(); i=i+1)
{
if((GetThingModel(i) == LoadModel("rld0.3do")) && (GetThingParent(i) == player))
{
FireProjectile(i, LoadTemplate("+raildet_exp"), -1, -1, '0.0 0.0 0.0', '0 0 0', 1.0, 0x20, 0, 0);
}
}
}
if(trigID == 770)
{
ParseArg(player, "puppet=kyplx.pup");
}
if(trigID == 775)
{
ParseArg(player, "puppet=ky.pup");
}
if(trigID == 1500)
{
Print("Weapons have been ENABLED");
SetInv(jkGetLocalPlayer(), controlBin, 0);
}
if(trigID == 1505)
{
Print("Weapons have been DISABLED");
SetInv(jkGetLocalPlayer(), controlBin, 1);
}
if(trigID == 1510)
{
Print("Movement has been ENABLED");
}
if(trigID == 1515)
{
Print("Movement has been DISABLED");
}
Return;
# ........................................................................................
timer:
if(GetParam(0) == 3)
{
shooter = GetSenderID();
dummy = FireProjectile(shooter, nineshot, -1, 8, '0.0225 0.05 0.0175', VectorSet((Rand()-0.5)*6, (Rand()-0.5)*6, 0), 1.0, 0x20, 30, 60);
SetTimerEx(0.125, shooter, 3, 3);
}
if(GetParam(0) == 6)
{
shooter = GetSenderID();
dummy = FireProjectile(shooter, rifleshot, -1, 8, '0.0225 0.05 0.0175', VectorSet((Rand()-0.5)*2.5, (Rand()-0.5)*2.5, 0), 1.0, 0x20, 30, 60);
SetTimerEx(0.125, shooter, 6, 6);
}
Return;
# ........................................................................................
end this is the rocket's class cog. The SendMessage is sent is to turn off rocket camera on the creaton of a new rocket.
Code:
# Jedi Knight Cog Script
#
# CLASS_ROCKET1.COG
#
# Leave a smoke trail behind a moving object
flags=0x240
symbols
template smoke=+rocketsmoke local
int dummy local
message created
message pulse
end
# ========================================================================================
code
created:
if(GetThingModel(GetSenderRef()) != LoadModel("rld0.3do"))
{
Return;
}
SetThingPulse(GetSenderRef(), 0.05); // set 50 msec timer for smoke release
rocket1 = GetSenderRef();
shooter = GetThingParent(rocket1);
ourcurrentplayer = jkGetLocalPlayer();
if(ourcurrentplayer == shooter)
{
SendMessageEx(GetInvCog(shooter, 164), user0, shooter, rocket1, 0, 71);
}
Return;
# ........................................................................................
pulse:
dummy = CreateThing(smoke, GetSenderRef()); // create smoke at our current location
Return;
end this is the class cog of the rocket smoke, since the other player always seems to turn into [ROCKETSMOKE1.3DO] first
Code:
# Jedi Knight Cog Script
#
# This controls smoke
#
# __Ace_1__
flags=0x240
symbols
int smoke local
message created
message timer
end
# ========================================================================================
code
created:
smoke = GetSenderRef();
if(GetThingTemplate(smoke) != LoadTemplate("+rocketsmoke"))
{
Return;
}
SetTimerEx(0.5, 2, smoke, 2);
SetTimerEx(1.0, 3, smoke, 3);
Return;
# ........................................................................................
timer:
smoke = GetParam(0);
If(GetParam(1) == 2)
{
if(GetThingTemplate(smoke) == LoadTemplate("+rocketsmoke"))
{
SetThingModel(smoke, LoadModel("rocketsmoke2.3do"));
}
}
If(GetParam(1) == 3)
{
if(GetThingTemplate(smoke) == LoadTemplate("+rocketsmoke"))
{
SetThingModel(smoke, LoadModel("rocketsmoke3.3do"));
}
}
Return;
# ........................................................................................
end and last, the problem may even be in the rocket's template information. yes, there are different cogs for the different rocket types, but it still does it with ANY rocket, and so I posted the the class cog of the simplest rocket
Code:
_newweapon none orient=(0.000000/0.000000/0.000000) type=weapon collide=1 move=physics thingflags=0x20000000 timer=10.000000 mass=5.000000 physflags=0x200 maxrotvel=360.000000 damageclass=0x2 typeflags=0x1 _newexplosion none orient=(0.000000/0.000000/0.000000) type=explosion typeflags=0x1 damageclass=0x4 +rocketsmoke _newweapon collide=0 thingflags=0x20000400 cog=class_rsmoke.cog timer=1.500000 model3d=rocketsmoke1.3do mass=0.000001 size=0.000001 movesize=0.000001 maxrotvel=0.000000 vel=(0.000000/0.000000/0.000001) damage=1.000000 mindamage=0.000001 typeflags=0x28440d rate=15.000000 +stunsphere _newweapon type=cog collide=0 thingflags=0x20000400 cog=class_stunboom.cog timer=0.250000 model3d=stunexp1.3do mass=0.000001 size=0.000001 movesize=0.000001 maxrotvel=0.000000 vel=(0.000000/0.000000/0.000001) damage=0.000000 mindamage=0.000000 typeflags=0x0 rate=15.000000 +concsphere _newweapon type=cog collide=0 thingflags=0x20000400 cog=class_concboom.cog timer=0.250000 model3d=concexp1.3do mass=0.000001 size=0.000001 movesize=0.000001 maxrotvel=0.000000 vel=(0.000000/0.000000/0.000001) damage=0.000000 mindamage=0.000000 typeflags=0x0 rate=15.000000 +stunning_exp _newexplosion thingflags=0x0 creatething=+stunsphere timer=0.600000 sprite=conx.spr soundclass=exp_conc.snd typeflags=0x17 damage=300.000000 blasttime=0.500000 force=10.000000 range=0.750000 +nconcussion_exp _newexplosion thingflags=0x0 creatething=+concsphere timer=0.600000 sprite=rldx.spr soundclass=exp_conc.snd typeflags=0x17 damage=300.000000 blasttime=0.500000 force=500.000000 range=0.750000 +clusterpiece _newweapon timer=1.000000 thingflags=0x20000401 cog=class_burntrail.cog light=0.400000 model3d=shrp_2.3do size=0.000100 movesize=0.000100 maxrotvel=360.000000 vel=(0.000000/1.500000/0.000000) angvel=(0.000000/0.000000/360.000000) explode=+nconcussion_exp fleshhit=+nconcussion_exp damage=6000.000000 damageclass=0x8 mindamage=5000.000000 typeflags=0x40309 rate=15.000000 +cluster_exp _newexplosion thingflags=0x0 creatething=+concsphere timer=0.600000 sprite=rldx.spr soundclass=exp_conc.snd typeflags=0x17 damage=300.000000 blasttime=0.500000 force=500.000000 range=0.750000 debris=+clusterpiece debris=+clusterpiece debris=+clusterpiece debris=+clusterpiece debris=+clusterpiece +rocketncn _newweapon timer=60.000000 thingflags=0x20000401 cog=class_rocket1.cog light=1.000000 model3d=rld0.3do size=0.000001 movesize=0.000001 soundclass=rail.snd maxrotvel=0.000000 vel=(0.000000/4.000000/0.000000) angvel=(0.000000/0.000000/0.000000) explode=+nconcussion_exp fleshhit=+nconcussion_exp damageclass=0x4 damage=80.000000 mindamage=55.000000 typeflags=0x204314 rate=5.000000 +rocketncl +rocketncn vel=(0.000000/3.000000/0.000000) explode=+cluster_exp fleshhit=+cluster_exp +rocketns +rocketncn vel=(0.000000/4.000000/0.000000) explode=+stunning_exp fleshhit=+stunning_exp +rocketscn +rocketncn cog=class_seekrocket1.cog vel=(0.000000/4.000000/0.000000) explode=+nconcussion_exp fleshhit=+nconcussion_exp +rocketscl +rocketncn cog=class_seekrocket1.cog vel=(0.000000/3.000000/0.000000) explode=+cluster_exp fleshhit=+cluster_exp +rocketss +rocketncn cog=class_seekrocket1.cog vel=(0.000000/4.000000/0.000000) explode=+stunning_exp fleshhit=+stunning_exp +rocketccn +rocketncn cog=class_camrocket1.cog vel=(0.000000/4.000000/0.000000) explode=+nconcussion_exp fleshhit=+nconcussion_exp +rocketccl +rocketncn cog=class_camrocket1.cog vel=(0.000000/3.000000/0.000000) explode=+cluster_exp fleshhit=+cluster_exp +rocketcs +rocketncn cog=class_camrocket1.cog vel=(0.000000/4.000000/0.000000) explode=+stunning_exp fleshhit=+stunning_exp
Might want to check the "typeflags" because to get the rocket to explode right, I randomly fiddled with that to get it to work...
everything works perfect in and exactly how I expect it in single player, but this problem always comes up in MP.
I'm completly out of ideas. Am I the only one who's ever had this problem in JK before??!? Any ideas? This would be the next greatest help for the UR Mod.
------------------
I am _ Ace_1 _ , and I approve this message.
[This message has been edited by Ace1 (edited August 02, 2004).]
[This message has been edited by Ace1 (edited August 02, 2004).]
I am _ Ace_1 _ , and I approve this message.
