[Source] SetLevelUpGift Geschlechtsfilter

06/01/2011 19:14 .iLLuminat#16
@Sedrika:
Bisschen Fail wenn er bei jedem einen Fehler generiert, falls der User nicht dem Job entspricht. Kommt wohl vom C&P und Gehirn ausschalten :bandit:
Code:
BYTE job = static_cast<BYTE>( m_Lua.GetFieldToNumber( -1, "nJob" ) );

[B][COLOR="Red"]if( job == pUser->m_nJob ) // Job Klasse[/COLOR][/B]
{ // ·Î±× ³²±è
	if( pUser->CreateItem( &itemElem ) )
	{
		aLogItem.RecvName = "EVENT_LEVELUP_GIFT";
		g_DPSrvr.OnLogItem( aLogItem, &itemElem, nItemNum );
	}
	else
	{
		g_dpDBClient.SendQueryPostMail( pUser->m_idPlayer, 0, itemElem, 0, "", "" );
		aLogItem.RecvName = "EVENT_LEVELUP_GIFT_POST";
		g_DPSrvr.OnLogItem( aLogItem, &itemElem, nItemNum );
	}
}
else
{
[COLOR="red"][B]	Error( "CEventLua::SetLevelUpGift() - nJob not valid. nJob = \"%s\"", m_Lua.GetFieldToString( -1, "nJob" ) );[/B][/COLOR]
	m_Lua.Pop( 1 );
	continue;
}
Code:
BYTE job = static_cast<BYTE>( m_Lua.GetFieldToNumber( -1, "nJob" ) );

if( job == pUser->m_nJob ) // Job Klasse
{ // ·Î±× ³²±è
	if( pUser->CreateItem( &itemElem ) )
	{
		aLogItem.RecvName = "EVENT_LEVELUP_GIFT";
		g_DPSrvr.OnLogItem( aLogItem, &itemElem, nItemNum );
	}
	else
	{
		g_dpDBClient.SendQueryPostMail( pUser->m_idPlayer, 0, itemElem, 0, "", "" );
		aLogItem.RecvName = "EVENT_LEVELUP_GIFT_POST";
		g_DPSrvr.OnLogItem( aLogItem, &itemElem, nItemNum );
	}
}
else
{
	[B][COLOR="red"]if( !(job >= JOB_VAGRANT && job < MAX_JOB) )[/COLOR][/B]
		Error( "CEventLua::SetLevelUpGift() - nJob not valid. nJob = \"%s\"", m_Lua.GetFieldToString( -1, "nJob" ) );
	m_Lua.Pop( 1 );
	continue;
}
06/01/2011 19:22 Sedrika#17
if( (job >= JOB_VAGRANT && job < MAX_JOB) )

Wohl eher zu

if( (job < JOB_VAGRANT && job > MAX_JOB) )

Selber nachdenken hat wohl nicht ganz geklappt.
06/01/2011 19:37 .iLLuminat#18
Quote:
Originally Posted by Sedrika View Post
if( (job >= JOB_VAGRANT && job < MAX_JOB) )

Wohl eher zu

if( (job < JOB_VAGRANT && job > MAX_JOB) )

Selber nachdenken hat wohl nicht ganz geklappt.
So Mathematik liegt dir nicht, oder?
Code:
if( (job < JOB_VAGRANT && job > MAX_JOB) )
heißt
Code:
Wenn( Job kleiner als JOB_VAGRANT UND Job größer als MAX_JOB )
Meins:
Code:
if( !(job >= JOB_VAGRANT && job < MAX_JOB) )
heißt
Code:
Wenn( Nicht (Job größer oder gleich VAGRANT UND Job kleiner als MAXIMALER JOB) )
Glaub mir ich bin Fachinformatiker und kenne mich sicher mehr aus, als du mit deiner 1 Jahres Erfahrung mit C++ im Crashkurs...

PS:
http://de.wikipedia.org/wiki/Verhält...Merks.C3.A4tze
06/01/2011 19:40 Sedrika#19
Warumm soll es dir einen Job schreiben, wenn dieser stimmt ?
Nach meinem schreibt es dann ein Error aus, wenn dieser nicht in dem bereich der Jobs ist.

Indem fall würd deins immer ein error ausgeben und meins nur bei einer ID, die nicht da ist.

Somit hast du ja wieder den Fehler und glaub mir, ich mach ITA.

Edit:

Meins wäre ja

if ( job < 0 & job > 32/40 )

also entweder im minus bereich oder größer als 32/40, weils nur soviele gibt.
06/01/2011 19:43 .iLLuminat#20
Jetzt versteh ich was du meinst, Ausrufezeichen hat gefehlt. Bin grad am Mac, muss mich an die Tastatur gewöhnen. Trotzdem kannst du kein C++, sondern Leechst nur :)
02/01/2012 14:14 Mr.Greenthumb#21
ich weiss das der treath alt ist aber ich habe da mal eine frage ich habe das in der source eingefügt was source angeht bin ich neuling hänge da jeden tag dranne und wie ihr wisst übung macht den meister


also zu meinem problem beim compilen macht der keine errors oder sowas
ich gebe in meiner event.lua ein

SetLevelUpGift( 2, "all","II_SYS_SYS_SCR_BXMSNOWBOARDER01", 1, male )

der männliche char bekommt das item mit level 2 ins inventar so nun habe ich

dies eingegeben für weiblich

SetLevelUpGift( 2, "all","II_SYS_SYS_SCR_BXMSNOWBOARDER01", 1, female )

und da bekomme ich diesen error in meiner error.txt vom server was hat das zu sagen ? =(

2012/ 2/ 1 14:10:12 CEventLua::SetLevelUpGift() - nSex not valid. nSex = "(null)"

ich bekomme den error nicht weg und weiss auch nicht weiter das komische ist wenn ich in meine event.lua beides einfüge bekommt der männliche character die box die normal für die weibliche is mit der männlichen zusammen ins inventar gelegt
02/01/2012 14:25 dennisdra#22
Das Problem liegt an "male" bzw. "female".
Anstatt male bzw. female musst du Zahlen verwenden.

0 = male
1 = female
2 = sexless

Beispiel:

Quote:
SetLevelUpGift( 30, "all", "II_SYS_SYS_SCR_BXSILVELPACK", 1, 2, 2 )
Rot = Anzahl die der User bekommt
Grün = Welches Geschlecht das Item erhält, in meinem Beispiel beide da es auf "sexless" gestellt ist
Orange = Angabe, obs Seelengebundenes-, Event- ect. Item ist

Damit deins funktioniert musste also das female zu einer "1" (ohne die "") machen.
02/01/2012 14:33 Mr.Greenthumb#23
ahhh dank dir das war der fehler ich hatte meine define.obj durchgeschaut und gesehen das die ids

11 male
12 female

sind aber mit 1 und 2 und 0 gehts dank dir =)
03/10/2015 16:46 nicenickman#24
T^T Error Lua levelup

2015/ 3/10 21:19:55 OP: 3308811, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:20:49 OP: 53848, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:20:49 LUA - Event - ID:1, Title:Level Up Event, State:1

2015/ 3/10 21:20:49 LUA - Event - ID:2, Title:Level-UP Event Rewards!!, State:1

2015/ 3/10 21:20:59 OP: 9797, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:24:55 OP: 3609005, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:24:59 OP: 4197, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:24:59 LUA - Event - ID:1, Title:Level Up Event, State:1

2015/ 3/10 21:24:59 LUA - Event - ID:2, Title:Level-UP Event Rewards!!, State:1

2015/ 3/10 21:25:03 OP: 3354, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0

how to fix in deep tut


i user source : adeilson123
[Only registered and activated users can see links. Click Here To Register...]
03/12/2015 02:51 - DK#25
Quote:
Originally Posted by nicenickman View Post
T^T Error Lua levelup

2015/ 3/10 21:19:55 OP: 3308811, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:20:49 OP: 53848, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:20:49 LUA - Event - ID:1, Title:Level Up Event, State:1

2015/ 3/10 21:20:49 LUA - Event - ID:2, Title:Level-UP Event Rewards!!, State:1

2015/ 3/10 21:20:59 OP: 9797, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:24:55 OP: 3609005, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:24:59 OP: 4197, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


2015/ 3/10 21:24:59 LUA - Event - ID:1, Title:Level Up Event, State:1

2015/ 3/10 21:24:59 LUA - Event - ID:2, Title:Level-UP Event Rewards!!, State:1

2015/ 3/10 21:25:03 OP: 3354, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0

how to fix in deep tut


i user source : adeilson123
[Only registered and activated users can see links. Click Here To Register...]

This is only the Post of the normal Event <..< NOT A ERROR ?
05/28/2020 13:56 aoyamananami#26
Quote:
Originally Posted by Krustenkäse View Post
Hi ElitePVPerz,
ich zeige euch mal, wie ihr den Geschlechtsfilter für die Eventfunktion SetLevelUpGift() zum laufen kriegt :P

als erstes müsst ihr eure EventFunc.lua umschreiben :

so, jetzt noch die Änderungen in der Source:

Jetzt könnt ihr die SetLevelUpGift Funktion nach folgendem Schema verwenden:
Code:
SetLevelUpGift( nLevel, lpszAccount, ItemId, nNum, nSex, byFlag )
i would love to reup this because i add this the nSex and nJob part
i gain item after leveling but i do 2pcs instead of 1pc because i set the item in event.lua in 1pc

here's my SetLevelGift

help please :handsdown::handsdown: