Я пытаюсь модифицировать игру. Это двумерная игра, в которой вы перемещаетесь вверх, вниз, влево и вправо (вид сверху вниз). В частности, я пытаюсь создать разные звуковые эффекты, в зависимости от поднятого предмета.
Я попытался ввести новую переменную (var itemIdd
), которая сохранит имя предмета, которое был подобран, и в зависимости от этой переменной будет генерироваться соответствующий звук. Это не сработало.
Я добавил var itemIdd
перед функцией и itemIdd === player().inventory[itm.id];
внутри // обновления инвентаря игрока. Я предполагаю, что это может не сработать, поскольку это как массив, но я не знаю, как получить из него только соответствующий идентификатор.
Я хотел бы отметить, что я не могу отлаживать то и то after
и function movePlayer
находятся в разных тегах <script>
. Было бы лучше, если бы я не модифицировал часть function movePlayer
, так как это исходный код, а after
- мод.
after('onInventoryChanged', function () {
if (itemIdd === "beer")
{
sounds.inventory1();
}
if (itemIdd === "booz")
{
sounds.inventory2();
}
});
var input = null;
var itemIdd = ""; //i have added this
function movePlayer(direction) {
var ext = getExit( player().room, player().x, player().y );
var end = getEnding( player().room, player().x, player().y );
var itmIndex = getItemIndex( player().room, player().x, player().y );
// do items first, because you can pick up an item AND go through a door
if (itmIndex > -1) {
var itm = room[player().room].items[itmIndex];
var itemRoom = player().room;
startItemDialog(itm.id, function() {
// remove item from room
room[itemRoom].items.splice(itmIndex, 1);
// update player inventory
if (player().inventory[itm.id]) {
player().inventory[itm.id] += 1;
itemIdd = player().inventory[itm.id]; //and this
}
else {
player().inventory[itm.id] = 1;
}
// show inventory change in UI
if (onInventoryChanged != null) {
onInventoryChanged(itm.id);
}
});
}
}
Я тоже пробовал это:
if (player().inventory[itm.id]) {
player().inventory[itm.id] += 1;
itemIdd = player().inventory[itm.id].name; //this
}
И это код для предметов:
item[id] = {
id : id,
drw : drwId, //drawing id
col : colorIndex,
dlg : dialogId,
animation : {
isAnimated : (renderer.GetFrameCount(drwId) > 1),
frameIndex : 0,
frameCount : renderer.GetFrameCount(drwId)
},
name : name
};
Любая помощь будет принята с благодарностью.
Игра называется bity и i Пытаюсь дополнительно модифицировать этот мод basi c -sfx
Спасибо за вашу помощь.