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!

[Development] Adding Effects to Items (Easy Way)

Experienced Elementalist
Joined
Nov 19, 2007
Messages
213
Reaction score
95
Please reupload source code, all links are offline...
 
Last edited:
Experienced Elementalist
Joined
Nov 19, 2007
Messages
213
Reaction score
95
how to fix increase effect set item :(

With the source, but where is the link?
All things he posted in the forum after 1, 2 days he delete link...
of course, topics need to be deleted too, because is unusable
 
Newbie Spellweaver
Joined
Dec 20, 2014
Messages
55
Reaction score
2
give me the source time server and source Effects and inform people online game
 
Newbie Spellweaver
Joined
Jun 30, 2015
Messages
22
Reaction score
0
HELP.. I try add effect wing custom like wing 3 DK but not success . I used Main 1.04D. 12*512+36+1171 = 7351 .Hexadecimal: 1CB7 .
Code:
void __declspec(naked) WingsOfStormEffect(){
    _asm
    {
        MOV EAX, DWORD PTR SS:[EBP+0x0c]
        MOV dwItem, EAX


        CMP dwItem,ObjectId(0,37)
        JE Return
        CMP dwItem, ObjectId(12, 205)
        JE Return
        CMP dwItem, ObjectId(12, 180)
        JE Return
        Return:
        MOV ECX,0x0060C153
        JMP ECX
    }
void WingsLevel3EffectsHook()
{
     SetNop(0x0060C14C, 5);    WriteJmp(0x0060C14C, (DWORD)&WingsOfStormEffect);

Code:
#ifndef NEMESIS_H#define NEMESIS_H


#include "Stdafx.h"


DWORD dwItem;
#define ItemArray 1171 //IS ITEMARRAY FOR MAIN 1.04d GMO
#define ItemId(x, y) ((x * 512) + y)
#define ObjectId(x, y) ((x * 512) + y + ItemArray)


void WingsLevel3EffectsHook();


#endi










Kiosani - [Development] Adding Effects to Items (Easy Way) - RaGEZONE Forums







Kiosani - [Development] Adding Effects to Items (Easy Way) - RaGEZONE Forums
 
Last edited:
Newbie Spellweaver
Joined
Jun 30, 2015
Messages
22
Reaction score
0
UPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP . Please HELP ME
 
Skilled Illusionist
Joined
Dec 9, 2009
Messages
373
Reaction score
42
Hi mauro07,

I try to make effect of Flameberge (0,26) on the custom Asura (0,30) but it doesn't have flame around the Asura sword, how can I make it? (I added more bone to the same 18 bones with Flameberge already)

My code (main 1.04D):
void __declspec(naked) FlameBergeEffect() // 18 Bones (success)
{
_asm
{
MOV EAX, DWORD PTR SS:[EBP+0x10]
MOV dwItem, EAX
// ----
CMP dwItem,ObjectId(0,26)
JE Return
// ----
CMP dwItem,ObjectId(0,30) // Asura
JE Return
// ----
Return:
MOV EAX,0x005FBEAB
JMP EAX
}
}

void ItemEffectLoad()
{
ToolKit.SetNop(0x005FBEA4, 5);
ToolKit.WriteJmp(0x005FBEA4, (DWORD)&FlameBergeEffect);
}

And here is the image of before and after using the effect:
Before:


After:
 
Joined
Oct 29, 2007
Messages
1,289
Reaction score
1,308
Hi mauro07,

I try to make effect of Flameberge (0,26) on the custom Asura (0,30) but it doesn't have flame around the Asura sword, how can I make it? (I added more bone to the same 18 bones with Flameberge already)

My code (main 1.04D):
void __declspec(naked) FlameBergeEffect() // 18 Bones (success)
{
_asm
{
MOV EAX, DWORD PTR SS:[EBP+0x10]
MOV dwItem, EAX
// ----
CMP dwItem,ObjectId(0,26)
JE Return
// ----
CMP dwItem,ObjectId(0,30) // Asura
JE Return
// ----
Return:
MOV EAX,0x005FBEAB
JMP EAX
}
}

void ItemEffectLoad()
{
ToolKit.SetNop(0x005FBEA4, 5);
ToolKit.WriteJmp(0x005FBEA4, (DWORD)&FlameBergeEffect);
}

And here is the image of before and after using the effect:
Before:


After:

Well... to start.. Flamberge have (various) effects... some of this are from: Viewport (Player + Items viewed on the Game), and anothers are from: Player Inventory... when you say: "Flames" you like add: "flamestani.jpg" texture effect (Effect from flamberge view on Player Inventory + Viewport) or are you talking about: "flareRed.jpg" (Used by wz on Flamberge Item Visual only from: Viewport), bcz isn't the same... Texture Effect from Flamberge is possible add with only re-write Assembler Inline main.exe memory (How on this source that I make with 3rd Wing Effects). but the: flareRed effect on 1 "Sprite" is more difficult to make only with assembler re-writed code.. is necesary decompilation process from your main.exe version. the: "BMD::Class" and his methods to Render effects by Get Bones from Model Position.



If you use: zClient.dll source.. you can see better this the same that I'm saying... on zteam -=DarkSim=- make something like this using.. some of assembly code combined with some Pointers and class. to put Sprites or Static Effect to Wings.
 
Skilled Illusionist
Joined
Dec 9, 2009
Messages
373
Reaction score
42
Well... to start.. Flamberge have (various) effects... some of this are from: Viewport (Player + Items viewed on the Game), and anothers are from: Player Inventory... when you say: "Flames" you like add: "flamestani.jpg" texture effect (Effect from flamberge view on Player Inventory + Viewport) or are you talking about: "flareRed.jpg" (Used by wz on Flamberge Item Visual only from: Viewport), bcz isn't the same... Texture Effect from Flamberge is possible add with only re-write Assembler Inline main.exe memory (How on this source that I make with 3rd Wing Effects). but the: flareRed effect on 1 "Sprite" is more difficult to make only with assembler re-writed code.. is necesary decompilation process from your main.exe version. the: "BMD::Class" and his methods to Render effects by Get Bones from Model Position.



If you use: zClient.dll source.. you can see better this the same that I'm saying... on zteam -=DarkSim=- make something like this using.. some of assembly code combined with some Pointers and class. to put Sprites or Static Effect to Wings.

Thank you for your clear explanation, however this is something over my knowledge, I have not learned on ASM yet :)

Yes, I am using zclient 6.3. As I see from the source, darksim use only 1 default asm code and apply for all wings (just change in selection of static effect on each wing's bone), so for the weapon effect like you said, is that the same, means using 1 asm code phrase and just apply the effect (mean the static/dynamic effect like wing's effect, not the effect of original weapon like ChaosAxe or FlameBerge) on custom weapon's bone?

And to use the original effect (like use the flame effect of FlameBerge (using the "flamestani.jpg") on Asura for example), can you suggest an example code of "BMD::Class" like you said?

Thanks a lot pro coder.
 
Skilled Illusionist
Joined
Jun 7, 2014
Messages
315
Reaction score
18
can u describe the bones ? .smd file i didnt understand it :X
 
Newbie Spellweaver
Joined
Feb 12, 2012
Messages
60
Reaction score
2
brow give an example of how to create a new effect in new wing?
 
Junior Spellweaver
Joined
Dec 19, 2012
Messages
148
Reaction score
135
Brow how did you do it? could help ? or spend a chunk of source?





Code:
LPVOID  F1_This;
DWORD   F1_Arg1;
DWORD   F1_Arg11;
DWORD   F1_Arg2;
DWORD   F2_Arg5;
DWORD   F3_Arg3;
float Color[3];
DWORD F1Arg11;
DWORD F2Arg5;
DWORD F1Arg2;

DWORD EffectList[60];

DWORD RandomedEffect;


	EffectList[0] = 31738;
	EffectList[1] = 32002;
	EffectList[2] = 32003;
	EffectList[3] = 32005;
	EffectList[4] = 32048;
	EffectList[5] = 32049;
	EffectList[6] = 32054;
	EffectList[7] = 32066;
	EffectList[8] = 32072;
	EffectList[9] = 32073;
	EffectList[10] = 32077;
	EffectList[11] = 32279;
	EffectList[12] = 32101;
	EffectList[13] = 32113;
	EffectList[14] = 32114;
	EffectList[15] = 32115;
	EffectList[16] = 32116;
	EffectList[17] = 32118;
	EffectList[18] = 32119;
	EffectList[19] = 32126;
	EffectList[20] = 32127;
	EffectList[21] = 32128;
	EffectList[22] = 32131;
	EffectList[23] = 32132;
	EffectList[24] = 32140;
	EffectList[25] = 32141;
	EffectList[26] = 32147;
	EffectList[27] = 32217;
	EffectList[28] = 32226;
	EffectList[29] = 32229;
	EffectList[30] = 32231;
	EffectList[31] = 32257;
	EffectList[32] = 32258;
	EffectList[33] = 32258;
	EffectList[34] = 32260;
	EffectList[35] = 32265;
	EffectList[36] = 32066;
	EffectList[37] = 32279;
	EffectList[38] = 32281;
	EffectList[39] = 32287;
	EffectList[40] = 32288;
	EffectList[41] = 32290;
	EffectList[42] = 32292;
	EffectList[43] = 32002;
	EffectList[44] = 32309;
	EffectList[45] = 32310;
	EffectList[46] = 32355;
	EffectList[47] = 32371;
	EffectList[48] = 32376;
	EffectList[49] = 32376;
	EffectList[50] = 32380;
	EffectList[51] = 32402;
	EffectList[52] = 32403;
	EffectList[53] = 32431;
	EffectList[54] = 32492;
	EffectList[55] = 32494;
	EffectList[56] = 32501;
	EffectList[57] = 32523;
	EffectList[58] = 32631;
	EffectList[59] = 32691;

else if (AddWingsEffect_Buff == ITEM2(12, 165))
		{


			
			Color[0] = ((float)(rand() % 100) / 100);
			Color[1] = ((float)(rand() % 100) / 100);
			Color[2] = ((float)(rand() % 100) / 100);//
			
			
			for (int i = 1; i < 48; i++)
			{
			
			memcpy(&F1Arg11, &F1_Arg11, sizeof(F1_Arg11));
			memcpy(&F2Arg5, &F2_Arg5, sizeof(F2_Arg5));
			memcpy(&F1Arg2, &F1_Arg2, sizeof(F1_Arg2));
			pAllowStaticEffect(F1_This, &F1Arg11, F1Arg2, i, 0);
			
			RandomedEffect = EffectList[rand() % 59];
			pPlayStaticEffect(RandomedEffect, &F1Arg11, 1, Color, F2Arg5, 1.0, 0);
			}
		}
 
Experienced Elementalist
Joined
Nov 26, 2013
Messages
270
Reaction score
90
Code:
LPVOID  F1_This;
DWORD   F1_Arg1;
DWORD   F1_Arg11;
DWORD   F1_Arg2;
DWORD   F2_Arg5;
DWORD   F3_Arg3;
float Color[3];
DWORD F1Arg11;
DWORD F2Arg5;
DWORD F1Arg2;

DWORD EffectList[60];

DWORD RandomedEffect;


    EffectList[0] = 31738;
    EffectList[1] = 32002;
    EffectList[2] = 32003;
    EffectList[3] = 32005;
    EffectList[4] = 32048;
    EffectList[5] = 32049;
    EffectList[6] = 32054;
    EffectList[7] = 32066;
    EffectList[8] = 32072;
    EffectList[9] = 32073;
    EffectList[10] = 32077;
    EffectList[11] = 32279;
    EffectList[12] = 32101;
    EffectList[13] = 32113;
    EffectList[14] = 32114;
    EffectList[15] = 32115;
    EffectList[16] = 32116;
    EffectList[17] = 32118;
    EffectList[18] = 32119;
    EffectList[19] = 32126;
    EffectList[20] = 32127;
    EffectList[21] = 32128;
    EffectList[22] = 32131;
    EffectList[23] = 32132;
    EffectList[24] = 32140;
    EffectList[25] = 32141;
    EffectList[26] = 32147;
    EffectList[27] = 32217;
    EffectList[28] = 32226;
    EffectList[29] = 32229;
    EffectList[30] = 32231;
    EffectList[31] = 32257;
    EffectList[32] = 32258;
    EffectList[33] = 32258;
    EffectList[34] = 32260;
    EffectList[35] = 32265;
    EffectList[36] = 32066;
    EffectList[37] = 32279;
    EffectList[38] = 32281;
    EffectList[39] = 32287;
    EffectList[40] = 32288;
    EffectList[41] = 32290;
    EffectList[42] = 32292;
    EffectList[43] = 32002;
    EffectList[44] = 32309;
    EffectList[45] = 32310;
    EffectList[46] = 32355;
    EffectList[47] = 32371;
    EffectList[48] = 32376;
    EffectList[49] = 32376;
    EffectList[50] = 32380;
    EffectList[51] = 32402;
    EffectList[52] = 32403;
    EffectList[53] = 32431;
    EffectList[54] = 32492;
    EffectList[55] = 32494;
    EffectList[56] = 32501;
    EffectList[57] = 32523;
    EffectList[58] = 32631;
    EffectList[59] = 32691;

else if (AddWingsEffect_Buff == ITEM2(12, 165))
        {


            
            Color[0] = ((float)(rand() % 100) / 100);
            Color[1] = ((float)(rand() % 100) / 100);
            Color[2] = ((float)(rand() % 100) / 100);//
            
            
            for (int i = 1; i < 48; i++)
            {
            
            memcpy(&F1Arg11, &F1_Arg11, sizeof(F1_Arg11));
            memcpy(&F2Arg5, &F2_Arg5, sizeof(F2_Arg5));
            memcpy(&F1Arg2, &F1_Arg2, sizeof(F1_Arg2));
            pAllowStaticEffect(F1_This, &F1Arg11, F1Arg2, i, 0);
            
            RandomedEffect = EffectList[rand() % 59];
            pPlayStaticEffect(RandomedEffect, &F1Arg11, 1, Color, F2Arg5, 1.0, 0);
            }
        }

can with this mothod set lighting effects on custom wings like effect on Storm wings? i tryed use randomeffect with lighting models, but not work like i want..
 
Junior Spellweaver
Joined
Dec 19, 2012
Messages
148
Reaction score
135
can with this mothod set lighting effects on custom wings like effect on Storm wings? i tryed use randomeffect with lighting models, but not work like i want..
in static effect there is no effect like storm wing. To get that effect u need to findout what "sub_6D8F20" or sub_545030 do
Code:
case 7351:
                              v258 = 0.0;
                              v259 = 0.0;
                              v260 = 0.0;
                              *(float *)&v288 = 0.0;
                              v289 = 0.0;
                              v290 = 0.0;
                              v38 = flt_5EF5A1C * 0.0003999999898951501;
                              logf_0(v38);
                              v261 = sub_639050(v38) * 0.4000000059604645;
                              *(float *)&v284 = v261 + 0.5;
                              v285 = v261 + 0.5;
                              v286 = v261 + 0.5;
                              v297 = 9;
                              v298 = 20;
                              v299 = 19;
                              v300 = 10;
                              v301 = 18;
                              v302 = 28;
                              v303 = 27;
                              v304 = 36;
                              v305 = 35;
                              v306 = 38;
                              v307 = 37;
                              v308 = 53;
                              v309 = 48;
                              v310 = 62;
                              v311 = 70;
                              v312 = 72;
                              v313 = 71;
                              v314 = 78;
                              v315 = 79;
                              v316 = 80;
                              v317 = 87;
                              v318 = 90;
                              v319 = 91;
                              v320 = 106;
                              v321 = 102;
                              v287 = 0.0;
                              for ( k = 0; k < 25; ++k )
                              {
                                sub_545030((float *)v386,(int)&unk_7BC08A0 + 48 * *(&v297 + k),(int)&v258,(int)&v288, 1); 
                                v287 = 0.5;
                                v39 = flt_5EF5A1C * 0.009999999776482582;
                                pPlayStaticEffect(32260, (int)&v288, 0.5, (int)&v284, a1, v39, 1);
                              }
                              v291 = 11;
                              v292 = 21;
                              v293 = 29;
                              v294 = 63;
                              v295 = 81;
                              v296 = 89;
                              if ( !(rand() % 2) )
                              {
                                for ( l = 0; l < 6; ++l )
                                {
                                  sub_545030(
                                    (float *)v386,
                                    (int)&unk_7BC08A0 + 48 * *(&v291 + l),
                                    (int)&v258,
                                    (int)&v288,
                                    1);
                                  if ( !(rand() % 20) )
                                  {
                                    *(float *)&v284 = 0.60000002;
                                    v285 = 0.60000002;
                                    v286 = 0.89999998;
                                    sub_6D8F20(388, (int)&v288, a1 + 264, (int)&v284, 1, a1, -1, 0, 0, 0, 0.0, -1);
                                  }
                                }
                              }
                              v262 = 64;
                              v263 = 61;
                              v264 = 69;
                              v265 = 77;
                              v266 = 86;
                              v267 = 98;
                              v268 = 97;
                              v269 = 99;
                              v270 = 104;
                              v271 = 103;
                              v272 = 105;
                              v273 = 12;
                              v274 = 8;
                              v275 = 17;
                              v276 = 26;
                              v277 = 34;
                              v278 = 52;
                              v279 = 44;
                              v280 = 51;
                              v281 = 50;
                              v282 = 49;
                              v283 = 45;
                              v40 = flt_5EF5A1C * 0.003000000026077032;
                              logf_0(v40);
                              v287 = sub_639050(v40) * 0.2000000029802322;
                              for ( m = 0; m < 22; ++m )
                              {
                                sub_545030(
                                  (float *)v386,
                                  (int)&unk_7BC08A0 + 48 * *(&v262 + m),
                                  (int)&v258,
                                  (int)&v288,
                                  1);
                                if ( *(&v262 + m) != 12
                                  && *(&v262 + m) != 64
                                  && *(&v262 + m) != 98
                                  && *(&v262 + m) != 52 )
                                {
                                  *(float *)&v284 = 0.80000001;
                                  v285 = 0.5;
                                  v286 = 0.2;
                                  v42 = v287 + 0.300000011920929;
                                  pPlayStaticEffect(32002, (int)&v288, v42, (int)&v284, a1, 0.0, 0);
                                }
                                else
                                {
                                  *(float *)&v284 = 0.89999998;
                                  v285 = 0.0;
                                  v286 = 0.0;
                                  v41 = v287 + 1.399999976158142;
                                  pPlayStaticEffect(32002, (int)&v288, v41, (int)&v284, a1, 0.0, 0);
                                }
                              }
                              break;
 
Back
Top