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

Вопрос

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

люди вот я не могу понять что нужно поменять что б с рб падал итем ??

 

Скрытый текст
public String onKill (L2NpcInstance npc, L2PcInstance killer, boolean isPet)

{

QuestState st = killer.getQuestState(getName());

if(st == null) return null;

int npcId = npc.getNpcId();

int cond = st.getInt("cond");

L2Party party = killer.getParty();

switch(cond)

{

case 1:

for (int id : MOBS)

if (npcId == id)

if (Rnd.get(100) < chance1)

if (st.getPlayer().getInventory().getInventoryItemCount(BLACK_FEATHER,0) < 1000)

st.giveItems(BLACK_FEATHER,1);

break;

case 2:

if (npcId == RaidBoss)

if (Rnd.get(100) < chance2)

if (party != null)

for (L2PcInstance member : party.getPartyMembers())

if (member.getInventory().getInventoryItemCount(ITEM_FROM_RB,0) == 0)

member.getQuestState(getName()).giveItems(ITEM_FROM_RB,1);

else

if (killer.getInventory().getInventoryItemCount(ITEM_FROM_RB,0) == 0)

st.giveItems(ITEM_FROM_RB,1);

break;

}

return null;

}

 

public static void main(String[] args)

{

new Wings(121, "Wings", "quests");

}

}

за рание блогадарю и с меня ++++

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


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

if (killer.getInventory().getInventoryItemCount(ITEM_FROM_RB,0) == 0)

вот вроде

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


Ссылка на сообщение
Поделиться на другие сайты
if (killer.getInventory().getInventoryItemCount(ITEM_FROM_RB,0) == 0)

вот вроде

что тут ставить ?

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


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

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

Скрытый текст
import sys
from net.sf.l2j import Config
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest

qn = "q902_FeatherGathering"

## нпц
NPC = 300301

## Мобы
MOBS = [300302,300303,300304,300305]
#босс
BOSS = 300306

## Дроп
#id перьев с мобов в мос
FEATHER = 9993
#сколько нужно?
FEATHER_NEED = 1000
#шанс дропа, %
FEATHER_CHANCE = 100
#id итема с босса
BOSS_ITEM = 9992

##Награда
#id крыльев
WINGS = 9705

class Quest (JQuest) :

def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr)

def onEvent (self,event,st) :
  htmltext = event
  if event == "accept.htm":
 st.setState(State.STARTED)
 st.playSound("ItemSound.quest_accept")
 st.set("cond","1")
  elif event == "finish.htm":
 if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
   st.takeItems(FEATHER, 1000)
   st.takeItems(BOSS_ITEM, 1)
   st.giveItems(WINGS, 1)
   st.set("cond","0")
   st.playSound("ItemSound.quest_finish")
   st.setState(State.COMPLETED)
 else:
   htmltext = "mobs.htm"
  return htmltext

def onTalk (self,npc,player):
  st = player.getQuestState(qn)
  if not st: 
 return "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
  npcId = npc.getNpcId()
  idd = st.getState()
  cond = st.getInt("cond")
  if npcId == NPC:
 if idd == State.COMPLETED :
   htmltext = "completed.htm"
 if idd == State.CREATED :
   htmltext = "hello1.htm"
 elif cond == 1:
   if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
	 htmltext = "mobs2.htm"
   else:
	 htmltext = "mobs.htm"
  return htmltext

def onKill(self,npc,player,isPet):
  st = player.getQuestState(qn)
  if not st or st.getInt("cond") != 1:
 return
  npcId = npc.getNpcId()
  reward = 0
  limit = 1
  chance = 100
  if npcId in MOBS:
 reward = FEATHER
 limit = FEATHER_NEED
 chance = FEATHER_CHANCE
  if npcId == BOSS:
 reward = BOSS_ITEM
 limit = 1
  if reward > 0:
 party = player.getParty()
 if party:
   for member in party.getPartyMembers():
	 if not member.isAlikeDead():
	   st = member.getQuestState("q902_FeatherGathering")
	   if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
		 st.giveItems(reward, 1)
		 st.playSound("ItemSound.quest_itemget")
		 if st.getQuestItemsCount(reward) >= limit:
		   st.playSound("ItemSound.quest_middle")
 else:
   if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
	 st.giveItems(reward, 1)
	 st.playSound("ItemSound.quest_itemget")
  return  

QUEST = Quest(902, qn, "Feather Gathering")

QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
QUEST.addKillId(BOSS)

for m in MOBS:
 QUEST.addKillId(m)

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


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

def onKill(self,npc,player,isPet):

st = player.getQuestState(qn)

if not st or st.getInt("cond") != 1:

return

npcId = npc.getNpcId()

reward = 0

limit = 1

chance = 100

if npcId in MOBS:

reward = FEATHER

limit = FEATHER_NEED

chance = FEATHER_CHANCE

if npcId == BOSS:

reward = BOSS_ITEM

limit = 1

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


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

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

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

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

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

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

Войти

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

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

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

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

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