Welcome!

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!

[Release] X-Team Sources (S4, S6, S8)

Newbie Spellweaver
Joined
Aug 13, 2017
Messages
29
Reaction score
0
Re: Source [MUEMU]

ethondev - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums

Anyone can help? samsunggon michael_admin

How to fix this. i fix ddi8% and 9% but i cant add higher refining stone on it to make it higher level. but when edited on maker it works.
i replaced my both JewelOfHarmonySmelt_eng.bmd and JewelOfHarmonyOption_eng.bmd
 
Joined
Mar 25, 2010
Messages
527
Reaction score
43
Re: Source [MUEMU]

ethondev - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums

Anyone can help? @samsunggon @michael_admin

How to fix this. i fix ddi8% and 9% but i cant add higher refining stone on it to make it higher level. but when edited on maker it works.
i replaced my both JewelOfHarmonySmelt_eng.bmd and JewelOfHarmonyOption_eng.bmd

Server Side
muemu/data/item/JewelofHarmonyOption
Code:
3
//Index   Name                                 Rate   Level   Value0   Money0   Value1   Money1   Value2   Money2   Value3   Money3   Value4   Money4   Value5   Money5   Value6   Money6   Value7   Money7   Value8   Money8   Value9   Money9   Value10   Money10   Value11   Money11   Value12   Money12   Value13   Money13   Value14   Money14   Value15   Money15
1         "Add Defense"                        50     0       3        100000   4        110000   5        120000   6        130000   7        140000   8        150000   10       200000   12       220000   14       240000   16       280000   18        320000    20        360000    22        400000    25        500000    25        500000    25        500000
2         "Add Max BP"                         40     3       0        0        0        0        0        0        4        130000   6        140000   8        150000   10       200000   12       220000   14       240000   16       280000   18        320000    20        360000    22        400000    25        500000    25        500000    25        500000
3         "Add Max HP"                         40     3       0        0        0        0        0        0        7        130000   9        140000   11       150000   13       200000   15       220000   17       240000   19       280000   21        320000    23        360000    25        400000    30        500000    30        500000    30        500000
4         "Add HP Recovery"                    30     6       0        0        0        0        0        0        0        0        0        0        0        0        1        200000   2        220000   3        240000   4        280000   5         320000    6         360000    7         400000    8         500000    8         500000    8         500000
5         "Add MP Recovery"                    20     9       0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        1        280000   2         320000    3         360000    4         400000    5         500000    5         500000    5         500000
6         "Add Defense Success Rate PvP"       20     9       0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        3        280000   4         320000    5         360000    6         400000    8         500000    8         500000    8         500000
7         "Add Damage Reduction"               20     9       0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        3        280000   4         320000    5         360000    6         400000    7         500000  [B][COLOR=#FF0000] 8         500000   9[/COLOR][/B]         500000
8         "Add SD Rate"                        10     13      0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0         0         0         0         0         0         5         500000    5         500000    5         500000
end



MUEMU FLINCH

Credit: webmonkey

find

Code:
gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);

in attack.cpp and add on top so it looks like this:
Code:
        else if (lpTarget->Inventory[8].IsItem() == 0 || (lpTarget->Inventory[8].m_Index != GET_ITEM(13, 2) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 3) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 4) && lpTarget->Inventory[8].m_Index != GET_ITEM(13, 37)))
        {
            if ((GetLargeRand() % 100) < gServerInfo.m_DamageStuckRate[lpTarget->Class])
            {
                flag = 1;
            }

        }

        gObjectManager.CharacterLifeCheck(lpObj,lpTarget,(damage-ShieldDamage),0,flag,effect,((lpSkill==0)?0:lpSkill->m_index),ShieldDamage);
and you can control that in
;==================================================
; Character Stuck Rate Settings
;==================================================
DWDamageStuckRate = 0
DKDamageStuckRate = 0
FEDamageStuckRate = 0
MGDamageStuckRate = 0
DLDamageStuckRate = 0
SUDamageStuckRate = 0
RFDamageStuckRate = 0
 
Last edited by a moderator:
Newbie Spellweaver
Joined
Aug 13, 2017
Messages
29
Reaction score
0
Re: Source [MUEMU]

Still not working. i cant add higher refining stone on 7% going higher sir samsunggon do you have a copy that works client and sv side? thanks for your help i appriciate it so much.
 
Don't be afraid to ask!
Loyal Member
Joined
Jun 2, 2012
Messages
1,454
Reaction score
252
Re: Source [MUEMU]

Still not working. i cant add higher refining stone on 7% going higher sir samsunggon do you have a copy that works client and sv side? thanks for your help i appriciate it so much.

You need to add it on clientside after you unlock on serverside... you can use mu magic hand, but you should edit the php file to see the 2 more columns and than you can add the 9% harmony.
 
Novice C++
Joined
Feb 14, 2011
Messages
576
Reaction score
230
Thread Cleaned.

Fixed some missing links and edited some post, added
Code:
 for cosmetics/[/B][B][B]better [/B]understanding. Please stick on-topic and don't spam the thread with same questions. It's not that hard to read all pages, most likely you will find the fix for your problem. Remember this is Source thread stick on reporting bugs and posting fixes.

If you need help start a thread here: [URL="http://forum.ragezone.com/f193/"][Help]
[/URL]
More fixes can be found here : [/B][B][B][URL="http://forum.ragezone.com/f508/zone-bugs-report-files-emu-1098381/"]Link[/URL][/B], thread created for reporting bugs and fixes, so read it.[/B]
 
Last edited:
Master Summoner
Joined
Feb 17, 2017
Messages
580
Reaction score
72
I know Duel Score 10 is Insane so here i share this so can edit it :v

Duel.cpp

Search:

Code:
if(lpObj->DuelScore >= 10)

Replace with:

Code:
if(lpObj->DuelScore >= gServerInfo.m_DuelScore)

ServerInfo.cpp

Search:

Code:
this->m_DuelArenaAnnounceSwitch = GetPrivateProfileInt(section,"DuelArenaAnnounceSwitch",0,path[COLOR=#474747]);[/COLOR]

Add Below:

Code:
this->m_DuelScore = GetPrivateProfileInt(section,"DuelScore",0,pa[COLOR=#474747]th);[/COLOR]

ServerInfo.h

Search:

Code:
int m_DuelArenaAnnounceSwitch;

Add Below:

Code:
int m_DuelScore;

GameServer - Common.dat

Code:
[COLOR=#474747]DuelScore = [COLOR=#6896BA]3[/COLOR][/COLOR]
 
Last edited by a moderator:
Joined
Nov 4, 2012
Messages
928
Reaction score
545
Chat block is broken, need to save at db the variable lpObj->ChatLimitTime from user.h to database, and make a command to mute / unmute players (ChatLimitTime is also in minutes not seconds! as in messages.txt))
seedmaker

A small problem here, interface for duel count 10 rounds, not 3

ethondev - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums


I do not know if that can affect the interface for spectaros :D
 
Last edited:
Master Summoner
Joined
Feb 17, 2017
Messages
580
Reaction score
72
Chat block is broken, need to save at db the variable lpObj->ChatLimitTime from user.h to database, and make a command to mute / unmute players (ChatLimitTime is also in minutes not seconds! as in messages.txt))
@seedmaker

A small problem here, interface for duel count 10 rounds, not 3

ethondev - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums


I do not know if that can affect the interface for spectaros :D
Yeah becuase i only edit on Server and this is a custom but if you wan only 3 ithink you can edit it on interface on Client side :p
 
Newbie Spellweaver
Joined
Jun 15, 2012
Messages
69
Reaction score
17
how to fix custom pet PreviewCharSet??
Alguien sabe como reparar el bug visual de los nuevos fenrirs, en los mapas se ven pero en el selector de players aparece el fenrir rojo
 
Newbie Spellweaver
Joined
Jun 4, 2012
Messages
87
Reaction score
12
Where part of the sources do i increase the user limit?
 
Joined
May 21, 2012
Messages
708
Reaction score
301
GameServerInfo.dat ?

//ChangeLog MuEmu by louis
//Muserver Season 4,6,8

JANUARY 2017
- Add CustomMove
- Add Rei do MU Event
- Fix CustomJewel in Main
- Active MHP

FEBRUARY 2017
- Add HpBonus System
- Add Kill Message System
- Add MessageBox Yes/No on Close Gameserver
- Add MasterSkillTree Reset
- Fix Duel DC (s8)
- Fix Pentagram jewel(remove before put in ware) (s8)

MARCH 2017
- Fix Duel Trade (s8)
- Add Main Memory reduction
- Add Guard CustomMessage
- Add Colunn Score_semanal in RankingDevilSquare
- Add Colunn Score_semanal in RankingBloodCastle
- Add Colunn Score_semanal in RankingChaos Castle
- Add Colunn Score_semanal in RankingIllusionTemple
- Add Colunn WinScore_semanal in RankingDuel
- Add in DataServer update semanal colls

APRIL 2017
- Add BotBuffer System
- Add SD/HD bar in Character (S4/S6)
- Add Command Clear Inventory
- Active Encrypt in Client/Server.
- Fix Friend Message Title Inject (DataServer)

MAY 2017
- Add OpenWare Command
- Add SetVip Command
- Add Marry System
- Change HP/SD Bar Interface
- Fix BotBuffer Power
- Fix Store Dupe
- Fix Duel MinLevel

JUNE 2017
- Add Reload Command
- Add Reward Command
- Add ChangeClass Command
- Add OnlineLottery Event
- Add Disconnect User in GameServer Menu
- Add Start OnlineLoterry GameServer Menu
- Add OffStore and OffAttack count in GameServer Title Bar

JULY 2017 UPDATE 2
- Add Itens Level +15 (Season 4)
- Add Info Command
- Add Change Name Command
- Add BanAcc Command
- Add BanChar Command
- Add DynamicEffect in Main (S4/S6/S8)
- Add Max Use Time in Attack command
- Add Option to disable Online User/GM Message
- Add Event Hide and Seek
- Add Event Run and Catch
- Add option to disable exp message on kill mob
- Change MaxCustom Wings to 100
- Fix Money remove when use ResetTable system.
- Fix Socket jewel aplly in no socket item
- Fix CustomEffect problems in Main.dll
- Fix remove BC,DS,IT invite
- Fix Skill elf on /attack
- Fix Clear Effects on change class
- Fix /store bless Crash (Season 6)
- Add Custom Summon on Kill Mob
- Evento Veloz
- /openevent /join
- Disable/Enable Skill Effect (Ex:Cyclone)
- Add Custom exp on Offattack and Autoreset

AUGUST 2017 UPDATE 3
- Add MakeSet Command
- Add Drop Command
- Option to Remove Offstore/offattack in OnlineLottery
- Jewel of socket Aply in pentagram (Season8)
- ADD gift command
- Add Custom Quest System
- Add Russian Roulette Event
- Add Max Use Time in Store command
- New King of Mu Event
- Add Reward Coins in BC,DS,CC
- add /toprr /topmr etc
- Somente gm fazer o casamento
- Disable Wing Mix Class

SEPTEMBER 2017 UPDATE 4
- Remove Class in Main (RF,SU,DL)
- Custom Auto Quiz Event
- Need ticket to change name Option (S6/S8)
- Custom WingMix (Chaos Mix)
- Custom Death Message
- Custom Npc Collector (trade items per Coins)
- Readd point command
- Advanced Make itens (/make, /drop, /makeset)
- Custom Rank User System (S4,S6)
- Disable HP Bar of Monster or User Option
- Updated JoinServer to fix dupes
- Allow Pk enter in events (BC,CC,DS)

Source


MuServer


Client
 
Last edited by a moderator:
Newbie Spellweaver
Joined
Jan 28, 2012
Messages
83
Reaction score
16
How to fix... new compiled GS with Source Louis emulator update 4

Code:
GameServer

Error
Nao autorizado (#1).
Verifique sua licença com mosso suporte!

Source Code :
 
Last edited:
Master Summoner
Joined
Feb 17, 2017
Messages
580
Reaction score
72
How to fix... new compiled GS with Source Louis emulator update 4

Code:
GameServer

Error
Nao autorizado (#1).
Verifique sua licença com mosso suporte!

Source Code :


#ifndef PROTECT_STATE
#define PROTECT_STATE 0
#endif

I know you use Luis release :D, here, to work all Premium features,

Remove this on ServerInfo.cpp PROTECT_STATE == 1 &&
 
Last edited by a moderator:
Newbie Spellweaver
Joined
Jul 5, 2007
Messages
21
Reaction score
0
Does anyone know how to enable more text lines in item tooltiptext eng.bmd from the sourse? I think the maximum is 512

Español

alguien sabe como habilitar mas lineas de texto en itemtooltiptext_eng.bmd desde la sourse? creo que el maximo es 512
 
Newbie Spellweaver
Joined
Dec 28, 2012
Messages
7
Reaction score
0
Hi guys, I need help on changing the level rule to enter events for master levels (BC, DS, ....). I am using season 8 files by the way.

The issue I am having now is that, when my character finished 3rd quest and became 3rd class, I made character reset to level 1 and tried to enter Blood Castle, I have to go to BC8 instead of BC1 (my character level is 50).

What I am expecting is that I need to go BC1, even if my character is master class, as long as it is less than 400, it has to go normal BC level like 2nd classes.

I have tried to looked at the BloodCastle.cpp file and change the GetUserAbleLevel function to return correct BC level for my character. But I am still unable to get it done. Whenever I speak to the NPC (the angels in Devias), it only gives me one option to BC8 instead of BC1. It looks like I need to change the rule at the moment I speak to the NPC and received the message from CGBloodCastleEnterRecv function. Also I have tried to open all of the projects in the season 8 source, but I can't find the place that send the message to Blood Castle event (PMSG_BLOOD_CASTLE_ENTER_RECV).

Anyone can help me track the location where client event message to game server?
Great thanks
 
(づ。◕‿‿◕。)
Loyal Member
Joined
Jun 23, 2014
Messages
1,853
Reaction score
423
Here i leave my old source for smoke effect for s6 loading effects from a file i have a new method so i dont need this one anymore, have fun:


Smoke.cpp
Code:
//-------------------------------------------------------------------------------------------------------#include "StdAfx.h"
#include "Smoke.h"
#include "Util.h"
//#include "MemScript.h"
//-------------------------------------------------------------------------------------------------------
DWORD pItemType = 0;
float a = 0.0f, b = 0.0f, c = 0.0f;
Smoke gSmoke;
//-------------------------------------------------------------------------------------------------------
Smoke::Smoke()
{
	for (int i = 0; i < MAX_SMOKE_EFFECT; i++)
	{
		this->RGB[i].Index = i;
		this->RGB[i].ColorR = 1;
		this->RGB[i].ColorG = 1;
		this->RGB[i].ColorB = 1;
	}
}
//-------------------------------------------------------------------------------------------------------
Smoke::~Smoke()
{
	//--
}


void Smoke::LoadEffects()
{
#ifdef load_smoke
	CMemScript* lpMemScript = new CMemScript;
	//--
	if (lpMemScript == 0)
	{
		MessageBox(NULL, "Smoke couldn't be loaded", "Error", MB_OK | MB_ICONERROR);
		ExitProcess(1);
		return;
	}
	//--
	if (lpMemScript->SetBuffer(SMOKE_FILE_PATH) == 0)
	{
		MessageBox(NULL, "Smoke not found", "Error", MB_OK | MB_ICONERROR);
		delete lpMemScript;
		ExitProcess(1);
		return;
	}
	//--
	try
	{
		while (true)
		{
			if (lpMemScript->GetToken() == TOKEN_END)
			{
				break;
			}
			//--
			int section = lpMemScript->GetNumber();
			//--
			while (true)
			{
				if (section == 0)
				{
					for (int i = 0; i < MAX_SMOKE_EFFECT; i++)
					{
						if (strcmp("end", lpMemScript->GetAsString()) == 0)
						{
							break;
						}
						//--
						this->RGB[i].Index = lpMemScript->GetNumber();
						this->RGB[i].ColorR = (float)(lpMemScript->GetAsFloatNumber());
						this->RGB[i].ColorG = (float)(lpMemScript->GetAsFloatNumber());
						this->RGB[i].ColorB = (float)(lpMemScript->GetAsFloatNumber());
						//--
					}
				}
				else{ break; }
			}
		}
	}
	catch (...)
	{
		MessageBox(NULL, lpMemScript->GetLastError(), "Error", MB_OK | MB_ICONERROR);
	}
	delete lpMemScript;
#endif


	this->RGB[4].Index = 4;
	this->RGB[4].ColorR = 0.3f;
	this->RGB[4].ColorG = 0.8f;
	this->RGB[4].ColorB = 1.0f;
}
//-------------------------------------------------------------------------------------------------------
__declspec(naked) void Smoke::SetItemEffect()
{
	__asm
	{
		Mov pItemType, Eax
	}


	for (int i = ITEM_GET(11, 0); i < ITEM_GET(11, 255); i++)
	{
		if (pItemType == i)
		{
			__asm
			{
				Mov Esi, HDK_ITEM_EFFECT_ALLOW
				JMP Esi
			}
		}
	}


	__asm
	{
		Mov Esi, HDK_ITEM_EFFECT_NOT_ALLOW
		JMP Esi
	}
}


__declspec(naked) void Smoke::SetColorEffect()
{
	__asm
	{
		Mov pItemType, Ecx
	}


	switch (pItemType)
	{
		//dorado
	case ITEM_GET(11, 0):case ITEM_GET(11, 2):case ITEM_GET(11, 5):case ITEM_GET(11, 7):case ITEM_GET(11, 8):case ITEM_GET(11, 10):case ITEM_GET(11, 11):
	case ITEM_GET(11, 16):case ITEM_GET(11, 22):case ITEM_GET(11, 29):case ITEM_GET(11, 33):case ITEM_GET(11, 35):case ITEM_GET(11, 38):case ITEM_GET(11, 46):
	{
		a = 0.88f;
		b = 0.7638f;
		c = 0.0088f;


		__asm
		{
				//R
			MOV EDX, DWORD PTR SS : [EBP + 0xC]
			MOV EAX, a
			MOV DWORD PTR DS : [EDX + 0x9C], EAX   //Red Color Value
				//G
			MOV EAX, DWORD PTR SS : [EBP + 0xC]
			MOV ECX, b
			MOV DWORD PTR DS : [EAX + 0xA0], ECX    //Green Color Value
				//B
			MOV ECX, DWORD PTR SS : [EBP + 0xC]
			MOV EDX, c
			MOV DWORD PTR DS : [ECX + 0xA4], EDX   //Blue Color Value
		}
	}
	break;
	//rojo
	case ITEM_GET(11, 1):case ITEM_GET(11, 21):case ITEM_GET(11, 24):case ITEM_GET(11, 37):case ITEM_GET(11, 48):case ITEM_GET(11, 51):
	{
		a = 0.89f;
		b = 0.2884f;
		c = 0.1958f;


		__asm
		{
				//R
			MOV EDX, DWORD PTR SS : [EBP + 0xC]
			MOV EAX, a
			MOV DWORD PTR DS : [EDX + 0x9C], EAX   //Red Color Value
				//G
			MOV EAX, DWORD PTR SS : [EBP + 0xC]
			MOV ECX, b
			MOV DWORD PTR DS : [EAX + 0xA0], ECX    //Green Color Value
				//B
			MOV ECX, DWORD PTR SS : [EBP + 0xC]
			MOV EDX, c
			MOV DWORD PTR DS : [ECX + 0xA4], EDX   //Blue Color Value
		}
	}
	break;
	//azul
	case ITEM_GET(11, 3):case ITEM_GET(11, 9):case ITEM_GET(11, 12):case ITEM_GET(11, 17):case ITEM_GET(11, 25):case ITEM_GET(11, 28):case ITEM_GET(11, 30):
	{
		a = 0.1584f;
		b = 0.6034f;
		c = 0.88f;


		__asm
		{
				//R
			MOV EDX, DWORD PTR SS : [EBP + 0xC]
			MOV EAX, a
			MOV DWORD PTR DS : [EDX + 0x9C], EAX   //Red Color Value
				//G
			MOV EAX, DWORD PTR SS : [EBP + 0xC]
			MOV ECX, b
			MOV DWORD PTR DS : [EAX + 0xA0], ECX    //Green Color Value
				//B
			MOV ECX, DWORD PTR SS : [EBP + 0xC]
			MOV EDX, c
			MOV DWORD PTR DS : [ECX + 0xA4], EDX   //Blue Color Value
		}
	}
	break;
	//verde
	case ITEM_GET(11, 6):case ITEM_GET(11, 13):case ITEM_GET(11, 26):case ITEM_GET(11, 31):case ITEM_GET(11, 36):case ITEM_GET(11, 39):case ITEM_GET(11, 50):
	{
		a = 0.4875f;
		b = 0.75f;
		c = 0.5444f;


		__asm
		{
				//R
			MOV EDX, DWORD PTR SS : [EBP + 0xC]
			MOV EAX, a
			MOV DWORD PTR DS : [EDX + 0x9C], EAX   //Red Color Value
				//G
			MOV EAX, DWORD PTR SS : [EBP + 0xC]
			MOV ECX, b
			MOV DWORD PTR DS : [EAX + 0xA0], ECX    //Green Color Value
				//B
			MOV ECX, DWORD PTR SS : [EBP + 0xC]
			MOV EDX, c
			MOV DWORD PTR DS : [ECX + 0xA4], EDX   //Blue Color Value
		}
	}
	break;
	//morado
	case ITEM_GET(11, 15):case ITEM_GET(11, 19):case ITEM_GET(11, 20):case ITEM_GET(11, 23):case ITEM_GET(11, 32):case ITEM_GET(11, 44):
	{
		a = 0.6573f; //R
		b = 0.3198f; //G
		c = 0.78f; //B


		__asm
		{
				//R
			MOV EDX, DWORD PTR SS : [EBP + 0xC]
			MOV EAX, a
			MOV DWORD PTR DS : [EDX + 0x9C], EAX   //Red Color Value
				//G
			MOV EAX, DWORD PTR SS : [EBP + 0xC]
			MOV ECX, b
			MOV DWORD PTR DS : [EAX + 0xA0], ECX    //Green Color Value
				//B
			MOV ECX, DWORD PTR SS : [EBP + 0xC]
			MOV EDX, c
			MOV DWORD PTR DS : [ECX + 0xA4], EDX   //Blue Color Value
		}
	}
	break;
	//rosa
	case ITEM_GET(11, 40):case ITEM_GET(11, 41):case ITEM_GET(11, 42):case ITEM_GET(11, 43):case ITEM_GET(11, 47):case ITEM_GET(11, 49):case ITEM_GET(11, 53):
	{
		a = 0.92f; //R
		b = 0.3864f; //G
		c = 0.8489f; //B


		__asm
		{
				//R
			MOV EDX, DWORD PTR SS : [EBP + 0xC]
			MOV EAX, a
			MOV DWORD PTR DS : [EDX + 0x9C], EAX   //Red Color Value
				//G
			MOV EAX, DWORD PTR SS : [EBP + 0xC]
			MOV ECX, b
			MOV DWORD PTR DS : [EAX + 0xA0], ECX    //Green Color Value
				//B
			MOV ECX, DWORD PTR SS : [EBP + 0xC]
			MOV EDX, c
			MOV DWORD PTR DS : [ECX + 0xA4], EDX   //Blue Color Value
		}
	}
	break;
	//blanco
	default:
	{
		a = 0.9f;
		b = 0.9f;
		c = 0.9f;


		__asm
		{
				//R
			MOV EDX, DWORD PTR SS : [EBP + 0xC]
			MOV EAX, a
			MOV DWORD PTR DS : [EDX + 0x9C], EAX	//Red Color Value
				//G
			MOV EAX, DWORD PTR SS : [EBP + 0xC]
			MOV ECX, b
			MOV DWORD PTR DS : [EAX + 0xA0], ECX	//Green Color Value
				//B
			MOV ECX, DWORD PTR SS : [EBP + 0xC]
			MOV EDX, c
			MOV DWORD PTR DS : [ECX + 0xA4], EDX   //Blue Color Value
		}
	}
	break;
	}


	__asm
	{
		Mov Esi, HDK_NEXT_ITEM_COLOR
		JMP Esi
	}
}


void Smoke::AttachNewEffect()
{
	//--
	for (int i = 0; i < 11; i++)
	{
		SetByte(HDK_SET_ITEM_EFFECT, 0x90);
	}
	//--
	SetCompleteHook(0xE9, HDK_SET_ITEM_EFFECT, &Smoke::SetItemEffect);
	//--
	for (int i = 0; i < 47; i++)
	{
		SetByte(HDK_SET_COLOR_EFFECT, 0x90);
	}
	//--
	SetCompleteHook(0xE9, HDK_SET_COLOR_EFFECT, &Smoke::SetColorEffect);
	//--
}

Smoke.h

Code:
#pragma once

#define ITEM_ID 1171
#define ITEM_GET(x, y) (x * 512 + y) + ITEM_ID


#define HDK_SET_ITEM_EFFECT 0x0057AD82 //0x0052B0DB
#define HDK_SET_COLOR_EFFECT 0x0057AEFA //0x0052B122
#define HDK_ITEM_EFFECT_ALLOW 0x0057AD8D //0x0052B0E7
#define HDK_ITEM_EFFECT_NOT_ALLOW 0x0057B73B //0x0052B9E0
#define HDK_NEXT_ITEM_COLOR 0x0057AF2E //0x0052B150


#define MAX_SMOKE_EFFECT 256
#define SMOKE_FILE_PATH ".\\Data\\Custom\\SmokeEffect.rgb"


struct SmokeRGB
{
	int Index;
	float ColorR;
	float ColorG;
	float ColorB;
};
class Smoke
{
public:
	Smoke();
	virtual ~Smoke();


	void LoadEffects();
	void SetItemEffect();
	void SetColorEffect();
	void AttachNewEffect();


	SmokeRGB RGB[MAX_SMOKE_EFFECT];
private:
}; extern Smoke gSmoke;


SmokeEffect.rgb
Code:
0	4	0.8	0.3	1
end
 
Newbie Spellweaver
Joined
Jun 4, 2012
Messages
87
Reaction score
12
Como agregar nuevos mapas?¿?¿
how to add new maps
 
Back
Top