Перейти к содержанию
Авторизация  
MrBishop

Quest Script

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

Всем Привет, Ребят сломал всю голову,не могу подобрать код,

сделал квест, к примеру убить рб, но попал в такую ситуацию, итем падает рандомно и только одному, а хотелось сделать чтоб при убийстве рб итем падал всем в группе,

вот финишный код!!! может кто знает, подскажет как изменить его, чтоб падал всем участникам группы!!!!

def onKill(self,npc,player,isPet):
   partyMember = self.getRandomPartyMember(player,"1")
   if not partyMember: return
   st = partyMember.getQuestState(qn)
   if st :
      if st.getState() == STARTED :
         count = st.getQuestItemsCount(LEIKEN_NOTE)
         if st.getInt("cond") == 1 and count < 1 :
            chance = 100 * Config.RATE_DROP_QUEST
            numItems, chance = divmod(chance,100)
            if st.getRandom(100) < chance : 
               numItems += 1
            if numItems :
               if count + numItems >= 1 :
                  numItems = 1 - count
                  st.playSound("ItemSound.quest_middle")
                  st.set("cond","2")
               else:
                  st.playSound("ItemSound.quest_itemget")   
               st.giveItems(LEIKEN_NOTE,int(numItems))       
   return

 

Я думаю что вот в этой стороке может что то изменить 

partyMember = self.getRandomPartyMember(player,"1")       

 

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


Ссылка на сообщение
Поделиться на другие сайты

Вы абсолютно правы, проблема именно в этой строке. Можете взять метод из квеста на нубл (часть 3).

  • Upvote 1

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


Ссылка на сообщение
Поделиться на другие сайты

Ну логически если подумать то функция переводиться как взятьСлучайногоЧленаПати, а не "взять всех"

Вам нуджен метеод, который получает список игроков в пати, и циклом проходиться по нему

party = player.getParty() #получаем пати
 if party : #проверка если пати не пустое
  for partyMember in party.getPartyMembers().toArray() : #начинаем цикл по игрокам пати
    pst = partyMember.getQuestState(qn) #получение состояния конкретного игрока
     #тут интегрируйте ваш код для проверок и получения предметов для игроков пати, и спользуя состояние "pst"

 

  • Upvote 1

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


Ссылка на сообщение
Поделиться на другие сайты
8 часов назад, Energy сказал:

Вы абсолютно правы, проблема именно в этой строке. Можете взять метод из квеста на нубл (часть 3).

 

7 часов назад, lvlkoo сказал:

Ну логически если подумать то функция переводиться как взятьСлучайногоЧленаПати, а не "взять всех"

Вам нуджен метеод, который получает список игроков в пати, и циклом проходиться по нему


party = player.getParty() #получаем пати
 if party : #проверка если пати не пустое
  for partyMember in party.getPartyMembers().toArray() : #начинаем цикл по игрокам пати
    pst = partyMember.getQuestState(qn) #получение состояния конкретного игрока
     #тут интегрируйте ваш код для проверок и получения предметов для игроков пати, и спользуя состояние "pst"

 

Ребят,спасибо большое!  удалось сделать, что хотел))))) 

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


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Войти

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

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

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

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