예제 #1
0
 public override void onAdd(GameBase obj)
 {
     Player player = obj.getId();
     player["mountVehicle"] = true.AsString();
     player.setRechargeRate(this["rechargeRate"].AsFloat());
     player.setRepairRate(0);
 }
예제 #2
0
        public override void onMount(GameBase obj, SceneObject mountObj, int node)
        {
            Player      player           = obj.getId();
            VehicleData vehicleDataBlock = mountObj.getDataBlock();

            if (node == 0)
            {
                player.setTransform(new TransformF("0 0 0 0 0 1 0"));
                string mountPose = vehicleDataBlock["mountPose[" + node + "]"];
                player.setActionThread(mountPose, true, true);
                player["lastWeapon"] = player.getMountedImage(Constants.WeaponSlot).AsString();
                GameConnection client = player["client"];
                if (client.isObject())
                {
                    player["lastperson"] = client.isFirstPerson().AsString();
                }
                player.unmountImage(Constants.WeaponSlot);
                player.setControlObject(mountObj);
                if (player.getClassName() == "Player")
                {
                    console.commandToClient(player["client"], console.addTaggedString("toggleVehicleMapToggle"),
                                            new[] { "true" });
                }
            }
            else
            {
                string pose = vehicleDataBlock["mountPose[" + node + "]"];
                player.setActionThread(pose != string.Empty ? pose : "root", false, true);
            }
        }
예제 #3
0
        public override void onAdd(GameBase obj)
        {
            Player player = obj.getId();

            player["mountVehicle"] = true.AsString();
            player.setRechargeRate(this["rechargeRate"].AsFloat());
            player.setRepairRate(0);
        }
예제 #4
0
        public override void onRemove(GameBase obj)
        {
            Player player = obj.getId();

            if (player["client.player"] == player)
            {
                player["client.player"] = "0";
            }
        }
예제 #5
0
        public override void onUnmount(GameBase obj, SceneObject mountObj, int node)
        {
            Player player = obj.getId();

            if (node != 0)
            {
                return;
            }

            player.mountImage(player["lastWeapon"], Constants.WeaponSlot, true, string.Empty);
            player.setControlObject(string.Empty);

            if (!player["lastperson"].AsBool())
            {
                return;
            }

            GameConnection client = player["client"];

            if (client.isObject())
            {
                client.setFirstPerson(player["lastperson"].AsBool());
            }
        }
예제 #6
0
 public override void onMount(GameBase obj, SceneObject mountObj, int node)
 {
     Player player = obj.getId();
     VehicleData vehicleDataBlock = mountObj.getDataBlock();
     if (node == 0)
         {
         player.setTransform(new TransformF("0 0 0 0 0 1 0"));
         string mountPose = vehicleDataBlock["mountPose[" + node + "]"];
         player.setActionThread(mountPose, true, true);
         player["lastWeapon"] = player.getMountedImage(Constants.WeaponSlot).AsString();
         GameConnection client = player["client"];
         if (client.isObject())
             player["lastperson"] = client.isFirstPerson().AsString();
         player.unmountImage(Constants.WeaponSlot);
         player.setControlObject(mountObj);
         if (player.getClassName() == "Player")
             console.commandToClient(player["client"], console.addTaggedString("toggleVehicleMapToggle"), new[] {"true"});
         }
     else
         {
         string pose = vehicleDataBlock["mountPose[" + node + "]"];
         player.setActionThread(pose != string.Empty ? pose : "root", false, true);
         }
 }
예제 #7
0
        public override void onUnmount(GameBase obj, SceneObject mountObj, int node)
        {
            Player player = obj.getId();
            if (node != 0)
                return;

            player.mountImage(player["lastWeapon"], Constants.WeaponSlot, true, string.Empty);
            player.setControlObject(string.Empty);

            if (!player["lastperson"].AsBool())
                return;

            GameConnection client = player["client"];
            if (client.isObject())
                client.setFirstPerson(player["lastperson"].AsBool());
        }
예제 #8
0
 public override void onRemove(GameBase obj)
 {
     Player player = obj.getId();
     if (player["client.player"] == player)
         player["client.player"] = "0";
 }