Quantcast
Channel: RaGEZONE - MMO Development Forums
Viewing all 30741 articles
Browse latest View live

[Guide] How to make Custom Jewels for any version

$
0
0
This guide is focus on how to make custom jewels for any Mu Online version.

I'll make an example of Mu Online Season 12.

1. Explain Custom Jewels:
- Jewel of Dark Bless (14, 500): upgrade your item to Lv6
- Jewel of Dark Soul (14, 501): upgrade your item to Lv9
- Jewel of Dark Life (14, 502): upgrade your item to +28 op
- Jewel of Excess (14, 503): randomly change your excellent options
- Jewel of Luck (14, 504): add luck to your item
- Jewel of Science (14, 505): add skill to your item
- Jewel of Kundun (14, 506): upgrade your item to Lv15
- Jewel of Kondar (14, 507): upgrade your item to Full Option (FO)
- Jewel of Wisdom (14, 508): add extra socket to your socket item

2. Prepare:
- Mu Server Source Code: you must have source code to make this feature.
- Understand how item work. For season 12, you can read this guide: http://forum.ragezone.com/f196/guide...eason-1175952/ . For other versions, it'll be different, you need to find guide of your version.

3. Let's begin:
- Step 1: create CustomJewel.h & CustomJewel.cpp

CustomJewel.h

Code:


#include "zzzitem.h"
#include "user.h"
class CustomJewel
{
public:
        CustomJewel(void);   

        virtual ~CustomJewel(void);
        bool IsCustomJewel(int itemId);
        bool ProcessCustomJewel(LPOBJ lpObj, int JewelPos, int TargetPos);

        bool InsertJewelOfDarkBless(LPOBJ lpObj, int JewelPos, int TargetPos);

        bool InsertJewelOfLuck(LPOBJ lpObj, int JewelPos, int TargetPos);
private:

}
extern CustomJewel gCustomJewelSystem;

CustomJewel.cpp

Code:


#include "StdAfx.h"

#include "CustomJewel.h"

CustomJewel gCustomJewelSystem;

CustomJewel::CustomJewel(void)

{

}

CustomJewel::~CustomJewel(void)

{

}

bool CustomJewel::IsCustomJewel(int itemId)
{
      if (itemId >= ITEMGET(14, 500) && itemId <= ITEMGET(14, 508))
      {
            return true;
      }
      return false;
}

bool CustomJewel::ProcessCustomJewel(LPOBJ lpObj, int JewelPos, int TargetPos)
{

        if (JewelPos < 0 || JewelPos > MAIN_INVENTORY_SIZE - 1)   
        {               
                return false;       
        }     
 
        if (TargetPos < 0 || TargetPos > MAIN_INVENTORY_SIZE - 1)       

        {               
                return false;       

        }     
 
        if (!lpObj->pInventory[JewelPos].IsItem() || !lpObj->pInventory[TargetPos].IsItem())       
        {               
                return false;       
        }       

        int JewelCode = lpObj->pInventory[JewelPos].m_Type;       

        int TargetCode = lpObj->pInventory[TargetPos].m_Type;

        switch (JewelCode)
        {
                case ITEMGET(14, 500):
                        return this->InsertJewelOfDarkBless(lpObj, JewelPos, TargetPos);
                case ITEMGET(14, 504):
                        return this->InsertJewelOfLuck(lpObj, JewelPos, TargetPos);
                default:
                        return false;
        }
}

bool CustomJewel::InsertJewelOfDarkBless(LPOBJ lpObj, int JewelPos, int TargetPos)
{
        if (lpObj->pInventory[TargetPos].m_Level < 6)
        {           
                lpObj->pInventory[TargetPos].m_Level = 6;           
                gObjInventoryItemSet(lpObj->m_Index, JewelPos, -1);           
                lpObj->pInventory[JewelPos].Clear();           
                GSProtocol.GCInventoryItemOneSend(lpObj->m_Index, TargetPos);           
                GSProtocol.GCInventoryItemDeleteSend(lpObj->m_Index, JewelPos, 1);           
                MsgOutput(lpObj->m_Index, "Use Jewel of Dark Bless successful. Your item was upgraded to Lv6");           
                return true;       
        }       
        else
        {           
                MsgOutput(lpObj->m_Index, "Can not use Jewel of Dark Bless. Your item is higher than Lv6");           
                return false;       
        }
}

bool CustomJewel::InsertJewelOfLuck(LPOBJ lpObj, int JewelPos, int TargetPos)
{
        if (lpObj->pInventory[TargetPos].m_Option2 == 0)
        {       
                lpObj->pInventory[TargetPos].m_Option2 = 1;       
                gObjInventoryItemSet(lpObj->m_Index, JewelPos, -1);       
                lpObj->pInventory[JewelPos].Clear();       
                GSProtocol.GCInventoryItemOneSend(lpObj->m_Index, TargetPos);       
                GSProtocol.GCInventoryItemDeleteSend(lpObj->m_Index, JewelPos, 1);       
                MsgOutput(lpObj->m_Index, "Use Jewel of Luck successful. Your item was added Luck option");       
                return true;    }   
        else
        {       
                MsgOutput(lpObj->m_Index, "Can not use Jewel of Luck. Your item already has Luck option");       
                return false;   
        }
}

- Step 2: add to protocol.cpp
In protocol.cpp, include your CustomJewel.h

Code:


#include "CustomJewel.h"

Find function CGUseItemRecv and add your logic:

Code:


void GameProtocol::CGUseItemRecv(PMSG_USEITEM* lpMsg, int aIndex)
{
      ....

      if (....)
      {
            ....
      }
      else if (....)
      {
            ....
      }

      else if (gCustomJewelSystem.IsCustomJewel(citem->m_Type))
      {           
            gCustomJewelSystem.ProcessCustomJewel(&gObj[aIndex], lpMsg->inventoryPos, lpMsg->invenrotyTarget);       
      }

      ....

}


That's logic of making Custom Jewels. These example above is Jewel of Dark Bless and Jewel of Luck. For other custom jewels, you need to code by yourself.

Have a nice day.









Change name card name already exist? even if i type anything

$
0
0
DB:42000, NativeError:8144, [Microsoft][SQL Server Native Client 10.0][SQL Server]Procedure or function RenameCharacter has too many arguments specified.

[Release] Bloody Dragon

$
0
0
[Release] Bloody Dragon

Bloody (Ice) Dragon Weapons and Shield.

Hello! I know it is not a professional work but I just wanted to share it
Spoiler:

I changed its color using Photoshop.

First, convert texture/.dds file to png

Open the converted file with Photoshop

Use Hue/Saturation (Ctrl + U) -> Checked Colorize -> Choose desire color

and then save.

Open Modeleditor (ATools.

Open o3d file ->
Edit ->
Edit effects ->
click .dds ->
Change texture ->
Ok ->
Save the new .o3d file.

Done

It's up to you if you want to make it back to .dds file.

Click the image below for Bloody Dragon Link.

Base model by:@xhien

Cant read my Runnable after port to vs 2012

$
0
0
Someone have experience like this? im porting national gunz source from visual studio 2003 to vs 2012 then after a successful build and putting to gunntcrypt and copying the encryption.exe to Client files rename to Gunz.exe and run it god it doesn't work.

this is my mlog

Cannot open system/locale.xml file.
Error!! - StringTable Initalize Failed
Cannot open system/gametypecfg.xml file.
Invalid Locale

Gregon13 Source Antilead ready to Visual Studio 2012 or 2013

$
0
0
Modified Source (CTF + Anti-Lead + DamageCounter + Fixed already apply from cpp and header

messages.xml

<!-- CTF -->
<MSG id="9915">Capture The Flag</MSG>

VS2012 or VS2013 support also Suggested Build - Korea_Release_Publish

Serialkey works again for all builds
Full Anti-Lead + Damage Counter

Download : https://www.mediafire.com/file/2fzyx..._2k13.rar/file

Enjoy!

Creadits to OldSchoolGZ known as Gregon13 for the source
Me for porting from vs 2003 to vs 2012 also 2013.

[L2OFF - C4] L2 Omen of Disgrace x50

$
0
0
http://omenofdisgrace.online/register.asp

final stage of open beta - join us!

MAIN-CLASS ( NOT STACK NOT ACUMULABLE )
GMSHOP
GLOBALGK
NPCBUFFER ( Basic no COV no Vampire )
L2Day scroll of mana recharge converted to omen super buff for novice char exp
wearable tattoos

SUB-CLASS and NOBLESS with Quest and items in shop
hero skills via hero jewels


added zones

Blood Cartia
Magmeld Territory
Hunter Village combat zone
school of dark arts tune up for lvl 78 farm


added armors

Apella
Epic DK
New Dynasty
Seraph
Twilight
Immortal
Eternal
Leviathan

added weapons

Mordor
Monster weapons
Omen weapons ( a recolection mix icarus,vesper, freya )
Tears
Valakas
Lindvior

Skill system auto-learn

Shilen Icon - just like angelic but with vampiric rage for DA and SK
animations enhance for some skills
your Warlock can summon a Medusa!
added Darion Raid Boss

Master Server Emu

$
0
0
Hello Guys any Free Master server files? I whant to test this

(Request) byteClass

$
0
0
Does anyone have a list of the byteClass id's in TantraParam.xml?

Example:
4098 = Cannot be dropped but can be traded
2102 = Cannot be traded/vend

etc2
I wanna know how to make some items(like a costume) unrepairable except for magic hammer (not nakudo hammer or npc) and other stuff.

Thanks

Limit gold inventory

$
0
0
Help me for solving the limit gold in inventory please

(PAID) looking for professional service to recreate mu online

$
0
0
Hello guys

Im searching for a team or professional services to recreate mu online ..

Contact me on the website so we can have a deal

skeleton tools

$
0
0
do you have a skeleton tools please help me

kms 1.2.6 localhost?

Formule EXP

$
0
0
How to prevent a low level user from subtracting high level EXP when defeated?

I have tried various formulas and cannot get it, you will have an example or a formula which you will use so you can share it with me.

Questions about editing effects of Item.wz> Cash> 0501.img.

$
0
0
Modify item.wz> Cash> 0501.img> WzCanvasProperty in the effect of any item to save, it will lead to all WzCanvasProperty damage.

Is there any way to compile special effects. Thank you.

Era Zero Client + Server + Source ALL

$
0
0
链接:https://pan.baidu.com/s/1T3kcRS_l_3jbIb8r6A75YQ
提取码:v6mn

- - - Updated - - -

I successfully set up the server side. But the client core cannot read the IP address and the game cannot enter

- - - Updated - - -

Should be the location to read serverlist.cfg

- - - Updated - - -

The client has some problems
Attached Thumbnails
Click image for larger version. 

Name:	U7_~EP[}ONL816H{S5%S4KA.jpg 
Views:	N/A 
Size:	228.7 KB 
ID:	167313  

MU-PRV [TEST][S9] Exp 2000x MasterExp 100x Drop 50%

$
0
0
I wanna invite You on my private server for testing. Now is work on paid version of files (MUEMU with DmnCMS). Some info below:

- MU-PRV Home

- Exp X2000 (for now)
- MasterExp X100 (for now)
- Max stats 32k
- Max resets 70 (for now)
- No Grand Resets (for now)
- No WebShop (for now)
- No P2W (Pay to Win)
- Blood Castle, Chaos Castle, Devil Square, ILLUSION TEMPLE, KALIMA
- Muun System
- Acheron
- Red/Golden/White Invasions
- Award system for logging time (Goblin Points) and events BC, CC, itp (WCoin)

Please join, register, test and write here any suggestions. BTW I have no access to source files that any bugs who need change source code will not be fix.


Wysłane z iPhone za pomocą Tapatalk

PointBlank19 Problems

$
0
0
Hello i use this files: http://forum.ragezone.com/f904/relea...happy-1170804/

i create a website to register the account with md5 hash
then i tried to login in the game with wrong password for testing purpose, but it successfully logged in. where its should be not right?

There is like no password nor ID authentication in game login screen.

I already have some stupid research like:
- looking at the BC logs while logging in
- looking at the vs solution files for the login script
- looking at the pbbuild data and network
- last is looking at the script.i3pack
and i cannot find it.

where's the file i should fix? thank you.

Crash when joining a new map with a new ticket

$
0
0
Hi ! I created a map on my server, the map work, but when I add a ticket to join this map and I join this map by ticket, my client crash and when I reconnect the same character, he crash, so the character is unusable.
First I supposed that was cause of loading screen, so I added a loading screen in DPclient.cpp :
Code:

else if (dwWorldID == WI_WORLD_TEST)
        strPath = MakePath("Theme\\Default\\", "MapLoading_Cisland.tga");

But doesn't work too.
Here are the logs :
Neuz.exe caused an EXCEPTION_ACCESS_VIOLATION in module Neuz.exe at 0023:009A1A50, CWndWorld::RenderBuff()+0448 byte(s), c:\users\user\downloads\SP Flyff\source\_interface\wndworld.cpp, line 10955+0003 byte(s)

I checked wndworld.cpp at line 10955 :

Code:

if( pItemProp->dwItemKind3 == IK3_EXP_RATE )
                {

                    if( bHasExpRender == TRUE )
                        continue;
                    else
                    {
                        RenderExpBuffIcon( p2DRender, pBuff, pInfo, ptMouse, wId );
                        bHasExpRender = TRUE;
                        continue;
                    }
                }

If someone could help me, thanks !

Very intellectual Gathering

$
0
0
I’ve decided to work out this questionable problem which could change all of humanity for the greater of god, so let me get down to the big time details before anyone has any input whatsoever.

I figured that it started to rain outside and no it’s not because of the old timer on top of my roof letting his bowels loose over my window and it’s not because of the sun being out therefore causing it to rain, and I couldn’t also help to notice that I had apples in my food bowl.

I found this to be very intellectual since I began counting my apple, I had 5 apples till I ate one and now I’ve recounted them. I’ve got 12 apples.

I also ended up facing another difficult lifetime dilemma, I sat on the toilet and realised that I was stuck to the toilet and it wasn’t because someone accidentally super glued me to it and likewise for being too big that I got stuck inside of the toilet seat, I noticed that there was no toilet rolls, so I was stuck with fear, I’m sure we’ve all been there.

It was pretty scary; although I felt like I was in one of those Hollywood horror films and that was pretty fun since you can feel the fear building up... who’s about to open that door, is someone gonna murder me now or will the toilet flush and suck me down it?

If anyone else has had some strange yet outstanding or even phenomenal occurrences, then do share!

Webhosting

$
0
0
Can anyone give me a recommendation of web hosting.
Viewing all 30741 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>