anyone help.
what skill code for FireScream of DL.
i cant see in source Only Fireburst,Chaotic,ForceWave
thank
Printable View
anyone help.
what skill code for FireScream of DL.
i cant see in source Only Fireburst,Chaotic,ForceWave
thank
the effect of the rage fighter combo does not appear any solution
@muonlinegr2
ComboSkillData.h
ComboSkillData.cppCode:#pragma once
#define MAX_COMBO_INFO 128
struct COMBO_SKILL_INFO
{
WORD Stage;
WORD Skill;
DWORD Delay;
};
class CComboSkillData
{
public:
CComboSkillData();
void Load(char* path);
void SetInfo(COMBO_SKILL_INFO info);
COMBO_SKILL_INFO* GetInfoBySkill(WORD skill);
DWORD GetSkillDelay(WORD skill);
int GetSkillType(WORD skill);
private:
int m_Count;
COMBO_SKILL_INFO m_Info[MAX_COMBO_INFO];
};
extern CComboSkillData gComboSkillData;
ServerInfo.cpp at CServerInfo::ReadSkillInfo()Code:#include "stdafx.h"
#include "ComboSkillData.h"
#include "MemScript.h"
#include "Util.h"
CComboSkillData gComboSkillData;
CComboSkillData::CComboSkillData(void)
{
this->m_Count = 0;
}
void CComboSkillData::Load(char* path)
{
CMemScript* lpMemScript = new CMemScript;
if(lpMemScript == 0)
{
ErrorMessageBox(MEM_SCRIPT_ALLOC_ERROR,path);
return;
}
if(lpMemScript->SetBuffer(path) == 0)
{
ErrorMessageBox(lpMemScript->GetLastError());
delete lpMemScript;
return;
}
this->m_Count = 0;
try
{
COMBO_SKILL_INFO info;
while(true)
{
if(lpMemScript->GetToken() == TOKEN_END)
{
break;
}
if(strcmp("end",lpMemScript->GetString()) == 0)
{
break;
}
memset(&info,NULL,sizeof(info));
info.Stage = lpMemScript->GetNumber();
info.Skill = lpMemScript->GetAsNumber();
info.Delay = lpMemScript->GetAsNumber();
this->SetInfo(info);
}
}
catch(...)
{
ErrorMessageBox(lpMemScript->GetLastError());
}
delete lpMemScript;
}
void CComboSkillData::SetInfo(COMBO_SKILL_INFO info)
{
if(this->m_Count < 0 || this->m_Count >= MAX_COMBO_INFO)
{
return;
}
this->m_Info[this->m_Count++] = info;
}
COMBO_SKILL_INFO* CComboSkillData::GetInfoBySkill(WORD skill)
{
for(int i = 0;i <= this->m_Count;i++)
{
if(this->m_Info[i].Skill == skill)
{
return &this->m_Info[i];
}
}
return NULL;
}
int CComboSkillData::GetSkillType(WORD skill)
{
COMBO_SKILL_INFO* lpInfo = this->GetInfoBySkill(skill);
if(lpInfo != NULL)
{
return lpInfo->Stage;
}
return -1;
}
DWORD CComboSkillData::GetSkillDelay(WORD skill)
{
COMBO_SKILL_INFO* lpInfo = this->GetInfoBySkill(skill);
if(lpInfo != NULL)
{
return lpInfo->Delay;
}
return 0;
}
Change ComboSkil.cpp to thisCode:gComboSkillData.Load(gPath.GetFullPath("Skill\\ComboSkill.txt"));
Then do fileCode:#include "stdafx.h"
#include "ComboSkill.h"
#include "ComboSkillData.h"
CComboSkill gComboSkill;
void CComboSkill::Init()
{
this->m_time = 0;
this->m_skill[0] = 0xFFFF;
this->m_skill[1] = 0xFFFF;
this->m_index = -1;
}
bool CComboSkill::CheckCombo(WORD skill)
{
int type = gComboSkillData.GetSkillType(skill);
DWORD delay = gComboSkillData.GetSkillDelay(skill);
if(type == -1)
{
this->Init();
return 0;
}
if(type == 0)
{
this->m_time = GetTickCount() + delay;
this->m_skill[0] = skill;
this->m_index = 0;
return 0;
}
if(type == 1)
{
if(this->m_time < GetTickCount())
{
this->Init();
return 0;
}
if(this->m_skill[0] == 0xFFFF)
{
this->Init();
return 0;
}
if(this->m_index == 0)
{
this->m_time = GetTickCount() + delay;
this->m_skill[1] = skill;
this->m_index = 1;
return 0;
}
if(this->m_index == 1 && this->m_skill[1] != skill)
{
this->Init();
return 1;
}
}
this->Init();
return 0;
}
ComboSkill.txt (Put at Skill folder)
Ps.Code:// Stage Skill Delay Comment
0 19 3000 // [DK] Falling Slash
0 20 3000 // [DK] Lunge
0 21 3000 // [DK] Uppercut
0 22 3000 // [DK] Cyclone
0 23 3000 // [DK] Slash
1 41 3000 // [DK] Twisting Slash
1 42 3000 // [DK] Rageful Blow
1 43 3000 // [DK] Death Stab
1 232 3000 // [DK] Frozen Stab
1 344 3000 // [DK] Blood Storm
0 10 3000 // [DW] Hell Fire
0 12 3000 // [DW] Aqua Beam
0 13 3000 // [DW] Blast
0 14 3000 // [DW] Inferno
1 38 3000 // [DW] Decay
1 39 3000 // [DW] Ice Storm
1 40 3000 // [DW] Nova
0 24 3000 // [FE] Triple Shot
1 52 3000 // [FE] Penetration
1 235 3000 // [FE] Five Shot
0 55 3000 // [MG] Fire Slash
0 56 3000 // [MG] Power Slash
0 57 3000 // [MG] Spiral Slash
1 73 3000 // [MG] Mana Rays
1 236 3000 // [MG] Sword Slash
1 237 3000 // [MG] Gigantic Storm
0 61 3000 // [DL] Fire Brust
0 66 3000 // [DL] Eletric Spark
1 78 3000 // [DL] Fire Scream
1 238 3000 // [DL] Birds
1 62 3000 // [DL] Earth Quake
0 214 3000 // [SU] Drain Life
1 215 3000 // [SU] Chain Lightning
1 223 3000 // [SU] Sahamutt
1 224 3000 // [SU] Neil
1 225 3000 // [SU] Ghost Phanton
1 230 3000 // [SU] Red Storm
end
I hope all can sell this leeched code to their n00b clients at a right price.
You are welcome
@SmileYzn is Work MuEmu season 6 ???
it should work fine in season 6, add this for RF combo.
you still have to code this part into the skills to use the combo with them.Code:0 260 3000 // [RF] Large Ring Blower
0 261 3000 // [RF] Upper beast
0 270 3000 // [RF] Phoenix shot
1 264 3000 // [RF] Dragon lore
1 262 3000 // [RF] Chain Driver
Code:cskillmager::skillname(some parameters here, bool combo)
{
'
'
// skill code here
'
'
gAttack.Attack(lpObj,&gObj[index],lpSkill,0,0,0,0,combo);
if(combo != 0)
{
this->GCSkillAttackSend(lpObj,SKILL_COMBO,index,1);
}
'
'
// skill code here
'
'
}
Code:bool ComboSkill::CheckCombo(LPOBJ lpObj,int bIndex, CSkill* lpSkill)
{
int type = gComboSkillData.GetSkillType(lpSkill->m_skill);
DWORD delay = gComboSkillData.GetSkillDelay(lpSkill->m_skill);
if(type == -1)
{
this->Init();
return 0;
}
if(type == 0)
{
this->m_time = GetTickCount() + delay;
this->m_skill[0] = lpSkill->m_skill;
this->m_index = 0;
return 0;
}
if(type == 1)
{
if(this->m_time < GetTickCount())
{
this->Init();
return 0;
}
if(this->m_skill[0] == 0xFFFF)
{
this->Init();
return 0;
}
if(this->m_index == 0)
{
this->m_time = GetTickCount() + delay;
this->m_skill[1] = lpSkill->m_skill;
this->m_index = 1;
return 0;
}
if(this->m_index == 1 && this->m_skill[1] != lpSkill->m_skill)
{
gAttack.Attack(lpObj, &gObj[bIndex], lpSkill, 0, 0, 0, 0, 1);
gSkillManager.GCSkillAttackSend(lpObj, SKILL_COMBO, bIndex, 1);
this->Init();
return 1;
}
}
this->Init();
return 0;
}
Code:if(gComboSkill.CheckCombo(lpObj, bIndex, lpSkill) != 0)
{
if(gServerInfo.m_CheckAutoComboHack == 0 || (GetTickCount()-lpObj->ComboTime) > ((DWORD)gServerInfo.m_CheckAutoComboHackTolerance))
{
combo = 1;
lpObj->ComboTime = GetTickCount();
}
}
Sir @solarismu do you still have file or patch for combo of all classes?
Is there anyone here has a released version of the file to be injected in MUEMU Season 6? Here's the file I am using http://forum.ragezone.com/f197/relea...fixed-1173557/ . Please help me how to do it. Thanks!
maybe this reply helps:
http://forum.ragezone.com/f193/help-...4/#post8920744
rar password: SeedMaker
modify the muhelper:
Data \ Interface \ GFx \
replace with: https://drive.google.com/file/d/1FuP...z2PHMGvKS/view
put at skill folder in server files ComboSkill.txt
different comboskill.cpp fixCode:// Stage Skill Delay Comment
0 19 3000 // [DK] Falling Slash
0 20 3000 // [DK] Lunge
0 21 3000 // [DK] Uppercut
0 22 3000 // [DK] Cyclone
0 23 3000 // [DK] Slash
1 41 3000 // [DK] Twisting Slash
1 42 3000 // [DK] Rageful Blow
1 43 3000 // [DK] Death Stab
1 232 3000 // [DK] Frozen Stab
1 344 3000 // [DK] Blood Storm
0 10 3000 // [DW] Hell Fire
0 12 3000 // [DW] Aqua Beam
0 13 3000 // [DW] Blast
0 14 3000 // [DW] Inferno
1 38 3000 // [DW] Decay
1 39 3000 // [DW] Ice Storm
1 40 3000 // [DW] Nova
0 24 3000 // [FE] Triple Shot
1 52 3000 // [FE] Penetration
1 235 3000 // [FE] Five Shot
0 55 3000 // [MG] Fire Slash
0 56 3000 // [MG] Power Slash
0 57 3000 // [MG] Spiral Slash
1 73 3000 // [MG] Mana Rays
1 236 3000 // [MG] Sword Slash
1 237 3000 // [MG] Gigantic Storm
0 61 3000 // [DL] Fire Brust
0 66 3000 // [DL] Eletric Spark
1 78 3000 // [DL] Fire Scream
1 238 3000 // [DL] Birds
1 62 3000 // [DL] Earth Quake
0 214 3000 // [SU] Drain Life
1 215 3000 // [SU] Chain Lightning
1 223 3000 // [SU] Sahamutt
1 224 3000 // [SU] Neil
1 225 3000 // [SU] Ghost Phanton
1 230 3000 // [SU] Red Storm
end
Code:#include "stdafx.h"
#include "ComboSkill.h"
#include "ComboSkillData.h"
CComboSkill gComboSkill;
void CComboSkill::Init()
{
this->m_time = 0;
this->m_skill[0] = 0xFFFF;
this->m_skill[1] = 0xFFFF;
this->m_index = -1;
}
bool CComboSkill::CheckCombo(WORD skill)
{
int type = gComboSkillData.GetSkillType(skill);
DWORD delay = gComboSkillData.GetSkillDelay(skill);
if(type == -1)
{
this->Init();
return 0;
}
if(type == 0)
{
this->m_time = GetTickCount() + delay;
this->m_skill[0] = skill;
this->m_index = 0;
return 0;
}
if(type == 1)
{
if(this->m_time < GetTickCount())
{
this->Init();
return 0;
}
if(this->m_skill[0] == 0xFFFF)
{
this->Init();
return 0;
}
if(this->m_index == 0)
{
this->m_time = GetTickCount() + delay;
this->m_skill[1] = skill;
this->m_index = 1;
return 0;
}
if(this->m_index == 1 && this->m_skill[1] != skill)
{
this->Init();
return 1;
}
}
this->Init();
return 0;
}
does this work with Season12 MuEMU if it does how i can enable it or where should i put those file direction please?