Перейти к содержанию

  • 0
Авторизация  
Protopop

Разменный автомат в Стоке

Вопрос

Перенесено из http://falcon-lair.com/tracker/issue-1578-razmennyi-apparat-v-stoke/

 

В Стоке при подключении PlayerHomes есть разменный аппарат, который после квеста менял довоенные деньги на довоенные монеты, которые можно было потратить в автомате на кухне. Сейчас же аппарат исправно ест довоенные купюры, идет звук сыпящихся монет, но монеты не выдаются. Из описания выходит, что должна быть вероятность того, что некоторые купюры аппарат не примет, но при удаче в 10 монеты не выдали ни разу. 

 

7fa8fa47efcafd90c4255141e701f3f1.jpg

 

 

Требуется дополнительное тестирование

Поделиться сообщением


Ссылка на сообщение

1 ответ на этот вопрос

Рекомендуемые сообщения

  • 0

Скрипт:

 

scn PrewarChangeMachineSCRIPT

; Allows the player to exchange pre-war money for quarters (for vending machine).


Short cmButton    ; Which button was pressed.

BEGIN OnActivate

    If ( IsActionRef Player )

            ShowMessage PrewarChangeMachineMsg
    EndIf

END


BEGIN MenuMode 1001

    Set cmButton to GetButtonPressed;

    short LuckStat

    Set LuckStat to Player.GetActorValue Luck

    If ( cmButton == 1 )

        If (Player.GetItemCount PrewarMoney >= 1)
            Short dollars
            Short quarters
            Short min
            Short max

            if (LuckStat == 1)
                Set min to 1
                Set max to 16
            elseif (LuckStat == 2)
                Set min to 2
                Set max to 17
            elseif (LuckStat == 3)
                Set min to 3
                Set max to 18
            elseif (LuckStat == 4)
                Set min to 4
                Set max to 19
            elseif (LuckStat == 5)
                Set min to 5
                Set max to 20
            elseif (LuckStat == 6)
                Set min to 6
                Set max to 21
            elseif (LuckStat == 7)
                Set min to 7
                Set max to 22
            elseif (LuckStat == 8)
                Set min to 8
                Set max to 23
            elseif (LuckStat == 9)
                Set min to 9
                Set max to 24
            elseif (LuckStat == 10)
                Set min to 10
                Set max to 25
            endif

            set dollars to min + GetRandomPercent * max / 100
            set quarters to dollars * 4

            PrewarChangeMachineREF.PlaySound3d VendingMachineCoinRefund

            Player.RemoveItem PrewarMoney 1
            Player.AddItem PrewarQuarter quarters
        EndIf

 

 

При удаче 10:

min = 10
max = 25

dollars = 10 + GetRandomPercent * 25 / 100

quarters = dollars * 4

Player.AddItem PrewarQuarter quarters

 

Иными словами при удаче 10:

игрок получает монеты в количестве: quarters = (10 + GetRandomPercent * 25 / 100) *4

т.е. минимум 40, максимум 150

 

Звук монет возникает независимо от результата, это корректно. Но вот корректно ли, что денег не добавилось.

 

В скрипте проблем не вижу. Протестируйте детальнее, может что-то упустили?

Воспроизводится ли еще у кого?

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  


×
×
  • Создать...