// Создание Хаммера. Ключ вручаем игроку. // Вызывается из диалога, в Результате. // При ошибке создания Хаммера диалоговая ветка отводится на №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); }
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); }; }
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); } }; }