protoftw Posted December 15, 2016 Posted December 15, 2016 (edited) So here's a script for changing sex but i cant make it work ...any suggestions?? Anyone who could help let me know :) ERROR: https://postimg.org/image/43usurd33/ CODE: import sys from com.l2jfrozen import Config from com.l2jfrozen.util.database import L2DatabaseFactory from com.l2jfrozen.gameserver.datatables.sql import CharTemplateTable from com.l2jfrozen.gameserver.communitybbs.Manager import RegionBBSManager from com.l2jfrozen.gameserver.model import L2World 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 from com.l2jfrozen.gameserver.network.serverpackets import EtcStatusUpdate from com.l2jfrozen.gameserver.network.serverpackets import PledgeShowInfoUpdate from com.l2jfrozen.util.random import Rnd qn = "8700_Services" NPC = 300300 # Items Item = 57 GenreCount = 10 print "INFO Loaded: 8700_Services" def AutoChat(npc, text) : chars = npc.getKnownList().getKnownPlayers().values().toArray() if chars != None : for pc in chars : sm = NpcSay(npc.getObjectId(), 0, npc.getNpcId(), text) pc.sendPacket(sm) class Quest (JQuest) : def __init__(self, id, name, descr) : JQuest.__init__(self, id, name, descr) def onAdvEvent(self, event, npc, player) : st = player.getQuestState(qn) htmltext = event if event == "changeGenre" : if st.getQuestItemsCount(Item) < GenreCount : htmltext = "cant.htm" elif player.isCursedWeaponEquipped() : AutoChat(npc, player.getName()+" you can't change your genre when you are equipped with a Cursed Weapon.") htmltext = "cant.htm" else : if player.getAppearance().getSex() == 1 : newGenre = 0 else : newGenre = 1 con = L2DatabaseFactory.getInstance().getConnection(None) offline = con.prepareStatement("UPDATE characters SET sex = ? WHERE charId = ?") offline.setInt(1, newGenre) offline.setInt(2, player.getObjectId()) try : offline.executeUpdate() offline.close() con.close() except : try : con.close() except : pass player.store() player.broadcastUserInfo() player.decayMe() player.spawnMe(player.getX(), player.getY(), player.getZ()) st.takeItems(Item, GenreCount) st.playSound("ItemSound.quest_finish") return "2.htm" st.exitQuest(1) def onTalk(self, npc, player) : htmltext = "" st = player.getQuestState(qn) if not st : st = self.newQuestState(player) htmltext = "2.htm" st.playSound("ItemSound.quest_accept") return htmltext QUEST = Quest(8700,qn,"custom") QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) Edited December 15, 2016 by protoftw
0 melron Posted December 15, 2016 Posted December 15, 2016 So here's a script for changing sex but i cant make it work ...any suggestions?? Anyone who could help let me know :) ERROR: https://postimg.org/image/43usurd33/ CODE: import sys from com.l2jfrozen import Config from com.l2jfrozen.util.database import L2DatabaseFactory from com.l2jfrozen.gameserver.datatables.sql import CharTemplateTable from com.l2jfrozen.gameserver.communitybbs.Manager import RegionBBSManager from com.l2jfrozen.gameserver.model import L2World 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 from com.l2jfrozen.gameserver.network.serverpackets import EtcStatusUpdate from com.l2jfrozen.gameserver.network.serverpackets import PledgeShowInfoUpdate from com.l2jfrozen.util.random import Rnd qn = "8700_Services" NPC = 300300 # Items Item = 57 GenreCount = 10 print "INFO Loaded: 8700_Services" def AutoChat(npc, text) : chars = npc.getKnownList().getKnownPlayers().values().toArray() if chars != None : for pc in chars : sm = NpcSay(npc.getObjectId(), 0, npc.getNpcId(), text) pc.sendPacket(sm) class Quest (JQuest) : def __init__(self, id, name, descr) : JQuest.__init__(self, id, name, descr) def onAdvEvent(self, event, npc, player) : st = player.getQuestState(qn) htmltext = event if event == "changeGenre" : if st.getQuestItemsCount(Item) < GenreCount : htmltext = "cant.htm" elif player.isCursedWeaponEquipped() : AutoChat(npc, player.getName()+" you can't change your genre when you are equipped with a Cursed Weapon.") htmltext = "cant.htm" else : if player.getAppearance().getSex() == 1 : newGenre = 0 else : newGenre = 1 con = L2DatabaseFactory.getInstance().getConnection(None) offline = con.prepareStatement("UPDATE characters SET sex = ? WHERE charId = ?") offline.setInt(1, newGenre) offline.setInt(2, player.getObjectId()) try : offline.executeUpdate() offline.close() con.close() except : try : con.close() except : pass player.store() player.broadcastUserInfo() player.decayMe() player.spawnMe(player.getX(), player.getY(), player.getZ()) st.takeItems(Item, GenreCount) st.playSound("ItemSound.quest_finish") return "2.htm" st.exitQuest(1) def onTalk(self, npc, player) : htmltext = "" st = player.getQuestState(qn) if not st : st = self.newQuestState(player) htmltext = "2.htm" st.playSound("ItemSound.quest_accept") return htmltext QUEST = Quest(8700,qn,"custom") QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) con = L2DatabaseFactory.getInstance().getConnection(None) // delete none
0 protoftw Posted December 15, 2016 Author Posted December 15, 2016 now there are no problems but , the char is not changing sex ..all i get is the respawn
0 melron Posted December 15, 2016 Posted December 15, 2016 (edited) now there are no problems but , the char is not changing sex ..all i get is the respawn before player.store() add this player.getAppearance().setSex(newGenre) Edited December 15, 2016 by melron
0 protoftw Posted December 15, 2016 Author Posted December 15, 2016 i was trying with the first one u said but then i saw u edited ur post and i was like cmon ...make it work hahaha so now it;s working great !! ty :) :)
0 protoftw Posted December 15, 2016 Author Posted December 15, 2016 (edited) there;s a script error when u are equipped with cursed weapons(akamanah/zarihe) and you are trying to change sex https://postimg.org/image/wlqltfs6x/ also how i can make the code get the char kicked after changing sex ??and also showing a message that he is going to get kicked Edited December 15, 2016 by protoftw
0 melron Posted December 15, 2016 Posted December 15, 2016 there;s a script error when u are equipped with cursed weapons(akamanah/zarihe) and you are trying to change sex https://postimg.org/image/wlqltfs6x/ also how i can make the code get the char kicked after changing sex ??and also showing a message that he is going to get kicked drop the message, player.logout(true);
0 protoftw Posted December 15, 2016 Author Posted December 15, 2016 lock it problem fixed. melron is the best guy seriously! so kind,helpful and easy to communicate, thanks mate ;)
Question
protoftw
So here's a script for changing sex but i cant make it work ...any suggestions??
Anyone who could help let me know :)
ERROR: https://postimg.org/image/43usurd33/
CODE:
Edited by protoftw8 answers to this question
Recommended Posts