Welcome to MaxCheaters.com

Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads

  • 0

Help Change Sex Script Problem


Question

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 by protoftw

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

 

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

Share this post


Link to post
Share on other sites
  • 0

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 by melron

Share this post


Link to post
Share on other sites
  • 0

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 :) :)

Share this post


Link to post
Share on other sites
  • 0

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 by protoftw

Share this post


Link to post
Share on other sites
  • 0

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);

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.