Custom Pets (Keine Lootpets)

08/24/2013 19:55 *~Valvatorez~*#1
Nabend epvp'lers

Ich arbeite zur Zeit daran Custom Pets einzufügen. Funktioniert auch alles perfekt wenn ich ein neues gegen ein altes ersetze.

Nun will ich mein neues Pet aber in das Egg "einfügen", leider fand ich in den Src keine genaue definierung und keinen Eintrag zu IK3_Pet / MMI_ usw.

Meine Frage ist nun, wo stehen die Pet's welche aus dem Egg kommen? Ich tippe mal auf eine regelung via ID's da der GM command von 0-6 ja auch die ip benötigt.

lg
08/24/2013 20:23 xMetrickZ#2
pet.inc defineitem.h spec-/propitem.txt und spec-/propitem.txt.txt
08/24/2013 20:26 *~Valvatorez~*#3
Ich sprach eher von den Source. Wo die Pets definiert sind welche aus den Egg's kommen.
08/24/2013 21:27 Spheromany#4
Schau mal in der Transformitem.inc nach. Könnte das sein was du meinst.

Alles andere findest du in der Pet.cpp und Pet.h
08/25/2013 09:38 *~Valvatorez~*#5
Hab ich alles schon durchforstet.
Das Problem was ich habe, ist der Bezug vom Egg zum Pet.

In der Transformitem.inc steht z.b "PK_UNICORN".
In der Specitem steht bei jedem Pet widerrum "PK_TIGER".
In der define.h sind die "PK_..." definiert.

ABER woher ziehen die PK definitionen die Informationen der Pets?

[Only registered and activated users can see links. Click Here To Register...]
08/25/2013 15:20 Spheromany#6
Ich denke hilfreich für alle wäre es, zu wissen, was du bis jetzt bearbeitet hast.

Hast du das Pet richtig in die Pet.inc hinzugefügt?
08/26/2013 06:52 *~Valvatorez~*#7
Quote:
Originally Posted by Spheromany View Post
Ich denke hilfreich für alle wäre es, zu wissen, was du bis jetzt bearbeitet hast.

Hast du das Pet richtig in die Pet.inc hinzugefügt?

Das Pet ist vollständig und richtig eingefügt.
Pet funktioniert auch komplett usw.

Das einzige (!!!) was jetzt nur noch fehlt ist: Custom Pet aus dem Ei schlüpfen lassen.

Es funktioniert alles drumm und drann, muss nun nur noch wissen wie das EGG die Pet's erkennt. In der Transformitem.inc sind zwar einträge, diese laufen aber auf kein Ziel zu d.h PK_UNICORN existiert z.B nicht da es als "PK_TIGER" eingetragen ist in der spec_item.
08/26/2013 12:32 Spheromany#8
Ja ich frage, weil bei dem Abschnitt:
Code:
AvailDestParam	// 펫 종류 별 능력치 상승 파라미터
{
//	영향		레벨1	레벨2	레벨3	레벨4	레벨5	레벨6	레벨7	레벨8	레벨9	아이템			무버1			무버2			무버3			부화확률
	DST_STR		1	2	4	7	11	16	22	29	37	II_PET_WHITETIGER01	MI_PET_WHITETIGER01	MI_PET_WHITETIGER01_1	MI_PET_WHITETIGER01_2	900
	DST_STA		1	2	4	7	11	16	22	29	37	II_PET_BARBARYLION01	MI_PET_BARBARYLION01	MI_PET_BARBARYLION01_1	MI_PET_BARBARYLION01_2	1100
	DST_DEX		1	2	4	7	11	16	22	29	37	II_PET_RABBIT02		MI_PET_RABBIT02		MI_PET_RABBIT02_1	MI_PET_RABBIT02_2	1300
	DST_INT		1	2	4	7	11	16	22	29	37	II_PET_NINEFOX01	MI_PET_NINEFOX01	MI_PET_NINEFOX01_1	MI_PET_NINEFOX01_2	1675
	DST_ATKPOWER	5	10	20	35	55	80	110	145	185	II_PET_DRAGON01		MI_PET_DRAGON01		MI_PET_DRAGON01_1	MI_PET_DRAGON01_2	1675
	DST_ADJDEF	4	8	16	28	44	64	88	116	148	II_PET_EAGLE01		MI_PET_EAGLE01		MI_PET_EAGLE01_1	MI_PET_EAGLE01_2	1675
	DST_HP_MAX	91	182	364	637	1001	1456	2002	2639	3367	II_PET_UNICORN01	MI_PET_UNICORN01	MI_PET_UNICORN01_1	MI_PET_UNICORN01_2	1675
Jeweils die letzte Zahl die Wahrscheinlichkeit angibt, mit der ein Pet aus einem Egg schlüpft.

Zusammen ergeben die Werte 10.000 .
Da ist es wahrscheinlich wie überall in Flyff, dass wenn du ein neues hinzufügst, die Zahlen anpassen musst. Es aber immer zusammen 10.000 ergeben muss.

Im Source find ich beim besten Willen nichts.

Hatte früher mal dieses Pierce oder wie das heist als Custom Pet drinne und es funktionierte ohne Src arbeiten (bis auf den Text in den Stats).
08/26/2013 12:51 ©ross#9
Man könnte den Wert von 10.000 leicht anheben, das währe das kleinste Problem
Code:
BYTE	CPetProperty::Hatch( void )
{
	DWORD dwTotal	= 0;
	DWORD dwRandom	= xRandom( 1, 10001 );	// 1 - 10000
	for( int i = 0; i < PK_MAX; i++ )
	{
		dwTotal	+= m_aPetAvailParam[i].m_dwProbability;
		if( dwTotal >= dwRandom )
			return i;
	}
	return 0;	// error
}
Normalerweise hängt es immer an dieser Chance - würde da nochmal nachrechnen.
08/26/2013 13:55 *~Valvatorez~*#10
Quote:
Originally Posted by ©ross View Post
Man könnte den Wert von 10.000 leicht anheben, das währe das kleinste Problem
Code:
BYTE	CPetProperty::Hatch( void )
{
	DWORD dwTotal	= 0;
	DWORD dwRandom	= xRandom( 1, 10001 );	// 1 - 10000
	for( int i = 0; i < PK_MAX; i++ )
	{
		dwTotal	+= m_aPetAvailParam[i].m_dwProbability;
		if( dwTotal >= dwRandom )
			return i;
	}
	return 0;	// error
}
Normalerweise hängt es immer an dieser Chance - würde da nochmal nachrechnen.
Oh Cross, immer noch in FlyFF aktiv ? (~Virtuos hier)

Also, ja ich habe die Rate beachtet, angewohnheit :D
Ich werde nun etwas inprovisieren und Scrolls für die Custom Pets erstellen und ggf. bei einem Boss droppen lassen like "Red Meteonyker dropt ein Baby Meteonyker" ^.^
08/26/2013 14:58 ©ross#11
Wusst ich schon das du es bist ;)
Wie gesagt bei mir haperte es immer an der Chance - hatte sie mal dann im Source erhöht (auf meinen neuen wert +10) und es ging.

Und aktiv.. naja ;) Kennst mich doch :P

greetz
08/26/2013 17:12 raventh1984#12
Hmm nice thought of making an new feed pet.

So i have done this to just to check it out. And when i add it into transformitem.inc the worldserver crashes. So i did an debug and its telling me that this line is causing the problem

ASSERT( nKind < PK_MAX );

So i have checked in define.h and the PK_MAX is set to 9
This is my define.h


I dont know if i am alloud to post here an problem i am having. But i also want to try to help you so we all can benefith from it.
08/26/2013 17:23 ©ross#13
@raventh:
The problem is that no "# define PK_XX 8" in the file exists
Set PK_MAX to 8 and your Worldserver should not crash

//edid:
Code:
#define PK_NPC -1
That is wrong.
The Code will only count from 0 to PK_MAX
08/26/2013 17:28 raventh1984#14
To bad Cross that wont work. PK_MAX is set to 8 but the worldserver is still crashing and it still shows me the exact same line.
08/26/2013 17:31 ©ross#15
Do you change the PK_NPC -1 ? (When you set it to 8 than set PK_MAX to 9 )