Problema Caracter create

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
LightxD
Nou Venit

Nou Venit
Mesaje: 19
Membru din: 21 Sep 2014, 08:36
Aprecieri: 0
Mulţumiri: 0
Medalii

Salut, de curand am instalat o interfata in clientul meu care are lycan, interfata nu avea lycanul initial.
Problema este cea din poza :
Descrierea la Lycan ramane permanent activa si se suprapune cu celelalte descrierei are caracterelor mentionez ca descrierile
sunt png-uri.

Din cate imi dau seama problema apare din cauza ca sunt mai mult de 4 caractere orice caracter as pune sa fie nr.5 descrierea se suprapune peste restul, fara nici o erroare in syserr.

Atasez aici fisierul meu introcreate.py cred ca aici ar trebui modificat ceva dar nu prea reusesc sa-mi dau seama ce:
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

LightxD scrie:Salut, de curand am instalat o interfata in clientul meu care are lycan, interfata nu avea lycanul initial.
Problema este cea din poza :
Descrierea la Lycan ramane permanent activa si se suprapune cu celelalte descrierei are caracterelor mentionez ca descrierile
sunt png-uri.

Din cate imi dau seama problema apare din cauza ca sunt mai mult de 4 caractere orice caracter as pune sa fie nr.5 descrierea se suprapune peste restul, fara nici o erroare in syserr.

Atasez aici fisierul meu introcreate.py cred ca aici ar trebui modificat ceva dar nu prea reusesc sa-mi dau seama ce:
self.NameList = []
            self.NameList.append(getChild("name_warrior"))
            self.NameList.append(getChild("name_assassin"))
            self.NameList.append(getChild("name_sura"))
            self.NameList.append(getChild("name_shaman"))
            self.NameList.append(getChild("name_wolfman"))
 
            self.Listimgjex = [] -- incarca imaginile numelor caracterelor
            self.Listimgjex.append(getChild("name_warriorimg"))
            self.Listimgjex.append(getChild("name_assassinimg"))
            self.Listimgjex.append(getChild("name_suraimg"))
            self.Listimgjex.append(getChild("name_shamanimg"))
            wolfman==??????
           
            self.Listdesjex = []  --incarca descrierile caracterelor
            self.Listdesjex.append(getChild("name_warriordes"))
            self.Listdesjex.append(getChild("name_assassindes"))
            self.Listdesjex.append(getChild("name_surades"))
            self.Listdesjex.append(getChild("name_shamandes"))
            wolfman==??????
Verifica de asemeni si createcharacterwindow.py
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
LightxDx
Nou Venit

Nou Venit
Mesaje: 3
Membru din: 07 Apr 2017, 21:03
Server: -
Regat: Jinno
Aprecieri: 10  
Mulţumiri: 0
Medalii

Multumesc de raspuns, aici era introcreate modificat in care am scos poza si descrierea, pana la urma am rezolvat oarecum am editat fisierelea ca sa aibe un fundal solid astfel nu s-ar mai vedea suprapunerea inca caut totusi o rezolvare completa,
cod complet mai jos:
import chr
import grp
import app
import net
import snd
import wndMgr
import event
import systemSetting
import localeInfo

import ui
import networkModule
import math
import snd
import musicInfo
import playerSettingModule
import uiScriptLocale
import uiToolTip
import constInfo

LOCALE_PATH = "uiscript/"+uiScriptLocale.CODEPAGE+"_"

MAN = 0
WOMAN = 1
SHAPE0 = 0
SHAPE1 = 1
PAGE_COUNT = 2
SLOT_COUNT = 5
BASE_CHR_ID = 3

class CreateCharacterWindow(ui.Window):

SLOT_ROTATION = [135.0, 225.0, 315.0, 45.0, 72.0]
CREATE_STAT_POINT = 0

STAT_CON = 0
STAT_INT = 1
STAT_STR = 2
STAT_DEX = 3

STAT_DESCRIPTION = {
STAT_CON : localeInfo.STAT_TOOLTIP_CON,
STAT_INT : localeInfo.STAT_TOOLTIP_INT,
STAT_STR : localeInfo.STAT_TOOLTIP_STR,
STAT_DEX : localeInfo.STAT_TOOLTIP_DEX,
}

START_STAT = ( ## CON INT STR DEX
[ 4, 3, 6, 3, ], ## Warrior
[ 3, 3, 4, 6, ], ## Assassin
[ 3, 5, 5, 3, ], ## Sura
[ 4, 6, 3, 3, ], ## Shaman
[ 6, 6, 2, 2, ], ## Wolf
[ 4, 3, 6, 3, ], ## Warrior
[ 3, 3, 4, 6, ], ## Assassin
[ 3, 5, 5, 3, ], ## Sura
[ 4, 6, 3, 3, ], ## Shaman
[ 6, 2, 6, 2, ], ## Wolfman
)

DESCRIPTION_FILE_NAME = (
uiScriptLocale.JOBDESC_WARRIOR_PATH,
uiScriptLocale.JOBDESC_ASSASSIN_PATH,
uiScriptLocale.JOBDESC_SURA_PATH,
uiScriptLocale.JOBDESC_SHAMAN_PATH,
uiScriptLocale.JOBDESC_WOLFMAN_PATH,
)

class DescriptionBox(ui.Window):
def __init__(self):
ui.Window.__init__(self)
self.descIndex = 0
def __del__(self):
ui.Window.__del__(self)
def SetIndex(self, index):
self.descIndex = index
def OnRender(self):
event.RenderEventSet(self.descIndex)

class CharacterRenderer(ui.Window):
def OnRender(self):
grp.ClearDepthBuffer()
grp.SetGameRenderState()
grp.PushState()
grp.SetOmniLight()

screenWidth = wndMgr.GetScreenWidth()
screenHeight = wndMgr.GetScreenHeight()
newScreenWidth = float(screenWidth - 270)
newScreenHeight = float(screenHeight)

grp.SetViewport(270.0/screenWidth, 0.0, newScreenWidth/screenWidth, newScreenHeight/screenHeight)

app.SetCenterPosition(0.0, 0.0, 13.0)
app.SetCamera(1550.0, 15.0, 180.0, 95.0)
grp.SetPerspective(11.0, newScreenWidth/newScreenHeight, 1000.0, 3000.0)

(x, y) = app.GetCursorPosition()
grp.SetCursorPosition(x, y)

chr.Deform()
chr.Render()

grp.RestoreViewport()
grp.PopState()
grp.SetInterfaceRenderState()

def __init__(self, stream):
print "NEW CREATE WINDOW ----------------------------------------------------------------------------"
ui.Window.__init__(self)
net.SetPhaseWindow(net.PHASE_WINDOW_CREATE, self)

self.stream=stream

def __del__(self):
print "---------------------------------------------------------------------------- DELETE CREATE WINDOW"

net.SetPhaseWindow(net.PHASE_WINDOW_CREATE, 0)
ui.Window.__del__(self)

def Open(self):
print "OPEN CREATE WINDOW ----------------------------------------------------------------------------"

playerSettingModule.LoadGameData("INIT")

self.reservingRaceIndex = -1
self.reservingShapeIndex = -1
self.reservingStartTime = 0
self.stat = [0, 0, 0, 0]

self.gender = 0
self.slot = -1
self.shapeList = [
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]]
self.descIndex = 0

try:
dlgBoard = ui.ScriptWindow()
pythonScriptLoader = ui.PythonScriptLoader()
pythonScriptLoader.LoadScriptFile(dlgBoard, uiScriptLocale.LOCALE_UISCRIPT_PATH + "createcharacterwindow.py")

except:
import exception
exception.Abort("CreateCharacterWindow.Open.LoadObject")

try:
getChild = dlgBoard.GetChild

self.NameList = []
self.NameList.append(getChild("name_warrior"))
self.NameList.append(getChild("name_assassin"))
self.NameList.append(getChild("name_sura"))
self.NameList.append(getChild("name_shaman"))
self.NameList.append(getChild("name_wolfman"))

self.Listimgjex = []
self.Listimgjex.append(getChild("name_warriorimg"))
self.Listimgjex.append(getChild("name_assassinimg"))
self.Listimgjex.append(getChild("name_suraimg"))
self.Listimgjex.append(getChild("name_shamanimg"))

self.Listdesjex = []
self.Listdesjex.append(getChild("name_warriordes"))
self.Listdesjex.append(getChild("name_assassindes"))
self.Listdesjex.append(getChild("name_surades"))
self.Listdesjex.append(getChild("name_shamandes"))

self.GaugeList = []
self.GaugeList.append(getChild("hth_gauge"))
self.GaugeList.append(getChild("int_gauge"))
self.GaugeList.append(getChild("str_gauge"))
self.GaugeList.append(getChild("dex_gauge"))

self.btnCreate = getChild("create_button")
self.btnCancel = getChild("cancel_button")
self.btnPrev = getChild("prev_button")
self.btnNext = getChild("next_button")
self.btnLeft = getChild("left_button")
self.btnRight = getChild("right_button")
self.textBoard = getChild("text_board")

self.genderButtonList = []
self.genderButtonList.append(getChild("gender_button_01"))
self.genderButtonList.append(getChild("gender_button_02"))

self.shapeButtonList = []
self.shapeButtonList.append(getChild("shape_button_01"))
self.shapeButtonList.append(getChild("shape_button_02"))

self.editCharacterName = getChild("character_name_value")

self.statValue = []
self.statValue.append(getChild("hth_value"))
self.statValue.append(getChild("int_value"))
self.statValue.append(getChild("str_value"))
self.statValue.append(getChild("dex_value"))

getChild("hth_button").ShowToolTip = lambda arg=self.STAT_CON: self.OverInStatButton(arg)
getChild("hth_button").HideToolTip = lambda arg=self.STAT_CON: self.OverOutStatButton()
getChild("int_button").ShowToolTip = lambda arg=self.STAT_INT: self.OverInStatButton(arg)
getChild("int_button").HideToolTip = lambda arg=self.STAT_INT: self.OverOutStatButton()
getChild("str_button").ShowToolTip = lambda arg=self.STAT_STR: self.OverInStatButton(arg)
getChild("str_button").HideToolTip = lambda arg=self.STAT_STR: self.OverOutStatButton()
getChild("dex_button").ShowToolTip = lambda arg=self.STAT_DEX: self.OverInStatButton(arg)
getChild("dex_button").HideToolTip = lambda arg=self.STAT_DEX: self.OverOutStatButton()

getChild("hth_button").Hide()
getChild("int_button").Hide()
getChild("str_button").Hide()
getChild("dex_button").Hide()

self.backGround = getChild("BackGround")

except:
import exception
exception.Abort("CreateCharacterWindow.Open.BindObject")

self.btnCreate.SetEvent(ui.__mem_func__(self.CreateCharacter))
self.btnCancel.SetEvent(ui.__mem_func__(self.CancelCreate))
self.btnPrev.SetEvent(ui.__mem_func__(self.PrevDescriptionPage))
self.btnNext.SetEvent(ui.__mem_func__(self.NextDescriptionPage))
self.btnLeft.SetEvent(ui.__mem_func__(self.__DecreaseSlotIndex))
self.btnRight.SetEvent(ui.__mem_func__(self.__IncreaseSlotIndex))

self.genderButtonList[0].SetEvent(ui.__mem_func__(self.__SelectGender), MAN)
self.genderButtonList[1].SetEvent(ui.__mem_func__(self.__SelectGender), WOMAN)

self.shapeButtonList[0].SetEvent(ui.__mem_func__(self.__SelectShape), SHAPE0)
self.shapeButtonList[1].SetEvent(ui.__mem_func__(self.__SelectShape), SHAPE1)
self.editCharacterName.SetReturnEvent(ui.__mem_func__(self.CreateCharacter))
self.editCharacterName.SetEscapeEvent(ui.__mem_func__(self.CancelCreate))
self.dlgBoard = dlgBoard

self.curRotation = [] + self.SLOT_ROTATION
self.destRotation = [] + self.SLOT_ROTATION
self.curNameAlpha = [0.0, 0.0, 0.0, 0.0, 0.0]
self.destNameAlpha = [0.0, 0.0, 0.0, 0.0, 0.0]
self.curGauge = [0.0, 0.0, 0.0, 0.0]
self.destGauge = [0.0, 0.0, 0.0, 0.0]

self.descriptionBox = self.DescriptionBox()
self.descriptionBox.Show()

self.chrRenderer = self.CharacterRenderer()
self.chrRenderer.SetParent(self.backGround)
self.chrRenderer.Show()

self.toolTip = uiToolTip.ToolTip()
self.toolTip.ClearToolTip()

self.editCharacterName.SetText("")

self.EnableWindow()
self.__SelectSlot(0)

app.SetCamera(500.0, 10.0, 180.0, 95.0)

self.__MakeCharacter(0, 0, playerSettingModule.RACE_WARRIOR_M)
self.__MakeCharacter(0, 1, playerSettingModule.RACE_ASSASSIN_M)
self.__MakeCharacter(0, 2, playerSettingModule.RACE_SURA_M)
self.__MakeCharacter(0, 3, playerSettingModule.RACE_SHAMAN_M)
self.__MakeCharacter(0, 4, playerSettingModule.RACE_WOLFMAN_M)

self.__MakeCharacter(1, 0, playerSettingModule.RACE_WARRIOR_W)
self.__MakeCharacter(1, 1, playerSettingModule.RACE_ASSASSIN_W)
self.__MakeCharacter(1, 2, playerSettingModule.RACE_SURA_W)
self.__MakeCharacter(1, 3, playerSettingModule.RACE_SHAMAN_W)
self.__MakeCharacter(1, 4, playerSettingModule.RACE_WOLFMAN_M)

self.__SelectGender(MAN)
self.__SelectShape(0)

chr.SelectInstance(self.__GetSlotChrID(0, 0))
chr.Show()
chr.SelectInstance(self.__GetSlotChrID(0, 1))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 2))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 3))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 4))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 0))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 1))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 2))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 3))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 4))
chr.Hide()

self.__SelectSlot(0)

self.dlgBoard.Show()
self.Show()

if musicInfo.createMusic != "":
snd.SetMusicVolume(systemSetting.GetMusicVolume())
snd.FadeInMusic("BGM/"+musicInfo.createMusic)

app.ShowCursor()

def Close(self):
print "---------------------------------------------------------------------------- CLOSE CREATE WINDOW"

self.editCharacterName.Enable()
self.dlgBoard.ClearDictionary()
self.stream=0
self.shapeButtonList = []
self.genderButtonList = []
self.btnCreate = 0
self.btnCancel = 0
self.btnPrev = 0
self.btnNext = 0
self.btnLeft = 0
self.btnRight = 0
self.textBoard = 0
self.editCharacterName = 0
self.backGround = None

if musicInfo.createMusic != "":
snd.FadeOutMusic("BGM/"+musicInfo.createMusic)

for id in xrange(BASE_CHR_ID + SLOT_COUNT * PAGE_COUNT):
chr.DeleteInstance(id)

self.dlgBoard.Hide()
self.Hide()

app.HideCursor()
event.Destroy()

def EnableWindow(self):
self.reservingRaceIndex = -1
self.reservingShapeIndex = -1
self.btnCreate.Enable()
self.btnCancel.Enable()
self.btnPrev.Enable()
self.btnNext.Enable()
self.btnLeft.Enable()
self.btnRight.Enable()

self.editCharacterName.SetFocus()
self.editCharacterName.Enable()

for page in xrange(PAGE_COUNT):
for slot in xrange(SLOT_COUNT):
chr_id = self.__GetSlotChrID(page, slot)
chr.SelectInstance(chr_id)
chr.BlendLoopMotion(chr.MOTION_INTRO_WAIT, 0.1)

def DisableWindow(self):
self.btnCreate.Disable()
self.btnCancel.Disable()
self.btnPrev.Disable()
self.btnNext.Disable()
self.btnLeft.Disable()
self.btnRight.Disable()
self.editCharacterName.Disable()

self.btnCreate.SetUp()

## Manage Character
def __GetSlotChrID(self, page, slot):
return BASE_CHR_ID + page * SLOT_COUNT + slot

def __MakeCharacter(self, page, slot, race):

chr_id = self.__GetSlotChrID(page, slot)

chr.CreateInstance(chr_id)
chr.SelectInstance(chr_id)
chr.SetVirtualID(chr_id)

chr.SetRace(race)
chr.SetArmor(0)
chr.SetHair(0)

chr.Refresh()
chr.SetMotionMode(chr.MOTION_MODE_GENERAL)
chr.SetLoopMotion(chr.MOTION_INTRO_WAIT)

chr.SetRotation(0.0)
chr.Hide()

def __SelectGender(self, gender):
for button in self.genderButtonList:
button.SetUp()

self.genderButtonList[gender].Down()

self.gender = gender

chr.SelectInstance(self.__GetSlotChrID(0, 0))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 1))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 2))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 3))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 4))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 0))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 1))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 2))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 3))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 4))
chr.Hide()


if gender == MAN:
if constInfo.SLOTCH == 0 :
chr.SelectInstance(self.__GetSlotChrID(0, 0))
chr.Show()
elif constInfo.SLOTCH == 1 :
chr.SelectInstance(self.__GetSlotChrID(0, 1))
chr.Show()
elif constInfo.SLOTCH == 2 :
chr.SelectInstance(self.__GetSlotChrID(0, 2))
chr.Show()
elif constInfo.SLOTCH == 3 :
chr.SelectInstance(self.__GetSlotChrID(0, 3))
chr.Show()
elif constInfo.SLOTCH == 4 :
chr.SelectInstance(self.__GetSlotChrID(0, 4))
chr.Show()
else:
if constInfo.SLOTCH == 0 :
chr.SelectInstance(self.__GetSlotChrID(1, 0))
chr.Show()
elif constInfo.SLOTCH == 1 :
chr.SelectInstance(self.__GetSlotChrID(1, 1))
chr.Show()
elif constInfo.SLOTCH == 2 :
chr.SelectInstance(self.__GetSlotChrID(1, 2))
chr.Show()
elif constInfo.SLOTCH == 3 :
chr.SelectInstance(self.__GetSlotChrID(1, 3))
chr.Show()
elif constInfo.SLOTCH == 4 :
chr.SelectInstance(self.__GetSlotChrID(1, 4))
chr.Show()

def __SelectShape(self, shape):
self.shapeList[self.gender][self.slot] = shape

for button in self.shapeButtonList:
button.SetUp()

self.shapeButtonList[shape].Down()

chr_id = self.__GetSlotChrID(self.gender, self.slot)
chr.SelectInstance(chr_id)
chr.ChangeShape(shape)
chr.SetMotionMode(chr.MOTION_MODE_GENERAL)
chr.SetLoopMotion(chr.MOTION_INTRO_WAIT)

def GetSlotIndex(self):
return self.slot

def RefreshStat(self):
statSummary = self.stat[0] + self.stat[1] + self.stat[2] + self.stat[3]
self.destGauge = (
float(self.stat[0])/float(statSummary),
float(self.stat[1])/float(statSummary),
float(self.stat[2])/float(statSummary),
float(self.stat[3])/float(statSummary),
)

for i in xrange(4):
self.statValue.SetText(str(self.stat))

def __SelectSlot(self, slot):

if slot < 0:
return

if slot >= SLOT_COUNT:
return

if self.slot == slot:
return

self.slot = slot
constInfo.SLOTCH = slot
self.ResetStat()

for i in xrange(SLOT_COUNT):
self.destNameAlpha = 0.0

self.destNameAlpha[slot] = 1.0

for i in xrange(SLOT_COUNT):
self.destRotation[(i+self.slot)%SLOT_COUNT] = self.SLOT_ROTATION

if self.IsShow():
snd.PlaySound("sound/ui/click.wav")

event.ClearEventSet(self.descIndex)
self.descIndex = event.RegisterEventSet(self.DESCRIPTION_FILE_NAME[self.slot])

if localeInfo.IsARABIC():
event.SetEventSetWidth(self.descIndex, 170)

chr.SelectInstance(self.__GetSlotChrID(0, 0))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 1))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 2))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 3))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(0, 4))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 0))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 1))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 2))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 3))
chr.Hide()
chr.SelectInstance(self.__GetSlotChrID(1, 4))
chr.Hide()

chr_id = self.__GetSlotChrID(self.gender, slot)
if chr.HasInstance(chr_id):
chr.SelectInstance(chr_id)
self.__SelectShape(self.shapeList[self.gender][slot])
chr.Show()

def CreateCharacter(self):

if -1 != self.reservingRaceIndex:
return

textName = self.editCharacterName.GetText()
if FALSE == self.__CheckCreateCharacter(textName):
return

if musicInfo.selectMusic != "":
snd.FadeLimitOutMusic("BGM/"+musicInfo.selectMusic, systemSetting.GetMusicVolume()*0.05)

self.DisableWindow()


chr_id = self.__GetSlotChrID(self.gender, self.slot)

chr.SelectInstance(chr_id)

self.reservingRaceIndex = chr.GetRace()

self.reservingShapeIndex = self.shapeList[self.gender][self.slot]
self.reservingStartTime = app.GetTime()

for eachSlot in xrange(SLOT_COUNT):

sel_id = self.__GetSlotChrID(self.gender, eachSlot)

chr.SelectInstance(sel_id)

if eachSlot == self.slot:
chr.PushOnceMotion(chr.MOTION_INTRO_SELECTED)
else:
chr.PushOnceMotion(chr.MOTION_INTRO_NOT_SELECTED)

def CancelCreate(self):
self.stream.SetSelectCharacterPhase()

def __DecreaseSlotIndex(self):
slotIndex = (self.GetSlotIndex() - 1 + SLOT_COUNT) % SLOT_COUNT
self.__SelectSlot(slotIndex)

def __IncreaseSlotIndex(self):
slotIndex = (self.GetSlotIndex() + 1) % SLOT_COUNT
self.__SelectSlot(slotIndex)

def PrevDescriptionPage(self):
if TRUE == event.IsWait(self.descIndex):
if event.GetVisibleStartLine(self.descIndex)-5 >= 0:
event.SetVisibleStartLine(self.descIndex, event.GetVisibleStartLine(self.descIndex)-5)
event.Skip(self.descIndex)
else:
event.Skip(self.descIndex)

def NextDescriptionPage(self):
if TRUE == event.IsWait(self.descIndex):
event.SetVisibleStartLine(self.descIndex, event.GetVisibleStartLine(self.descIndex)+5)
event.Skip(self.descIndex)
else:
event.Skip(self.descIndex)

def __CheckCreateCharacter(self, name):
if len(name) == 0:
self.PopupMessage(localeInfo.CREATE_INPUT_NAME, self.EnableWindow)
return FALSE

if name.find(localeInfo.CREATE_GM_NAME)!=-1:
self.PopupMessage(localeInfo.CREATE_ERROR_GM_NAME, self.EnableWindow)
return FALSE

if net.IsInsultIn(name):
self.PopupMessage(localeInfo.CREATE_ERROR_INSULT_NAME, self.EnableWindow)
return FALSE

return TRUE

def ResetStat(self):
for i in xrange(4):
self.stat = self.START_STAT[self.slot]
self.lastStatPoint = self.CREATE_STAT_POINT
self.RefreshStat()

## Event
def OnCreateSuccess(self):
self.stream.SetSelectCharacterPhase()

def OnCreateFailure(self, type):
if 1 == type:
self.PopupMessage(localeInfo.CREATE_EXIST_SAME_NAME, self.EnableWindow)
else:
self.PopupMessage(localeInfo.CREATE_FAILURE, self.EnableWindow)


def OnUpdate(self):
chr.Update()

(xposEventSet, yposEventSet) = self.textBoard.GetGlobalPosition()
event.UpdateEventSet(self.descIndex, xposEventSet+24, -(yposEventSet+16))
self.descriptionBox.SetIndex(self.descIndex)

for i in xrange(4):
self.curNameAlpha += (self.destNameAlpha - self.curNameAlpha) / 10.0
self.NameList.SetAlpha(self.curNameAlpha[i])

for i in xrange(4):
self.curNameAlpha[i] += (self.destNameAlpha[i] - self.curNameAlpha[i]) / 10.0
self.Listimgjex[i].SetAlpha(self.curNameAlpha[i])

for i in xrange(4):
self.curNameAlpha[i] += (self.destNameAlpha[i] - self.curNameAlpha[i]) / 10.0
self.Listdesjex[i].SetAlpha(self.curNameAlpha[i])

for i in xrange(4):
self.curNameAlpha[i] += (self.destNameAlpha[i] - self.curNameAlpha[i]) / 10.0
self.Listdesjex[i].SetAlpha(self.curNameAlpha[i])

for i in xrange(4):
self.curGauge[i] += (self.destGauge[i] - self.curGauge[i]) / 10.0
if abs(self.curGauge[i] - self.destGauge[i]) < 0.005:
self.curGauge[i] = self.destGauge[i]
self.GaugeList[i].SetPercentage(self.curGauge[i], 1.0)

for page in xrange(PAGE_COUNT):
for i in xrange(SLOT_COUNT):
chr.SelectInstance(self.__GetSlotChrID(page, i))

distance = 1.0
rotRadian = self.curRotation[i] * (math.pi*2) / 360.0
x = distance*math.sin(rotRadian) + distance*math.cos(rotRadian)
y = distance*math.cos(rotRadian) - distance*math.sin(rotRadian)
chr.SetPixelPosition(int(x), int(y), 30)

if abs(self.destRotation[i] - self.curRotation[i]) < 1.0:
self.curRotation[i] = self.destRotation[i]

dir = app.GetRotatingDirection(self.destRotation[i], self.curRotation[i])
rot = app.GetDegreeDifference(self.destRotation[i], self.curRotation[i])

if app.DEGREE_DIRECTION_RIGHT == dir:
self.curRotation[i] += rot / 10.0
elif app.DEGREE_DIRECTION_LEFT == dir:
self.curRotation[i] -= rot / 10.0

self.curRotation[i] = (self.curRotation[i] + 360.0) % 360.0

###########################################################
if -1 != self.reservingRaceIndex:
if app.GetTime() - self.reservingStartTime >= 1.5:

chrSlot=self.stream.GetCharacterSlot()
textName = self.editCharacterName.GetText()
raceIndex = self.reservingRaceIndex
shapeIndex = self.reservingShapeIndex

startStat = self.START_STAT[self.reservingRaceIndex]
statCon = self.stat[0] - startStat[0]
statInt = self.stat[1] - startStat[1]
statStr = self.stat[2] - startStat[2]
statDex = self.stat[3] - startStat[3]

net.SendCreateCharacterPacket(chrSlot, textName, raceIndex, shapeIndex, statCon, statInt, statStr, statDex)

self.reservingRaceIndex = -1

###########################################################

def EmptyFunc(self):
pass

def PopupMessage(self, msg, func=0):
if not func:
func=self.EmptyFunc

self.stream.popupWindow.Close()
self.stream.popupWindow.Open(msg, func, localeInfo.UI_OK)

def OnPressExitKey(self):
self.CancelCreate()
return TRUE

def OverInStatButton(self, stat):
if not self.STAT_DESCRIPTION.has_key(stat):
return

self.toolTip.ClearToolTip()
self.toolTip.AppendTextLine(self.STAT_DESCRIPTION[stat])
self.toolTip.Show()

def OverOutStatButton(self):
self.toolTip.Hide()

if __name__ == "__main__":

import app
import wndMgr
import systemSetting
import mouseModule
import networkModule

app.SetMouseHandler(mouseModule.mouseController)
app.SetHairColorEnable(TRUE)
wndMgr.SetMouseHandler(mouseModule.mouseController)
wndMgr.SetScreenSize(systemSetting.GetWidth(), systemSetting.GetHeight())
app.Create(localeInfo.APP_TITLE, systemSetting.GetWidth(), systemSetting.GetHeight(), 1)
mouseModule.mouseController.Create()

mainStream = networkModule.MainStream()
mainStream.Create()

test = CreateCharacterWindow(mainStream)
test.Open()

app.Loop()
Avatar utilizator
KIDDA
Membru Club

Membru Club
Mesaje: 1248
Membru din: 21 Feb 2018, 15:38
Server: KoF2
Aprecieri: 106  
Mulţumiri: 1115  
Medalii

Raspuns primit!
Topic inchis!
Discord: KIDDA#4960
Skype: negrea.nicu166
Imagine
Afișează semnătura
Închis
Răspunsuri
3
Vizualizări
337
Răspunsuri
2
Vizualizări
269
Răspunsuri
2
Vizualizări
136

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 10 vizitatori