1
Взять вещь (AddItem)
Написано Niko_Valer,
в
Техническая часть
13 ноября 2020
·
310 просмотры
additem
Не пойму как написать следующий скрипт:
Есть сундук, в котором нет вещей. Игрок нацеливается и активирует пробелом onActivate этот сундук.
При активации появляется message box "Вы нашли в сундук объект", объект попадает в инвентарь.
При повторном нажатии на сундук должна появиться message box "Сундук пуст".
Для понимания объясняю что в сундук не надо залазить и перетаскивать вещь в инвентарь, так как там её все равно нет.
Сейчас получается что сообщение появилось, предмет в инвентаре, а при повторном нажатии на сундук ни чего не происходит.
Скрипт:
Begin abc
Short AA
If ( onActivate ==1)
If ( AA == 0)
Set AA to 1
Player -> AddItem, "Item ID", 1
Messagebox "вы получили предмет"
Endif
Endif
If ( GetItemCount, "Item ID" >= 1)
Messagebox "сундук пуст"
Endif
End
Есть сундук, в котором нет вещей. Игрок нацеливается и активирует пробелом onActivate этот сундук.
При активации появляется message box "Вы нашли в сундук объект", объект попадает в инвентарь.
При повторном нажатии на сундук должна появиться message box "Сундук пуст".
Для понимания объясняю что в сундук не надо залазить и перетаскивать вещь в инвентарь, так как там её все равно нет.
Сейчас получается что сообщение появилось, предмет в инвентаре, а при повторном нажатии на сундук ни чего не происходит.
Скрипт:
Begin abc
Short AA
If ( onActivate ==1)
If ( AA == 0)
Set AA to 1
Player -> AddItem, "Item ID", 1
Messagebox "вы получили предмет"
Endif
Endif
If ( GetItemCount, "Item ID" >= 1)
Messagebox "сундук пуст"
Endif
End
- AlexNerevarin это нравится
If ( GetItemCount, "Item ID" >= 1)
А зачем тут это условие? просто elseif (AA>=1)
Иначе вы можете из инвентаря выложить вещь, и будет баг. АА равно1, вещи в инвентаре нет, парсер скажет вам идите нафиг. В итоге
Begin abc
Short AA
If ( onActivate ==1)
If ( AA == 0)
Player -> AddItem, "Item ID", 1
Messagebox "вы получили предмет"
Set AA to 1 (лучше в таком порядке)
Endif
Endif
elseif (AA>=1)
Messagebox "сундук пуст"
Endif
End