Jump to content

xP3NG3Rx

Honorable Member
  • Posts

    839
  • Joined

  • Days Won

    392
  • Feedback

    100%

Posts posted by xP3NG3Rx

  1. This is the hidden content, please
     (
    This is the hidden content, please
    )

    j2JGVuR.png

     

    • root & builtins are dumped
    • protos are dumped into 2 formats, fixxed flags, extended applies

    I didn't do deep check into the whole packs what metin2team released, but couple of files are missing from the packs.

    • Metin2 Dev 53
    • Sad 1
    • Think 1
    • Confused 1
    • Scream 1
    • Lmao 1
    • Good 18
    • Love 2
    • Love 37
  2. Yes they did, but diffent way.

    807deea178.png

    Spoiler
    
    int __thiscall CGraphicThingInstance::DeformNoSkin(int this)
    {
      int v1; // esi
      int result; // eax
      unsigned int v3; // edi
      unsigned int v4; // ecx
      int v5; // ecx
      int v6; // ecx
      int v7; // ecx
      int v8; // eax
      int v9; // ecx
    
      v1 = this;
      *(_BYTE *)(this + 604) = 1;
      result = (*(_DWORD *)(this + 684) - *(_DWORD *)(this + 680)) >> 2;
      v3 = 0;
      if ( result )
      {
        do
        {
          v4 = (*(_DWORD *)(v1 + 684) - *(_DWORD *)(v1 + 680)) >> 2;
          if ( v3 >= v4 )
            _invalid_parameter_noinfo(v4);
          result = CGrannyLODController::isModelInstance(*(_DWORD *)(*(_DWORD *)(v1 + 680) + 4 * v3));
          if ( result )
          {
            if ( v3 == 5 )
            {
              CGraphicThingInstance::RecalcAccePositionMatrixFromBoneMatrix((float *)v1);
              if ( (unsigned int)((*(_DWORD *)(v1 + 684) - *(_DWORD *)(v1 + 680)) >> 2) <= 5 )
                _invalid_parameter_noinfo(v6);
              v7 = *(_DWORD *)(*(_DWORD *)(v1 + 680) + 20);
              v8 = v1 + 380;
            }
            else
            {
              if ( v3 >= (*(_DWORD *)(v1 + 684) - *(_DWORD *)(v1 + 680)) >> 2 )
                _invalid_parameter_noinfo(v5);
              v9 = *(_DWORD *)(*(_DWORD *)(v1 + 680) + 4 * v3);
              v8 = v1 + 108;
            }
            result = CGrannyLODController::DeformNoSkin(v8);
          }
          ++v3;
        }
        while ( v3 < (*(_DWORD *)(v1 + 684) - *(_DWORD *)(v1 + 680)) >> 2 );
      }
      return result;
    }
    
    int __thiscall CGraphicThingInstance::RecalcAccePositionMatrixFromBoneMatrix(float *this)
    {
      float *v1; // ebx
      int result; // eax
      float *v3; // eax
      double v4; // st7
      float *v5; // eax
      double v6; // st7
      int v7; // [esp+8h] [ebp-ACh]
      float v8; // [esp+Ch] [ebp-A8h]
      float v9; // [esp+10h] [ebp-A4h]
      float v10; // [esp+14h] [ebp-A0h]
      float v11; // [esp+18h] [ebp-9Ch]
      float v12; // [esp+1Ch] [ebp-98h]
      float v13; // [esp+20h] [ebp-94h]
      int v14; // [esp+24h] [ebp-90h]
      int v15; // [esp+28h] [ebp-8Ch]
      int v16; // [esp+2Ch] [ebp-88h]
      int v17; // [esp+30h] [ebp-84h]
      char v18; // [esp+34h] [ebp-80h]
      char v19; // [esp+74h] [ebp-40h]
    
      v1 = this;
      if ( !((*((_DWORD *)this + 171) - *((_DWORD *)this + 170)) >> 2) )
        _invalid_parameter_noinfo(this);
      result = CGrannyLODController::GetModelInstance(**((_DWORD **)v1 + 170));
      if ( result )
      {
        v7 = 0;
        CGrannyModelInstance::GetBoneIndexByName("Bip01 Spine2", &v7);
        v3 = (float *)CGrannyModelInstance::GetBoneMatrixPointer(v7);
        if ( v3 )
        {
          v12 = v3[12];
          v13 = v3[13];
          v4 = v3[14];
          v5 = v1 + 111;
          v11 = v4;
          v5[14] = 0.0;
          v5[13] = 0.0;
          v14 = 0;
          v5[12] = 0.0;
          v15 = 0;
          v5[11] = 0.0;
          v16 = 0;
          v5[9] = 0.0;
          v17 = 0;
          v5[8] = 0.0;
          v5[7] = 0.0;
          v5[6] = 0.0;
          v5[4] = 0.0;
          v5[3] = 0.0;
          v5[2] = 0.0;
          v5[1] = 0.0;
          v5[15] = 1.0;
          v5[10] = 1.0;
          v5[5] = 1.0;
          *v5 = 1.0;
          v8 = v12;
          v9 = v13;
          v10 = v11;
          D3DXMatrixTransformation(v1 + 111, &v8, &v14, v1 + 91, 0, 0, 0);
        }
        D3DXMatrixMultiply(&v18, v1 + 127, v1 + 111);
        result = D3DXMatrixMultiply(&v19, &v18, v1 + 10);
        v6 = v1[1];
        qmemcpy(v1 + 95, &v19, 64u);
        v1[107] = v6 + v1[107];
        v1[108] = v1[2] + v1[108];
        v1[109] = v1[3] + v1[109];
      }
      return result;
    }

     

     

    • Love 1
  3. This is the hidden content, please
     (
    This is the hidden content, please
    )

    1. New pet with 2 textures
    2. New sash
    3. locales with protos

     

    In the item_proto.txt there is a false tabulator character as '\T' instead of '\t', a simple replace in file solves it.

    In the item_proto_my.txt there are missing from the header line the applytype3 and applyvalue3 field names.

    It will be solved whenever I wil have the time for that.

    • Metin2 Dev 51
    • Angry 1
    • Cry 1
    • Confused 1
    • Scream 1
    • Lmao 1
    • Good 22
    • Love 1
    • Love 55
  4. 1 hour ago, .Paradox said:

    "Markus please respond" Never say that, you will look like a girl that got ghosted on instagram.

    I thought the same at first I've read his bullshit painted message. :D

     

    As he sold his shit for hundred thousands of dollar now he can open a kebab-stand and be unique.
    Better to not answer to him, just ignore like all of the idiots must be ignored.

    Like this:

    44722fe19c.png

    • Love 9
  5. Why are you addicted to quest? I don't get it :D

    I didn't want to open any quest for this, this why I put the description on the gui, without description the players would do stupid things and complain after.

    When you accept the exchange, a question dialog appears to confirm the action how much won you would like to sell or buy for how much yang.
    I understand your point too, I prefer horizontal view, you do prefer the vertical, it's not a problem, the function supposed to work, later you can redesign the dialog however you want.

    Meantime I've got a bit wider taskbar button set from @Tatsumaru which is look like this:
     

    Spoiler

    giphy.gif

    If it isn't against him, I'm gonna share both design. The thinner and the wider too.

    • Love 2
  6. I wrote it deliberately like this way to avoid the quest.

    Btw, is there any function to the warehouse keeper on private servers still?

    Also faster if you can open it anywhere you are, you don't need to get to the npc to do the exchange tho.

    • Love 1
  7. M2 Download Center

    This is the hidden content, please
    ( Internal )

    Hey everybody!

     

    Long time no release, so I would like to share this small stuff with you.
    With this you can change the values of the bonuses in an item.
    There are two types of the new switcher:

    • Normal: rolls the bonus values from all of the available values (value0=0)
    • Plus: sets the bonuses to the max. value (value0=1)

    Demo:

    Spoiler

     

    Download

    ps.: any problem appears, just tell us in comment.

    • Metin2 Dev 20
    • Angry 1
    • Good 3
    • Love 45
  8. BanerActualizacion19.6.jpg

    This is the hidden content, please

    Includes(all last modified files):

    • New map
    • New pet
    • New boss
    • New minigame gui elements
    • New effects for the elemental refined weapons
    • Locales(protos below)

    v19.6.7 Protos:

    This is the hidden content, please

    v19.6.8 Locale w/ protos:

    This is the hidden content, please

     

    19.6.7

    This is the hidden content, please

    19.6.8
    This is the hidden content, please

    • Metin2 Dev 83
    • kekw 1
    • Dislove 3
    • Angry 1
    • Sad 1
    • Think 1
    • Confused 2
    • Scream 1
    • Good 24
    • Love 6
    • Love 94
  9. I know that this is just the base of the system only, but there are many of users who would like to get "ready-to-eat" food if you know what I mean.
    Anyway I removed all of these command-line orders like /ride or /whatever already as webzen did, I prefer to make it via packet(s).
    If I'd implement this one I'd make it fit to my source how I'd like, that makes no problem to me, I already imagined a small extension on the party gui if you click on each members and/or on the board where you setup the exp distribution, possible to make it nice and user friendly.

    • Metin2 Dev 3
    • Good 1
    • Love 1
×
×
  • 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.