Суббота, 05 Октября 2024, 19:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Не работает дроп
AntonioRSДата: Вторник, 18 Августа 2020, 23:08 | Сообщение # 1
был не раз
Сейчас нет на сайте
Сделал я значит код дропа для скелета (напишу на примере одной строчки но вариантов дропа там 4).
В Create У меня есть переменная procent которая отвечает за вероятность выпадения соответственного дропа.

Create:
Код
procent = irandom(100);


Step (1 вариант дропа):
Код

if procent >= 1 and procent <= global.drop_medkit_chance
{
instance_create(x,y,o_drop_medkit);
}

Global.drop_medkit_chance - Вероятность выпадения дропа т.е. = 5(%)

Но у меня ошибка... Пишет

___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event0
for object o_drop_controller:

Push :: Execution Error - Variable Get -5.drop_medkit_chance(100012, -2147483648)
at gml_Object_o_drop_controller_StepNormalEvent_1 (line 1) - if procent >= 1 and procent <= global.drop_medkit_chance
############################################################################################


Состоим в Диванных войсках

Сообщение отредактировал AntonioRS - Вторник, 18 Августа 2020, 23:09
MagicHeroДата: Среда, 19 Августа 2020, 00:21 | Сообщение # 2
участник
Сейчас нет на сайте
походу что то не так с глобальной переменной которая должна быть 5%. Поставь вместо нее в коде просто 5 и посмотри на результат.
martukДата: Среда, 19 Августа 2020, 07:21 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
А вообще глобальные переменные - очень большое зло. Так делать плохо. Если уж нужно делать такие переменные, то заводи лучше "глобальный" объект, в котором описываются все нужные тебе переменные. Объект будет играть типа роль класса (если у тебя 2.2 и ниже). И обращаться к переменной можно будет вот так имя_объекта.имя_переменной. Так хотя бы можно будет четко разделять к какой части логики (модулю) относится эта переменная Все эти ваши глобалы вообще не прозрачны и только вводят в заблуждения по мере роста их количества.
Supr_maksДата: Среда, 19 Августа 2020, 17:46 | Сообщение # 4
частый гость
Сейчас нет на сайте
Вот как-то так
Код
if procent >= 1 and procent <= 5
{
instance_create(x,y,o_drop_medkit);
}


У всех в душе пустота...
StormTДата: Воскресенье, 08 Ноября 2020, 23:12 | Сообщение # 5
участник
Сейчас нет на сайте
Относительно старая тема, но результат не написан, потому отпишусь тоже:

Меня смущает наличие "=" в обоих случаях и "and" между ними. С одной стороны я бы убрал "=".
Никогда не проверял, но подобные ситуации всегда избегал у себя.



MagicHeroДата: Понедельник, 09 Ноября 2020, 10:56 | Сообщение # 6
участник
Сейчас нет на сайте
Цитата StormT ()
Меня смущает наличие "=" в обоих случаях и "and" между ними. С одной стороны я бы убрал "=".
Никогда не проверял, но подобные ситуации всегда избегал у себя.

А в чем собственно проблема то? and или еще можно записать как && задает условие что обе проверки должны быть верны чтобы продолжить выполнение кода после условия. Хотя можно записать отдельно обе проверки друг за другом.


Сообщение отредактировал MagicHero - Понедельник, 09 Ноября 2020, 10:57
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг