Hardcore mode problem

01/21/2013 19:37 FlyCraft.TobiLap#1
hallo,
habe mir den hardcore mode mal eingebaut,
nun hab ich das problem , das der hardcore mode nichts bringt, bzw dass
die funktion
Quote:
int CUser::GetUserMode()
mir leider random integer werte zurückgibt....

irgnetwer ne idee?
01/21/2013 19:57 Andrej-Delany#2
schau dir doch das hier mal an:
Code:
if( g_UserMng.GetUserByPlayerID( pAttacker->m_idPlayer )->GetUserMode() == HARDCORE_USER_MODE )
	nNumGold *= 2;
und das hier:
Code:
int nDiMode = static_cast<int>( m_Lua.GetFieldToNumber( -1, "nDiMode" ) );
if( nDiMode != pUser->GetUserMode() )
	return;
Und das hier:
Code:
	CUser* pUser = (CUser*)this;
	if(pUser->GetUserMode() == HARDCORE_USER_MODE)
		nExp /= 10;
Und wehe ich höhre hier nochmal das bring nicht oder im source ist nichts zum thema EventFunc.lua drin OK?

EDIT: Falls du es nicht verstehen solltest in der lua kannst du das levelup gift noch nach Mode Filtern
Code:
SetLevelUpGift( nLevel, "all", ItemId, nNum, nDiMode, byFlag )
01/21/2013 20:08 FlyCraft.TobiLap#3
danke, aber ich glaube, dass du leider meinen Thread nicht richtig verstanden hast.
Ich habe nun mal einen kleinen Befehl geschrieben umd den "Usermode" zu ändern.

Ändere ich den Usermodemanuell , funktioniert auch alles,
doch der usermode wird beim einloggen nicht richtig geladen(in der db stimmt der eintrag, er speichert den ja auch ab)

MfG Tobi
01/21/2013 20:15 Andrej-Delany#4
Das liegt vermutlich daran das die funktion nur den nich intialisirten integer m_nMode zurückgibt und nicht den wer aus der DB.

Muss dir natürlich von da auslesen und nicht den integer der nur zum zwischenspeichern

vileicht hilft dir das hier:
Code:
arRead >> nMode;
01/21/2013 20:30 FlyCraft.TobiLap#5
So, wenn ich mich nicht irre,
wird der wert an diesr stelle der db entnommen:

Quote:
mover.m_nDiMode = qry->GetInt("m_nDiMode");
wenn ich ihm jedoch sage(an der einzigen stelle , an der er den mode setzt):

Quote:
#ifdef __HARDCORE_MODE
int nMode;
ar >> nMode;

pUser->SetUserMode( nMode );

#endif
das letzte nMode durch :
Quote:
pUser->m_nDiMode
ersetzte, gehts auch nicht, ist aber eig logisch oder???

BTW: wieso ist das released wenns nicht geht oO
01/22/2013 13:37 DanielY0#6
dir fehlen warscheinlich die db einträge ;)
01/22/2013 15:55 FlyCraft.TobiLap#7
Quote:
Originally Posted by DanielY0 View Post
dir fehlen warscheinlich die db einträge ;)
Beitrag von oben.
Quote:
in der db stimmt der eintrag, er speichert den ja auch ab)
Es geht alles, nur beim auslesen macht er nen fehler den ich net verstehe.