RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2437436 views

Aleks Versus Moderator 03.05.2014 14:25 (11 years ago)

Mxat2008,
если ты пытаешься вычислить что-то типа количества монет разного номинала, исходя из их общей стоимости, то код у тебя неправильный. Один золотой стоит десять тысяч. Ты вычисляешь количество золотых. Тут всё правильно. Однако потом ты вычисляешь сколько серебряков из той же суммы, из которой вычислял количество золотых, а это неверно. Ты должен был уменьшить money на величину золотые*10000. Так, как ты собственно и сделал, но только для медяков.

Aleks Versus Moderator 03.05.2014 14:27 (11 years ago)

Ну и строку

медяк=money-(золотой*10000+серебряный*100)

тоже тогда следует подправить. Вообще было бы гораздо проще разобраться, где ошибка, если бы ты пояснил, что пытаешься сделать.

Aleks Versus,
Ну, я пытаюсь сделать денежную систему, в которой 1 золотой=100 серебряным, 1 серебряный = 100 медякам. И что бы проще было добавлять деньги и отнимать их в торгово-денежных отношениях я хочу ввести переменную money значение которой равнялось бы общему кол-ву денег в самой мелкой единице, т.е. в медяках.

Aleks Versus,
Да, действительно. Подправил строку с серебряными монетами и все норм заработало. Всем Спс!

Камрады, такой вопрос.
Как сделать чтобы на определенной локаций мп.3 фаил снова начинал играть сам после завершения?
Пр.(ГГ зашел в лес там играет 10 сек мп.3 и после выключается, надо чтобы файл снова воспроизвелся на этой локе не выходя из нее)

Думал через цикл но не подходит ибо нужно обновление локи, тогда остается counter но тогда мне нужно что он работал именно на этой конкретной локе, а не на всех.

Типа
IF $curloc = “ИМЯ ЛОКАЦИИ”:
play ……… все действия с музыкой
end

Или же воспользуйтесь готовой библиотекой таймеров.

Харч:

Харч

Спасибо

TipoK,
в локации COUNTER:

IF ($CURLOC = 'Хижина') AND (NO ISPLAY 'bgm.mp3'):
    PLAY 'bgm.mp3'
END

Также см. гибкий плейлист.

Nex
Спасибо

Столкнулся с такой фигней…
Есть у меня массивчик например
Это делается не в предметах(инвентаре)…

$коробка[0]='карандаши'
$коробка[1]='ручки'
$коробка[2]='тетрадки'

Представим что он еще не создан на локе.
Индексируем массив, потом нам надо будет удалять по одному элементу, исходя из документации можно удалять либо все переменные, либо весь массив сразу, либо одни элемент по числовому индексу… или я чего то не знаю.

На какой нибудь локе игрок выбирает эти элементы массива в произвольном порядке

грубо говоря есть 3 кнопки, проверяем

if arrpos('$коробка','карандаши') = -1:
 act 'Взять карандаши':
  $коробка[0]='карандаши'
  ! взял карандаши все гуд
  gt 'куда-то'
 end
end

И другие 2 такие же кнопки только с ручками и тетрадками. (с индексами 1 и 2)
Все отлично все 3 элемента подобрали в случайном порядке
Переходим на другую локу и там у нас уже другие 3 кнопки где мы избавляемся от элементов массива по одному в произвольном порядке

if arrpos('$коробка','карандаши') ! -1:
 act 'Выкинуть карандаши':
  KILLVAR 'карандаши',0
  ! выкинул карандаши
  gt 'куда-то'
 end
end

И другие 2 такие же кнопки только с ручками и тетрадками. (с индексами 1 и 2)

Дак вот в чем у меня проблема… Если удалять элементы массива по порядку с конца то будет все норм, а если я вначале выкину карандаши то индексы сдвинуться и потом я уже не смогу избавиться от тетрадок и ручек =(
Самое оптимальное было бы удаление по строковому индексу (а не по числовому) и все, но наскоко я понял так делать нельзя =(
Как можно выйти из этой ситуации?

Aleks Versus Moderator 14.05.2014 23:12 (11 years ago)

TipoK,
ты же вычисляешь позицию карандашей в массиве через arrpos, так и впиши эту позицию в переменную:

позиция_карандашей = arrpos('$коробка','карандаши')
if позиция_карандашей ! -1: 
 act 'Выкинуть карандаши': 
  KILLVAR '$коробка',позиция_карандашей 
  ! выкинул карандаши 
  gt 'куда-то' 
 end 
end
Aleks Versus Moderator 14.05.2014 23:18 (11 years ago)

Так же в действиях добавления тебе необязательно прописывать значение в конкретную ячейку массива, можно помещать в последнюю, опустив цифру в квадратных скобках:

if arrpos('$коробка','карандаши') = -1: 
 act 'Взять карандаши': 
  $коробка[]='карандаши' 
  ! взял карандаши все гуд 
  gt 'куда-то' 
 end 
end

Это особенно удобно, когда приходится организовывать массивы больше десяти элементов. Запоминать в голове, в какую ячейку ты что прописал, просто нецелесообразно. Ну и, конечно, такой подход даст возможность изменять содержимое массива через действия в произвольном порядке.

Aleks Versus
Спасибо

А можно, сделать 2 окошка со списком предметов?

RomaDova,
да. В доп. описании можно вывести второй список, с помощью собственного кода. Можно и в основном описании свой инвентарь сделать. Но зачем?

Log in or Register to post comments.