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

Проверка На Левые Предметы

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

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

import sys
from com.l2jfrozen.gameserver.model.quest import State
from com.l2jfrozen.gameserver.model.quest import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest

qn = "9997_GetBigWingsA"

#NPC
NPC=[40025]

#Нужно
LITTLEWINGS_A=9998
#Награда
BIGWINGS_A=9988

print "GetBigWingsA..........OK!"


class Quest (JQuest) :

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

def onEvent(self,event,st):
		   htmltext = "<html><head><body>I have nothing to say you</body></html>"
		   cond = st.getInt("cond")
		   count=st.getQuestItemsCount(LITTLEWINGS_A)
		   if event == "40025-3.htm" :
			   if cond == 0 and st.getPlayer().isClanLeader() and st.getPlayer().getClan().getLevel() >= 5 :
				   if st.getPlayer().getLevel() >= 76 and count > 1:
						htmltext=event
						st.set("cond","0")
						st.giveItems(BIGWINGS_A,1)
						st.playSound("ItemSound.quest_finish")
						st.setState(COMPLETED)
						st.takeItems(LITTLEWINGS_A,1)
				   else :
						htmltext="40025-2.htm"
						st.exitQuest(1)
			   else :
				   htmltext="40025-2.htm"
				   st.exitQuest(1)
		   return htmltext

def onTalk (self,npc,player):
   htmltext = "<html><head><body>I have nothing to say you</body></html>"
	   st = player.getQuestState(qn)
	   if not st : return htmltext
	   npcId = npc.getNpcId()
	   id = st.getState()
	   if id == CREATED :
		   st.set("cond","0")
		   htmltext="40025-1.htm"
	   elif id == COMPLETED :
		   htmltext = "<html><head><body>This quest have already been completed.</body></html>"
	   else :
		   st.exitQuest(1)
	   return htmltext


QUEST = Quest(9997,qn,"GetBigWingsA")
CREATED	 = State('Start', QUEST)
STARTING	= State('Starting', QUEST)
STARTED	 = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)
QUEST.setInitialState(CREATED)

for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)

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


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

if st.getPlayer().getLevel() >= 76 and count > 1:

Проверка на лвл

if cond == 0 and st.getPlayer().isClanLeader() and st.getPlayer().getClan().getLevel() >= 5 :

Проверка начала квеста, условие - перс должен быть лидером клана, и клан должен быть 5 лвл либо больше

Надо добавить в условие

st.HaveItem(4037,1)

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


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

держи спасибку,буду ща пробывать.

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


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

чего-то неполучается прикруть ето(st.HaveItem(4037,1))

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


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

Значит метод HaveItem не реализован =(

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


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

ах,да а как в етом скрипте сделать чтоб он повторялся?ато он работает только один раз тоисть подошёл к нпс нажал получил предмет и сё,потом нажимаю оно мне дулю

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


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

elif id == COMPLETED :

htmltext = "<html><head><body>This quest have already been completed.</body></html>"

Удаляем вывод сообщения что квест уже выполнен если квест выполнен

 

COMPLETED = State('Completed', QUEST)

Удаляем переменную выполнения квеста

 

st.setState(COMPLETED)

Заменяем присвоения коца квеста, на переменную начала.

st.setState(CREATED)

Изменено пользователем SmokiMo

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


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

поставил)

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


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

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

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

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

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

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

Войти

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

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

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

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

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