[Development] Custom Bows & Crossbows Client Source (1.03K)

Newbie Spellweaver
Joined
Mar 9, 2017
Messages
35
Reaction score
27
re: [Development] Custom Bows & Crossbows Client Source (1.03K)

Bow skill -> 0x0074A128
cross skill -> 0x00749DCC
Bow inventory -> 0x005CC8E4
Cross world pos -> 0x0056595E

Thank you very much brother :8:
 
Newbie Spellweaver
Joined
Feb 22, 2017
Messages
55
Reaction score
14
re: [Development] Custom Bows & Crossbows Client Source (1.03K)

Bow skill -> 0x0074A128
cross skill -> 0x00749DCC
Bow inventory -> 0x005CC8E4
Cross world pos -> 0x0056595E

Still bugged in safezone :/
 
Skilled Illusionist
Joined
Jun 22, 2017
Messages
363
Reaction score
561
re: [Development] Custom Bows & Crossbows Client Source (1.03K)

Still bugged in safezone :/
Code:
__declspec(naked) void cCrossPos()
{
    static DWORD Address1 = 0x00565994;
    static DWORD Address2 = 0x005659E7;    
  _asm
  {
   Mov Ecx, Dword ptr ss : [ebp + 0x1C]
   Mov Dword ptr ss : [ebp + 0x1C],Ecx
   Mov IsCrossItem, Ecx
  }
  if (IsCrossItem >= ITEM2(4,8) && IsCrossItem <= ITEM2(4,14)||IsCrossItem == ITEM2(4,16)||IsCrossItem == ITEM2(4,18)||IsCrossItem == ITEM2(4,19)
   ||IsCrossItem == ITEM2(4,26))//new
  {_asm{jmp Address1}}
  else
  {_asm{jmp Address2}}
    
}

SetRange((LPVOID)0x0056595E,6,ASM::NOP);
SetOp((LPVOID)0x0056595E,(LPVOID)cCrossPos,ASM::JMP);
 
Newbie Spellweaver
Joined
Mar 9, 2017
Messages
35
Reaction score
27
re: [Development] Custom Bows & Crossbows Client Source (1.03K)



Hello, what is the code "DWORD ReturnCrossCode = 0x006990E3;" for MUEMU SEASON 6?
 
Newbie Spellweaver
Joined
Apr 7, 2016
Messages
8
Reaction score
1
re: [Development] Custom Bows & Crossbows Client Source (1.03K)

someone have offsets for season 2.x ?

version 1.02.19
 
Skilled Illusionist
Joined
Jun 22, 2017
Messages
363
Reaction score
561
re: [Development] Custom Bows & Crossbows Client Source (1.03K)

decompiled version main 1.04.05

Code:
SetRange((LPVOID)0x00749C90,0x94A,ASM::NOP);
SetOp((LPVOID)0x00749C90,(LPVOID)CreateBowSkillEffect,ASM::JMP);


void CreateBowSkillEffect(DWORD lpObj, DWORD lpModel, DWORD Owner, BYTE a4, BYTE a5, WORD Skill)
{
    short Bow;
    short CrossBow;
    int EffectType;

    lpViewObj gObj = &*(ObjectPreview*)lpObj;
    lpModelObj gModel = &*(ViewPortObject*)lpModel;

    vec3_t Color;
    vec3_t VecPos;
    vec3_t WorldPos;
    Vector(gModel->ColorR, gModel->ColorG, gModel->ColorB, Color);
    Vector(gModel->VecPos.X, gModel->VecPos.Y, gModel->VecPos.Z, VecPos);
    Vector(gModel->WorldPos.X, gModel->WorldPos.Y, gModel->WorldPos.Z, WorldPos);

    EffectType = 0;
    CrossBow = gObj->WeaponFirstSlot;
    Bow = gObj->WeaponSecondSlot;
    if (lpObj == oUserPreviewStruct)
    {
  CrossBow = *((short *)oUserObjectStruct_ + 2336);
  Bow = *(short *)(oUserObjectStruct_ + 4779);
  if (CrossBow != -1)
   CrossBow += ITEM_BASE_MODEL;
  if (Bow != -1)
   Bow += ITEM_BASE_MODEL;
    }
    if (Skill == Penetration || Skill == PenetrationImproved)
    {
  EffectType = 2;
  sub_6D6C20(85, lpModel, 0);
    }
    *(int*)0x8793730 = Skill;
  if (Skill == IceArrow || Skill == IceArrowImproved)
  sub_6D6C20(130, lpModel, 0);
    if (a5 == 2)
  EffectType = 99;
    if (Skill == Starfall)
    {
  gEffect.CreateEffect(365, VecPos, WorldPos, Color, 0, Owner, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
    }
    else
    {
  switch (CrossBow)
  {
  case 3227:
  {
   gEffect.CreateEffect(296, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
  }
  break;
  case 3228:
   gEffect.CreateEffect(267, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3229:
   gEffect.CreateEffect(271, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3230:
   gEffect.CreateEffect(269, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3231:
   gEffect.CreateEffect(268, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3232:
   gEffect.CreateEffect(274, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3233:
   gEffect.CreateEffect(273, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3235:
   gEffect.CreateEffect(294, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3237:
   gEffect.CreateEffect(321, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3238:
   gEffect.CreateEffect(324, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case ITEM2(4, 26): //Devil CrossBow
   gEffect.CreateEffect(296, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  default:
   break;
  }
  switch (Bow)
  {
  case 3219:
   gEffect.CreateEffect(266, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3220:
   gEffect.CreateEffect(266, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3221:
   gEffect.CreateEffect(270, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3222:
   gEffect.CreateEffect(266, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3223:
   gEffect.CreateEffect(266, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3224:
   gEffect.CreateEffect(266, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3225:
   gEffect.CreateEffect(272, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3236:
   gEffect.CreateEffect(295, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3239:
   gEffect.CreateEffect(335, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3240:
   gEffect.CreateEffect(296, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3241:
   gEffect.CreateEffect(297, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3242:
   gEffect.CreateEffect(298, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3243:
   gEffect.CreateEffect(509, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case 3246:
   gEffect.CreateEffect(266, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case ITEM2(4, 25): //Angelic Bow
   gEffect.CreateEffect(509, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case ITEM2(4, 28): //Bloodangel Bow
   gEffect.CreateEffect(321, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   break;
  case ITEM2(4, 36): //Holyangel Bow
  {
   int EID[10] = { 266, 270, 272, 295, 335, 296, 297, 298, 509, 266 };
   gEffect.CreateEffect(EID[rand() % 10], VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
   //gEffect.CreateEffect(294, VecPos, WorldPos, Color, EffectType, lpModel, *(short *)(lpModel + 44), a4, a5, 0, 0.0, -1);
  }
  break;
  default:
   break;
  }
    }
}
 
Last edited:
Newbie Spellweaver
Joined
Jun 4, 2012
Messages
87
Reaction score
12
re: [Development] Custom Bows & Crossbows Client Source (1.03K)

Plss have offsets Muemu s4 1.05D
 
Junior Spellweaver
Joined
Jul 18, 2005
Messages
124
Reaction score
74
re: [Development] Custom Bows & Crossbows Client Source (1.03K)

I'm having trouble with penetration arrow and custom bows, effect is drawn but it does not send packet to server and arrow doesn't go through enemies. also, arrows are not being reloaded like in a normal bow. am I missing something somewhere?
 
(づ。◕‿‿◕。)
Loyal Member
Joined
Jun 23, 2014
Messages
1,853
Reaction score
423

can you share gEffect.CreateEffect ?

Edit: nevermind, got it working, thanks a lot.
 
Last edited: