Jump to content

Alerin

Member
  • Content Count

    37
  • Joined

  • Last visited

  • Days Won

    1
  • Yangs

    431 [ Donate ]

Alerin last won the day on June 12

Alerin had the most liked content!

Community Reputation

25 Good

About Alerin

  • Rank
    Neutral

Informations

  • Gender
    Something else

Recent Profile Visitors

255 profile views
  1. Alerin

    Client compression

    Cheaper CDN maintenance and faster player can play. Also quick update. You can convert the customer so that no one will notice the difference. The files are loaded when you log in.
  2. My client weighs a little, he is working on its optimization. I thought you could change tga and dds to png. It was a bad idea. The result of my tests Test PC .png decompression: 351 MB Test PC .png comression lz4: 336 MB Test PC .png comression lmza2: 321 MB Test PC .tga and .dds decompression: 305 MB Test PC .tga and .dds comression lz4: 240 MB Test PC .tga and .dds comression lmza2: 155 MB Folder Pack decompression: 2400 MB lz4: 1700 MB lmza2: 1190 MB What compression do you use and what do you do to make the client weigh less? I am currently working on a tool that will test the server base and use mobs, textures, armor, weapons and models that appear on the server. According to my calculations, it saves about 70% of the data. The client from 2007 weighed 700 MB, I think that with good compression and cleaning you can achieve up to 400 MB.
  3. His attacks are based on "client less". He sends normal player packages but in large numbers. For me, "ch3hp" is funny. A hacker who can't do anything (I've seen youtube videos). Write to me, I will help Discord: Alerin#5559
  4. Unfortunately, this class is for bonuses. I never wondered how soul stones work. I need to look at the source code.
  5. Alerin#5559 https://github.com/Alerinos I invite you to work in IT for 10 years. Full stack technology. Write what you need and I'll do it for you.
  6. item_attr are bonuses that can be earned in the game. There are more bonuses in the source code, the ID is important. TValueName c_aApplyTypeNames[] = { { "STR", APPLY_STR }, { "DEX", APPLY_DEX }, { "CON", APPLY_CON }, { "INT", APPLY_INT }, { "MAX_HP", APPLY_MAX_HP }, { "MAX_SP", APPLY_MAX_SP }, { "MAX_STAMINA", APPLY_MAX_STAMINA }, { "POISON_REDUCE", APPLY_POISON_REDUCE }, { "EXP_DOUBLE_BONUS", APPLY_EXP_DOUBLE_BONUS }, { "GOLD_DOUBLE_BONUS", APPLY_GOLD_DOUBLE_BONUS }, { "ITEM_DROP_BONUS", APPLY_ITEM_DROP_BONUS }, { "HP_REGEN", APPLY_HP_REGEN }, { "SP_REGEN", APPLY_SP_REGEN }, { "ATTACK_SPEED", APPLY_ATT_SPEED }, { "MOVE_SPEED", APPLY_MOV_SPEED }, { "CAST_SPEED", APPLY_CAST_SPEED }, { "ATT_BONUS", APPLY_ATT_GRADE_BONUS }, { "DEF_BONUS", APPLY_DEF_GRADE_BONUS }, { "MAGIC_ATT_GRADE",APPLY_MAGIC_ATT_GRADE }, { "MAGIC_DEF_GRADE",APPLY_MAGIC_DEF_GRADE }, { "SKILL", APPLY_SKILL }, { "ATTBONUS_ANIMAL",APPLY_ATTBONUS_ANIMAL }, { "ATTBONUS_UNDEAD",APPLY_ATTBONUS_UNDEAD }, { "ATTBONUS_DEVIL", APPLY_ATTBONUS_DEVIL }, { "ATTBONUS_HUMAN", APPLY_ATTBONUS_HUMAN }, { "ADD_BOW_DISTANCE",APPLY_BOW_DISTANCE }, { "DODGE", APPLY_DODGE }, { "BLOCK", APPLY_BLOCK }, { "RESIST_SWORD", APPLY_RESIST_SWORD }, { "RESIST_TWOHAND", APPLY_RESIST_TWOHAND }, { "RESIST_DAGGER", APPLY_RESIST_DAGGER }, { "RESIST_BELL", APPLY_RESIST_BELL }, { "RESIST_FAN", APPLY_RESIST_FAN }, { "RESIST_BOW", APPLY_RESIST_BOW }, { "RESIST_FIRE", APPLY_RESIST_FIRE }, { "RESIST_ELEC", APPLY_RESIST_ELEC }, { "RESIST_MAGIC", APPLY_RESIST_MAGIC }, { "RESIST_WIND", APPLY_RESIST_WIND }, { "REFLECT_MELEE", APPLY_REFLECT_MELEE }, { "REFLECT_CURSE", APPLY_REFLECT_CURSE }, { "RESIST_ICE", APPLY_RESIST_ICE }, { "RESIST_EARTH", APPLY_RESIST_EARTH }, { "RESIST_DARK", APPLY_RESIST_DARK }, { "RESIST_CRITICAL", APPLY_ANTI_CRITICAL_PCT }, { "RESIST_PENETRATE", APPLY_ANTI_PENETRATE_PCT }, { "POISON", APPLY_POISON_PCT }, { "SLOW", APPLY_SLOW_PCT }, { "STUN", APPLY_STUN_PCT }, { "STEAL_HP", APPLY_STEAL_HP }, { "STEAL_SP", APPLY_STEAL_SP }, { "MANA_BURN_PCT", APPLY_MANA_BURN_PCT }, { "CRITICAL", APPLY_CRITICAL_PCT }, { "PENETRATE", APPLY_PENETRATE_PCT }, { "KILL_SP_RECOVER",APPLY_KILL_SP_RECOVER }, { "KILL_HP_RECOVER",APPLY_KILL_HP_RECOVER }, { "PENETRATE_PCT", APPLY_PENETRATE_PCT }, { "CRITICAL_PCT", APPLY_CRITICAL_PCT }, { "POISON_PCT", APPLY_POISON_PCT }, { "STUN_PCT", APPLY_STUN_PCT }, { "ATT_BONUS_TO_WARRIOR", APPLY_ATTBONUS_WARRIOR }, { "ATT_BONUS_TO_ASSASSIN", APPLY_ATTBONUS_ASSASSIN }, { "ATT_BONUS_TO_SURA", APPLY_ATTBONUS_SURA }, { "ATT_BONUS_TO_SHAMAN", APPLY_ATTBONUS_SHAMAN }, { "ATT_BONUS_TO_MONSTER", APPLY_ATTBONUS_MONSTER }, { "ATT_BONUS_TO_MOB", APPLY_ATTBONUS_MONSTER }, { "MALL_ATTBONUS", APPLY_MALL_ATTBONUS }, { "MALL_EXPBONUS", APPLY_MALL_EXPBONUS }, { "MALL_DEFBONUS", APPLY_MALL_DEFBONUS }, { "MALL_ITEMBONUS", APPLY_MALL_ITEMBONUS }, { "MALL_GOLDBONUS", APPLY_MALL_GOLDBONUS }, { "MAX_HP_PCT", APPLY_MAX_HP_PCT }, { "MAX_SP_PCT", APPLY_MAX_SP_PCT }, { "SKILL_DAMAGE_BONUS", APPLY_SKILL_DAMAGE_BONUS }, { "NORMAL_HIT_DAMAGE_BONUS",APPLY_NORMAL_HIT_DAMAGE_BONUS }, { "SKILL_DEFEND_BONUS", APPLY_SKILL_DEFEND_BONUS }, { "NORMAL_HIT_DEFEND_BONUS",APPLY_NORMAL_HIT_DEFEND_BONUS }, { "PCBANG_EXP_BONUS", APPLY_PC_BANG_EXP_BONUS }, { "PCBANG_DROP_BONUS", APPLY_PC_BANG_DROP_BONUS }, { "RESIST_WARRIOR", APPLY_RESIST_WARRIOR}, { "RESIST_ASSASSIN", APPLY_RESIST_ASSASSIN}, { "RESIST_SURA", APPLY_RESIST_SURA}, { "RESIST_SHAMAN", APPLY_RESIST_SHAMAN}, // by mhh game/affect.h 정의되어있음. INFINITE_AFFECT_DURATION = 0x1FFFFFFF { "INFINITE_AFFECT_DURATION", 0x1FFFFFFF }, { "ENERGY", APPLY_ENERGY }, // 기력 { "COSTUME_ATTR_BONUS", APPLY_COSTUME_ATTR_BONUS }, // 기력 { "MAGIC_ATTBONUS_PER", APPLY_MAGIC_ATTBONUS_PER }, { "MELEE_MAGIC_ATTBONUS_PER", APPLY_MELEE_MAGIC_ATTBONUS_PER }, #ifdef ENABLE_WOLFMAN_CHARACTER -> NIE MA { "BLEEDING_REDUCE",APPLY_BLEEDING_REDUCE }, { "BLEEDING_PCT",APPLY_BLEEDING_PCT }, { "ATT_BONUS_TO_WOLFMAN",APPLY_ATTBONUS_WOLFMAN }, { "RESIST_WOLFMAN",APPLY_RESIST_WOLFMAN }, { "RESIST_CLAW",APPLY_RESIST_CLAW }, #endif #ifdef ENABLE_ACCE_COSTUME_SYSTEM { "ACCEDRAIN_RATE",APPLY_ACCEDRAIN_RATE }, #endif #ifdef ENABLE_MAGIC_REDUCTION_SYSTEM { "RESIST_MAGIC_REDUCTION",APPLY_RESIST_MAGIC_REDUCTION }, #endif { NULL, 0 }
  7. Yes, socket - soul stone etc attrtype and attrvalue - bonus Here you have a class to read bonuses https://github.com/Alerinos/M2-WWW-Bonus
  8. System for drawing items for points The look is exemplary, if you want prettier and more functional, write to me. https://github.com/Alerinos/M2-System-Carousel For the system to work, you need to connect to your base (class, function, etc.). They are marked as TODO Setting: $c->price = 100; // Number of points needed for the draw $c->items([ // List of items to be won. [ID, Promil] (percentage * 10) [100100, 500], [100200, 500], [100000, 500], [100300, 200], [100400, 200], [100500, 100], [30270, 100], [50255, 100], [50256, 100], [50257, 100], [50258, 100], [50259, 100], ]); Instruction Do you need a quest, system or www? Write to me, I can create everything. (Full STACK, Web (PHP, JS, SQL, HTML, CSS), Server (C ++, Python, Lua)) Discord Alerin#5559
  9. Automatic event system, start the event and set the end time. (You will never forget to finish the event again.) https://github.com/Alerinos/M2-Quest-Automatic-event Do you need a quest, system or www? Write to me, I can create everything. (Full STACK, Web (PHP, JS, SQL, HTML, CSS), Server (C ++, Python, Lua)) Discord Alerin#5559
  10. Hi, I'm thinking about releasing very good quality cms open source code. What do you think about it What functions do you expect? What payments do you use? A very object-based system, ORM, template system and API for plugins. I also want to release a version that everyone can copy, develop and earn. An example of a page I created: https://atonis.pl/ My github: https://github.com/Alerinos
  11. Hello, I have many services for sale WWW Panel A tool to combine two databases into one Quest Launcher My github, I will often upload cool systems for free. You can watch me. https://github.com/Alerinos Discrod: Alerin#5559 I also work as a programmer for hours, I can create everything you need. Main stack: PHP, JS (node, react etc.), SQL I can use in: C ++, Python, LUA, IOS Applications, Android If you pay, I can learn even assembler
  12. Hi my github https://github.com/Alerinos I invite you Discord Alerin#5559
  13. System to turn on/off/restart the server together with online status and time This is the free version, I also have a premium with colors, the ability to control each channel separately and browse syserr/syslog. https://github.com/Alerinos/M2-WWW-Status-Server Do you need a quest, system or www? Write to me, I can create everything. (Full STACK, Web (PHP, JS, SQL, HTML, CSS), Server (C ++, Python, Lua)) Discord Alerin#5559
  14. password_hash https://www.php.net/manual/en/function.password-hash.php example: password_hash('test', PASSWORD_ARGON2I) to log in you need to do selecto on mysql with the email name. Download the password and compare with the function example SELECT `password` FROM `account` WHERE `login` = test https://www.php.net/manual/en/function.password-verify.php if(password_verify($_POST['password'], $row['password']){ return true; }else{ return false; } @TOPIC Nice idea, I was thinking recently whether to publish a similar solution. The performance is poorer, the longer the hash counts, the harder it is to break it. Imagine a computer that does 1 million md5 per sec and 1k argon2 per sec. Even if the calculation of it is longer, it does not affect the performance of the game. The user will not feel the difference when logging in 0.01sec for 0.1 sec
  15. Mission on marble polymorphism. Just approach the NPC, choose a mob and kill the required number of pieces. Marble will automatically go to EQ Github: https://github.com/Alerinos/M2-Quest-Poly [1] = {101, 100}, [2] = {502, 100}, [3] = {2001, 100}, [4] = {636, 150} [id mission, 1,2,3 etc...] = {mob_id, count_kill}, Do you need a quest? Write to me, I can create everything. (Full STACK, Web (PHP, JS, SQL, HTML, CSS), Server (C ++, Python, Lua)) Discord Alerin#5559
×
×
  • 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.