i don't have bro but i can set up for you
Can u teach me how to set up im using igcn ep 2 repack by septh
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!i don't have bro but i can set up for you
this one work only on MuEmu ididnt try on IGCN im sorry
Lets try bro teqch me please
Link the File iwill try
anyone help.
what skill code for FireScream of DL.
i cant see in source Only Fireburst,Chaotic,ForceWave
thank
#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;
#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;
}
gComboSkillData.Load(gPath.GetFullPath("Skill\\ComboSkill.txt"));
#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;
}
// 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
SmileYzn is Work MuEmu season 6 ???
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
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)
{
[B][COLOR="#FF0000"]gAttack.Attack(lpObj, &gObj[bIndex], lpSkill, 0, 0, 0, 0, 1);[/COLOR][/B]
[B][COLOR="#FF0000"]gSkillManager.GCSkillAttackSend(lpObj, SKILL_COMBO, bIndex, 1);[/COLOR][/B]
this->Init();
return 1;
}
}
this->Init();
return 0;
}
if(gComboSkill.CheckCombo(lpObj, bIndex, lpSkill) != 0)
{
if(gServerInfo.m_CheckAutoComboHack == 0 || (GetTickCount()-lpObj->ComboTime) > ((DWORD)gServerInfo.m_CheckAutoComboHackTolerance))
{
combo = 1;
lpObj->ComboTime = GetTickCount();
}
}
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/release-muemu-season6-original-fixed-1173557/ . Please help me how to do it. Thanks!
// 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
#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;
}
maybe this reply helps:
http://forum.ragezone.com/f193/help-class-combo-1156690-post8920744/#post8920744
rar password: SeedMaker
modify the muhelper:
Data \ Interface \ GFx \
replace with:You must be registered to see links
put at skill folder in server files ComboSkill.txt
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
different comboskill.cpp fix
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; }
Thanks Karli for this..
I would like to ask and confirm as well where can i put the different comboskill.cpp fix code? Thanks!