Author Topic: [SOLVED] Mount Player/Bot to a Vehicle?  (Read 1043 times)

How do you manually mount a player or a bot to a wheeled vehicle? I tried...
Code: [Select]
WheeledVehicle::mountObject(%this, %player, %mountPoint);
// E.g. 28151.mountVehicles(findClientByName("SadBlobfish).player, 0);
Code: [Select]
Player::mountVehicles(%this, %vehicle, %mountPoint);
// E.g. findClientByName("SadBlobfish").player.mountVehicles(28151, 0);
and neither worked. It is possible I am using these functions incorrectly. I was also going to try to invoke Armor::onMount(%this, %obj, %mount, %node), but I'm not sure how to properly call it, and I figured this function is probably triggered by the proper mounting function.

Here is the trace of a player colliding with and entering a vehicle if it helps. Perhaps someone will see something I didn't:
Code: [Select]
Entering WheeledVehicleData::onCollision(702, 17058, 15380, 0.000048 0.000118 -7.521720, 7.521720)
   Entering findClientByBL_ID(6835)
   Leaving findClientByBL_ID() - return 13360
   Entering getTrustLevel(15380, 17058)
      Entering getBrickGroupFromObject(15380)
      Leaving getBrickGroupFromObject() - return 13344
      Entering getBrickGroupFromObject(17058)
      Leaving getBrickGroupFromObject() - return 13344
   Leaving getTrustLevel() - return 3
   Entering miniGameCstar fishe(15380, 17058)
      Entering getMiniGameFromObject(15380)
         Entering getBL_IDFromObject(15380)
            Entering getBrickGroupFromObject(15380)
            Leaving getBrickGroupFromObject() - return 13344
         Leaving getBL_IDFromObject() - return 6835
      Leaving getMiniGameFromObject() - return -1
      Entering getMiniGameFromObject(17058)
         Entering SimGroup::getClient(13344)
         Leaving SimGroup::getClient() - return 13360
         Entering SimGroup::getClient(13344)
         Leaving SimGroup::getClient() - return 13360
         Entering getBL_IDFromObject(17058)
            Entering getBrickGroupFromObject(17058)
            Leaving getBrickGroupFromObject() - return 13344
         Leaving getBL_IDFromObject() - return 6835
      Leaving getMiniGameFromObject() - return -1
   Leaving miniGameCstar fishe() - return -1
   Entering miniGameCstar fishe(15380, 17058)
      Entering getMiniGameFromObject(15380)
         Entering getBL_IDFromObject(15380)
            Entering getBrickGroupFromObject(15380)
            Leaving getBrickGroupFromObject() - return 13344
         Leaving getBL_IDFromObject() - return 6835
      Leaving getMiniGameFromObject() - return -1
      Entering getMiniGameFromObject(17058)
         Entering SimGroup::getClient(13344)
         Leaving SimGroup::getClient() - return 13360
         Entering SimGroup::getClient(13344)
         Leaving SimGroup::getClient() - return 13360
         Entering getBL_IDFromObject(17058)
            Entering getBrickGroupFromObject(17058)
            Leaving getBrickGroupFromObject() - return 13344
         Leaving getBL_IDFromObject() - return 6835
      Leaving getMiniGameFromObject() - return -1
   Leaving miniGameCstar fishe() - return -1
   Entering miniGameCanDamage(15380, 17058)
      Entering getMiniGameFromObject(15380)
         Entering getBL_IDFromObject(15380)
            Entering getBrickGroupFromObject(15380)
            Leaving getBrickGroupFromObject() - return 13344
         Leaving getBL_IDFromObject() - return 6835
      Leaving getMiniGameFromObject() - return -1
      Entering getMiniGameFromObject(17058)
         Entering SimGroup::getClient(13344)
         Leaving SimGroup::getClient() - return 13360
         Entering SimGroup::getClient(13344)
         Leaving SimGroup::getClient() - return 13360
         Entering getBL_IDFromObject(17058)
            Entering getBrickGroupFromObject(17058)
            Leaving getBrickGroupFromObject() - return 13344
         Leaving getBL_IDFromObject() - return 6835
      Leaving getMiniGameFromObject() - return -1
   Leaving miniGameCanDamage() - return -1
   Entering [PirateCannonPackage]Armor::onMount(38, 15380, 17058, 0)
      Entering [BotHolePackage]Armor::onMount(38, 15380, 17058, 0)
         Entering [TankPackage]Armor::onMount(38, 15380, 17058, 0)
            Entering Armor::onMount(38, 15380, 17058, 0)
               Entering ServerPlay3D(playerMountSound, -14.7808 9.38061 1.48565)
               Leaving ServerPlay3D() - return
            Leaving Armor::onMount() - return
         Leaving [TankPackage]Armor::onMount() - return
      Leaving [BotHolePackage]Armor::onMount() - return 17058
   Leaving [PirateCannonPackage]Armor::onMount() - return 17058
Leaving WheeledVehicleData::onCollision() - return 17058
« Last Edit: March 19, 2018, 06:14:38 PM by Platypi »

%obj.mountObject(%mounterObj, %node); where %node is any number (aka mountSlot, or mount# bone as named prior to export)

addendum: onMount is called after mounting, not a function you can call to mount someone on something

%obj.mountObject(%mounterObj, %node); where %node is any number (aka mountSlot, or mount# bone as named prior to export)
Yeah, that works. I have no idea why this:
Code: [Select]
WheeledVehicle::mountObject(%this, %player, %mountPoint);
// E.g. 28151.mountVehicles(findClientByName("SadBlobfish).player, 0);
wasn't working last night. Must have been doing something stupid.

Marking as solved.
« Last Edit: March 19, 2018, 06:18:43 PM by Platypi »