Hello guys there is a problem with the npc, i set the st.takeItems(VOTE_COIN,150) but still i can become nobless with 3-4 and so on coins, (when i have 150 the npc is taking normally the coins and i get nob status)
so i can become nob with less than 150 vote coins no matter what (if i have 3+ coins in my inventory)
whats wrong with their script?
import sys
from com.l2jfrozen.gameserver.model.actor.instance import L2PcInstance
from com.l2jfrozen.gameserver.model.actor.instance import L2NpcInstance
from java.util import Iterator
from com.l2jfrozen.util.database import L2DatabaseFactory
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 = "6666_NoblessTrader"
NPC = [66666]
NOBLESS_TIARA = 7694
VOTE_COIN = 7569
QuestId = 6666
QuestName = "NoblessTrade"
QuestDesc = "custom"
InitialHtml = "31739-1.htm"
print "Nobless Trader (66666) Enabled..."
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(VOTE_COIN)
if event == "31739-3.htm" :
if cond == 0 and st.getPlayer().isSubClassActive() :
if st.getPlayer().getLevel() >= 70 and count > 1:
htmltext=event
st.set("cond","0")
st.getPlayer().setNoble(True)
st.giveItems(NOBLESS_TIARA,1)
st.playSound("ItemSound.quest_finish")
st.setState(COMPLETED)
st.takeItems(VOTE_COIN,150)
else :
htmltext="31739-2.htm"
st.exitQuest(1)
else :
htmltext="31739-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="31739-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(6666,qn,"custom")
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)
Siege Reward
Start PM Msg
Rework Config root
BossDieAnnounce and BossDieSound in the L24Team.properties and Config.java files for global raid boss death notifications and sounds. Adds a new reward_list table to the DB.sql file to track castle rewards.
Improves character creation logic for thread safety and validation.
Adds extensive state checks to the RequestEnchantItem method to prevent enchantments during inappropriate player states.
Fixed auto-attack animation bug (there was no attack animation, only damage animation)
Clean Code
Other fixes I forgot to list!
Java 14
Fixed issue where deleting a character would prevent it from leaving the screen or being removed, or even after a delete CD (it would only exit when re-logging in or creating a new character).
Added Premium System from the other C2 project (Needs testing and improvement).
Added the "Improved" Community Board (incomplete).
Question
One Shot Mario
Hello guys there is a problem with the npc, i set the st.takeItems(VOTE_COIN,150) but still i can become nobless with 3-4 and so on coins, (when i have 150 the npc is taking normally the coins and i get nob status)
so i can become nob with less than 150 vote coins no matter what (if i have 3+ coins in my inventory)
whats wrong with their script?
import sys from com.l2jfrozen.gameserver.model.actor.instance import L2PcInstance from com.l2jfrozen.gameserver.model.actor.instance import L2NpcInstance from java.util import Iterator from com.l2jfrozen.util.database import L2DatabaseFactory 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 = "6666_NoblessTrader" NPC = [66666] NOBLESS_TIARA = 7694 VOTE_COIN = 7569 QuestId = 6666 QuestName = "NoblessTrade" QuestDesc = "custom" InitialHtml = "31739-1.htm" print "Nobless Trader (66666) Enabled..." 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(VOTE_COIN) if event == "31739-3.htm" : if cond == 0 and st.getPlayer().isSubClassActive() : if st.getPlayer().getLevel() >= 70 and count > 1: htmltext=event st.set("cond","0") st.getPlayer().setNoble(True) st.giveItems(NOBLESS_TIARA,1) st.playSound("ItemSound.quest_finish") st.setState(COMPLETED) st.takeItems(VOTE_COIN,150) else : htmltext="31739-2.htm" st.exitQuest(1) else : htmltext="31739-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="31739-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(6666,qn,"custom") 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)Edited by One Shot Mario7 answers to this question
Recommended Posts