コード例 #1
0
        // Создание Хаммера. Ключ вручаем игроку.
        // Вызывается из диалога, в Результате.
        // При ошибке создания Хаммера диалоговая ветка отводится на №9.
        // master - игрок
        // slave - нпц
        // Обойдемся одним игроком.
        public static uint r_CreateHummer(IntPtr player_ptr, IntPtr boy)
        {
            Critter player = (Critter)player_ptr;
            // Берем карту на которой находится игрок с нпц
            Map map = player.Map;

            if (map == null)
            {
                Global.Log("Map nullptr.");
                return(9);
            }

            int pos = Global.Random(0, 4);

            ushort[] x = { 252, 250, 251, 250, 255 };
            ushort[] y = { 182, 186, 192, 195, 192 };

            uint keyId = (uint)Global.Random(10000, 50000); // Генерация номера ключа

            // Хаммер, комплексное создание всесте с багажником
            Item car = map.AddItem(x[pos], y[pos], Pid.HUMMER, 1);

            if (car == null)
            {
                return(9);
            }

            car.LockerId = keyId;

            // Устанавливаем на багажник номер замка
            var bag = car.GetChild(0);

            if (bag != null)
            {
                bag.LockerId = keyId;
            }
            else
            {
                Global.Log("Bag not created.");
            }

            // Ключ
            var key = player.AddItem(Pid.KEY, 1);

            if (key != null)
            {
                key.LockerId = keyId;
            }
            else
            {
                Global.Log("Create key fail.");
            }

            // Удаляем 10000 монет
            player.DeleteItem(Pid.BOTTLE_CAPS, 10000);
            return(0);
        }
コード例 #2
0
ファイル: BarbekkyBoy.cs プロジェクト: SnakeSolidNL/fosdk
 public static void Init(Critter boy)
 {
     boy.Stealing += (self, e) =>
     {
         if (e.Success && Global.Random(0, 5) == 0)
             boy.SayMsg(Say.Norm, TextMsg.Text, Str.StealFail);
     };
     boy.Respawn += (self, e) =>
     {
         if (boy.CountItem(Pid.RADIO) < 1)
             boy.AddItem(Pid.RADIO, 1);
     };
 }
コード例 #3
0
 public static void Init(Critter boy)
 {
     boy.Stealing += (self, e) =>
     {
         if (e.Success && Global.Random(0, 5) == 0)
         {
             boy.SayMsg(Say.Norm, TextMsg.Text, Str.StealFail);
         }
     };
     boy.Respawn += (self, e) =>
     {
         if (boy.CountItem(Pid.RADIO) < 1)
         {
             boy.AddItem(Pid.RADIO, 1);
         }
     };
 }