-
Posts
92 -
Joined
-
Last visited
-
Days Won
1 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Ezequiel G.
-
-
1 hour ago, Pseudabo said:
Why you dont use basic 40k sf? You can do it via source without bugged surakopf...
Why is it to open a hamachi server and play with some friends only, I don't want to pay for a VPS server
-
Hi, I would like to ask if someone has the hamachi launcher file for version R34083, thx!
- 1
-
How can I add more languages to the translator?
-
Good, the contribution is appreciated!
- 1
-
Nice, thanks for sharing!
- 1
- 1
-
#Solved.
Thanks to both of you, I forgot that the Hwang textures were in season1 and replaced them.
- 2
-
8 hours ago, ASIKOO said:
You should modify the Alpha channel of the DDS file.
I tried to change the .dds textures of the armors from one client to another but they still look the same.
-
Hello, I would like to know how I can solve the problem that the game has with the shine on weapons/armor, since I tried another client and it does not have that problem, but I do not know which file I have to change.
It looks like this exaggeratedly shiny:
And I want it to look something like this, only it has glitter on the parts of the weapon/armor where it has glitter and not on the entire character.
The result I'm looking for would be something like this:
Greetings and thanks in advance!
- 1
-
Nice, thanks for sharing!
i have a error:
networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:unexpected indent (uiToolTip.py, line 960)
itemDesc = item.GetItemDescription()
itemSummary = item.GetItemSummary()isCostumeItem = 0
isCostumeHair = 0
isCostumeBody = 0
isCostumeMount = 0
if app.ENABLE_COSTUME_SYSTEM: #LINE 960
if item.ITEM_TYPE_COSTUME == itemType:
isCostumeItem = 1
isCostumeHair = item.COSTUME_TYPE_HAIR == itemSubType
isCostumeBody = item.COSTUME_TYPE_BODY == itemSubType
isCostumeMount = item.COSTUME_TYPE_MOUNT == itemSubType- 1
-
Is it possible to add the system of stoles and weapons costume, mount on costume?
- 1
-
Would you have the full in-game interface?
-
On 2/1/2017 at 7:58 PM, Kori said:
i think thats is better:
int blocked_items[] = {72723, 72724, 72725, 72726}; for(size_t i = 0; i < INVENTORY_MAX_NUM; i++) { for (size_t id = 0; id < 4; id++) { if(pkChr->GetInventoryItem(i)> 0 && pkChr->GetInventoryItem(i)->GetSocket(0) == 1 && pkChr->GetInventoryItem(i)->GetVnum() == blocked_items[id]) { pkChr->ChatPacket(CHAT_TYPE_INFO, "%s potions are banned in duel" , pkChr->GetName()); pkChr->GetInventoryItem(i)->SetSocket(0, false); pkChr->GetInventoryItem(i)->Lock(false); } else if(pkVictim->GetInventoryItem(i)> 0 && pkVictim->GetInventoryItem(i)->GetSocket(0) == 1 && pkVictim->GetInventoryItem(i)->GetVnum() == blocked_items[id]) { pkVictim->ChatPacket(CHAT_TYPE_INFO, "%s potions are banned in duel" , pkVictim->GetName()); pkVictim->GetInventoryItem(i)->SetSocket(0, false); pkVictim->GetInventoryItem(i)->Lock(false); } } }
but dont tested
looks like:
void CPVPManager::Insert(LPCHARACTER pkChr, LPCHARACTER pkVictim) { if (pkChr->IsDead() || pkVictim->IsDead()) return; int blocked_items[] = {72723, 72724, 72725, 72726}; CPVP kPVP(pkChr->GetPlayerID(), pkVictim->GetPlayerID()); CPVP * pkPVP; if ((pkPVP = Find(kPVP.m_dwCRC))) { // º¹¼öÇÒ ¼ö ÀÖÀ¸¸é ¹Ù·Î ½Î¿ò! if (pkPVP->Agree(pkChr->GetPlayerID())) { pkVictim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s´Ô°úÀÇ ´ë°á ½ÃÀÛ!"), pkChr->GetName()); pkChr->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s´Ô°úÀÇ ´ë°á ½ÃÀÛ!"), pkVictim->GetName()); for(size_t i = 0; i < INVENTORY_MAX_NUM; i++) { for (size_t id = 0; id < 4; id++) { if(pkChr->GetInventoryItem(i)> 0 && pkChr->GetInventoryItem(i)->GetSocket(0) == 1 && pkChr->GetInventoryItem(i)->GetVnum() == blocked_items[id]) { pkChr->ChatPacket(CHAT_TYPE_INFO, "%s potions are banned in duel" , pkChr->GetName()); pkChr->GetInventoryItem(i)->SetSocket(0, false); pkChr->GetInventoryItem(i)->Lock(false); } else if(pkVictim->GetInventoryItem(i)> 0 && pkVictim->GetInventoryItem(i)->GetSocket(0) == 1 && pkVictim->GetInventoryItem(i)->GetVnum() == blocked_items[id]) { pkVictim->ChatPacket(CHAT_TYPE_INFO, "%s potions are banned in duel" , pkVictim->GetName()); pkVictim->GetInventoryItem(i)->SetSocket(0, false); pkVictim->GetInventoryItem(i)->Lock(false); } } } } return; } pkPVP = M2_NEW CPVP(kPVP); pkPVP->SetVID(pkChr->GetPlayerID(), pkChr->GetVID()); pkPVP->SetVID(pkVictim->GetPlayerID(), pkVictim->GetVID()); m_map_pkPVP.insert(map<DWORD, CPVP *>::value_type(pkPVP->m_dwCRC, pkPVP)); m_map_pkPVPSetByID[pkChr->GetPlayerID()].insert(pkPVP); m_map_pkPVPSetByID[pkVictim->GetPlayerID()].insert(pkPVP); pkPVP->Packet(); char msg[CHAT_MAX_LEN + 1]; snprintf(msg, sizeof(msg), LC_TEXT("%s´ÔÀÌ ´ë°á½ÅûÀ» Çß½À´Ï´Ù. ½Â³«ÇÏ·Á¸é ´ë°áµ¿ÀǸ¦ Çϼ¼¿ä."), pkChr->GetName()); pkVictim->ChatPacket(CHAT_TYPE_INFO, msg); pkChr->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s¿¡°Ô ´ë°á½ÅûÀ» Çß½À´Ï´Ù."), pkVictim->GetName()); // NOTIFY_PVP_MESSAGE LPDESC pkVictimDesc = pkVictim->GetDesc(); if (pkVictimDesc) { TPacketGCWhisper pack; int len = MIN(CHAT_MAX_LEN, strlen(msg) + 1); pack.bHeader = HEADER_GC_WHISPER; pack.wSize = sizeof(TPacketGCWhisper) + len; pack.bType = WHISPER_TYPE_SYSTEM; strlcpy(pack.szNameFrom, pkChr->GetName(), sizeof(pack.szNameFrom)); TEMP_BUFFER buf; buf.write(&pack, sizeof(TPacketGCWhisper)); buf.write(msg, len); pkVictimDesc->Packet(buf.read_peek(), buf.size()); } // END_OF_NOTIFY_PVP_MESSAGE }
NOTE
make top of this file
#include "char_battle.cpp"
and all error fixxed
Could you tell which files and functions need to be edited? please thanks!
-
Nice ! :D
- 1
-
Nice, thanks for sharing
- 1
-
On 3/13/2019 at 11:54 PM, tmoitoi said:
Fix for invisible background
create grp.py into lib client with this content:
# this module is an OS/2 oriented replacement for the grp standard # extension module. # written by Andrew MacIntyre, April 2001. # updated July 2003, adding field accessor support # note that this implementation checks whether ":" or ";" as used as # the field separator character. """Replacement for grp standard extension module, intended for use on OS/2 and similar systems which don't normally have an /etc/group file. The standard Unix group database is an ASCII text file with 4 fields per record (line), separated by a colon: - group name (string) - group password (optional encrypted string) - group id (integer) - group members (comma delimited list of userids, with no spaces) Note that members are only included in the group file for groups that aren't their primary groups. (see the section 8.2 of the Python Library Reference) This implementation differs from the standard Unix implementation by allowing use of the platform's native path separator character - ';' on OS/2, DOS and MS-Windows - as the field separator in addition to the Unix standard ":". The module looks for the group database at the following locations (in order first to last): - ${ETC_GROUP} (or %ETC_GROUP%) - ${ETC}/group (or %ETC%/group) - ${PYTHONHOME}/Etc/group (or %PYTHONHOME%/Etc/group) Classes ------- None Functions --------- getgrgid(gid) - return the record for group-id gid as a 4-tuple getgrnam(name) - return the record for group 'name' as a 4-tuple getgrall() - return a list of 4-tuples, each tuple being one record (NOTE: the order is arbitrary) Attributes ---------- group_file - the path of the group database file """ import os # try and find the group file __group_path = [] if os.environ.has_key('ETC_GROUP'): __group_path.append(os.environ['ETC_GROUP']) if os.environ.has_key('ETC'): __group_path.append('%s/group' % os.environ['ETC']) if os.environ.has_key('PYTHONHOME'): __group_path.append('%s/Etc/group' % os.environ['PYTHONHOME']) group_file = None for __i in __group_path: try: __f = open(__i, 'r') __f.close() group_file = __i break except: pass # decide what field separator we can try to use - Unix standard, with # the platform's path separator as an option. No special field conversion # handlers are required for the group file. __field_sep = [':'] if os.pathsep: if os.pathsep != ':': __field_sep.append(os.pathsep) # helper routine to identify which separator character is in use def __get_field_sep(record): fs = None for c in __field_sep: # there should be 3 delimiter characters (for 4 fields) if record.count(c) == 3: fs = c break if fs: return fs else: raise KeyError, '>> group database fields not delimited <<' # class to match the new record field name accessors. # the resulting object is intended to behave like a read-only tuple, # with each member also accessible by a field name. class Group: def __init__(self, name, passwd, gid, mem): self.__dict__['gr_name'] = name self.__dict__['gr_passwd'] = passwd self.__dict__['gr_gid'] = gid self.__dict__['gr_mem'] = mem self.__dict__['_record'] = (self.gr_name, self.gr_passwd, self.gr_gid, self.gr_mem) def __len__(self): return 4 def __getitem__(self, key): return self._record[key] def __setattr__(self, name, value): raise AttributeError('attribute read-only: %s' % name) def __repr__(self): return str(self._record) def __cmp__(self, other): this = str(self._record) if this == other: return 0 elif this < other: return -1 else: return 1 # read the whole file, parsing each entry into tuple form # with dictionaries to speed recall by GID or group name def __read_group_file(): if group_file: group = open(group_file, 'r') else: raise KeyError, '>> no group database <<' gidx = {} namx = {} sep = None while 1: entry = group.readline().strip() if len(entry) > 3: if sep is None: sep = __get_field_sep(entry) fields = entry.split(sep) fields[2] = int(fields[2]) fields[3] = [f.strip() for f in fields[3].split(',')] record = Group(*fields) if not gidx.has_key(fields[2]): gidx[fields[2]] = record if not namx.has_key(fields[0]): namx[fields[0]] = record elif len(entry) > 0: pass # skip empty or malformed records else: break group.close() if len(gidx) == 0: raise KeyError return (gidx, namx) # return the group database entry by GID def getgrgid(gid): g, n = __read_group_file() return g[gid] # return the group database entry by group name def getgrnam(name): g, n = __read_group_file() return n[name] # return all the group database entries def getgrall(): g, n = __read_group_file() return g.values() # test harness if __name__ == '__main__': getgrall()
And add on the interfacemodule.py:
import grp
Require Python 2.7 else you must replace function by background image.
Nice, thanks
- 1
-
1 hour ago, TMP4 said:
Delete from the reg php or add it to your player.player table.
Solved, thank you !
- 1
- 1
-
47 minutes ago, TMP4 said:
It works for me, I suggest you to check the columns in query and your table. Or give more info.
It shows me successful registration, but when checking the database the account is not created
in my database I don't have the real_name column, would I have to delete it from the page record?
- 1
-
On 6/1/2021 at 6:18 PM, TMP4 said:
[Replica] Old Metin2 Website & ItemShop
This is a working replica of the old Metin2 website and ItemShop.
The project originally made in 2013 for a possible server but we never opened it.
For now I just refactored it to be compatible with PHP7/8, tidied the code a little but
honestly, expect real old shit procedural style code! While you can use "as is", I highly
recommend to check it for old vulnerabilities before you take it live because of it's deprecated nature.
The language is hungarian, you can use web.archive.org to speed up your translation.Website:
ItemShop:
Download:
Regards,
TMP4Thanks for the contribution, the registration does not work
- 4
- 1
- 1
- 2
-
On 7/31/2021 at 3:29 PM, Bluddys said:
Hello everyone here,
I might have a stupid question and especially just a theoretical one.
The game is designed in C ++ and python. When a lot of objects are displayed in the game, he has problems with FPS. The graphics are not very editable. I mean the resolution in the game (when the game is running), the distances of the objects, the quality of the objects, etc ... (example. My friends don't want to play the game just because it looks like.)
My main question is.
Has anyone tried to remake the client under a "Game Engine"?
I mean Unity engine or Unreal engine.
I understand that in this forum and especially here we talk about the client and server so that it comes as close as possible to the original without bugs and other things.
But from the original client, it might be better to start reworking the client into another "Engine".
Currently, I consider the possibility of redesigning the client under the "Unity" engine only as a theoretical question whether someone tried it or whether it would be at all.
I will be happy for any advice, and especially if someone has already tried this, so for the problems that have arisen or could arise.
PS: I apologize for my bad English.- 1
-
Hi, I'm having a problem ... I hired a VPS in virtua.cloud but I can't get MySQL to work, the following error is shown in the server log:
PUBLIC_IP: XXX.XX.XX.XXX interface em0 mysql_real_connect: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) cannot open direct sql connection to host: localhost user: root db: common cannot start server while no common sql connected HOSTNAME: canal1_core1 >> I deleted the IP address just in case ...
FreeBSD 12.1
I would appreciate if you can help me solve the problem, regards!
- 1
-
Error (active) E0020 "CFlyTarget" identifier is not defined UserInterface \ Users \ XXXX \ Documents \ [40250] Reference Serverfile By TMP4 \ ClientVS19 \ source \ GameLib \ FlyTarget.h 17
Error (active) E1574 static assertion error with "set <T, Compare, Allocator> requires that Allocator's value_type match T (See N4659 26.2.1 [container.requirements.general] / 16 allocator_type) Either fix the allocator value_type or define _ENFORCE_MATCHING_ALLOCATORS = 0 to suppress this diagnostic. " GameLib \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ VC \ Tools \ MSVC \ 14.29.30037 \ include \ set 57
Error (active) E0349 no operator "=" matches these operands GameLib \ Users \ XXXX \ Documents \ MEGAsync Downloads \ [40250] Reference Serverfile By TMP4 \ ClientVS19 \ source \ GameLib \ FlyTarget.h 74
Error RC1015 cannot open include file 'afxres.h'. UserInterface \ Users \ XXXX \ Documents \ MEGAsync Downloads \ [40250] Reference Serverfile By TMP4 \ ClientVS19 \ source \ UserInterface \ UserInterface.rc 11
-
Nice, thanks for sharing!
- 2
-
Nice, thanks!
- 1
- 1
-
Nice, thanks for sharing!
- 2
- 1
- 1
- 2
- 2
[HELP] Launcher
in Community Support - Questions & Answers
Posted
I didn't know, do you have any guide on how to do that?