Jump to content

kodepiko

Member
  • Posts

    397
  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    0%

Everything posted by kodepiko

  1. You compile client source binary? or you are using client from someone? It is game 40k+? You can paste syserr.txt from client after client crash - so maybe we see what is wrong If it's not a problem I suggest you to just change your client to working one.
  2. You have there 90% - it always fail? you can enable test_server: 1 at your actually game core at CONFIG file, to see debug chats <IMMUNE_FAIL> etc. I'm not pretty sure that you need party to this or not
  3. Every quest is bugged and looks like on the screenshot at first post? - so they don't showing any other text than square? Check syserr of your game core - it says you all, maybe it's questlib problem or ./make.sh / folder / qc don't have permission to something
  4. If you write ps command at putty/virtualbox console you still see all processes? Umm.. you can login again to the server after disconnect? or you need to restart your server? It's important because only on that way we can say it's client or game problem
  5. At now I have problem only with showing item price via private shop viewing by visitor (when I setup my shop I see correct price 2kkk+), if price extends 2kkk+ it shows 0 yang, but when I try to buy it I need real amount (for ex. 4kkk), so anyone can help me - where I should find this value? I think it's this part: (PythonNetworkStreamPhaseGame.cpp) case SHOP_SUBHEADER_GC_UPDATE_PRICE: PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetShopSellingPrice", Py_BuildValue("(i)", *(int *)&vecBuffer[0])); break; but I don't really know how to deal with it to make it long long (I tried change (int *) to (long long *) but no effect I have edited (PythonShop.cpp) PyObject * shopGetPrivateShopItemPrice(PyObject * poSelf, PyObject * poArgs) { BYTE bItemWindowType; if (!PyTuple_GetInteger(poArgs, 0, &bItemWindowType)) return Py_BuildException(); WORD wItemSlotIndex; if (!PyTuple_GetInteger(poArgs, 1, &wItemSlotIndex)) return Py_BuildException(); long long iValue = CPythonShop::Instance().GetPrivateShopItemPrice(TItemPos(bItemWindowType, wItemSlotIndex)); return PyLong_FromLongLong(iValue); } and PyObject * shopAddPrivateShopItemStock(PyObject * poSelf, PyObject * poArgs) { BYTE bItemWindowType; if (!PyTuple_GetInteger(poArgs, 0, &bItemWindowType)) return Py_BuildException(); WORD wItemSlotIndex; if (!PyTuple_GetInteger(poArgs, 1, &wItemSlotIndex)) return Py_BuildException(); int iDisplaySlotIndex; if (!PyTuple_GetInteger(poArgs, 2, &iDisplaySlotIndex)) return Py_BuildException(); long long iPrice; if (!PyTuple_GetLongLong(poArgs, 3, &iPrice)) return Py_BuildException(); CPythonShop::Instance().AddPrivateShopItemStock(TItemPos(bItemWindowType, wItemSlotIndex), iDisplaySlotIndex, iPrice); return Py_BuildNone(); }
  6. Ok, but even using my simple test quest when you write something at input - it crash your channel core or only crash your client, and you are still able to login again at this channel? If it's core crash then you have something wrong in your source code or have mess with questlib.lua (you using files from someone so it can be)
  7. Do you edit your client for client -> server quest communication? If not there is no possibility to not working input Test this quest (you need to summon id 20001 npc and talk to him) quest working begin state start begin when 20001.chat."Working input" begin say_title("TEST") say("write smth") local something = input() chat("INPUT: "..something.." ") end end end
  8. You paste here wrong part of quest, I suggest you to paste complete OX quest or in best way you should find working OX event quest here it is: (I got it from another site) -------------------------------------------------------------- --- For Epvp --- Erza² --- Automatic Ox Event -------------------------------------------------------------- quest automaticoxevent begin state start begin -- Dialogue with Uriel when 20011.chat."GM: Automatic Ox Event" with pc.is_gm() and pc.get_name() == "Erza" begin say_title(mob_name(npc.get_race())..":") say("") say("Do you want to open the Ox Event? ") say("") local s = select(locale.yes,locale.no) if(s == 2) then return end say_title(mob_name(npc.get_race())..":") say("") say("Ox opened the event!. ") say("Please wait. ") server_timer("countdown",10) game.set_event_flag("automatic_oxevent_status",1) end --- Start Countdown !. when countdown.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") else notice_all("<Automatic-OxEvent> Ox opened the event!. ") notice_all("<Automatic-OxEvent> 5 Minutes the countdown has begun and Entries will be closed at the end of 5 minutes.. ") server_timer("countdownone",60) end end --- CountDown 2 when countdownone.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event !. ") else notice_all("<Automatic-OxEvent> Ox closing entries : 4 minutes left") server_timer("countdowntwo",60) end end --- CountDown 3 when countdowntwo.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event !. ") else notice_all("<Automatic-OxEvent> Ox closing entries : 3 minutes left") server_timer("countdownthre",60) end end --- CountDown 4 when countdownthre.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") else notice_all("<Automatic-OxEvent> Ox closing entries : 2 minutes left") server_timer("countdownfour",60) end end --- CountDown 5 when countdownfour.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") else notice_all("<Automatic-OxEvent> Ox closing entries : 1 minutes left") server_timer("countdownfive",60) end end --- Countdown 6 when countdownfive.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") else notice_all("<Automatic-OxEvent> Ox entries closed. ") notice_all("<Automatic-OxEvent> Join as a spectator!. ") server_timer("playercheck",5) game.set_event_flag("automatic_oxevent_status",2) end end --- Player Check when playercheck.server_timer begin if(oxevent.get_attender() == 0) then notice_all("<Automatic-OxEvent> Event is closed because ; There's no one inside.. ") game.set_event_flag("automatic_oxevent_status",0) else server_timer("startox",5) end end --- Start Ox Event when startox.server_timer begin setskin(NOWINDOW) quiz = oxevent.quiz(1,30) if(quiz == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") game.set_event_flag("automatic_oxevent_status",0) warp_all_to_village() elseif(quiz == 1) then if(oxevent.get_attender() == 1) then game.set_event_flag("automatic_oxevent_status",0) notice_all("<Automatic-OxEvent> Event is over. See you soon ") warp_all_to_village() else server_timer("startoxone",40) end else notice_all("an unexpected error occurred") notice_all("closing event!. ") game.set_event_flag("automatic_oxevent_status",0) warp_all_to_village() end end --- Start Ox 1 when startoxone.server_timer begin setskin(NOWINDOW) quiz = oxevent.quiz(1,30) if(quiz == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") game.set_event_flag("automatic_oxevent_status",0) warp_all_to_village() elseif(quiz == 1) then if(oxevent.get_attender() == 1) then game.set_event_flag("automatic_oxevent_status",0) notice_all("<Automatic-OxEvent> Event is over. See you soon ") warp_all_to_village() else server_timer("startox",40) end else notice_all("an unexpected error occurred") notice_all("closing event!. ") game.set_event_flag("automatic_oxevent_status",0) warp_all_to_village() end end when 20011.chat."Ox Event !. " begin say_title(mob_name(npc.get_race())..":") say("") --- if(game.get_event_flag("automatic_oxevent_status") == 1) then say("Do you want to enter the effectiveness of the Ox") say("") local s = select(locale.yes,locale.no) if(s == 2) then return end pc.warp(896500, 24600) elseif(game.get_event_flag("automatic_oxevent_status") == 2) then say("Do you want to enter the effectiveness of the Ox") say("") local s = select(locale.yes,locale.no) if(s == 2) then return end pc.warp(896300, 28900) elseif(game.get_event_flag("automatic_oxevent_status") == 0) then say("The effectiveness of the Ox now closed") say("") end end end end Just replace yours OX EVENT quest and if this quest work and you want I can add for you a OX EVENT MEMBER LIMIT like in old quest
  9. So none of quests are working for you? try simple quest: quest working begin state start begin when kill begin chat("YOU KILL MOB/PC") end end end save it as working.quest and put in locale_list or compile it by ./qc and write /reload q in game I think it depends on your quest which dumps core for ex. by wrong timer or smth like that Paste here your OX event quest so we can check it
  10. Yes, as I writed this is OnValueUpdate, I do it this way: def __OnValueUpdate(self): ui.EditLine.OnIMEUpdate(self.inputValue) text = self.inputValue.GetText() money = 0 if text: try: money = long(text) except ValueError: money = 9999999999999 self.moneyText.SetText(self.moneyHeaderText + localeInfo.NumberToMoneyString(money)) @update It's my fault, I missed some shop item price packets and values in client binary. I don't know how to handle this: PythonShop.cpp (if I edit it this way I have error -C2665: 'PyTuple_GetInteger' : none of the 4 overloads could convert all the argument types) PyObject * shopAddPrivateShopItemStock(PyObject * poSelf, PyObject * poArgs) { BYTE bItemWindowType; if (!PyTuple_GetInteger(poArgs, 0, &bItemWindowType)) return Py_BuildException(); WORD wItemSlotIndex; if (!PyTuple_GetInteger(poArgs, 1, &wItemSlotIndex)) return Py_BuildException(); int iDisplaySlotIndex; if (!PyTuple_GetInteger(poArgs, 2, &iDisplaySlotIndex)) return Py_BuildException(); long long iPrice; if (!PyTuple_GetInteger(poArgs, 3, &iPrice)) return Py_BuildException(); CPythonShop::Instance().AddPrivateShopItemStock(TItemPos(bItemWindowType, wItemSlotIndex), iDisplaySlotIndex, iPrice); return Py_BuildNone(); } and how handle PythonNetworkStreamPhaseGame.cpp ??? case SHOP_SUBHEADER_GC_UPDATE_PRICE: PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetShopSellingPrice", Py_BuildValue("(i)", *(int *)&vecBuffer[0])); just change (int *) to (long long *)?
  11. Hello, I'm trying to raise limit of maximum item price at (private)shop, I change: root/uitooltip.py - def CutMoneyString, int() to long() root/uiprivateshopbuilder.py - def AcceptInputPrice, int to long root/uicommon.py - __OnValueUpdate, int to long root/uipickmoney.py (also for exchange yang) - def OnAccept, int to long At server/client source I changed everything (when I try to buy an item which is showing 0 yang price, system says I dont have too much yang (for ex. 3.000.000.000) and it's correct - when my yang amount is lower of course so price is correct via packets, but I think it's problem by showing that price somewhere in python :/ I searched for int() but I didn't find anymore... Maybe some of you did item prices 2kkk+ and can help me? Regards
  12. I've got a bug report that if your level is higher than 255, and you want to create a guild, it will fail, and your character will stuck. I will look after this ASAP, but now I don't have so much time. Sorry for this issue. It's nice to see that you support this topic and don't forget about this Yes, and also when you try to login with someone at guild... it disconnect
  13. If someone do this way, there is no more guild name in packet, so it doesn't appear at guild window. I think you forgot about this?
  14. Hello guys, maybe you know exactly what sections of source code I need to edit, to properly show for ex. guild member list with correct character lvl if it is more than 255+ I have properly done showing lvl next to char etc. but have problems with guild member window and character select window (showing lvl of character) Can someone point me at good way? I tried ofc editing at game side and at client side guild.cpp and packets with guild members etc but after that when I login to game my client turns off :/ if lvl of character is more than 255 for ex. 280 it show like 24 lvl Regards.
  15. I do everything again with focus and now it works
  16. I give you idea guys, just create a new state for yours quests, for ex. state start begin -- play sound set_state(next) end state next begin -- begin quest text etc end Now it works only once and don't spam with music, otherwise may be better option but this is the easiest and not bad.
×
×
  • 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.