[Source Release]Quick Jobchange

11/02/2011 06:03 Flash!#166
Quote:
#define MAX_3RD_LEGEND_LEVEL 129
Ist für mich i.wie immer alles dasselbe aber nunja ich denke mal dass das auf dein Maxlevel muss. und nicht 129.
11/02/2011 12:34 $ony#167
Quote:
Originally Posted by Marvin! View Post
Ist für mich i.wie immer alles dasselbe aber nunja ich denke mal dass das auf dein Maxlevel muss. und nicht 129.
Gemacht aber immer noch das gleiche Problem.
z.B. ich bin Blade Hero lvl 129 mit 99,99% dann kommt des fenster mach ich jobchange auf Slayer und dann bin ich Slayer level 129.
11/02/2011 15:06 Pumbaaa#168
Guck in der Funktion von DPSrvr.cpp.
Da wird das Level festgelegt.
11/02/2011 16:10 $ony#169
Code:
void CDPSrvr::OnUpdateJob( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
    CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
        
    if( IsValidObj( pUser ) == TRUE )
    {
		int nJob, nLevel;
           	ar >> nJob;
		if( pUser->m_nJob >= nJob )
			return;
		if( nJob < MAX_EXPERT && pUser->m_nLevel != MAX_JOB_LEVEL )
			return;
		else if( nJob >= MAX_EXPERT && nJob < MAX_PROFESSIONAL && pUser->m_nLevel != (MAX_EXP_LEVEL + MAX_JOB_LEVEL) )
			return;
		else if( nJob >= MAX_PROFESSIONAL && nJob < MAX_HERO && pUser->m_nLevel != MAX_GENERAL_LEVEL && pUser->GetExpPercent() != 9999 ) 
			return;
		else if( nJob >= MAX_HERO && pUser->m_nLevel != MAX_LEGEND_LEVEL && pUser->GetExpPercent() != 9999 )
			return;

		if( nJob < MAX_EXPERT )
			nLevel = MAX_JOB_LEVEL;
		else if( nJob < MAX_PROFESSIONAL )
			nLevel = MAX_JOB_LEVEL + MAX_EXP_LEVEL;
		else if( nJob < MAX_MASTER )
			nLevel = MAX_JOB_LEVEL + MAX_EXP_LEVEL;
		else if( nJob < MAX_HERO )
			nLevel = MAX_GENERAL_LEVEL;
		else if( nJob < MAX_JOB )
			nLevel = MAX_LEGEND_LEVEL + 1;
		else
			return;

		pUser->InitLevelPumbaaa( nJob, nLevel, TRUE );
    }
}
ist das so richtig?

//Edit: Danke Pumbaaa so klappt es.
11/04/2011 23:44 schmizi#170
Ehm was muss man eig jetzt genau mit den WndChangeJobEx.cpp und WndChangeJob.h machen? weil die existieren ja noch nicht, neu erstellen? und dan die sachen einfach in der Neuz.cpp includen?
11/05/2011 01:55 $ony#171
du musst die dem projekt neuz hinzufüggen.
11/06/2011 22:41 schmizi#172
Ich habe das problem, das er sich auf lvl 130 nicht öffnet
11/07/2011 01:10 Spheromany#173
Hallo,
ich habe alles eingebaut und mittlerweile 10 mal überprüft und einmal neu gemacht..jedoch bekomm ich immer folgenden Error beim Worldserver:

PHP Code:
------ Build started: Project: WorldServer, Configuration: Release Win32 ------

Linking...
DPSrvr.obj : error LNK2019: unresolved external symbol "public: void __thiscall CMover::InitLevelPumbaaa(int,long,int)" (?InitLevelPumbaaa@CMover@@QAEXHJH@Z) referenced in function "private: void __thiscall CDPSrvr::OnUpdateJob(class CAr &,unsigned long,unsigned long,unsigned char *,unsigned long)" (?OnUpdateJob@CDPSrvr@@AAEXAAVCAr@@KKPAEK@Z)
.\..\..\
Output/WorldServer.exe : fatal error LNK1120: 1 unresolved externals

Build log was saved at 
"file://c:\FlyFF\Build\Output\WorldServer\Release\BuildLog.htm"
WorldServer - 2 error(s), 0 warning(s)


---------------------- 
Done ----------------------

    
Build: 0 succeeded, 1 failed, 0 skipped 
Was ist verkehrt? Vllt hat einer eine Lösung.

Lg
11/07/2011 01:12 yannickminecraft#174
Quote:
Originally Posted by Spheromany View Post
Hallo,
ich habe alles eingebaut und mittlerweile 10 mal überprüft und einmal neu gemacht..jedoch bekomm ich immer folgenden Error beim Worldserver:

PHP Code:
------ Build started: Project: WorldServer, Configuration: Release Win32 ------

Linking...
DPSrvr.obj : error LNK2019: unresolved external symbol "public: void __thiscall CMover::InitLevelPumbaaa(int,long,int)" (?InitLevelPumbaaa@CMover@@QAEXHJH@Z) referenced in function "private: void __thiscall CDPSrvr::OnUpdateJob(class CAr &,unsigned long,unsigned long,unsigned char *,unsigned long)" (?OnUpdateJob@CDPSrvr@@AAEXAAVCAr@@KKPAEK@Z)
.\..\..\
Output/WorldServer.exe : fatal error LNK1120: 1 unresolved externals

Build log was saved at 
"file://c:\FlyFF\Build\Output\WorldServer\Release\BuildLog.htm"
WorldServer - 2 error(s), 0 warning(s)


---------------------- 
Done ----------------------

    
Build: 0 succeeded, 1 failed, 0 skipped 
Was ist verkehrt? Vllt hat einer eine Lösung.

Lg
InitLevelPumbaaa() Ist nicht in der .h datei von DPSrvr deklariert.
11/07/2011 01:26 Spheromany#175
Quote:
Originally Posted by yannickminecraft View Post
InitLevelPumbaaa() Ist nicht in der .h datei von DPSrvr deklariert.
nunja in den beigelegten datein steht davon auch nichts drinne...folgendes soll man in die dpsrvr.h einfügen
PHP Code:
unter:    void    OnEnchant( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize);

das:    void    OnUpdateJob( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long ); 
und ich bin ehrlich ich bin anfängerin was das angeht..dementsprechend wäre es schön zu wissen was genau ich machen muss :(
11/07/2011 13:58 $ony#176
Quote:
Originally Posted by schmizi View Post
Ich habe das problem, das er sich auf lvl 130 nicht öffnet
es öffnet sich mit level 130 und 99,99%
11/07/2011 15:05 schmizi#177
Und wo muss ich das ändern? und was muss ich da Ändern?
11/07/2011 19:51 Spheromany#178
So ich hab es selber hinbekommen und das fenster kommt ig auch wenn man lvl 15 wird, jedoch sobald an Change drückt bekommt man einen DC und kann sich mit dem Chara nicht mehr einloggen, da er diesen auf lvl 0 setzt aber mit dem richtigen ausgewähltem Job (auch bei lvl 60, 120 usw.)
11/07/2011 20:47 Razzer'#179
Problem bei mir kommt leider überhaupt kein Fenster . Habe alles richtig eingebaut . Ohne Fehler .
11/17/2011 01:08 fccfcc#180
Neuz crash
PHP Code:
Neuz.exe caused an EXCEPTION_ACCESS_VIOLATION in module Neuz.exe at 0023:004DA75E, CWndNeuz::InitDialog()+0110 byte(s), d:\flyffsrv\virtuos\source\program\_interface\wndneuz.cpp, line 0667+0006 byte(s)

 - 
Registers

EAX
=00000000  EBX=7EFDE000  ECX=00000000  EDX=00000005  ESI=00000000
EDI
=759C1225  EBP=0018BC2C  ESP=0018BBDC  EIP=004DA75E  FLG=00210206
CS
=0023   DS=002B  SS=002B  ES=002B   FS=0053  GS=002B

0023
:004DA75E Neuz.exe, CWndNeuz::InitDialog()+0110 byte(s)
0023:007D3998 Neuz.exe, CWndJobChangeEx::Initialize()+0408 byte(s)
0023:00712244 Neuz.exe, CMover::SetExperience()+1316 byte(s)
0023:00416D5D Neuz.exe, CDPClient::OnSetExperience()+0141 byte(s)
0023:0040EBBE Neuz.exe, CDPClient::OnSnapshot()+3806 byte(s)
0023:0040DC20 Neuz.exe, CDPClient::UserMessageHandler()+0176 byte(s)
0023:007C0A7B Neuz.exe, CDPMng::ReceiveMessage()+0219 byte(s)
0023:0046E5BA Neuz.exe, CNeuzApp::FrameMove()+0106 byte(s)
0023:0048D6D0 Neuz.exe, CD3DApplication::Render3DEnvironment()+0384 byte(s)
0023:0048D515 Neuz.exe, CD3DApplication::Run()+0245 byte(s)
0023:004754CC Neuz.exe, WinMain()+0332 byte(s)
0023:0091905C Neuz.exe, WinMainCRTStartup()+0388 byte(s)
0023:759C3677 kernel32.dll, BaseThreadInitThunk()+0018 byte(s)
0023:779C9D72 ntdll.dll, RtlInitializeExceptionChain()+0099 byte(s)
0023:779C9D45 ntdll.dll, RtlInitializeExceptionChain()+0054 byte(s) 
Fixed aktualisieren von Res files Client