Jump to content

Risan

Inactive Member
  • Posts

    87
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by Risan

  1. not works, i have problem on compile... Sorry
  2. SourceCode is in Lua? Nice can i see how you compile this?
  3. I saw many people had this problem...
  4. is a NEW Source from client.. NOT Public.. Cython src..
  5. Hello People, The new Client Source have a bug on Ymir. say_title and say_reward is all White Color is not nice.. Here is a Fix: Open PythonEventManager.cpp on folder -> UserInterface Go function: ProcessEventSet -> case EVENT_TYPE_LETTER: OLD: const std::string& c_rstValue = GetArgumentString("value", ScriptCommand.argList); pEventSet->strCurrentLine.append(c_rstValue); pEventSet->pCurrentTextLine->SetValueString(pEventSet->strCurrentLine); BYTE r = pEventSet->CurrentColor.r * 255 + 0.5f; BYTE g = pEventSet->CurrentColor.g * 255 + 0.5f; BYTE b = pEventSet->CurrentColor.b * 255 + 0.5f; if (pEventSet->isQuestInfo) { // Á¦¸ñ say_title À» ¾²´Â °æ¿ì if (255 == r && 230 == g && 186 == { pEventSet->pCurrentTextLine->SetColor(1.f, 1.f, 1.f); //pEventSet->pCurrentTextLine->SetValueString(strcat(pEventSet->pCurrentTextLine),"..."); pEventSet->pCurrentTextLine->SetLimitWidth(168.f); } // Æò¹® else if ((196 == r && 196 == g && 196 == || (255 == r && 255 == g && 255 == ) { pEventSet->pCurrentTextLine->SetColor(0,0,0); } else { pEventSet->pCurrentTextLine->SetColor(r,g,; } } else { pEventSet->pCurrentTextLine->SetColor(r, g, ; } pEventSet->iCurrentLetter+=c_rstValue.length(); if (pEventSet->iCurrentLetter >= pEventSet->iRestrictedCharacterCount) { __InsertLine(*pEventSet); } pEventSet->lLastDelayTime = pEventSet->lWaitingTime; break; Replace on This: const std::string& c_rstValue = GetArgumentString("value", ScriptCommand.argList); pEventSet->strCurrentLine.append(c_rstValue); pEventSet->pCurrentTextLine->SetValueString(pEventSet->strCurrentLine); pEventSet->pCurrentTextLine->SetColor(pEventSet->CurrentColor.r,pEventSet->CurrentColor.g,pEventSet->CurrentColor.; pEventSet->iCurrentLetter+=c_rstValue.length(); if (pEventSet->iCurrentLetter >= pEventSet->iRestrictedCharacterCount) { __InsertLine(*pEventSet); } pEventSet->lLastDelayTime = pEventSet->lWaitingTime; break; Compile and is fixxed INFO: Code is from Python22 src... Best Regards,
  6. Vanilla, add this new Questfunction... Need for Snow Dungeon Quest.. int game_drop_item_and_select(lua_State* L) { // // Syntax: game.drop_item_and_select(Vnum, Count) // LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); DWORD item_vnum = (DWORD) lua_tonumber(L, 1); int count = (int) lua_tonumber(L, 2); long x = ch->GetX(); long y = ch->GetY(); LPITEM item = ITEM_MANAGER::instance().CreateItem(item_vnum, count); if (NULL != item) CQuestManager::Instance().SetCurrentItem(item); if (!item) { sys_err("cannot create item vnum %d count %d", item_vnum, count); return 0; } PIXEL_POSITION pos; pos.x = x + number(-200, 200); pos.y = y + number(-200, 200); item->AddToGround(ch->GetMapIndex(), pos); item->StartDestroyEvent(); return 0; } { "drop_item_and_select", game_drop_item_and_select },
  7. Here is a Conveter from XML to SQL Cannot upload is 600 kp packet -,-
  8. no, you need Game 36x + pc.set_level(int) is on rev 36x i have say this on skype..
  9. hello, i need metin2_patch_w21_mobs_m and metin2_patch_snow sorry ..
  10. hello, i can write a Quest, but i need the mission... Regards, Risan
  11. test this; guild.get_name(guild.get_id ? ()) i test this later... sry and now i go sleeping ^^
  12. Your String is correct but i have no idea why is not works... test this; --[[quest guild_ranking 2006 riscritta decentemente da nabbhacker per newage2]] quest guild_ranking begin state start begin when 11000.chat."Andamento della tua Gilda" or 11002.chat."Andamento della tua Gilda" or 11004.chat."Andamento della tua Gilda" begin local name = mob_name(npc.get_race())..":" say_title(name) say("Classifica:[DELAY value;0]"); say(" | Nome | Punti | Vit. | Sconfitte | Pareggi "); say(guild.around_ranking_string().."[/DELAY]") wait() say_title(name) say("Prestazioni della tua Gilda ed informazioni:[ENTER]") --don't work begin --[[ say(string.format("Nome Gilda:%s ;", guild.get_name())) say(string.format("Livello:%d ;", guild.get_level())) say(string.format("Numero Membri:%d ;", guild.get_member_count())) say(string.format("Guerre Combattute:%d: ;", guild.get_any_war())) say(string.format("Posizione Classifica:%d ;", guild.get_rank())) ]] say("Nome Gilda: "..guild.get_name().."") say("Livello: "..guild.get_level().."") say("Numero Membri: "..guild.get_member_count().."") say("Guerre Combattute: "..guild.get_any_war().."") say("Posizione Classifica: "..guild.get_rank().."") --don't work end end -- when when 11000.chat."Andamento Top Gilde" or 11002.chat."Andamento Top Gilde" or 11004.chat."Andamento Top Gilde" begin local name = mob_name(npc.get_race())..":" say_title(name) say("Classifica:[DELAY value;0]"); say(" | Nome | Punti | Vit. | Sconfitte | Pareggi "); say(guild.high_ranking_string().."[/DELAY]") end -- when end -- state end -- quest
  13. Testi it this: import ui import net import wndMgr import dbg import app import event import _weakref import locale import uiScriptLocale LOCALE_PATH = "uiscript/"+uiScriptLocale.CODEPAGE+"_" class SelectEmpireWindow(ui.ScriptWindow): EMPIRE_DESCRIPTION_TEXT_FILE_NAME = { net.EMPIRE_A : uiScriptLocale.EMPIREDESC_A, net.EMPIRE_B : uiScriptLocale.EMPIREDESC_B, net.EMPIRE_C : uiScriptLocale.EMPIREDESC_C, } class EmpireButton(ui.Window): def __init__(self, owner, arg): ui.Window.__init__(self) self.owner = owner self.arg = arg def OnMouseOverIn(self): self.owner.OnOverInEmpire(self.arg) def OnMouseOverOut(self): self.owner.OnOverOutEmpire(self.arg) def OnMouseLeftButtonDown(self): if self.owner.empireID != self.arg: self.owner.OnSelectEmpire(self.arg) 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) def __init__(self, stream): print "NEW EMPIRE WINDOW ----------------------------------------------------------------------------" ui.ScriptWindow.__init__(self) net.SetPhaseWindow(net.PHASE_WINDOW_EMPIRE, self) self.stream=stream self.empireID=app.GetRandom(1, 3) self.descIndex=0 self.empireArea = {} self.empireAreaFlag = {} self.empireFlag = {} self.empireAreaButton = {} self.empireAreaCurAlpha = { net.EMPIRE_A:0.0, net.EMPIRE_B:0.0, net.EMPIRE_C:0.0 } self.empireAreaDestAlpha = { net.EMPIRE_A:0.0, net.EMPIRE_B:0.0, net.EMPIRE_C:0.0 } self.empireAreaFlagCurAlpha = { net.EMPIRE_A:0.0, net.EMPIRE_B:0.0, net.EMPIRE_C:0.0 } self.empireAreaFlagDestAlpha = { net.EMPIRE_A:0.0, net.EMPIRE_B:0.0, net.EMPIRE_C:0.0 } self.empireFlagCurAlpha = { net.EMPIRE_A:0.0, net.EMPIRE_B:0.0, net.EMPIRE_C:0.0 } self.empireFlagDestAlpha = { net.EMPIRE_A:0.0, net.EMPIRE_B:0.0, net.EMPIRE_C:0.0 } def __del__(self): ui.ScriptWindow.__del__(self) net.SetPhaseWindow(net.PHASE_WINDOW_EMPIRE, 0) print "---------------------------------------------------------------------------- DELETE EMPIRE WINDOW" def Close(self): print "---------------------------------------------------------------------------- CLOSE EMPIRE WINDOW" self.ClearDictionary() self.leftButton = None self.rightButton = None self.selectButton = None self.exitButton = None self.textBoard = None self.descriptionBox = None self.empireArea = None self.empireAreaButton = None self.KillFocus() self.Hide() app.HideCursor() event.Destroy() def Open(self): print "OPEN EMPIRE WINDOW ----------------------------------------------------------------------------" self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight()) self.SetWindowName("SelectEmpireWindow") self.Show() if not self.__LoadScript(uiScriptLocale.LOCALE_UISCRIPT_PATH + "SelectEmpireWindow.py"): dbg.TraceError("SelectEmpireWindow.Open - __LoadScript Error") return self.OnSelectEmpire(self.empireID) self.__CreateButtons() self.__CreateDescriptionBox() app.ShowCursor() def __CreateButtons(self): for key, img in self.empireArea.items(): img.SetAlpha(0.0) (x, y) = img.GetGlobalPosition() btn = self.EmpireButton(_weakref.proxy(self), key) btn.SetParent(self) btn.SetPosition(x, y) btn.SetSize(img.GetWidth(), img.GetHeight()) btn.Show() self.empireAreaButton[key] = btn def __CreateDescriptionBox(self): self.descriptionBox = self.DescriptionBox() self.descriptionBox.Show() def OnOverInEmpire(self, arg): self.empireAreaDestAlpha[arg] = 1.0 def OnOverOutEmpire(self, arg): if arg != self.empireID: self.empireAreaDestAlpha[arg] = 0.0 def OnSelectEmpire(self, arg): if arg == 2: return for key in self.empireArea.keys(): self.empireAreaDestAlpha[key] = 0.0 self.empireAreaFlagDestAlpha[key] = 0.0 self.empireFlagDestAlpha[key] = 0.0 self.empireAreaDestAlpha[arg] = 1.0 self.empireAreaFlagDestAlpha[arg] = 1.0 self.empireFlagDestAlpha[arg] = 1.0 self.empireID = arg event.ClearEventSet(self.descIndex) if self.EMPIRE_DESCRIPTION_TEXT_FILE_NAME.has_key(arg): self.descIndex = event.RegisterEventSet(self.EMPIRE_DESCRIPTION_TEXT_FILE_NAME[arg]) if locale.IsARABIC(): event.SetEventSetWidth(self.descIndex, 170) else: event.SetRestrictedCount(self.descIndex, 35) 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 __LoadScript(self, fileName): try: pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self, fileName) except: import exception exception.Abort("SelectEmpireWindow.__LoadScript.LoadObject") try: GetObject=self.GetChild self.leftButton = GetObject("left_button") self.rightButton = GetObject("right_button") self.selectButton = GetObject("select_button") self.exitButton = GetObject("exit_button") self.textBoard = GetObject("text_board") self.empireArea[net.EMPIRE_A] = GetObject("EmpireArea_A") self.empireArea[net.EMPIRE_B] = GetObject("EmpireArea_B") self.empireArea[net.EMPIRE_C] = GetObject("EmpireArea_C") self.empireAreaFlag[net.EMPIRE_A] = GetObject("EmpireAreaFlag_A") self.empireAreaFlag[net.EMPIRE_B] = GetObject("EmpireAreaFlag_B") self.empireAreaFlag[net.EMPIRE_C] = GetObject("EmpireAreaFlag_C") self.empireFlag[net.EMPIRE_A] = GetObject("EmpireFlag_A") self.empireFlag[net.EMPIRE_B] = GetObject("EmpireFlag_B") self.empireFlag[net.EMPIRE_C] = GetObject("EmpireFlag_C") GetObject("prev_text_button").SetEvent(ui.__mem_func__(self.PrevDescriptionPage)) GetObject("next_text_button").SetEvent(ui.__mem_func__(self.NextDescriptionPage)) except: import exception exception.Abort("SelectEmpireWindow.__LoadScript.BindObject") self.selectButton.SetEvent(ui.__mem_func__(self.ClickSelectButton)) self.exitButton.SetEvent(ui.__mem_func__(self.ClickExitButton)) self.leftButton.SetEvent(ui.__mem_func__(self.ClickLeftButton)) self.rightButton.SetEvent(ui.__mem_func__(self.ClickRightButton)) for flag in self.empireAreaFlag.values(): flag.SetAlpha(0.0) for flag in self.empireFlag.values(): flag.SetAlpha(0.0) return 1 def ClickLeftButton(self): self.empireID-=1 if self.empireID<1: self.empireID=3 self.OnSelectEmpire(self.empireID) def ClickRightButton(self): self.empireID+=1 if self.empireID>3: self.empireID=1 self.OnSelectEmpire(self.empireID) def ClickSelectButton(self): net.SendSelectEmpirePacket(self.empireID) self.stream.SetSelectCharacterPhase() def ClickExitButton(self): self.stream.SetLoginPhase() def OnUpdate(self): (xposEventSet, yposEventSet) = self.textBoard.GetGlobalPosition() event.UpdateEventSet(self.descIndex, xposEventSet+7, -(yposEventSet+7)) self.descriptionBox.SetIndex(self.descIndex) self.__UpdateAlpha(self.empireArea, self.empireAreaCurAlpha, self.empireAreaDestAlpha) self.__UpdateAlpha(self.empireAreaFlag, self.empireAreaFlagCurAlpha, self.empireAreaFlagDestAlpha) self.__UpdateAlpha(self.empireFlag, self.empireFlagCurAlpha, self.empireFlagDestAlpha) def __UpdateAlpha(self, dict, curAlphaDict, destAlphaDict): for key, img in dict.items(): curAlpha = curAlphaDict[key] destAlpha = destAlphaDict[key] if abs(destAlpha - curAlpha) / 10 > 0.0001: curAlpha += (destAlpha - curAlpha) / 7 else: curAlpha = destAlpha curAlphaDict[key] = curAlpha img.SetAlpha(curAlpha) def OnPressEscapeKey(self): self.ClickExitButton() return TRUE class ReselectEmpireWindow(SelectEmpireWindow): def ClickSelectButton(self): net.SendSelectEmpirePacket(self.empireID) self.stream.SetCreateCharacterPhase() def ClickExitButton(self): self.stream.SetSelectCharacterPhase()
  14. It works perfectly, you forgot just one little thing. Change a Inventory Tab on Server Side .. ScreenShort:
  15. Complete Selfmade. Clientbinary , Database Binary and Game..!
  16. Nice, i test it this later.. But you most change Python code...
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.