Jump to content

Mafuyu

Member
  • Posts

    92
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Mafuyu

  1. On 4/13/2020 at 6:51 PM, xHeaven said:

     

     

    I'm looking into these issues, and will try to make a patch, of course I will update the main post if I succeed.

    I've also experienced the double-sound steps, couldn't find a fix to it yet.

    Also, I didn't test the character skills yet, so I can't confirm that yet, but I'm pretty sure it can be fixed if that's really present.

    In the meantime, if any of you can fix these problems, don't hesitate to write a post about it, I'll put that into the main post as well. Thanks in advance for your contribution!

    not all skills bugs. Like the blessing skill if fine, sword aura is fine too, just some skills are buggy like sura dispel, shaman crit buff and such.

  2. 21 hours ago, T4UMP said:

    Double sound of steps, maybe has this thread more problems.

     

    not only this, skills bugged out too. Shaman skill effects are to fast, the sura dispel skill is to fast, the dispel effect hits the enemy even before the sura jumped. there are a lot of bugs.

    Switchbot, if you have one, bugged too, the switch speed is extremly high, you have to set delays there and im sure there are way more such things.

  3. 39 minutes ago, xHeaven said:

    Use the file search on Windows, I'm pretty sure you have it.

    Btw, take a look on the bool CPythonSystem::LoadConfig() function in UserInterface\PythonSystem.cpp. It's pretty easy to make an FPS cap, just read the value of the key from the config file, and convert it to float via the atof() function.

    Example:

    else if (!stricmp(command, "FPS_LIMIT")) g_fGameFPS = atof(value);

    
    else if (!stricmp(command, "FPS_LIMIT"))
    	g_fGameFPS = atof(value);

     

    u may have a tutorial to use the default config function from "frequency" for your FPS limit? i mean, frequency should be the default fps limit setting from ymir, but it never worked, you may have the code to use this useless function from config for your system? would be nice

  4. a friend of mine tested it on his public server now for about 12 hours, every user told him they got hardcore lags after few time.

    Some of them cant even play with 2 windows, because they got random error message boxes for about 1 second and then client crashes

  5. On 4/9/2020 at 5:45 PM, alexghinet said:

    Okay , thanks ! mby .mde skins have troubbles. i mean in generaly

    What vs do u use?

    my client runs with vs2019, everything is up2date

    i also use .mde weapon skins, for me they have absolutley no problems, as i said this changes runs on my PUBLIC server for 4 month without any crash or smth like this.

  6. 5 hours ago, alexghinet said:

    Is good but single problem is cause "?? ?? ??" Will appear afther some time

    No it doesnt, maybe if you use some kind of random garbage client. Every basic client will work just fine. You have some other issues in your source. I had this fix on my public server for 5 month without any crashes!

  7. 14 hours ago, Gurgarath said:

    I said everything in the main post and in the comments, I will try to straighten that out for everyone:

     

    I have everything from the latest gf client. Skill_table and msa files included. About your question it must be 750 serverside or something like that.

    Just read what my code do, if you can shoot it from anywhere, you probably have skill files prior to the patch 17.5. In that case, this "fix" is useless for you as you have, I quote:

     

    My fix is for people having the latest client and the latest skill_table. I should have mentioned it but as I already sent a gif and a description of the bug, it's up to everyone to decide whether they need the fix or not.

     

    At last but not least, I've never encountered any of the bugs aforementioned, however, I can't try right now. I will try as soon as possible to reproduce the "double triggering" bug. If it happens, I will fix and share it with everyone there. However, our friend OtherChoice already gave us a fix as well as a wonderful explaination. To answer him, the "worked-around" files are probably client skill data files prior to 17.5, which I simply didn't know as I had no way to test. In the meantine, a little NB was added in the main topic.

     

    Regards,

    what exactly is your "dwTargetRange" and "dwSplashRange" ?

  8. On 3/22/2020 at 10:46 PM, Gurgarath said:

    No you can't, you will walk onto the target and launch the skill. About the double triggering, it has already been stated. It is related to the file "yongpa(_2,_3,_4).msa". if you launch the skill from afar, it's related to this file as well. I stated that this has been tested with the latest official files.

    yes you can, i tested it. Without your changes everything is fine, when i apply your "fix", it doubles the damage and you can shoot across the map and deals damage, as long as you has targeted the enemy.

     

    maybe game related to some serverfiles, i have no "range" configuration in skill_proto, what kind of range you have in your skill proto for the skill?

    • Confused 1
  9. you will do double damage when u are closer to the target, when u run away, it only hits once but thats fail too, u can literally hit a target across the map as long as u has clicked on it, thats not rly a fix

  10. vor 8 Minuten schrieb coadapute123:

    code : 

    This is the hidden content, please

    icon

    This is the hidden content, please

        if (GetRace() == 691)
            return TRUE;
        if (GetRace() == 692)
            return TRUE;
        if (GetRace() == 693)
            return TRUE;
        if (GetRace() == 791)
            return TRUE;
        if (GetRace() == 991)
            return TRUE;
        if (GetRace() == 992)
            return TRUE;
        if (GetRace() == 993)
            return TRUE;
        if (GetRace() == 1091)
            return TRUE;
        if (GetRace() == 1092)
            return TRUE;
        if (GetRace() == 1093)
            return TRUE;
        if (GetRace() == 1094)
            return TRUE;
        if (GetRace() == 1095)
            return TRUE;
        if (GetRace() == 2191)
            return TRUE;
        if (GetRace() == 1191)
            return TRUE;
        if (GetRace() == 1192)
            return TRUE;
        if (GetRace() == 1304)
            return TRUE;
        if (GetRace() == 1306)
            return TRUE;
        if (GetRace() == 1307)
            return TRUE;
        if (GetRace() == 1901)
            return TRUE;
        if (GetRace() == 1902)
            return TRUE;
        if (GetRace() == 1903)
            return TRUE;
        if (GetRace() == 2206)
            return TRUE;
        if (GetRace() == 2207)
            return TRUE;
        if (GetRace() == 2291)
            return TRUE;
        if (GetRace() == 2306)
            return TRUE;
        if (GetRace() == 2307)
            return TRUE;
        if (GetRace() == 2492)
            return TRUE;
        if (GetRace() == 2493)
            return TRUE;
        if (GetRace() == 2494)
            return TRUE;
        if (GetRace() == 2598)
            return TRUE;
        if (GetRace() == 3090)
            return TRUE;
        if (GetRace() == 3091)
            return TRUE;
        if (GetRace() == 3190)
            return TRUE;
        if (GetRace() == 3191)
            return TRUE;
        if (GetRace() == 3290)
            return TRUE;
        if (GetRace() == 3291)
            return TRUE;
        if (GetRace() == 3390)
            return TRUE;
        if (GetRace() == 3391)
            return TRUE;
        if (GetRace() == 3490)
            return TRUE;
        if (GetRace() == 3491)
            return TRUE;
        if (GetRace() == 3590)
            return TRUE;
        if (GetRace() == 3591)
            return TRUE;
        if (GetRace() == 3690)
            return TRUE;
        if (GetRace() == 3691)
            return TRUE;
        if (GetRace() == 3790)
            return TRUE;
        if (GetRace() == 3791)
            return TRUE;
        if (GetRace() == 3890)
            return TRUE;
        if (GetRace() == 3891)
            return TRUE;
        if (GetRace() == 5001)
            return TRUE;
        if (GetRace() == 5004)
            return TRUE;
        if (GetRace() == 5002)
            return TRUE;
        if (GetRace() == 5161)
            return TRUE;
        if (GetRace() == 5162)
            return TRUE;
        if (GetRace() == 5163)
            return TRUE;
        if (GetRace() == 6091)
            return TRUE;
        if (GetRace() == 6191)
            return TRUE;

    why not

     

    if (mobTable->bRank >= CPythonNonPlayer::MOB_RANK_BOSS)

         return TRUE;

     

    would be much easier :D

     

    my boss pushback fix, im sure this is usefull for this here too :D

    	const CPythonNonPlayer::TMobTable* mobTable = CPythonNonPlayer::instance().GetTable(rkActorDst.GetRace());
    	if (mobTable)
    	{
    		if (mobTable->bRank >= CPythonNonPlayer::MOB_RANK_BOSS)
    		{
    			return false;
    		}
    	}

     

    • Metin2 Dev 15
    • kekw 3
    • Eyes 1
    • Good 3
    • Love 1
    • Love 6
  11. Spoiler
    On 12/11/2019 at 12:19 PM, VegaS™ said:

    Not tested, i'm not at home.

    What's new:

    • You can use comment sections in locale_list, helps you to identify much faster the quests.
    • Two methods of reading, if you enable QC_READ_FILE_FROM_LIST, all of the quests from locale_list will be compiled, if you enable QC_READ_ALL, all of the quests file from specific directory (folders/sub-folders) will be compiled.

    How-To-Use:

    • python make.py
    
    
    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    __author__  = "VegaS"
    __date__    = "2019-12-11"
    __version__ = "0.0.1"
    
    import os
    import subprocess
    
    os.chdir(os.path.dirname(os.path.realpath(__file__)))
    
    QC_READ_FILE_FROM_LIST = 0
    QC_READ_ALL = 1
    
    """
    # QC_READ_FILE_FROM_LIST
    # Read the locale_list with all quest/lua files.
    """
    # The file with all quest file names.
    QC_FILE_NAME = 'locale_list'
    
    """
    # QC_READ_ALL
    # Find all of the quest/lua files from root directory
    """
    # Directory path of searching quest file names
    QC_ROOT_PATH = '.'
    # File extensions to be search
    QC_EXTENSION_LIST = ('.lua', '.quest')
    
    """
    # General configuration
    """
    # Command of quest compiler
    QC_COMMAND_STRING = './qc {}'
    # Comment string
    QC_COMMENT_CHARACTER = '#'
    # Default state
    QC_READ_STATE = QC_READ_FILE_FROM_LIST
    
    def find_quest_files(type):
    	"""
    	Generate all of the file names by specific type.
    	:param type: int
    	:return: generator
    	"""
    	if type == QC_READ_FILE_FROM_LIST:
    		with open(QC_FILE_NAME, 'r') as file:
    			for fileName in file.readlines():
    				if fileName.strip():
    					yield fileName
    	elif type == QC_READ_ALL:
    		for root, dirs, files in os.walk(QC_ROOT_PATH):
    			for fileName in files:
    				if fileName.endswith(QC_EXTENSION_LIST):
    					yield "{}/{}".format(root, fileName)
    
    def strip_quest_file_name(fileName):
    	"""
    	Strip file name, ignore the commented sections.
    	:param fileName: string
    	:return: string
    	"""
    	fileName = fileName.strip()
    	if QC_COMMENT_CHARACTER in fileName:
    		fileName = fileName.split(QC_COMMENT_CHARACTER)[0].strip()
    	return fileName
    
    def main():
    	QC_LOG_DICT = {'ok': 0, 'error': 0}
    	for fileName in find_quest_files(QC_READ_STATE):
    		fileName = strip_quest_file_name(fileName)
    		if fileName:
    			hasCompiled = subprocess.call(QC_COMMAND_STRING.format(fileName), shell=True) == 0
    			QC_LOG_DICT['ok' if hasCompiled else 'error'] += 1
    
    	print ('All quests are compiled, succeeded: {}, failed: {}.'.format(*QC_LOG_DICT.values()))
    
    if __name__ == "__main__":
    	main()

    it doesnt works when your quest have defines before the state start :D

     

    xxxxxx/Flammenrun.quest:1:must start with 'quest'

     

    f36ad84043.png

     

    and yours doesnt tells you where it failed, u have to scroll the whole console up to the error, because it doesnt stop there or even tell you where it fails. you have to find it in the console by yourself :D

  12. vor 17 Stunden schrieb WLsj24:

    @Mafuyu, @Tallywa

    skilltable.txt (Language doesn't matter)

    
    49	경공술	2	1	1	0	NONE	-((lv*2+(3*dex+number(100,300))+str*2+iq*2)*k)	60+220*k	3+(90*k)/10		4+8*k			SELFONLY	17	MOV_SPEED	60*k		17	0	0	NORMAL	1	1	0	0

    skilldesc.txt

    
    en
    49	ASSASSIN	Feather Walk	Wind Walk	God's Speed	Make your body lighter to increase movement speed.	Buff	Increases movement speed	Explosion with area of effect	Strengthened by DEX, STR, INT	STANDING_SKILL|WEAPON_LIMITATION	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Explosive power: %.0f-%.0f	-((lv*2+(3*dex+number(100,3))+str*2+iq*2)*k)
    
    de
    49	ASSASSIN	Federschreiten	Schnell wie der Wind	Gottes Geschwindigkeit	Mache deinen Körper leichter, um die Bewegungsgeschwindigkeit zu erhöhen. 	Positiver Effekt	Erhöht die Bewegungsgeschwindigkeit	Explosion mit Flächenwirkung	Schaden wird verstärkt durch DEX, STR, INT	STANDING_SKILL|WEAPON_LIMITATION	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Explosionskraft %.0f-%.0f	-((lv*2+(3*dex+number(100,3))+str*2+iq*2)*k)
    
    es
    49	ASSASSIN	Camino pluma	Andar del viento	Velocidad de dios	Aligera tu cuerpo para aumentar la velocidad de movimiento.	Efecto positivo	Incrementa velocidad de movimiento	Explosión con efecto en área	El daño se ve reforzado por DEX, STR, INT	STANDING_SKILL|WEAPON_LIMITATION	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Poder de explosión %.0f-%.0f	-((lv*2+(3*dex+number(100,300))+str*2+iq*2)*k)
    
    fr
    49	ASSASSIN	Foulée de plume	Marche céleste	Course divine	Vous allégez votre corps pour augmenter votre vitesse de déplacement.	Effet positif	La vitesse de déplacement augmente	Explosion avec effet de zone	Ceci est renforcé par : DEX, STR, INT	STANDING_SKILL|WEAPON_LIMITATION	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Puissance d'explosion : de %.0f à %.0f	-((lv*2+(3*dex+number(100,3))+str*2+iq*2)*k)
    
    it
    49	ASSASSIN	Passo piumato	Veloce come il vento	Velocità degli dei	Rendi il tuo corpo più leggero per aumentare la velocità di movimento.	Effetto positivo	Aumenta la velocità di movimento	Esplosione con effetto sul raggio di azione	Il danno si rafforza tramite DEX, STR, INT	STANDING_SKILL|WEAPON_LIMITATION	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Forza esplosiva %.0f-%.0f	-((lv*2+(3*dex+number(100,3))+str*2+iq*2)*k)
    
    pt
    49	ASSASSIN	Flutuar	Andar Furacão	Velocidade Suprema	Torna o teu corpo mais leve para aumentar a Rapidez de Movimento.	Reforço	Aumenta Rapidez de Movimento	Explosão com Área de Efeito	Fortalecida por DES, FRÇ, INT	STANDING_SKILL|WEAPON_LIMITATION	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Poder Explosivo: %.0f-%.0f	-((lv*2+(3*dex+number(100,3))+str*2+iq*2)*k)
    
    ro
    49	ASSASSIN	Mers de Fulg	Mersul Vântului	Viteza Luminii	Corpul tãu devine mai uºor pentru a te miºca mai repede.	Suport	Creºte viteza de miºcare	Explozie cu efect de zonã extinsã	Întãrit de DEX, STR, INT	STANDING_SKILL|WEAPON_LIMITATION	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Putere explozie: %.0f-%.0f	-((lv*2+(3*dex+number(100,3))+str*2+iq*2)*k)

     

    thanks i will try it at home :)

     

    edit: works fine, thanks! :)

  13. Am 4.11.2019 um 16:25 schrieb WLsj24:
    
    UPDATE `player`.`skill_proto` SET `bType` = 2, `bLevelStep` = 1, `bMaxLevel` = 1, `bLevelLimit` = 0, `szPointOn` = 'NONE', `szPointPoly` = '-((lv*2+(3*dex+100)+str*2+iq*2)*k)', `szSPCostPoly` = '60+220*k', `szDurationPoly` = '3+(90*k)/10', `szCooldownPoly` = '4+8*k', `szMasterBonusPoly` = '-((lv*2+(3*dex+300)+str*2+iq*2)*k)', `setFlag` = 'SELFONLY', `setAffectFlag` = 'GYEONGGONG', `szPointOn2` = 'MOV_SPEED', `szPointPoly2` = '60*k', `szDurationPoly2` = '3+(90*k)/10', `szGrandMasterAddSPCostPoly` = '60+220*k', `prerequisiteSkillVnum` = 0, `prerequisiteSkillLevel` = 0, `eSkillType` = 'NORMAL', `iMaxHit` = 1, `szSplashAroundDamageAdjustPoly` = '1', `dwTargetRange` = 0, `dwSplashRange` = 200 WHERE `dwVnum` = 49

     

    u also have the correct text for skilldesc in locale_xx ? with the official one it gives out in the damage value "75-0" (75 is the movementspeed it gives you), i dont get him to give me the damage value in this variable.

     

    here is the official locale part (in german):

     

    skilltable:

    49	°æ°ø¼ú	2	1	1	0	MOV_SPEED	60*k	60+220*k	3+(90*k)/10		4+8*k			SELFONLY	17	NONE	(Lv*2+(3*dex+number(100,300))+str*2+iq*2)*k)		17	0	0	NORMAL	1	1	0	0

     

    skilldesc: 

    49	ASSASSIN	Federschreiten	Schnell wie der Wind	Gottes Geschwindigkeit	Mache deinen Körper leichter, um die Bewegungsgeschwindigkeit zu erhöhen. 	Positiver Effekt	Erhöht die Bewegungsgeschwindigkeit	Explosion mit Flächenwirkung	Schaden wird verstärkt durch DEX, STR, INT	STANDING_SKILL|WEAPON_LIMITATION|IGNORE_BLOCK	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Explosionskraft %.0f-%.0f	((lv*2+(3*dex+100)+str*2+iq*2)*k)	((lv*2+(3*dex+300)+str*2+iq*2)*k)

     

     

    here skilldesc in english:

    49	ASSASSIN	Feather Walk	Wind Walk	God's Speed	Make your body lighter to increase movement speed.	Buff	Increases movement speed	Explosion with area of effect	Strengthened by DEX, STR, INT	STANDING_SKILL|WEAPON_LIMITATION|IGNORE_BLOCK	BOW|DAGGER|SWORD	gyeonggong	19	4				60*SkillPoint		Explosive power: %.0f-%.0f	((lv*2+(3*dex+100)+str*2+iq*2)*k)	((lv*2+(3*dex+300)+str*2+iq*2)*k)

     

  14. vor 43 Minuten schrieb Nirray:

    Yeah, mistakes... to change from false to true ?
    It's about ddraw library, granny and the way the system creates windows itself, not just "canRender = bool" thing.
    Minimized fullscreen client with correct fix:
    https://metin2.download/picture/0utqnvAFlS2NTEvDqVzP3U2w28Quvj78/.gif

    its not needed to do this too because its completly irrelevant if the mini window shows the live game or if it show nothing

    • Love 1
  15. vor 30 Minuten schrieb Nirray:

    It doesn't work, I assure you.

    tested it for 3 hours, works fine. You have some mistakes made :)

     

    vor 15 Minuten schrieb filipw1:

    I didn't analyze code but I'm sure it would decrease performance 

    yes, instead of 1,5% the game will take 4,5% in background (atleast on my pc) so its wayne ^^

×
×
  • 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.