-
Posts
239 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by EnKor
-
i real do not know about this "capital letter" bug.... but u have right. I'm not lazzy... and this tip is one REAL big help
-
well... i have same problem as MORTE, and i solve it with ur help. But are u serius?! i have 3 compactores and none work with capital letters.... can u advice any compactor... or this is normal, and only happen in with textures?
-
Can someone explain me?
EnKor replied to hiiamcarrot24's topic in Community Support - Questions & Answers
Well... Serverfiles is the game system. This is where u control all the game, players and etc... And how u make all of this? With "souce" and Source is the files to create all the game. All! Like all software, when u create any software, u need the Source files (files to build any software) in this case the Source is to build all files to metin2. Until here we have talking about serverfiles and this is "all of players dont see" cuz this is serverfiles. And then... we need the same. But for players. And that we call "client side" this will be "All of players will see. At the moment u see the icon and click to enter in game.... this is all "serverside" And to make all of this... we need other source, and we call it... "Binary" or "client source" And once more, this source/binary will create all files in client side. Like the icon, game windows, characters etc... this client side source/binary is "all of what players will see" And then source of serverside will connect with cliente source.... Sorry for my english... but i hope u get it....- 1 reply
-
- 1
-
oO? i realy din't understand....
-
Item2.set_attr in source
EnKor replied to Avertus's topic in Community Support - Questions & Answers
Where we add this? -
..... Hellooouuuu!!!!
-
[PROBLEM] Costume Weapon
EnKor replied to GrzeGorz's topic in Community Support - Questions & Answers
syserr Any help??? -
up
-
Hi there, I have this function in game.py: def __MakePortring(self, qid): constInfo.PortRingqin= int(qid) But how to make that function from this interfacemodule.py? def testcommand(self): self.game.__MakePortring(self, qid) i wanna send the same command, but from the function in interfacemodule.py FreeHugs to all
-
Hi there.... ingame i only get "1" why??? my social_id is 1234567 in db....
-
i make the quest. Ty to all
-
How? in test_server mode, it work... but i will like to make by quest. But i dont know how.
-
I get it ty tierri.
-
Hi there, How can i see ammount of exp gain by kill one moob? i need to test something but i cant find that function. ex: quest exp_info begin state start begin when 101.kill begin chat("exp: u kill 101mob and he give u "..pc.get_exp().."") ---- i wanna see the exp he give to me and this way i get total. end end end
-
If we add more words in chat game and we type the bloked one... nothing happens!
-
Hi there. I have installed this system in my server, but i have one crazy bug. if i add same costume to transfer bonus from SLOT2 to SLOT1 (but with same costume), my core go down. print can any one help me to make a function to return if item from SLOT2 have same id as item in SLOT1? i have to add that function in here. But have no ideia how to do it. void AttrTransfer_add_item(LPCHARACTER ch, int w_index, int i_index) { LPITEM item; LPITEM *attr_transfer_item; RETURN_IF_ATTR_TRANSFER_IS_NOT_OPENED(ch); if (i_index < 0 || INVENTORY_MAX_NUM <= i_index || w_index < 0 || MAX_ATTR_TRANSFER_SLOT <= w_index) return; item = ch->GetInventoryItem(i_index); if (item == NULL) return; if (w_index == 0 && item->GetType() != ITEM_TRANSFER_SCROLL) return; if ((w_index == 1 && item->GetType() != ITEM_COSTUME )|| (w_index == 2 && item->GetType() != ITEM_COSTUME)) return; if (gAttrTransferLimit != 1 && item->GetSubType() != COSTUME_BODY) return; attr_transfer_item = ch->GetAttrTransferItem(); for (int i = 0; i < MAX_ATTR_TRANSFER_SLOT; ++i) { if (item == attr_transfer_item[i]) { attr_transfer_item[i] = NULL; break; } } if (w_index != 0 && attr_transfer_item[0] == NULL) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<Attr Transfer> For do this, you must add the Transfer Scroll into their slot.")); return; } else if (w_index == 2 && item->GetSubType() != attr_transfer_item[1]->GetSubType()) { return; } if (w_index == 2) { ch->ChatPacket(CHAT_TYPE_COMMAND, "AttrTransferMessage"); } attr_transfer_item[w_index] = item; if (test_server) ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<Attr Transfer> attach from inventory slot number [%d] to attr transfer slot number [%d]."), i_index, w_index); return; } ACMD(do_attr_transfer) { sys_log(1, "%s has used an Attr Transfer command: %s.", ch->GetName(), argument); int w_index = 0, i_index = 0; const char *line; char arg1[256], arg2[256], arg3[256]; line = two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2)); one_argument(line, arg3, sizeof(arg3)); if (0 == arg1[0]) { ch->ChatPacket(CHAT_TYPE_INFO, "Usage:"); ch->ChatPacket(CHAT_TYPE_INFO, "- attrtransfer open"); ch->ChatPacket(CHAT_TYPE_INFO, "- attrtransfer close"); ch->ChatPacket(CHAT_TYPE_INFO, "- attrtransfer add <attr_transfer_slot> <inventory_slot>"); ch->ChatPacket(CHAT_TYPE_INFO, "- attrtransfer delete <attr_transfer_slot>"); return; } const std::string& strArg1 = std::string(arg1); if (strArg1 == "open") { AttrTransfer_open(ch); return; } else if (strArg1 == "close") { AttrTransfer_close(ch); return; } else if (strArg1 == "make") { AttrTransfer_make(ch); return; } else if (strArg1 == "add") { if (0 == arg2[0] || !isdigit(*arg2) || 0 == arg3[0] || !isdigit(*arg3)) return; str_to_number(w_index, arg2); str_to_number(i_index, arg3); AttrTransfer_add_item(ch, w_index, i_index); return; } else if (strArg1 == "delete") { if (0 == arg2[0] || !isdigit(*arg2)) return; str_to_number(w_index, arg2); AttrTransfer_delete_item(ch, w_index); return; } switch (LOWER(arg1[0])) { case 'o': AttrTransfer_open(ch); break; case 'c': AttrTransfer_close(ch); break; case 'm': AttrTransfer_make(ch); break; case 'a': { if (0 == arg2[0] || !isdigit(*arg2) || 0 == arg3[0] || !isdigit(*arg3)) return; str_to_number(w_index, arg2); str_to_number(i_index, arg3); AttrTransfer_add_item(ch, w_index, i_index); } break; case 'd': { if (0 == arg2[0] || !isdigit(*arg2)) return; str_to_number(w_index, arg2); AttrTransfer_delete_item(ch, w_index); } break; default: return; } }
-
in all races ?? :Sura: :Ninja: and same for shaman. efect stay in char body, not in weapon its to ugly this way.
-
noway!! It's NOT the soluction xD because Effect will be Attach in char and not in weapon.
-
in bin client open: InstanceBaseEffect.cpp find: void CInstanceBase::__ComboProcess() replace all function: void CInstanceBase::__ComboProcess() { DWORD dwcurComboIndex = m_GraphicThingInstance.GetComboIndex(); if (0 != dwcurComboIndex) { if (m_dwLastComboIndex != m_GraphicThingInstance.GetComboIndex()) { if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_HWAYEOM)) { __AttachEffect(EFFECT_FLAME_ATTACK); } } } m_dwLastComboIndex = dwcurComboIndex; } PS: Only work with Warrior's, if any one know why update post please. Its a very nice effect Font: EPVP by: KOrí
-
[C++]Block Pets, Mounts & Horses
EnKor replied to FlorinMarian's topic in Community Support - Questions & Answers
What?? Ok. Gogo use "or" in tbis case. -
!?? If ur char is in for exemple: 880 1120, in quest u need to add "ALLWAYS" 2 x 00 to that. so quest will be: pc.warp ( 88000, 112000 ) to solve the born in wrong place: In u map folder (serverside) u have or create a new file: town.txt then add coordinates u wanna players born in the map. for exemple: if u wanna they born in coordinates 754, 256 so town.txt will be: town.txt 754, 256 754, 256 754, 256