Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsCog Forum → Strange Crash Bug AGAIN
Strange Crash Bug AGAIN
2004-08-02, 2:31 PM #1
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
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;

end


this 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.
2004-08-02, 6:53 PM #2
Golem forge mod had this problem. He might of found a way around it.

Maybe you should contact him.

------------------
~Nightfire Mod~
Spoting an error in post will result in a $100 reward.
Offer expires on 6/6/06. Valid one per customer, per day.

Rangi
2004-08-03, 2:59 PM #3
I see some things in programming style, and some possibilities, but nothing I'm sure of. Main suggestion right now is insert a lot of sleeps... yes, I know, not great for playing, but for debugging, and insert messages almost everywhere. See which ones show up when the model changes, and start looking around there.

------------------
_ _ _____________ _ _
Wolf Moon
Cast Your Spell On Me
Beware
The Woods At Night
The Wolf Has Come
_ _ _____________ _ _
Wolf Moon
Cast Your Spell On Me
Beware
The Woods At Night
The Wolf Has Come
2004-08-04, 10:31 AM #4
MEGA Bump

------------------
jEDIkIRBY - Putting the Romance back into Necromancer.
Proud Leader of the Minnessassian Council

Live on, Adam.
ᵗʰᵉᵇˢᵍ๒ᵍᵐᵃᶥᶫ∙ᶜᵒᵐ
ᴸᶥᵛᵉ ᴼᵑ ᴬᵈᵃᵐ

↑ Up to the top!