Квест на бая


Да в лыже - в целом, много чего "громоздкое" и лет 10 как не акруальное в виде кода.
До пока Мобиусу не дадут халявный доступ до норм сурса на основе л2ж - до того момента и будет "такая красота", пополнять темы этого форума))
а мобиус тут каким местом? :)
в теме тут вобще какая-то древняя сборка для С4.
 
Куда копать?
Есть вот такие настройки :
Код:
     if npcId in ATTACK_DROPS_24_MULTI.keys() :
         cond = ATTACK_DROPS_24_MULTI[npcId][0]
         chance =  ATTACK_DROPS_24_MULTI[npcId][3]
         if st.getInt("cond") == cond and st.getRandom(1000) < ATTACK_DROPS_24_MULTI[npcId][3] and st.getQuestItemsCount(ATTACK_DROPS_24_MULTI[npcId][4]) > 0 :  # Attack drops are low chance
             st.giveItems(ATTACK_DROPS_24_MULTI[npcId][1],ATTACK_DROPS_24_MULTI[npcId][2])
             st.playSound("ItemSound.quest_itemget")
             st.takeItems(ATTACK_DROPS_24_MULTI[npcId][4],1)
             if cond == 24:
                 st.playSound("ItemSound.quest_finish")
                 st.exitQuest(1)
     elif npcId in ATTACK_DROPS_24.keys() :
         cond = ATTACK_DROPS_24[npcId][0]
         chance =  ATTACK_DROPS_24[npcId][3]
         if st.getInt("cond") == cond and st.getRandom(1000) < ATTACK_DROPS_24[npcId][3] and st.getQuestItemsCount(ATTACK_DROPS_24[npcId][4]) > 0 :  # Attack drops are low chance
             st.giveItems(ATTACK_DROPS_24[npcId][1],ATTACK_DROPS_24[npcId][2])
             st.playSound("ItemSound.quest_itemget")
             st.takeItems(ATTACK_DROPS_24[npcId][4],1)
             if cond == 24:
                 st.playSound("ItemSound.quest_finish")
                 st.exitQuest(1)
     elif npcId in ATTACK_DROPS_25.keys() :
         cond = ATTACK_DROPS_25[npcId][0]
         chance =  ATTACK_DROPS_25[npcId][3]
         if st.getInt("cond") == cond and st.getRandom(1000) < ATTACK_DROPS_25[npcId][3] and st.getQuestItemsCount(ATTACK_DROPS_25[npcId][4]) > 0 :  # Attack drops are low chance
             st.giveItems(ATTACK_DROPS_25[npcId][1],ATTACK_DROPS_25[npcId][2])
             st.playSound("ItemSound.quest_itemget")
             st.takeItems(ATTACK_DROPS_25[npcId][4],1)
     elif npcId in ATTACK_DROPS_26.keys() :
         cond = ATTACK_DROPS_26[npcId][0]
         if st.getInt("cond") == 29 :
             cond = st.getInt("cond")
         chance =  ATTACK_DROPS_26[npcId][3]
         if st.getInt("cond") == cond and st.getRandom(1000) < ATTACK_DROPS_26[npcId][3] and st.getQuestItemsCount(ATTACK_DROPS_26[npcId][4]) > 0 :  # Attack drops are low chance
             st.giveItems(ATTACK_DROPS_26[npcId][1],ATTACK_DROPS_26[npcId][2])
             st.playSound("ItemSound.quest_itemget")
             st.takeItems(ATTACK_DROPS_26[npcId][4],1)
Пробовал менять cond and st.getRandom(1000) на cond and st.getRandom(100), не помогло.
Этот фрагмент кода представляет собой условие на языке программирования (похоже на Java, использующий систему для квестов в игре). Вот его расшифровка на русском языке:

  1. Условие проверки:
    python
    Копировать код
    if st.getInt("cond") == cond:
    Проверяется, совпадает ли текущее состояние квеста (st.getInt("cond")) с переменной cond.
  2. Дополнительная проверка вероятности:
    python
    Копировать код
    and st.getRandom(1000) < ATTACK_DROPS_24_MULTI[npcId][3]:
    Проверяется, выполнено ли случайное условие, основанное на значении в массиве ATTACK_DROPS_24_MULTI. Здесь используется генерация случайного числа от 0 до 999 (st.getRandom(1000)), и если оно меньше определённого значения из массива ([npcId][3]), условие выполняется.
  3. Проверка наличия предметов:
    python
    Копировать код
    and st.getQuestItemsCount(ATTACK_DROPS_24_MULTI[npcId][4]) > 0:
    Убедиться, что у игрока есть хотя бы один из требуемых предметов, определённых в массиве ([npcId][4]).
  4. Действия при выполнении условий:
    • Выдать предметы игроку:
      python
      Копировать код
      st.giveItems(ATTACK_DROPS_24_MULTI[npcId][1], ATTACK_DROPS_24_MULTI[npcId][2])
      Игроку выдаются определённые предметы, их количество указано в массиве ([npcId][1] — ID предмета, [npcId][2] — количество).
    • Проиграть звук получения предмета:
      python
      Копировать код
      st.playSound("ItemSound.quest_itemget")
      Игра проигрывает звук получения квестового предмета.
    • Удалить использованный предмет:
      python
      Копировать код
      st.takeItems(ATTACK_DROPS_24_MULTI[npcId][4], 1)
      Удаляется один предмет, использованный для выполнения действия.
  5. Дополнительная проверка для состояния квеста 24:
    • Если состояние квеста равно 24:
      python
      Копировать код
      if cond == 24:
      Тогда:
      • Проигрывается звук завершения квеста:
        python
        Копировать код
        st.playSound("ItemSound.quest_finish")
      • Завершается квест:
        python
        Копировать код
        st.exitQuest(1)

Итоговое описание​

Код реализует логику выпадения редкого предмета в игровом квесте. Если состояние квеста соответствует текущему, выполнены условия вероятности (на основе случайного числа) и у игрока есть нужный предмет, то:

  • Игрок получает награду;
  • Воспроизводится звук;
  • У игрока отбирается использованный предмет.
Если состояние квеста равно 24, он завершается с соответствующим звуком.

зачем гадать - спрашивай у гпт
 
Этот фрагмент кода представляет собой условие на языке программирования (похоже на Java, использующий систему для квестов в игре). Вот его расшифровка на русском языке:

  1. Условие проверки:
    python
    Копировать код
    if st.getInt("cond") == cond:
    Проверяется, совпадает ли текущее состояние квеста (st.getInt("cond")) с переменной cond.
  2. Дополнительная проверка вероятности:
    python
    Копировать код
    and st.getRandom(1000) < ATTACK_DROPS_24_MULTI[npcId][3]:
    Проверяется, выполнено ли случайное условие, основанное на значении в массиве ATTACK_DROPS_24_MULTI. Здесь используется генерация случайного числа от 0 до 999 (st.getRandom(1000)), и если оно меньше определённого значения из массива ([npcId][3]), условие выполняется.
  3. Проверка наличия предметов:
    python
    Копировать код
    and st.getQuestItemsCount(ATTACK_DROPS_24_MULTI[npcId][4]) > 0:
    Убедиться, что у игрока есть хотя бы один из требуемых предметов, определённых в массиве ([npcId][4]).
  4. Действия при выполнении условий:
    • Выдать предметы игроку:
      python
      Копировать код
      st.giveItems(ATTACK_DROPS_24_MULTI[npcId][1], ATTACK_DROPS_24_MULTI[npcId][2])
      Игроку выдаются определённые предметы, их количество указано в массиве ([npcId][1] — ID предмета, [npcId][2] — количество).
    • Проиграть звук получения предмета:
      python
      Копировать код
      st.playSound("ItemSound.quest_itemget")
      Игра проигрывает звук получения квестового предмета.
    • Удалить использованный предмет:
      python
      Копировать код
      st.takeItems(ATTACK_DROPS_24_MULTI[npcId][4], 1)
      Удаляется один предмет, использованный для выполнения действия.
  5. Дополнительная проверка для состояния квеста 24:
    • Если состояние квеста равно 24:
      python
      Копировать код
      if cond == 24:
      Тогда:
      • Проигрывается звук завершения квеста:
        python
        Копировать код
        st.playSound("ItemSound.quest_finish")
      • Завершается квест:
        python
        Копировать код
        st.exitQuest(1)

Итоговое описание​

Код реализует логику выпадения редкого предмета в игровом квесте. Если состояние квеста соответствует текущему, выполнены условия вероятности (на основе случайного числа) и у игрока есть нужный предмет, то:

  • Игрок получает награду;
  • Воспроизводится звук;
  • У игрока отбирается использованный предмет.
Если состояние квеста равно 24, он завершается с соответствующим звуком.

зачем гадать - спрашивай у гпт

надо сделать гптшку, которая соберет все полезеное что есть на форуме и подходит к нужным исходникам сборки, и эту инфу скормить второй гптшке, обученной на результатах первой и исходниках сборки.....
 
надо сделать гптшку, которая соберет все полезеное что есть на форуме и подходит к нужным исходникам сборки, и эту инфу скормить второй гптшке, обученной на результатах первой и исходниках сборки.....
Просто купи подписку в Copilot для Git - и насилуй по полной свой проект, этим AI
 
Реально годная тема? Скок стоит?
Если ты разбираешься в коде (читать, писать, фиксить) - годная, потому как ускоряет много чего.

Ценик - заходишь и смотришь (прсмотреть то бесплатно).

П.с. Все халявные (бесплатные" чаты - сделали тупее (выдают не верные ответы, удаляют часть кода, спецом игнорят много условий - когда они описаны), все потому что "монетизация" всегда стоит во главе всего.
 
Просто купи подписку в Copilot для Git - и насилуй по полной свой проект, этим AI
ууу пля) щас будет навал новых оптимизированных и с фулл джавадокми сборки в шаре)
 
Назад
Сверху Снизу