-
Posts
397 -
Joined
-
Last visited
-
Days Won
2 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by kodepiko
-
I'm pretty sure he think about ditto system at Inception2 server, it means a attack bot/buff bot which is cloned character here is video: [Hidden Content]
-
Hello, I'm looking for idea how to freeze character from moving like this: [Hidden Content] by serverside of course Like pvp tournament and freeze character for 3 secs or something, I thought about OnMove func and give there return but I think it only rollback my character to START POSITION, so it's not really the same effect. Anyone have ideas? Regards, kodepiko
-
official [Old][Archive] - [Official] Unpacked Updates Metin2.de
kodepiko replied to Shogun's topic in Guides & HowTo
Hello, does anyone have patch where I can find the 2 other sashes (white and blue)? [Hidden Content] & blue sash [Hidden Content] This sashes are not included at patch_acce (after update) because in standard there are only 2 type of sash but now it's 4 types (yellow, red, blue, white) -
Infer pet after teleporting
kodepiko replied to avertuss's topic in Community Support - Questions & Answers
any errors? it should work, make sure you restart server -
Infer pet after teleporting
kodepiko replied to avertuss's topic in Community Support - Questions & Answers
There it is: [Hidden Content] Hope it works now. @Frozen made a mistake with pc.getqf not pc.setqf ( pc.getqf('summoned', 1) ), and he tried to save pet_name in quest value which storage only INT not STRING. This is simple quest with constant pet names, you can of course change names by mysql etc. -
Infer pet after teleporting
kodepiko replied to avertuss's topic in Community Support - Questions & Answers
I can help you, but you need to post here your full pet quest, because I don't know yours pet VNUMS etc. I just simply add this TP spawn function to your quest. -
Quest affects counting at clientside
kodepiko replied to kodepiko's topic in Community Support - Questions & Answers
Yeah because I solved my problem right after posting thread (I just got mind blindness for a moment) and reported thread to close/delete, but moderators here doesn't exist anyway thanks for try -
Change data type of level field to int in player table at MySQL player database
-
Python, ListBox showed elements limit? (10)
kodepiko replied to kodepiko's topic in Community Support - Questions & Answers
Thank you, it works! That simply and I missed this setting function, it must be somewhere deeper than component.py (there isn't used) Anyway thread solved. -
Hello devs! I got a little problem with listboxex (listbox with slider), It doesnt matter how much height I set, it still appears 10 elements of my list (my list is 20+ elements long), if I use slider it shows me other elements, but I want to extend amount of showing elements at one time, anyone know how to do it? Python code: [Hidden Content]
-
nevermind, my fault good job!
-
I still have problem with trade window - private shop price is working Did I miss something? PythonExchange.cpp void CPythonExchange::SetElkToTarget(long long elk) { m_victim.elk = elk; } void CPythonExchange::SetElkToSelf(long long elk) { m_self.elk = elk; } long long CPythonExchange::GetElkFromTarget() { return m_victim.elk; } long long CPythonExchange::GetElkFromSelf() { return m_self.elk; } PythonNetworkStreamModule.cpp PyObject* netSendExchangeElkAddPacket(PyObject* poSelf, PyObject* poArgs) { long long iElk; if (!PyTuple_GetLongLong(poArgs, 0, &iElk)) return Py_BuildException(); CPythonNetworkStream& rkNetStream=CPythonNetworkStream::Instance(); rkNetStream.SendExchangeElkAddPacket(iElk); return Py_BuildNone(); } PythonExchangeModule.cpp PyObject * exchangeGetElkFromSelf(PyObject * poSelf, PyObject * poArgs) { return Py_BuildValue("L", CPythonExchange::Instance().GetElkFromSelf()); } PyObject * exchangeGetElkFromTarget(PyObject * poSelf, PyObject * poArgs) { return Py_BuildValue("L", CPythonExchange::Instance().GetElkFromTarget()); } No matter I use Py_BuildValue or PyLong_Fromlonglong method, I don't know what I can miss.. Still showing max value of 4kkk+ yang at trade. Of course exchanging more than 4kkk+ is successful, just problem with showing correctly amount of yang in trade window
-
Flag At The Top Right Of Npc
kodepiko replied to vefamt2's topic in Community Support - Questions & Answers
I think it's because of model of your npc I'm not sure that flag is based on model height or its fixable on .msm file - so you can try to change values or choose other model / fix it. -
mainline, stable way
-
I have problem only with showing value at client by python at following cases: Showing item price (2kkk+) in private shop (It just say 0 yang) Showing amount of gold (4kkk+) in trade window (It says crazy numbers like 118.244.221 yang above the limit) Can anyone help me where I can find this values at client source? I think packets are edtied correctly because I still can give someone for ex. 10kkk and he receive this without problem, also as item price it works fine client/PythonExchangeModule.cpp (I'm wrong or something? :/) PyObject * exchangeGetElkFromSelf(PyObject * poSelf, PyObject * poArgs) { return PyLong_FromLongLong(CPythonExchange::Instance().GetElkFromSelf()); } PyObject * exchangeGetElkFromTarget(PyObject * poSelf, PyObject * poArgs) { return PyLong_FromLongLong(CPythonExchange::Instance().GetElkFromTarget()); } client/PythonExchange.cpp void CPythonExchange::SetElkToTarget(long long elk) { m_victim.elk = elk; } void CPythonExchange::SetElkToSelf(long long elk) { m_self.elk = elk; } long long CPythonExchange::GetElkFromTarget() { return m_victim.elk; } long long CPythonExchange::GetElkFromSelf() { return m_self.elk; }
-
So maybe it's client problem - try on another client, you can also try to use CLEAN questlib.lua from clean files or somewhere
-
party_kill and some trigger issue
kodepiko replied to Galet's topic in Community Support - Questions & Answers
Do it this way: when kill with npc.get_race() == 101 with party.is_party() begin local count = party.getf("quest", "state") + 1 if count <= 15 then party.setf("quest", "state", count) q.set_counter("Rest-amount", 15 - count) if count == 15 then say_title("lorem ipsum dolor") say("") end end end and change "quest" to your quest_name for ex. "party_mission" quest party_mission begin and save quest as party_mission.quest (or change this name to another one but it's nice to use this same quest_name at quest also -
party_kill and some trigger issue
kodepiko replied to Galet's topic in Community Support - Questions & Answers
To be honest just use party.setf("quest_name", "flag_name", party.getf("quest_name", "flag_name")+1) party.getf("quest_name", "flag_name") quest_name is name of the quest you declare at first line for ex.- quest quest_name begin flag_name can be anything, for ex. mob_kills how can I explain you setqf or setf? - the difference between pc.setqf and pc.setf is number of arguments function takes, pc.getqf("flag_name") works only in one quest where you use that function, if you use pc.getf("quest_name", "flag_name") you can get FLAG from another quest! but you still can use party.getf / party.setf in that way only at one quest -
party_kill and some trigger issue
kodepiko replied to Galet's topic in Community Support - Questions & Answers
Every player has this mission? if yes I suggest to take this mission when players are at group and then just count it as party.setqf("mob_kills", party.getqf("mob_kills")+1) if the party.getqf("mob_kills") counter turns for ex. 30 it finish "group" mission - and everyone can talk to npc to pass it or only the leader and then you should do something like this: when kill with party.is_party() begin party.setqf("mob_kills", party.getqf("mob_kills")+1) local mob_kills = party.getqf("mob_kills") if mob_kills >= 30 then -- you pass quest (here you can do quest_complete and give items or smth end end -
party_kill and some trigger issue
kodepiko replied to Galet's topic in Community Support - Questions & Answers
if you want to deal with quests for party you should check party.setf / party.getf quest functions, when someone in party kill a specific mob there you can say notice in party and set party flag value to 1 party.setf("q_name", "flag", 1), for ex.: (party.syschat("hello, party leader killed legendary boss go to npc teacher to take special mission!") or party.chat("") ) and when npc_vnum.chat."Mission" with party.getf("quest_name", "flag") == 1 begin -- your quest happen party_kill should works fine but if they count also kills being alone just use this way: when 101.party_kill with party.is_party() begin if you need quest only for party leader you can use - party.is_leader() funcion easilly But remember, if your party disband - you lost party flags (party.getf) so when player talk with npc you should set pc.setf for him if you want to still give him mission for longer time than party is living