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] reworked teleporter + drops

Newbie Spellweaver
Joined
Dec 23, 2008
Messages
67
Reaction score
3
It's a file in two places. Where should I add it? I'm a beginner. Please. I use google to translate.
Int16 - [RELEASE] reworked teleporter + drops - RaGEZONE Forums
 
Newbie Spellweaver
Joined
Dec 23, 2008
Messages
67
Reaction score
3
APP_TELE16 -> Resdata.inc/h
PACKETYPE_TELE16 -> Msghdr
And all the other mistakes come from your home, moreover here you would have followed the tutorial you will see that you missed half the steps, I suggest you start again and re-add this properly, you did not follow the tutorial correctly

PS: I just added it and no mistakes on my side

I've been trying for days but I can't make it and I don't understand how to do it. Can you make a sample video to watch? thank you.
 
Newbie Spellweaver
Joined
Jan 8, 2023
Messages
14
Reaction score
1
@ragezonepotato the SendTeleport error via screenshot is a clear indicator you did not add it to DPClient.h and(or) DPClient.cpp in your Neuz project. If you read it it tells you exactly what the problem is lol. Packets are defined in _Network/msghdr.h

@LearningIsGood Make sure you have carried the ResData.h from your source to your server resource and make new res files using merge.

Thanks :)

I thought about that part. What i forgot/didnt know was adding them to resource.txt.

Now im getting this error: 2023/ 1/21 14:30:59 GetDlgItem : nID=1356 not Found.

Got no clue where to look. Hope your helping.

------Update------

Got it fully working. Messed up some WIDC defines on my second resdata.h.

One more Problem to solve has come up. It Displays me the IDS_TP_....... and not the actual Text.
Maybe i can solve it my self or get a little help :)
 
Last edited:
Newbie Spellweaver
Joined
Oct 4, 2022
Messages
38
Reaction score
54
Thanks :)

I thought about that part. What i forgot/didnt know was adding them to resource.txt.

Now im getting this error: 2023/ 1/21 14:30:59 GetDlgItem : nID=1356 not Found.

Got no clue where to look. Hope your helping.

WIDC_LISTBOX did you rename it in your resdata?

and to help you in the future :
"
GetDlgItem : nID=1356 not Found." on this error you can open up resdata.h to see what element it is by searching the number "1356"

in that case its "WIDC_LISTBOX"
now you can see where the error comes from in the resdata inc something seems to be off with the WIDC_LISTBOX i think you renamed it for some reason since the source is trying to grab the information from the resdata entrys
 
Last edited:
Junior Spellweaver
Joined
Feb 27, 2021
Messages
106
Reaction score
9
Hii, i have added your teleporter but when i open my Neuz he crashed no error and when i debug it's that what opening

58SM1jm - [RELEASE] reworked teleporter + drops - RaGEZONE Forums

Int16 - [RELEASE] reworked teleporter + drops - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Jan 8, 2023
Messages
14
Reaction score
1
@Int16
Thanks :) solved it before ive seen your msg ^^

Maybe you can help me on the missing Text Part. It only Displays me IDS_.......
 
Newbie Spellweaver
Joined
Oct 4, 2022
Messages
38
Reaction score
54
@Int16
Thanks :) solved it before ive seen your msg ^^

Maybe you can help me on the missing Text Part. It only Displays me IDS_.......

Check the code again you missed something pretty easy to figure out



Since alot of people are having issues adding the teleporter im going to break down the points where most of the people have problems

defining the packet :
So after adding the code go into your source and open _Network/MsgHdr.h

search for "PACKETTYPE_QUERYMAILBOX_COUNT" and paste the tele16 packet below it and give it a unique number that hasn't been used in this file:
Code:
[COLOR=#000000][COLOR=#af00db]#define[/COLOR][COLOR=#0000ff] PACKETTYPE_QUERYMAILBOX_COUNT               ([/COLOR][COLOR=#001080]DWORD[/COLOR][COLOR=#0000ff])[/COLOR][COLOR=#098658]0x88100241[/COLOR]
[COLOR=#af00db]#define[/COLOR][COLOR=#0000ff] PACKETTYPE_TELE16                           ([/COLOR][COLOR=#001080]DWORD[/COLOR][COLOR=#0000ff])[/COLOR][COLOR=#098658]0xAA00000F[/COLOR][/COLOR]

resource part:
after adding the APP_TELEP16 to your resdata.inc make sure you defined it in the resdata.h:
be sure you used a unique number!

Code:
#define APP_TELE16             2022

AFTER CHANGING SOMETHING IN THE RESDATA.H MAKE SURE YOU COPY IT TO BOTH PATHS
- Server/Resource/Resdata.h
- Source/Resource/Resdata.h

Adding the custom files to the resource:
After downloading the resource files from the thread:

- Drag the png files into Client/Theme/ folder
- Drag the teleport16.inc/teleport16.txt.txt into Server/Resource/ folder
- Inside the Resource folder open "resource.txt" and add the following

Code:
resource 1 "..\ResClient\dataSub2.res"
{
    file "except.txt"
    file "propItem.txt.txt"
    file "Spec_Item.txt"
    file "TreasureCombine.txt"
    file "TreasureItem.txt"
    [COLOR=#ff0000]file "teleport16.inc"
    file "teleport16.txt.txt"[/COLOR]
}

Now merge your resource and you should be good to go
 
Newbie Spellweaver
Joined
Dec 6, 2022
Messages
17
Reaction score
2
Sorry to bump this thread, if you don't mind, I just want to ask, what do you call these items I can't find it in propitem because I'm not sure about the names of the item.

items - [RELEASE] reworked teleporter + drops - RaGEZONE Forums

Thanks again for this wonderful release. :thumbup1:
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Jan 8, 2023
Messages
14
Reaction score
1
I did what most people have trouble with. My only problem was with the resource.txt because I didn't know that. I've tried it several times now and always end up at this point. Now it also shows me the IDS everywhere.

A little help or a little tip please :)

Edit: Using K18.3 maybe i need to do some additonal stuff. :/
 
Inactive
Joined
Jan 20, 2009
Messages
1,014
Reaction score
1,830
I did what most people have trouble with. My only problem was with the resource.txt because I didn't know that. I've tried it several times now and always end up at this point. Now it also shows me the IDS everywhere.

A little help or a little tip please :)

Edit: Using K18.3 maybe i need to do some additonal stuff. :/

Merge and copy the res files from ResData and put them in the client lol...
 
Newbie Spellweaver
Joined
Jan 8, 2023
Messages
14
Reaction score
1
Merge and copy the res files from ResData and put them in the client lol...


Thank you. But I did this already xD Im doing this since i read in Groxys101 Guide for you files "
This merge has to be done every time you change something in the RESOURCE folder!"
"

I changed Resource so i did as mentioned :)

Maybe another Idea :D
 
Inactive
Joined
Jan 20, 2009
Messages
1,014
Reaction score
1,830
The only reason u would get IDS errors would because you don't have the teleporter added to resource with a new merge and copied to client. There is nothing else in this release that has IDS but that teleporter.txt file.
 
Newbie Spellweaver
Joined
Oct 4, 2022
Messages
38
Reaction score
54
Thank you. But I did this already xD Im doing this since i read in Groxys101 Guide for you files "
This merge has to be done every time you change something in the RESOURCE folder!"
"

I changed Resource so i did as mentioned :)

Maybe another Idea :D

I told you before that you've missed some code while copy and pasting and its pretty easy to figure out :blink:
and if its still not displaying the text i would recommend re-adding everything step by step.

Inside "void CProject::LoadStrings()" add :
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
        ,[COLOR=#a31515]"teleport16.txt.txt"[/COLOR]
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
 
Newbie Spellweaver
Joined
Jan 8, 2023
Messages
14
Reaction score
1
I told you before that you've missed some code while copy and pasting and its pretty easy to figure out :blink:
and if its still not displaying the text i would recommend re-adding everything step by step.

Inside "void CProject::LoadStrings()" add :
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
        ,[COLOR=#a31515]"teleport16.txt.txt"[/COLOR]
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]

I've added this Part :) is the --,-- intented to be there ? I delet it always. But ill try it again after work. Thank you. Im trying to figure it out myself. Sorry for asking that much.....still a learner.

---Update---

Nvm. Im a total stupid newbie. Sorry for asking that much. I have to watch better what im doing.
 
Last edited:
Newbie Spellweaver
Joined
Feb 4, 2023
Messages
19
Reaction score
1
Henlo i made this thing that teleports you. Thanks to ketchup and fenris for the help
Its taking all information from resource files:
-teleport16.inc
-teleport16.txt.txt

DONT FORGET TO ADD THE BOTH RESOURCE FILES IN THE resource.txt BEFORE MERGING IT

idk what happend to the quality ( watch in fullscreen )


Download for resource & pictures :

example :

teleport16.inc
Code:
[COLOR=#008000]/*[/COLOR]
[COLOR=#008000]    DWORD dwWorldID;        -> WI_WORLD_MADRIGAL[/COLOR]
[COLOR=#008000]    D3DXVECTOR3 vPos;       -> (5731.7, 87.7 ,8161.8)[/COLOR]
[COLOR=#008000]    TCHAR   szName[64];     -> IDS_TP_055[/COLOR]
[COLOR=#008000]    TCHAR   szDesc[512];    -> IDS_TP_056[/COLOR]
[COLOR=#008000]    TCHAR   szImage[64];    -> "tp_kalgas.png"[/COLOR]
[COLOR=#008000]    DWORD dwBossID;         -> MI_KALGASBOSS[/COLOR]
[COLOR=#008000]    DWORD dwMinLevel;       -> 135[/COLOR]
[COLOR=#008000]    DWORD dwMaxLevel;       -> 0[/COLOR]
[COLOR=#008000]    DWORD dwClassID;        -> 2 ( This is only ment for the dwMinLevel ( 0 = none, 1 = master, 2 = hero) )[/COLOR]
[COLOR=#008000]    DWORD dwCoolDown;       -> 21600 ( cooldown in seconds)[/COLOR]
[COLOR=#008000]*/[/COLOR]
[COLOR=#008000]//and down here is how the resource file looks[/COLOR]
WI_WORLD_MADRIGAL [COLOR=#098658]5731.7[/COLOR] [COLOR=#098658]87.7[/COLOR] [COLOR=#098658]8161.8[/COLOR] IDS_TP_055 IDS_TP_056 [COLOR=#a31515]"tp_kalgas.png"[/COLOR] MI_KALGASBOSS [COLOR=#098658]135[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]2[/COLOR] [COLOR=#098658]21600[/COLOR]
teleport16.txt.txt
Code:
[COLOR=#008000]/*szName & szDesc defined*/[/COLOR]
IDS_TP_055      [Instance] Kalgas Cave
IDS_TP_056      To enter here [COLOR=#0000ff]is[/COLOR] pure folly. It [COLOR=#0000ff]is[/COLOR] believed that th......

Code :
#define __SYS_TELE16 ( and dont forget to define the packet "PACKETTYPE_TELE16" )
Project.cpp
Search for "LoadMotionProp( "propMotion.txt" )"
add above
Code:
#ifdef __SYS_TELE16
    LoadTeleportInfo();
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
    LoadMotionProp( [COLOR=#a31515]"propMotion.txt"[/COLOR] );
    LoadPropMoverEx( [COLOR=#a31515]"PropMoverEx.inc"[/COLOR] );

search for "if( script.Token == "DropItem" )"
scroll a bit down untill you see "di.dwNumber2 = 0;"
add below :
Code:
            [COLOR=#0000ff]if[/COLOR]( script.Token == [COLOR=#a31515]"DropItem"[/COLOR] )
            {
                DROPITEM di;
                memset( &di, [COLOR=#098658]0[/COLOR], sizeof(DROPITEM) );
                di.dtType = DROPTYPE_NORMAL;
                script.GetToken();  [COLOR=#008000]// ([/COLOR]
                di.dwIndex  = script.GetNumber();   [COLOR=#008000]// specific item index[/COLOR]
                [COLOR=#0000ff]if[/COLOR]( di.dwIndex == [COLOR=#098658]0[/COLOR] )
                    Error( [COLOR=#a31515]"%s : %s�� defineItem.h�� ���ǵ��� �ʾ���"[/COLOR], szFileName, script.token );
                ASSERT( di.dwIndex != [COLOR=#098658]0[/COLOR] );
                script.GetToken();  [COLOR=#008000]// ,[/COLOR]
                di.dwProbability    = script.GetNumber();   [COLOR=#008000]// probability[/COLOR]
                script.GetToken();  [COLOR=#008000]// ,[/COLOR]
                di.dwLevel  = script.GetNumber();   [COLOR=#008000]// level[/COLOR]
                script.GetToken();  [COLOR=#008000]// ,[/COLOR]
                di.dwNumber = script.GetNumber();   [COLOR=#008000]// number[/COLOR]
                script.GetToken();  [COLOR=#008000]// )[/COLOR]
[COLOR=#0000ff]#ifdef __WORLDSERVER[/COLOR]
                pProp->m_DropItemGenerator.AddTail( di, pProp->szName );    [COLOR=#008000]// copy[/COLOR]
[COLOR=#0000ff]#endif[/COLOR]
                di.dwNumber2 = [COLOR=#098658]0[/COLOR];

[COLOR=#0000ff]#if defined(__SYS_TELE16) [/COLOR]&&[COLOR=#0000ff] defined(__CLIENT)[/COLOR]
            [COLOR=#0000ff]for[/COLOR]([COLOR=#0000ff]int[/COLOR] i = [COLOR=#098658]0[/COLOR]; i < prj.TPData.size(); i++)
            {
                [COLOR=#0000ff]if[/COLOR](nVal == prj.TPData[i].dwBossID)
                {
                    [COLOR=#0000ff]if[/COLOR](ItemProp * pProp = prj.GetItemProp(di.dwIndex))
                    {
                        [COLOR=#0000ff]if[/COLOR](pProp->dwItemKind3 == IK3_EGG [COLOR=#008000]//eggers[/COLOR]
                        || pProp->dwItemKind3 == IK3_SMELT_GENERAL_MATERIAL [COLOR=#008000]//sunstone[/COLOR]
                        || pProp->dwItemKind3 == IK3_SMELT_ULTIMATE_MATERIAL [COLOR=#008000]//shini[/COLOR]
                        || pProp->dwItemKind3 == IK3_SMELT_ACCESSORY_MATERIAL [COLOR=#008000]//moonstone[/COLOR]
                        || pProp->dwItemKind3 == IK3_ULTIMATE [COLOR=#008000]//dias[/COLOR]
                        || pProp->dwItemKind3 == IK3_GEM [COLOR=#008000]//quest items[/COLOR]
                        || pProp->dwItemKind3 == IK3_ELECARD [COLOR=#008000]//element cards[/COLOR]
                        || pProp->dwItemKind2 == IK2_FOOD [COLOR=#008000]//food[/COLOR]
                        || pProp->dwItemKind2 == IK2_POTION [COLOR=#008000]//fp[/COLOR]
                        || pProp->dwItemKind2 == IK2_REFRESHER [COLOR=#008000]//mp[/COLOR]
[COLOR=#0000ff]#ifdef __NEW_ITEM_VARUNA[/COLOR]
                        || pProp->dwItemKind3 == IK3_BARUNAWEA_PIERCE_RUNE
                        || pProp->dwItemKind3 == IK3_OPERCID
                        || pProp->dwItemKind3 == IK3_CIDCRYSTAL
                        || pProp->dwItemKind3 == IK3_CIDMIX
                        || pProp->dwItemKind3 == IK3_CID
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__NEW_ITEM_VARUNA[/COLOR]
                        )
                            [COLOR=#0000ff]continue[/COLOR];

                        [COLOR=#0000ff]if[/COLOR](pProp->dwItemKind1 == IK1_ARMOR && pProp->dwItemLV <= [COLOR=#098658]105[/COLOR] && pProp->dwItemKind3 != IK3_SHIELD)
                            [COLOR=#0000ff]continue[/COLOR];

                        [COLOR=#0000ff]if[/COLOR](pProp->dwItemKind1 == IK1_WEAPON )
                        {
                            [COLOR=#0000ff]bool[/COLOR] bValidWeapon = ( pProp->dwReferStat1 == WEAPON_UNIQUE|| pProp->IsUltimate()
[COLOR=#0000ff]#ifdef __NEW_ITEM_VARUNA[/COLOR]
                                || pProp->IsBaruna()
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__NEW_ITEM_VARUNA[/COLOR]
                                );

                            [COLOR=#0000ff]if[/COLOR](!bValidWeapon)
                                [COLOR=#0000ff]continue[/COLOR];
                        }
                        [COLOR=#008000]//duplicates[/COLOR]
                        [COLOR=#0000ff]if[/COLOR] (find(prj.TPData[i].vDrops.begin(), prj.TPData[i].vDrops.end(), di.dwIndex) == prj.TPData[i].vDrops.end())
                            prj.TPData[i].vDrops.push_back(di.dwIndex);
                    }
                }
            }
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
            }
            [COLOR=#0000ff]else[/COLOR]
            [COLOR=#0000ff]if[/COLOR]( script.Token == [COLOR=#a31515]"DropKind"[/COLOR] )

insert this at the end of the file :
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
void CProject::LoadTeleportInfo()
{
    CScript sFile;

    [COLOR=#0000ff]if[/COLOR] (!sFile.Load( [COLOR=#a31515]"teleport16.inc"[/COLOR] ))
    {
        ADDERRORMSG([COLOR=#a31515]"::LoadTeleportInfo() ~ teleport16.inc is missing."[/COLOR]);
        [COLOR=#0000ff]return[/COLOR];
    }

    [COLOR=#0000ff]while[/COLOR] (sFile.tok != FINISHED)
    {
        TeleportInfo tpData{};
[COLOR=#0000ff]#ifdef __WORLDSERVER[/COLOR]
        tpData.dwWorldID = sFile.GetNumber();
        tpData.vPos.x = sFile.GetFloat();
        tpData.vPos.y = sFile.GetFloat();
        tpData.vPos.z = sFile.GetFloat();
        sFile.GetToken();
        sFile.GetToken();
        sFile.GetToken();
        sFile.GetToken();
        sFile.GetToken();
        sFile.GetToken();
        sFile.GetToken();
        sFile.GetToken();
[COLOR=#0000ff]#elif defined(__CLIENT)[/COLOR]
        sFile.GetToken();
        sFile.GetToken();
        sFile.GetToken();
        sFile.GetToken();

        sFile.GetToken();
        _tcsncpy(tpData.szName, sFile.token, sizeof(tpData.szName) / sizeof(tpData.szName[[COLOR=#098658]0[/COLOR]]) -[COLOR=#098658]2[/COLOR]);
        tpData.szName[sizeof(tpData.szName) / sizeof(tpData.szName[[COLOR=#098658]0[/COLOR]]) - [COLOR=#098658]1[/COLOR]] = [COLOR=#a31515]'\0'[/COLOR];

        sFile.GetToken();
        _tcsncpy(tpData.szDesc, sFile.token, sizeof(tpData.szDesc) / sizeof(tpData.szDesc[[COLOR=#098658]0[/COLOR]]) -[COLOR=#098658]2[/COLOR]);
        tpData.szDesc[sizeof(tpData.szDesc) / sizeof(tpData.szDesc[[COLOR=#098658]0[/COLOR]]) - [COLOR=#098658]1[/COLOR]] = [COLOR=#a31515]'\0'[/COLOR];

        sFile.GetToken();
        _tcsncpy(tpData.szImage, sFile.token, sizeof(tpData.szImage) / sizeof(tpData.szImage[[COLOR=#098658]0[/COLOR]]) -[COLOR=#098658]2[/COLOR]);
        tpData.szImage[sizeof(tpData.szImage) / sizeof(tpData.szImage[[COLOR=#098658]0[/COLOR]]) - [COLOR=#098658]1[/COLOR]] = [COLOR=#a31515]'\0'[/COLOR];
        
        tpData.dwBossID = sFile.GetNumber();
        tpData.dwMinLevel   = sFile.GetNumber();
        tpData.dwMaxLevel   = sFile.GetNumber();
        tpData.dwClassID = sFile.GetNumber();
        tpData.dwCoolDown = sFile.GetNumber();

        [COLOR=#0000ff]if[/COLOR](tpData.dwMaxLevel < tpData.dwMinLevel)
            tpData.dwMaxLevel = MAX_CHARACTER_LEVEL;
[COLOR=#0000ff]#endif[/COLOR]

        TPData.emplace_back(std::move(tpData));
    }
}
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]

Project.h
search for "const CString& GetQuestDestination( DWORD dwKey ) const;"
add below :
Code:
[COLOR=#0000ff]#if __VER >= 15 [/COLOR][COLOR=#008000]/* __IMPROVE_QUEST_INTERFACE */[/COLOR]&&[COLOR=#0000ff] defined( __CLIENT )[/COLOR]
    BOOL LoadQuestDestination( void );
    [COLOR=#0000ff]const[/COLOR] CString& GetQuestDestination( DWORD dwKey ) [COLOR=#0000ff]const[/COLOR];
    BOOL LoadPatrolDestination( void );
    [COLOR=#0000ff]const[/COLOR] CString& GetPatrolDestination( DWORD dwKey ) [COLOR=#0000ff]const[/COLOR];
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]// defined( __IMPROVE_QUEST_INTERFACE ) && defined( __CLIENT )[/COLOR]

[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
    [COLOR=#0000ff]using[/COLOR] TeleportData = std::vector<TeleportInfo>;
    TeleportData TPData;
    [COLOR=#0000ff]void[/COLOR] LoadTeleportInfo();
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
ProjectCmn.cpp
Inside "void CProject::LoadStrings()" add :
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
        ,[COLOR=#a31515]"teleport16.txt.txt"[/COLOR]
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
ProjectCmn.h
add the struct :
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
[COLOR=#0000ff]struct[/COLOR] TeleportInfo
{
[COLOR=#0000ff]#if defined(__WORLDSERVER)[/COLOR]
    DWORD dwWorldID;
    D3DXVECTOR3 vPos;
[COLOR=#0000ff]#elif defined(__CLIENT)[/COLOR]
    TCHAR   szName[64];
    TCHAR   szDesc[512];
    TCHAR   szImage[64];
    DWORD dwBossID;
    DWORD dwMinLevel;
    DWORD dwMaxLevel;
    DWORD dwClassID;
    DWORD dwCoolDown;
    vector<DWORD> vDrops;
[COLOR=#0000ff]#endif[/COLOR]
};
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
FuncApplet.cpp
im sure you know where to past this:
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
DECLAREAPPLET( AppMain_WndTeleporter , new CWndTeleporter  );
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]

Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
    AddAppletFunc( AppMain_WndTeleporter, APP_TELE16, _T([COLOR=#a31515]"WndTeleporter"[/COLOR]), _T([COLOR=#a31515]"Icon_Motion.dds"[/COLOR]), [COLOR=#a31515]"Teleporter"[/COLOR], [COLOR=#a31515]'V'[/COLOR]);
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
WndField.cpp/.h
.cpp
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
CWndTeleporter::CWndTeleporter()
{
    m_defaultSize = NULL;
    m_nCursorIndex = NULL;
    m_pWndDropList = nullptr;
    m_pLocationList = nullptr;
}
CWndTeleporter::~CWndTeleporter()
{
}
BOOL CWndTeleporter::Initialize(CWndBase *pWndParent, DWORD dwStyle)
{
    [COLOR=#0000ff]return[/COLOR] CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_TELE16, [COLOR=#098658]0[/COLOR], [COLOR=#098658]0[/COLOR], pWndParent );
}
void CWndTeleporter::OnInitialUpdate()
{
    CWndNeuz::OnInitialUpdate();
    m_defaultSize = GetClientRect();
    m_defaultSize.bottom += [COLOR=#098658]20[/COLOR]; [COLOR=#008000]//titlebar?[/COLOR]

    m_pLocationList = (CWndListBox*)GetDlgItem(WIDC_LISTBOX);

    [COLOR=#008000]//droplist[/COLOR]
    m_pWndDropList = new CWndDropList;
    m_pWndDropList->m_bVisible = [COLOR=#0000ff]false[/COLOR];
    m_pWndDropList->Create(WBS_VSCROLL, GetWndCtrl(WIDC_CUSTOM)->rect, [COLOR=#0000ff]this[/COLOR], [COLOR=#098658]0[/COLOR]);

    [COLOR=#0000ff]for[/COLOR] ([COLOR=#0000ff]int[/COLOR] i = [COLOR=#098658]0[/COLOR]; i < prj.TPData.size(); ++i)
    {
        [COLOR=#0000ff]if[/COLOR]( strlen(prj.TPData[i].szName) > [COLOR=#098658]0[/COLOR])
            m_pLocationList->AddString(prj.TPData[i].szName);
    }

    [COLOR=#008000]//default[/COLOR]
    m_pLocationList->SetCurSel([COLOR=#098658]0[/COLOR]);
    m_nCursorIndex = m_pLocationList->GetCurSel();
    UpdateIndex();
    MoveParentCenter();
}
BOOL CWndTeleporter::OnChildNotify(UINT message, UINT nID, LRESULT *pLResult)
{
    [COLOR=#0000ff]if[/COLOR]( nID == WIDC_LISTBOX )
    {
        [COLOR=#0000ff]if[/COLOR] (m_pLocationList->GetCurSel() > -[COLOR=#098658]1[/COLOR] && m_pLocationList->GetCurSel() <= prj.TPData.size())
        {
            m_nCursorIndex = m_pLocationList->GetCurSel();
            UpdateIndex(m_nCursorIndex);
        }
    }
    [COLOR=#0000ff]else[/COLOR] [COLOR=#0000ff]if[/COLOR]( nID == WIDC_BUTTON )
    {
        g_DPlay.SendTeleport(m_nCursorIndex);
        Destroy();
    }
    [COLOR=#0000ff]return[/COLOR] CWndNeuz::OnChildNotify(message,nID,pLResult);
}
void CWndTeleporter::OnDraw( C2DRender* p2DRender )
{
    CTexture* pImage = m_textureMng.AddTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, m_TeleportInfo.szImage ), [COLOR=#098658]0xff000000[/COLOR] );

    [COLOR=#0000ff]if[/COLOR](pImage == NULL )
        pImage = m_textureMng.AddTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, [COLOR=#a31515]"tp_default.png"[/COLOR] ), [COLOR=#098658]0xff000000[/COLOR] );

    LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_STATIC1 );
    POINT pt = lpWndCtrl->rect.TopLeft();
    pt.y += [COLOR=#098658]20[/COLOR];
    pImage->Render( p2DRender, pt, g_Option.m_nWindowAlpha );

    [COLOR=#0000ff]if[/COLOR](m_TeleportInfo.dwBossID)
    {
        MoverProp* pMoverProp = prj.m_pPropMover + m_TeleportInfo.dwBossID;

        [COLOR=#0000ff]if[/COLOR](pMoverProp)
        {
            TCHAR   szTemp[[COLOR=#098658]128[/COLOR]];
            [COLOR=#008000]//Name[/COLOR]
            p2DRender->TextOut(m_defaultSize.Width() - [COLOR=#098658]10[/COLOR]  ,[COLOR=#098658]19[/COLOR], pMoverProp->szName, [COLOR=#098658]0xfff6cc4d[/COLOR]);
            [COLOR=#008000]//Level[/COLOR]
            sprintf( szTemp, [COLOR=#a31515]"Level:  %d"[/COLOR], pMoverProp->dwLevel);
            p2DRender->TextOut(m_defaultSize.Width() - [COLOR=#098658]10[/COLOR] ,[COLOR=#098658]49[/COLOR], szTemp, [COLOR=#098658]0xffffffff[/COLOR]);
            [COLOR=#008000]//HP[/COLOR]
            [COLOR=#0000ff]int[/COLOR] nNewHealth = pMoverProp->dwAddHp;

            [COLOR=#0000ff]if[/COLOR] (nNewHealth >= [COLOR=#098658]1000000000[/COLOR])
                sprintf( szTemp, [COLOR=#a31515]"Health:  %d B"[/COLOR], nNewHealth / [COLOR=#098658]1000000000[/COLOR]);
            [COLOR=#0000ff]else[/COLOR] [COLOR=#0000ff]if[/COLOR] (nNewHealth >= [COLOR=#098658]1000000[/COLOR])
                sprintf( szTemp, [COLOR=#a31515]"Health:  %d M"[/COLOR], nNewHealth / [COLOR=#098658]1000000[/COLOR]);
            [COLOR=#0000ff]else[/COLOR] [COLOR=#0000ff]if[/COLOR] (nNewHealth >= [COLOR=#098658]1000[/COLOR])
                sprintf( szTemp, [COLOR=#a31515]"Health:  %d K"[/COLOR], nNewHealth / [COLOR=#098658]1000[/COLOR]);
                
            p2DRender->TextOut(m_defaultSize.Width() - [COLOR=#098658]10[/COLOR] ,[COLOR=#098658]69[/COLOR], szTemp, [COLOR=#098658]0xffffffff[/COLOR]);
            [COLOR=#008000]//Element[/COLOR]
            [COLOR=#0000ff]if[/COLOR] ( pMoverProp->eElementType )
            {
                g_WndMng.m_pWndWorld->m_texAttrIcon.Render(p2DRender, CPoint(m_defaultSize.Width() + [COLOR=#098658]55[/COLOR], [COLOR=#098658]87[/COLOR]), pMoverProp->eElementType - [COLOR=#098658]1[/COLOR], [COLOR=#098658]255[/COLOR], [COLOR=#098658]1.2f[/COLOR], [COLOR=#098658]1.2f[/COLOR]);
                p2DRender->TextOut(m_defaultSize.Width() - [COLOR=#098658]10[/COLOR] ,[COLOR=#098658]89[/COLOR], [COLOR=#a31515]"Element: "[/COLOR], [COLOR=#098658]0xffffffff[/COLOR]);
            }
            [COLOR=#0000ff]else[/COLOR]
                p2DRender->TextOut(m_defaultSize.Width() - [COLOR=#098658]10[/COLOR] ,[COLOR=#098658]89[/COLOR], [COLOR=#a31515]"Element: N/A"[/COLOR], [COLOR=#098658]0xffffffff[/COLOR]);

            [COLOR=#0000ff]if[/COLOR](m_TeleportInfo.dwMinLevel)
            {
                [COLOR=#008000]//eee idk[/COLOR]
                [COLOR=#0000ff]switch[/COLOR](m_TeleportInfo.dwClassID)
                {
                    [COLOR=#0000ff]case[/COLOR] [COLOR=#098658]1[/COLOR]:
                        [COLOR=#0000ff]if[/COLOR](m_TeleportInfo.dwMaxLevel < MAX_GENERAL_LEVEL)
                            sprintf( szTemp, [COLOR=#a31515]"Level Req.: %dM - %dM"[/COLOR], m_TeleportInfo.dwMinLevel, m_TeleportInfo.dwMaxLevel);
                        [COLOR=#0000ff]else[/COLOR] [COLOR=#0000ff]if[/COLOR](m_TeleportInfo.dwMaxLevel > MAX_GENERAL_LEVEL)
                            sprintf( szTemp, [COLOR=#a31515]"Level Req.: %dM - %dH"[/COLOR], m_TeleportInfo.dwMinLevel, m_TeleportInfo.dwMaxLevel);
                    [COLOR=#0000ff]break[/COLOR];
                    [COLOR=#0000ff]case[/COLOR] [COLOR=#098658]2[/COLOR]:
                        sprintf( szTemp, [COLOR=#a31515]"Level Req.: %dH - %dH"[/COLOR], m_TeleportInfo.dwMinLevel, m_TeleportInfo.dwMaxLevel);
                    [COLOR=#0000ff]break[/COLOR];
                    [COLOR=#0000ff]default[/COLOR] :
                        [COLOR=#0000ff]if[/COLOR](m_TeleportInfo.dwMaxLevel > MAX_GENERAL_LEVEL)
                            sprintf( szTemp, [COLOR=#a31515]"Level Req.: %d - %dH"[/COLOR], m_TeleportInfo.dwMinLevel,m_TeleportInfo.dwMaxLevel);
                        [COLOR=#0000ff]else[/COLOR]
                            sprintf( szTemp, [COLOR=#a31515]"Level Req.: %d - %d"[/COLOR], m_TeleportInfo.dwMinLevel,m_TeleportInfo.dwMaxLevel);
                    [COLOR=#0000ff]break[/COLOR];
                }
            }
            [COLOR=#0000ff]else[/COLOR]
                sprintf(szTemp,[COLOR=#a31515]"Level Cap: N/A"[/COLOR]);

            p2DRender->TextOut(m_defaultSize.Width() - [COLOR=#098658]10[/COLOR] ,[COLOR=#098658]109[/COLOR], szTemp, [COLOR=#098658]0xffffffff[/COLOR]);    
            [COLOR=#008000]//Cooldown[/COLOR]
            [COLOR=#0000ff]if[/COLOR](m_TeleportInfo.dwCoolDown)
            {
                [COLOR=#0000ff]if[/COLOR](m_TeleportInfo.dwCoolDown > [COLOR=#098658]60[/COLOR])
                    sprintf( szTemp, [COLOR=#a31515]"Cooldown: %d Minutes"[/COLOR], m_TeleportInfo.dwCoolDown / [COLOR=#098658]60[/COLOR]);
                [COLOR=#0000ff]else[/COLOR]
                    sprintf( szTemp, [COLOR=#a31515]"Cooldown: %d Seconds"[/COLOR], m_TeleportInfo.dwCoolDown);[COLOR=#008000]//lol[/COLOR]
            }
            [COLOR=#0000ff]else[/COLOR]
                sprintf( szTemp, [COLOR=#a31515]"Cooldown: N/A"[/COLOR] );

            p2DRender->TextOut(m_defaultSize.Width() - [COLOR=#098658]10[/COLOR] ,[COLOR=#098658]129[/COLOR], szTemp, [COLOR=#098658]0xffffffff[/COLOR]);    
        }
    }
}
void CWndTeleporter::UpdateIndex([COLOR=#0000ff]int[/COLOR] nIndex)
{
    m_TeleportInfo = prj.TPData[nIndex];

    CWndText* pLocationDesc = (CWndText*)GetDlgItem(WIDC_TEXT);
    pLocationDesc->SetString(m_TeleportInfo.szDesc);

    CWndStatic* pPictureBox = (CWndStatic*)GetDlgItem(WIDC_STATIC1);
    pPictureBox->m_strTitle = m_TeleportInfo.szName;

    [COLOR=#0000ff]if[/COLOR](m_TeleportInfo.dwBossID)
    {
        m_pWndDropList->m_bVisible = [COLOR=#0000ff]true[/COLOR];
        m_pWndDropList->m_wndScrollBar.SetScrollPos([COLOR=#098658]0[/COLOR]);
        SetWndSize(m_defaultSize.Width() + [COLOR=#098658]190[/COLOR], m_defaultSize.Height());
    }
    [COLOR=#0000ff]else[/COLOR]
    {
        m_pWndDropList->m_bVisible = [COLOR=#0000ff]false[/COLOR];
        SetWndSize(m_defaultSize.Width(), m_defaultSize.Height());
    }
}
CWndDropList::CWndDropList()
{
}
CWndDropList::~CWndDropList()
{
}
void CWndDropList::OnDraw(C2DRender * p2DRender)
{
    CWndTeleporter * pWndTeleporter = (CWndTeleporter*)GetParentWnd();

    [COLOR=#0000ff]if[/COLOR] ( pWndTeleporter->m_nCursorIndex < [COLOR=#098658]0[/COLOR] || pWndTeleporter->m_nCursorIndex > prj.TPData.size())
        [COLOR=#0000ff]return[/COLOR];

    auto tpData = prj.TPData[pWndTeleporter->m_nCursorIndex];

    [COLOR=#0000ff]if[/COLOR](!tpData.dwBossID)
        [COLOR=#0000ff]return[/COLOR];

    [COLOR=#0000ff]int[/COLOR] nRowItems = GetClientRect().Width() / nIconSize;
    m_wndScrollBar.SetScrollRange( [COLOR=#098658]0[/COLOR], tpData.vDrops.size() / nRowItems );
    m_wndScrollBar.SetScrollPage( GetClientRect().Height() / nIconSize );

    [COLOR=#0000ff]for[/COLOR]( [COLOR=#0000ff]int[/COLOR] i = [COLOR=#098658]0[/COLOR]; i < tpData.vDrops.size(); i++ )
    {
        [COLOR=#0000ff]int[/COLOR] x = i % nRowItems;
        [COLOR=#0000ff]int[/COLOR] y = ( i / nRowItems ) - m_wndScrollBar.GetScrollPos();

        CItemElem pItemElem;
        pItemElem.m_dwItemId = tpData.vDrops.at(i);
        pItemElem.SetTexture();

        [COLOR=#0000ff]float[/COLOR] fScale = static_cast<[COLOR=#0000ff]float[/COLOR]>(nIconSize) / [COLOR=#098658]35.0f[/COLOR];

        CRect rectHittest = CRect( x * nIconSize, y * nIconSize, x * nIconSize + nIconSize, y * nIconSize + nIconSize);
        CPoint point = GetMousePoint();

        [COLOR=#0000ff]if[/COLOR]( rectHittest.PtInRect( point ) )
        {
            CPoint point2 = point;
            ClientToScreen( &point2 );
            ClientToScreen( &rectHittest );

            g_WndMng.PutToolTip_Item( &pItemElem, point2, &rectHittest );
            p2DRender->RenderTexture2(CPoint( x * nIconSize, y * nIconSize), pItemElem.GetTexture(), fScale + [COLOR=#098658]0.1f[/COLOR], fScale + [COLOR=#098658]0.1f[/COLOR]);
        }
        [COLOR=#0000ff]else[/COLOR]
            p2DRender->RenderTexture2(CPoint( x * nIconSize, y * nIconSize), pItemElem.GetTexture(), fScale, fScale);
    }
}
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
.h
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
[COLOR=#0000ff]class[/COLOR] CWndDropList : public CWndListBox
{
[COLOR=#0000ff]public[/COLOR]:
    CWndDropList();
    ~CWndDropList();

    [COLOR=#0000ff]const[/COLOR] [COLOR=#0000ff]int[/COLOR] nIconSize = [COLOR=#098658]30[/COLOR];
    [COLOR=#0000ff]virtual[/COLOR] [COLOR=#0000ff]void[/COLOR] OnDraw(C2DRender * p2DRender);
};
[COLOR=#0000ff]class[/COLOR] CWndTeleporter : public CWndNeuz
{
[COLOR=#0000ff]private[/COLOR] :
    CRect           m_defaultSize;
    TeleportInfo    m_TeleportInfo;
    CWndDropList*   m_pWndDropList;
    CWndListBox*    m_pLocationList;
[COLOR=#0000ff]public[/COLOR]:
    [COLOR=#0000ff]int[/COLOR] m_nCursorIndex;

    CWndTeleporter();
    ~CWndTeleporter();

    [COLOR=#0000ff]virtual[/COLOR] BOOL Initialize(CWndBase *pWndParent = nullptr, DWORD dwStyle = [COLOR=#098658]0[/COLOR]);
    [COLOR=#0000ff]virtual[/COLOR] [COLOR=#0000ff]void[/COLOR] OnInitialUpdate();
    [COLOR=#0000ff]virtual[/COLOR] void CWndTeleporter::OnDraw( C2DRender* p2DRender );
    [COLOR=#0000ff]virtual[/COLOR] BOOL OnChildNotify(UINT message, UINT nID, LRESULT *pLResult);
    [COLOR=#0000ff]void[/COLOR] UpdateIndex([COLOR=#0000ff]int[/COLOR] nIndex = [COLOR=#098658]0[/COLOR]);
};
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
DPClient.cpp
Add at the end of the file :
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
void CDPClient::SendTeleport(unsigned [COLOR=#0000ff]int[/COLOR] nIndex)
{
    BEFORESENDSOLE(ar, PACKETTYPE_TELE16, DPID_UNKNOWN);
    ar << nIndex;
    SEND(ar, [COLOR=#0000ff]this[/COLOR], DPID_SERVERPLAYER);
}
[COLOR=#0000ff]#endif  [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
DPClient.h
add at the end of the file
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
    [COLOR=#0000ff]void[/COLOR]    SendTeleport(unsigned int nIndex);
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]

DPSrvr.cpp
inside "CDPSrvr::CDPSrvr()" add:
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
    ON_MSG(PACKETTYPE_TELE16, &CDPSrvr::OnTeleport);
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]// __SYS_TELE16[/COLOR]

at the end of the file add :
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
void CDPSrvr::OnTeleport(CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long)
{
    CUser* pUser = g_UserMng.GetUser(dpidCache, dpidUser);
    CWorld* pWorld;

    unsigned [COLOR=#0000ff]int[/COLOR] nIndex;
    ar >> nIndex;

    [COLOR=#0000ff]if[/COLOR] (nIndex >= prj.TPData.size())
        [COLOR=#0000ff]return[/COLOR];

    [COLOR=#0000ff]if[/COLOR] (IsValidObj(pUser) && (pWorld = pUser->GetWorld()))
    {
        [COLOR=#0000ff]if[/COLOR] (pUser->IsDie() || pUser->IsCollecting() || pUser->m_vtInfo.VendorIsVendor() || pUser->m_vtInfo.IsVendorOpen())
            [COLOR=#0000ff]return[/COLOR];

        [COLOR=#0000ff]if[/COLOR] (!pUser->IsAuthHigher(AUTH_GAMEMASTER))
        {  
            [COLOR=#0000ff]if[/COLOR](pUser->IsAttackMode() || pUser->GetWorld() && pUser->GetWorld()->GetID() == WI_WORLD_GUILDWAR)
            {
                pUser->AddText([COLOR=#a31515]"Can't teleport while fighting."[/COLOR]);
                [COLOR=#0000ff]return[/COLOR];
            }
        }
        decltype(auto) teleportInfo = prj.TPData[nIndex];
        CWorld* pTargetWorld = g_WorldMng.GetWorld(teleportInfo.dwWorldID);

        [COLOR=#0000ff]if[/COLOR](!pTargetWorld)
        {
            Error([COLOR=#a31515]"CDPSrvr::OnTeleport() - WorldID : %d, Name = %s"[/COLOR], teleportInfo.dwWorldID, pUser->GetName());
            [COLOR=#0000ff]return[/COLOR];
        }
        pUser->REPLACE(g_uIdofMulti, teleportInfo.dwWorldID, teleportInfo.vPos, REPLACE_NORMAL, nDefaultLayer);
    }
}
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]//__SYS_TELE16[/COLOR]
DPSrvr.h
at the end of the file add :
Code:
[COLOR=#0000ff]#ifdef __SYS_TELE16[/COLOR]
    [COLOR=#0000ff]void[/COLOR]    OnTeleport(CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long);
[COLOR=#0000ff]#endif [/COLOR][COLOR=#008000]// __SYS_TELE16[/COLOR]
[COLOR=#0000ff]private[/COLOR]:
    DPID    m_dpidCache;        [COLOR=#008000]// ij������ DPID[/COLOR]
};

resData.inc (
also define it in resdata.h)
Code:
APP_TELE16 [COLOR=#a31515]"WndTile00.tga"[/COLOR] [COLOR=#a31515]""[/COLOR] [COLOR=#098658]1[/COLOR] [COLOR=#098658]560[/COLOR] [COLOR=#098658]413[/COLOR] [COLOR=#098658]0x2410000[/COLOR] [COLOR=#098658]26[/COLOR]
{
[COLOR=#008000]// Title String[/COLOR]
[COLOR=#a31515]"Teleporter"[/COLOR]
}
{
[COLOR=#008000]// ToolTip[/COLOR]
[COLOR=#a31515]""[/COLOR]
}
{
    WTYPE_STATIC WIDC_STATIC [COLOR=#a31515]""[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]22[/COLOR] [COLOR=#098658]14[/COLOR] [COLOR=#098658]175[/COLOR] [COLOR=#098658]33[/COLOR] [COLOR=#098658]0x220000[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]246[/COLOR] [COLOR=#098658]204[/COLOR] [COLOR=#098658]77[/COLOR]
    {
   [COLOR=#008000]// Title String[/COLOR]
    [COLOR=#a31515]"Locations"[/COLOR]
    }
    {
   [COLOR=#008000]// ToolTip[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    WTYPE_LISTBOX WIDC_LISTBOX [COLOR=#a31515]"WndEditTile00.tga"[/COLOR] [COLOR=#098658]1[/COLOR] [COLOR=#098658]22[/COLOR] [COLOR=#098658]37[/COLOR] [COLOR=#098658]258[/COLOR] [COLOR=#098658]328[/COLOR] [COLOR=#098658]0x20020000[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]255[/COLOR] [COLOR=#098658]255[/COLOR] [COLOR=#098658]255[/COLOR]
    {
   [COLOR=#008000]// Title String[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    {
   [COLOR=#008000]// ToolTip[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    WTYPE_BUTTON WIDC_BUTTON [COLOR=#a31515]"ButtNormal02.tga"[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]25[/COLOR] [COLOR=#098658]339[/COLOR] [COLOR=#098658]235[/COLOR] [COLOR=#098658]363[/COLOR] [COLOR=#098658]0x220010[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR]
    {
   [COLOR=#008000]// Title String[/COLOR]
    [COLOR=#a31515]"Teleport"[/COLOR]
    }
    {
   [COLOR=#008000]// ToolTip[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    WTYPE_TEXT WIDC_TEXT [COLOR=#a31515]"WndEditTile00.tga"[/COLOR] [COLOR=#098658]1[/COLOR] [COLOR=#098658]276[/COLOR] [COLOR=#098658]231[/COLOR] [COLOR=#098658]526[/COLOR] [COLOR=#098658]363[/COLOR] [COLOR=#098658]0x20020000[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]255[/COLOR] [COLOR=#098658]255[/COLOR] [COLOR=#098658]255[/COLOR]
    {
   [COLOR=#008000]// Title String[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    {
   [COLOR=#008000]// ToolTip[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    WTYPE_STATIC WIDC_STATIC1 [COLOR=#a31515]""[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]276[/COLOR] [COLOR=#098658]17[/COLOR] [COLOR=#098658]515[/COLOR] [COLOR=#098658]196[/COLOR] [COLOR=#098658]0x260012[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]246[/COLOR] [COLOR=#098658]204[/COLOR] [COLOR=#098658]77[/COLOR]
    {
   [COLOR=#008000]// Title String[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    {
   [COLOR=#008000]// ToolTip[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    WTYPE_CUSTOM WIDC_CUSTOM [COLOR=#a31515]""[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]538[/COLOR] [COLOR=#098658]155[/COLOR] [COLOR=#098658]716[/COLOR] [COLOR=#098658]368[/COLOR] [COLOR=#098658]0x260000[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]0[/COLOR] [COLOR=#098658]46[/COLOR] [COLOR=#098658]112[/COLOR] [COLOR=#098658]169[/COLOR]
    {
   [COLOR=#008000]// Title String[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
    {
   [COLOR=#008000]// ToolTip[/COLOR]
    [COLOR=#a31515]""[/COLOR]
    }
}



So I followed your whole guide and everything seems to be fine. But I'm currently having an issue with some compiling error like C2011.


It's giving issues for example on this:
Code:
#ifdef __SYS_TELE16struct TeleportInfo{
#if defined(__WORLDSERVER)
	DWORD dwWorldID;
	D3DXVECTOR3 vPos;
#elif defined(__CLIENT)
	TCHAR   szName[64];
	TCHAR   szDesc[512];
	TCHAR   szImage[64];
	DWORD dwBossID;
	DWORD dwMinLevel;
	DWORD dwMaxLevel;
	DWORD dwClassID;
	DWORD dwCoolDown;
	vector<DWORD> vDrops;
#endif};#endif //__SYS_TELE16

Any idea why this happens?
 
Inactive
Joined
Jan 20, 2009
Messages
1,014
Reaction score
1,830
So I followed your whole guide and everything seems to be fine. But I'm currently having an issue with some compiling error like C2011.


It's giving issues for example on this:
Code:
#ifdef __SYS_TELE16struct TeleportInfo{
#if defined(__WORLDSERVER)
	DWORD dwWorldID;
	D3DXVECTOR3 vPos;
#elif defined(__CLIENT)
	TCHAR   szName[64];
	TCHAR   szDesc[512];
	TCHAR   szImage[64];
	DWORD dwBossID;
	DWORD dwMinLevel;
	DWORD dwMaxLevel;
	DWORD dwClassID;
	DWORD dwCoolDown;
	vector<DWORD> vDrops;
#endif};#endif //__SYS_TELE16

Any idea why this happens?

The error tells you that you have this defined more then once. So remove the other copy of it.
 
Back
Top