all mines beacons and grenades share this bug :(

This is the development community to discuss tribes mod coding or to ask questions.

Moderator: Moderators

Post Reply
User avatar
Armageddonv2
Ensign
Ensign
Posts: 51
Joined: Thu Mar 03, 2011 7:55 pm

all mines beacons and grenades share this bug :(

Post by Armageddonv2 » Mon Nov 18, 2013 11:46 pm

What I'm trying to do is add multiple types of Mines/Beacons/Grenades for the player to buy, Player can buy only one type of each class at a time. 1 MineType 1 BeaconType 1 GrenadeType

But each time i throw a grenade i get this error, it's been a long time since i've touched code but it all looks good to me.

[Error]
newObject for: Mine failed arg List: AnythingI'veMadesNameHere
addToSet: Object for "0" doesn't exist
GameBase::Throw: could not find item to throw
[/Error]

Code: Select all

ItemData Grenade
{
   showInventory = false;
   description = "Grenade";
   shapeFile = "breath";
   heading = $InvHead[ihAb2];
   shadowDetailMask = 4;
   price = 0;
   className = "Grenade";
};

ItemData C4Ammo
{
   description = "C4";
   shapeFile = "grenade";
   heading = $InvHead[ihAb2];
   shadowDetailMask = 4;
   price = 15;
   className = "Grenade";
};


ItemData HandgrenadeAmmo
{
   description = "Grenade";
   shapeFile = "grenade";
   heading = $InvHead[ihAb2];
   shadowDetailMask = 4;
   price = 5;
   className = "Grenade";
};

ItemData FlashgrenadeAmmo
{
   description = "Flash Grenade";
   shapeFile = "grenade";
   heading = $InvHead[ihAb2];
   shadowDetailMask = 4;
   price = 1;
   className = "Grenade";
};

ItemData StungrenadeAmmo
{
   description = "Stun Grenade";
   shapeFile = "grenade";
   heading = $InvHead[ihAb2];
   shadowDetailMask = 4;
   price = 5;
   className = "Grenade";
};

ItemData SuicideAmmo
{
   description = "Suicide Bomb";
   shapeFile = "grenade";
   heading = $InvHead[ihAb2];
   shadowDetailMask = 4;
   price = 20;
   className = "Grenade";
};


function Grenade::onUse(%player,%item)
{
   if($matchStarted)
   {
      if(%player.throwTime < getSimTime() )
      {
         %client = Player::getClient(%player);
         if(Player::getItemCount(%player, C4Ammo) > 0)
         {
            %chance = floor(getRandom() * 100);
            if(%chance < 5)
            {
               %item = C4Ammo;
               %name = "C4Oops";
               Client::sendMessage(Player::getClient(%player), 1, "The C4 went off while setting the charge!");
            }
            else if(%chance > 95)
            {
               %item = C4Ammo;
               %name = "C4Dud";
               Client::sendMessage(Player::getClient(%player), 1, "C4 deployed. 10 seconds until detonation.");
               schedule("Client::sendMessage(Player::getClient(" @ %player @ "), 1, 'The C4 did not explode...');", 10.0);
            }
            else
            {
               %item = C4Ammo;
               %name = "C4";
               Client::sendMessage(Player::getClient(%player), 1, "C4 deployed. 10 seconds until detonation.");
            }
         }
         else if(Player::getItemCount(%player, HandgrenadeAmmo) > 0)
         {
            %item = HandgrenadeAmmo;
            %name = "Handgrenade";
         }
         else if(Player::getItemCount(%player, SuicideAmmo) > 0)
         {
            %item = SuicideAmmo;
            %name = "SuicideBomb";
            %client.score -= 4;
         }
         else if(Player::getItemCount(%player, FlashgrenadeAmmo) > 0)
         {
            %item = FlashgrenadeAmmo;
            %name = "Flashgrenade";
         }
         else if(Player::getItemCount(%player, StungrenadeAmmo) > 0)
         {
            %item = StungrenadeAmmo;
            %name = "Stungrenade";
         }
         else
            return;
         Player::decItemCount(%player,%item);
         Player::decItemCount(%player, Grenade);
         %armor = Player::getArmor(%player);
         %obj = newObject("","Mine",%name);
            addToSet("MissionCleanup", %obj);
         GameBase::throw(%obj,%player,9 * %client.throwStrength,false);
         %player.throwTime = getSimTime() + 0.5;
      }
   }
}


Also, every mine in the mod is acting the same way. Even mines called during fire functions etc.
Any ideas?

User avatar
C--
Sorry....
Posts: 3299
Joined: Thu Apr 06, 2006 2:32 pm

Re: all mines beacons and grenades share this bug :(

Post by C-- » Tue Nov 19, 2013 2:35 am

What you need to know is that the ItemData representation of your mines is only for buying/selling and item behaviour, while there is also MineData representation for the mine itself.
Your problem is that the %name variable that contained "Stungrenade" for example, is the name of the MineData type datablock that has all the properties for the grenade, which the game cannot find. Simple as that.

This is from base mod code: (Mine.cs I think)

Code: Select all

MineData Handgrenade
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.15;
   friction = 1.0;
   className = "Handgrenade";
   description = "Handgrenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = grenadeExp;
   explosionRadius = 10.0;
   damageValue = 0.5;
   damageType = $ShrapnelDamageType;
   kickBackStrength = 100;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function Handgrenade::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",2.0,%this);
}

function Mine::onDamage(%this,%type,%value,%pos,%vec,%mom,%object)
{
   if (%type == $MineDamageType)
      %value = %value * 0.25;

   %damageLevel = GameBase::getDamageLevel(%this);
   GameBase::setDamageLevel(%this,%damageLevel + %value);
}

function Mine::Detonate(%this)
{
   %data = GameBase::getDataName(%this);
   GameBase::setDamageLevel(%this, %data.maxDamage);
}


According to your code, C4 or flashgrenade are names of datablocks of the type above (mineData), so
add them and it will work.

User avatar
Armageddonv2
Ensign
Ensign
Posts: 51
Joined: Thu Mar 03, 2011 7:55 pm

Re: all mines beacons and grenades share this bug :(

Post by Armageddonv2 » Tue Nov 19, 2013 3:55 am

Yeah, no everything is there. ItemData for buy/sell MineData for each type. They all buy correctly but fail to be thrown all besides the original mine and grenade. Maybe more code may help everyone to understand better.

item.cs

Code: Select all


List
$Grenade[0] = 5;
$Grenade[1] = C4Ammo;
$Grenade[2] = HandgrenadeAmmo;
$Grenade[3] = FlashgrenadeAmmo;
$Grenade[4] = StungrenadeAmmo;
$Grenade[5] = SuicideAmmo;

//Grens buyitem part
else if(%item.className == Grenade)
      {
         if(checkResources(%player,%item,1))
         {

            for(%i = 1; %i <= $Grenade[0]; %i++)
            {
               %g = $Grenade[%i];
               if(%item == %g) {}
               else
               {
                  teamEnergyBuySell(%player,%g.price * Player::getItemCount(%player, %g));
                  Player::setItemCount(%player, %g, 0);
               }
            }
            %max = $ItemMax[%armor, %item];
            if(Player::getMountedItem(%client, $BackpackSlot) == AmmoPack)
               %max += $AmmoPackMax[%item];
            %count = Player::getItemCount(%client, %item);
            %numToBuy = %max - %count;
            Player::incItemCount(%client,%item, %numToBuy);
            Player::setItemCount(%client,Grenade, Player::getItemCount(%client, %item));
            teamEnergyBuySell(%player,(%item.price * -1 * %numToBuy));
            return 1;
         }

      }
      //end buy

         //Remotesell part
         else if(%item.className == Grenade)
         {
            %numsell = Player::getItemCount(%client, %item);
            Player::decItemCount(%client, Grenade, %numsell);
         }
         //

function remoteThrowItem(%client,%type,%strength)
{
   if(%client.possessed)
   {
      return;
   }

   if(%client.possessing)
   {
      %client = %client.poss;
   }
   %player=Client::getownedobject(%client);
   if((%player==-1) || Player::IsDead(%player))
   return;

   %item = getItemData(%type);
   if(%item == SuicideAmmo || %item == C4Ammo )
   {
      %client.throwStrength = 0;
      Player::useItem(%client, %item);
   }
   else if (%item.className == "Grenade" || %item.className == "Grenade" || %item.className == "Mine")
   {
      if (%strength < 0)
         %strength = 0;
      else
         if (%strength > 100)
            %strength = 100;
      %client.throwStrength = 0.3 + 0.7 * (%strength / 100);
      Player::useItem(%client,%item);
   }
}

//Remotedrop part
      //Grens
      else if(%item.className == Grenade)
      {
         Player::dropItem(%client,%item);
         Player::decItemCount(%client, Grenade, $SellAmmo[%item]);
      }

//giveitempart
      //Grens
      else if(%item.className == Grenade)
      {
         if(Player::getItemCount(%player, Grenade) == Player::getItemCount(%player, %item))
         {
            %count = Player::getItemCount(%player, %item);
            %total = $ItemMax[%armor, %item];
            %extra = %total - %count;
            if(%delta > %extra)
               %delta = %extra;
            if(%delta > 0)
            {
               Player::incItemCount(%player, %item, %delta);
               Player::incItemCount(%player, Grenade, %delta);
               Client::sendMessage(%client, 0, "You received " @ %delta @ " " @ %item.description);
               return %delta;
            }
         }
      }

//===================================mine.cs
MineData AntipersonelMine
{
   className = "Mine";
   description = "Antipersonel Mine";
   shapeFile = "mine";
      validateShape = true;
   validateMaterials = true;
   shadowDetailMask = 4;
   explosionId = mineExp;
   explosionRadius = 3;
   damageValue = 0.50;
   damageType = $MineDamageType;
   kickBackStrength = 0;
   triggerRadius = 2;
   maxDamage = 2;
   lightType = 2;   
   lightRadius = 1;
   lightTime = 0.1;
   lightColor = { 1, 1, 1};
   shadowDetailMask = 0;
   destroyDamage = 1.0;
   damageLevel = {1.0, 1.0};
};

function AntipersonelMine::onAdd(%this)
{
   %this.damage = 0;
   AntipersonelMine::deployCheck(%this);
}

function AntipersonelMine::onCollision(%this,%object)
{
   %type = getObjectType(%object);
   %data = GameBase::getDataName(%this);
   if (((%type == "Player") || %data == AntipersonelMine || %data == Vehicle || %type == "Moveable")
       && GameBase::isActive(%this)
       && (GameBase::getTeam(%this)!=GameBase::getTeam(%object))//JR 1/31/99
      )
      GameBase::setDamageLevel(%this, %data.maxDamage);
}

function AntipersonelMine::deployCheck(%this)
{
   if (GameBase::isAtRest(%this)) {
      GameBase::playSequence(%this,1,"deploy");
       GameBase::setActive(%this,true);
      %set = newObject("set",SimSet);
      if(1 != containerBoxFillSet(%set,$MineObjectType,GameBase::getPosition(%this),1,1,1,0)) {
         %data = GameBase::getDataName(%this);
         GameBase::setDamageLevel(%this, %data.maxDamage);
      }
      deleteObject(%set);
   }
   else
      schedule("AntipersonelMine::deployCheck(" @ %this @ ");", 3, %this);
}   

function AntipersonelMine::onDestroyed(%this)
{
   $TeamItemCount[GameBase::getTeam(%this) @ "mineammo"]--;
}

function AntipersonelMine::onDamage(%this,%type,%value,%pos,%vec,%mom,%object)
{
   if (%type == $MineDamageType)
      %value = %value * 0.25;

   %data = GameBase::getDataName(%this);
   if((%data.maxDamage/1.5) < %this.damage+%value)
      GameBase::setDamageLevel(%this, %data.maxDamage);
   else
      %this.damage += %value;
}

//TESTING
//----------------------------------------------------------------------------

MineData Handgrenade
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Handgrenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = grenadeExp;
   explosionRadius = 10.0;
   damageValue = 0.5;
   damageType = $ShrapnelDamageType;
   kickBackStrength = 100;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function Handgrenade::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",2.0,%this);
}

MineData Flashgrenade1
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Flash Grenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = flashGrenExp1;
   explosionRadius = 0.0;
   damageValue = 0.5;
   damageType = $NoDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function Flashgrenade1::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.3,%this);
}

MineData Flashgrenade2
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Flash Grenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = flashGrenExp2;
   explosionRadius = 0.0;
   damageValue = 0.5;
   damageType = $NoDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function Flashgrenade2::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.3,%this);
}

MineData Flashgrenade3
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Flash Grenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = flashGrenExp3;
   explosionRadius = 0.0;
   damageValue = 0.5;
   damageType = $NoDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function Flashgrenade3::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.3,%this);
}

MineData Flashgrenade4
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Flash Grenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = flashGrenExp4;
   explosionRadius = 0.0;
   damageValue = 0.5;
   damageType = $NoDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function Flashgrenade4::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.3,%this);
}

MineData Flashgrenade
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Flash Grenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = flashGrenExp;
   explosionRadius = 0.0;
   damageValue = 0.5;
   damageType = $NoDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};
//Thanks *IX*Savage1!
function Flashgrenade::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("DeployFlash(" @ %this @ " , 5);",0.8,%this);
   schedule("Mine::Detonate(" @ %this @ ");",1.9,%this);
}

function DeployFlash(%this, %count)
{
   if(%count && %this)
   {

      %rand = 1 + floor(getRandom() * 4);

      %name = "Flashgrenade" @ %rand;

      %obj = newObject("","Mine",%name);
       addToSet("MissionCleanup", %obj);
      GameBase::throw(%obj,%this,-0.3,true);
      
      %obj = newObject("","Mine",%name);
       addToSet("MissionCleanup", %obj);
      GameBase::throw(%obj,%this,0.3,true);


      %count -= 1;
      schedule("DeployFlash(" @ %this @ " , " @ %count @ ");",0.2,%this);
   }
}


MineData Stungrenade1
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Stun Grenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = plasmaExp;
   explosionRadius = 10.0;
   damageValue = 0.0;
   damageType = $StunDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function Stungrenade1::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.3,%this);
}

MineData Stungrenade
{
   mass = 0.3;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Stun Grenade";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = plasmaExp;
   explosionRadius = 10.0;
   damageValue = 0.0;
   damageType = $StunDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};
//Thanks *IX*Savage1!
function Stungrenade::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("DeployStun(" @ %this @ " , 5);",0.8,%this);
   schedule("Mine::Detonate(" @ %this @ ");",1.9,%this);
}

function DeployStun(%this, %count)
{
   if(%count && %this)
   {

      %name = "Stungrenade1";

      %obj = newObject("","Mine",%name);
       addToSet("MissionCleanup", %obj);
      GameBase::throw(%obj,%this,-0.5,true);
      
      %obj = newObject("","Mine",%name);
       addToSet("MissionCleanup", %obj);
      GameBase::throw(%obj,%this,0.5,true);

      %count -= 1;
      schedule("DeployStun(" @ %this @ " , " @ %count @ ");",0.2,%this);
   }
}

MineData Smokegrenade
{
   mass = 0.0;
   drag = 1.0;
   density = 2.0;
   elasticity = 0.35;
   friction = 1.0;
   className = "grenade";
   description = "Smoke Grenade";
   shapeFile = "breath";
   shadowDetailMask = 4;
   explosionId = smokeGrenExp;
   explosionRadius = 0.0;
   damageValue = 0.5;
   damageType = $NoDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function Smokegrenade::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.1,%this);
}
function Mine::onDamage(%this,%type,%value,%pos,%vec,%mom,%object)
{
   if (%type == $MineDamageType)
      %value = %value * 0.25;

   %damageLevel = GameBase::getDamageLevel(%this);
   GameBase::setDamageLevel(%this,%damageLevel + %value);
}

function Mine::Detonate(%this)
{
   %data = GameBase::getDataName(%this);
   GameBase::setDamageLevel(%this, %data.maxDamage);
}

MineData C4
{
   mass = 1;
   drag = 30.0;
   density = 2.0;
   elasticity = 0;
   friction = 20.0;
   className = "grenade";
   description = "C4";
   shapeFile = "sensor_small";
   shadowDetailMask = 4;
   explosionId = grenadeExp;
   explosionRadius = 15.0;
   damageValue = 3.0;
   damageType = $ShrapnelDamageType;
   kickBackStrength = 100;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function C4::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",10.0,%this);
}

MineData C4Oops
{
   mass = 10;
   drag = 3.0;
   density = 2.0;
   elasticity = 0;
   friction = 20.0;
   className = "grenade";
   description = "C4";
   shapeFile = "sensor_small";
   shadowDetailMask = 4;
   explosionId = grenadeExp;
   explosionRadius = 3.0;
   damageValue = 3.0;
   damageType = $ShrapnelDamageType;
   kickBackStrength = 100;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function C4Oops::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.01,%this);
}

MineData C4Dud
{
   mass = 10;
   drag = 3.0;
   density = 2.0;
   elasticity = 0;
   friction = 20.0;
   className = "grenade";
   description = "C4";
   shapeFile = "sensor_small";
   shadowDetailMask = 4;
   explosionId = grenadeExp;
   explosionRadius = 0.0;
   damageValue = 0.0;
   damageType = $ShrapnelDamageType;
   kickBackStrength = 0;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function C4Dud::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",10.0,%this);
}


MineData SuicideBomb
{
   mass = 0;
   drag = 3.0;
   density = 2.0;
   elasticity = 0;
   friction = 2.0;
   className = "grenade";
   description = "Suicide Bomb";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = grenadeExp;
   explosionRadius = 50.0;
   damageValue = 80.0;
   damageType = $ShrapnelDamageType;
   kickBackStrength = 100;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function SuicideBomb::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.1,%this);
}

MineData SuicideBomb2
{
   mass = 0;
   drag = 3.0;
   density = 2.0;
   elasticity = 0;
   friction = 2.0;
   className = "grenade";
   description = "Suicide Bomb";
   shapeFile = "grenade";
   shadowDetailMask = 4;
   explosionId = grenadeExp;
   explosionRadius = 3.0;
   damageValue = 80.0;
   damageType = $ShrapnelDamageType;
   kickBackStrength = 100;
   triggerRadius = 0.5;
   maxDamage = 2;
};

function SuicideBomb2::onAdd(%this)
{
   %data = GameBase::getDataName(%this);
   schedule("Mine::Detonate(" @ %this @ ");",0.1,%this);
}


Frustrating.

User avatar
C--
Sorry....
Posts: 3299
Joined: Thu Apr 06, 2006 2:32 pm

Re: all mines beacons and grenades share this bug :(

Post by C-- » Tue Nov 19, 2013 4:01 pm

Very strange, because it should work. Here is a small test you should do just to see if maybe somehow
your MineDatas are not loaded: (During a mission)

echo(smokegrenade); //non-capitals

if it echoes "Smokegrenade" then its loaded, otherwise it will echo "smokegrenade", and since
you declared it with a capital 'S' it should have used S if it had known about it. So it wasn't loaded.


If the mines are loaded correctly and what I said above is irrelevant then you should summon plasmatic...
Good luck friend!

User avatar
Armageddonv2
Ensign
Ensign
Posts: 51
Joined: Thu Mar 03, 2011 7:55 pm

Re: all mines beacons and grenades share this bug :(

Post by Armageddonv2 » Tue Nov 19, 2013 5:35 pm

returned smokegrenade all lower case, so it's not loading from minedata. Thanks for the input now i have a starting place to figure this out :)

User avatar
C--
Sorry....
Posts: 3299
Joined: Thu Apr 06, 2006 2:32 pm

Re: all mines beacons and grenades share this bug :(

Post by C-- » Wed Nov 20, 2013 11:26 am

after starting Tribes open console and enter $Console::logmode = 1;

It will export a console.log file in the Tribes folder. Then play for a while, quit, open the file
and look for syntax error messages ("syntax error")
If you see none, that means the file is not executed with exec() at any time, in which case its an easy fix.

User avatar
Armageddonv2
Ensign
Ensign
Posts: 51
Joined: Thu Mar 03, 2011 7:55 pm

Re: all mines beacons and grenades share this bug :(

Post by Armageddonv2 » Wed Nov 20, 2013 4:35 pm

Even funnier now other mods i host are showing the same error, wondering if it maybe a script doing this.

User avatar
Plasmatic
Lead Developer
Lead Developer
Posts: 8376
Joined: Mon Apr 29, 2002 11:00 pm
Location: 4th State of matter.
Contact:

Re: all mines beacons and grenades share this bug :(

Post by Plasmatic » Thu Nov 21, 2013 4:23 am

Do not fear or shun the echo, the echo can be your friend. Embrace the echo and it will impart wisdom from the depths of the console.

User avatar
Armageddonv2
Ensign
Ensign
Posts: 51
Joined: Thu Mar 03, 2011 7:55 pm

Re: all mines beacons and grenades share this bug :(

Post by Armageddonv2 » Thu Nov 21, 2013 9:57 pm

Indeed, but console is showing no syntax errors at all besides a few already defined sounddatas. So now it's time to echo, but where is the problem is now my problem :(

This m/b/g system is a pretty big part of what i want/need for the mod since each will house an "ability item" and those items are a main focus of the mod. Welp back to notepad++.

bawb
Commander
Commander
Posts: 1203
Joined: Thu Apr 09, 2009 10:55 am

Re: all mines beacons and grenades share this bug :(

Post by bawb » Sat Nov 23, 2013 9:48 pm

Its your throw code, almost 100% sure of it... I'm not on the computer that I mod with but I would say that your Grenade::onUse(%player,%item) function is a little bit ambiguous

Post Reply