Author Topic: [Solved] Check when a vehicle spawns  (Read 711 times)

I've done some digging around and can't seem to find the information on this. What is the function that is called when a vehicle/bot spawns? All I've managed to find was a function called onRespawn but I don't know the parameters and I'm not sure if this is even the correct function.

Edit: Here is the trace log:

Code: [Select]
==>trace(1);
   Console trace is on.
Leaving ConsoleEntry::eval() - return
Entering toggleConsole(1)
   Entering [CanvasCursor]GuiCanvas::popDialog(Canvas, ConsoleDlg)
      Entering [CanvasCursor]GuiCanvas::checkCursor(Canvas)
         Entering [CanvasCursor]GuiCanvas::checkTabFocus(Canvas)
         Leaving [CanvasCursor]GuiCanvas::checkTabFocus() - return
      Leaving [CanvasCursor]GuiCanvas::checkCursor() - return
   Leaving [CanvasCursor]GuiCanvas::popDialog() - return
Leaving toggleConsole() - return
Entering toggleConsole(0)
Leaving toggleConsole() - return 0
Entering wrenchVehicleSpawnDlg::send(wrenchVehicleSpawnDlg)
   Entering [CanvasCursor]GuiCanvas::popDialog(Canvas, wrenchVehicleSpawnDlg)
      Entering wrenchVehicleSpawnDlg::onSleep(9575)
      Leaving wrenchVehicleSpawnDlg::onSleep() - return
      Entering [CanvasCursor]GuiCanvas::checkCursor(Canvas)
         Entering cursorOff()
         Leaving cursorOff() - return
         Entering [CanvasCursor]GuiCanvas::checkTabFocus(Canvas)
         Leaving [CanvasCursor]GuiCanvas::checkTabFocus() - return
      Leaving [CanvasCursor]GuiCanvas::checkCursor() - return
   Leaving [CanvasCursor]GuiCanvas::popDialog() - return
Leaving wrenchVehicleSpawnDlg::send() - return
Entering [BotHolePackage]serverCmdSetWrenchData(13074, N  ^VDB 786^RCV 0^RC 0^C 0^R 0)
   Entering serverCmdSetWrenchData(13074, N  ^VDB 786^RCV 0^RC 0^C 0^R 0)
      Entering getQuotaObjectFromClient(13074)
         Entering getQuotaObjectFromBrickGroup(13058)
         Leaving getQuotaObjectFromBrickGroup() - return 14552
      Leaving getQuotaObjectFromClient() - return 14552
      Entering SimObject::setNTObjectName(14533, )
         Entering SimObject::clearNTObjectName(14533)
         Leaving SimObject::clearNTObjectName() - return
      Leaving SimObject::setNTObjectName() - return
      Entering fxDTSBrick::setVehicle(14533, 786, 13074)
         Entering fxDTSBrick::spawnVehicle(14533)
            Entering getQuotaObjectFromBrick(14533)
               Entering getQuotaObjectFromBrickGroup(13058)
               Leaving getQuotaObjectFromBrickGroup() - return 14552
            Leaving getQuotaObjectFromBrick() - return 14552
            Entering WheeledVehicleData::onAdd(786, 16614)
            Leaving WheeledVehicleData::onAdd() - return 4817154
            Entering [BotHolePackage]fxDTSBrick::colorVehicle(14533)
               Entering fxDTSBrick::colorVehicle(14533)
                  Entering [TankPackage]ShapeBase::setNodeColor(16614, ALL, 1 1 1 1)
                  Leaving [TankPackage]ShapeBase::setNodeColor() - return
               Leaving fxDTSBrick::colorVehicle() - return
            Leaving [BotHolePackage]fxDTSBrick::colorVehicle() - return
            Entering Projectile::onAdd(16615)
            Leaving Projectile::onAdd() - return 7 -3.26435 3.47021
         Leaving fxDTSBrick::spawnVehicle() - return
         Entering VehicleSpawnMarker::onAdd(16616)
         Leaving VehicleSpawnMarker::onAdd() - return 1
      Leaving fxDTSBrick::setVehicle() - return
      Entering fxDTSBrick::setRecolorVehicle(14533, 0)
         Entering fxDTSBrick::unColorVehicle(14533)
            Entering [TankPackage]ShapeBase::setNodeColor(16614, ALL, 1 1 1 1)
            Leaving [TankPackage]ShapeBase::setNodeColor() - return
         Leaving fxDTSBrick::unColorVehicle() - return
      Leaving fxDTSBrick::setRecolorVehicle() - return
      Entering getTrustLevel(13074, 14533)
         Entering getBrickGroupFromObject(13074)
         Leaving getBrickGroupFromObject() - return 13058
         Entering getBrickGroupFromObject(14533)
         Leaving getBrickGroupFromObject() - return 13058
      Leaving getTrustLevel() - return 3
      Entering getTrustLevel(13074, 14533)
         Entering getBrickGroupFromObject(13074)
         Leaving getBrickGroupFromObject() - return 13058
         Entering getBrickGroupFromObject(14533)
         Leaving getBrickGroupFromObject() - return 13058
      Leaving getTrustLevel() - return 3
      Entering getTrustLevel(13074, 14533)
         Entering getBrickGroupFromObject(13074)
         Leaving getBrickGroupFromObject() - return 13058
         Entering getBrickGroupFromObject(14533)
         Leaving getBrickGroupFromObject() - return 13058
      Leaving getTrustLevel() - return 3
      Entering fxDTSBrick::onDisappear(14533)
      Leaving fxDTSBrick::onDisappear() - return 14533
   Leaving serverCmdSetWrenchData() - return
Leaving [BotHolePackage]serverCmdSetWrenchData() - return
Entering ProjectileData::onExplode(56, 16615, 7.000000 -3.264350 3.480210)
   Entering getBL_IDFromObject(16615)
      Entering getBrickGroupFromObject(16615)
      Leaving getBrickGroupFromObject() - return -1
   Leaving getBL_IDFromObject() - return -1
Leaving ProjectileData::onExplode() - return 0
Entering toggleConsole(1)
   Entering [CanvasCursor]GuiCanvas::pushDialog(Canvas, ConsoleDlg)
      Entering [CanvasCursor]GuiCanvas::checkCursor(Canvas)
         Entering cursorOn()
         Leaving cursorOn() - return
         Entering [CanvasCursor]GuiCanvas::checkTabFocus(Canvas)
         Leaving [CanvasCursor]GuiCanvas::checkTabFocus() - return
      Leaving [CanvasCursor]GuiCanvas::checkCursor() - return
   Leaving [CanvasCursor]GuiCanvas::pushDialog() - return
Leaving toggleConsole() - return
Entering toggleConsole(0)
Leaving toggleConsole() - return 0
Entering ConsoleEntry::eval()
   ==>trace(0);
Console trace is off.
« Last Edit: October 21, 2015, 01:46:22 PM by Dr.Tyler O. »

Try to do tracing before and after the vehicle spawns

Try to do tracing before and after the vehicle spawns
I have. Do you want the log? I saw a function called onAdd but the parameters are not listed.
« Last Edit: October 21, 2015, 01:27:37 PM by Dr.Tyler O. »

Best to post a log if you want some results

Look for already existing add-ons that do the same thing. For example, the default tank adds a turret on top when you spawn it.


function TankVehicle::onAdd(%this, %obj)
{
    ...
}


To capture it for all vehicles, use


package blah
{
    function WheeledVehicleData::onAdd(%this, %obj)
    {
        parent::onAdd(%this, %obj);
        ...
    }
};
« Last Edit: October 21, 2015, 01:42:46 PM by Zeblote »

Thanks for that Zeblote. Nice explanation.

Tyler, do you understand how to read through your trace log? I was able to see the function within 5 seconds, let me know so we can explain it to you if we need to.