Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server > Flyff PServer Guides & Releases
You last visited: Today at 00:32

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Source Release]Scroll of Raise Pet

Discussion on [Source Release]Scroll of Raise Pet within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.

Closed Thread
 
Old   #1
 
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
[Source Release]Scroll of Raise Pet

Hier mal die Info zur Scroll

So fangen wir mal an

als erstes die Items

defineitem.h
Code:
#define II_SYS_LION 23565
#define II_SYS_RABBIT 23566
#define II_SYS_TIGER 23567
#define II_SYS_FOX 23568
#define II_SYS_DRAGON 23569
#define II_SYS_HIPPOGRIPH 23570
evtl müsst ihr die ID's anpassen das sie nicht doppelt bei euch vorkommen

2.

propitem.txt
Code:
//raise Pet Scrolls
15	II_SYS_LION	IDS_PROPITEM_TXT_013278	1	1	IK1_SYSTEM	IK2_SYSTEM	IK3_SCROLL	=	=	1	=	0	=	=	=	=	=	=	=	0	=	=	1	=	=	1	1	=	=	=	=	_NONE	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	XI_SYS_EXPAN01	=	=	=	=	=	=	WUI_NOW	=	=	=	=	=	=	=	=	=	0	0	0	0	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	"""Itm_SysSysScrBxLuck.dds"""	0	""""""	IDS_PROPITEM_TXT_013279		
15	II_SYS_RABBIT	IDS_PROPITEM_TXT_013280	1	1	IK1_SYSTEM	IK2_SYSTEM	IK3_SCROLL	=	=	1	=	0	=	=	=	=	=	=	=	0	=	=	1	=	=	1	1	=	=	=	=	_NONE	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	XI_SYS_EXPAN01	=	=	=	=	=	=	WUI_NOW	=	=	=	=	=	=	=	=	=	0	0	0	0	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	"""Itm_SysSysScrBxLuck.dds"""	0	""""""	IDS_PROPITEM_TXT_013281	
15	II_SYS_FOX	IDS_PROPITEM_TXT_013282	1	1	IK1_SYSTEM	IK2_SYSTEM	IK3_SCROLL	=	=	1	=	0	=	=	=	=	=	=	=	0	=	=	1	=	=	1	1	=	=	=	=	_NONE	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	XI_SYS_EXPAN01	=	=	=	=	=	=	WUI_NOW	=	=	=	=	=	=	=	=	=	0	0	0	0	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	"""Itm_SysSysScrBxLuck.dds"""	0	""""""	IDS_PROPITEM_TXT_013283	
15	II_SYS_TIGER	IDS_PROPITEM_TXT_013288	1	1	IK1_SYSTEM	IK2_SYSTEM	IK3_SCROLL	=	=	1	=	0	=	=	=	=	=	=	=	0	=	=	1	=	=	1	1	=	=	=	=	_NONE	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	XI_SYS_EXPAN01	=	=	=	=	=	=	WUI_NOW	=	=	=	=	=	=	=	=	=	0	0	0	0	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	"""Itm_SysSysScrBxLuck.dds"""	0	""""""	IDS_PROPITEM_TXT_013289	
15	II_SYS_DRAGON	IDS_PROPITEM_TXT_013284	1	1	IK1_SYSTEM	IK2_SYSTEM	IK3_SCROLL	=	=	1	=	0	=	=	=	=	=	=	=	0	=	=	1	=	=	1	1	=	=	=	=	_NONE	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	XI_SYS_EXPAN01	=	=	=	=	=	=	WUI_NOW	=	=	=	=	=	=	=	=	=	0	0	0	0	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	"""Itm_SysSysScrBxLuck.dds"""	0	""""""	IDS_PROPITEM_TXT_013285	
15	II_SYS_HIPPOGRIPH	IDS_PROPITEM_TXT_013286	1	1	IK1_SYSTEM	IK2_SYSTEM	IK3_SCROLL	=	=	1	=	0	=	=	=	=	=	=	=	0	=	=	1	=	=	1	1	=	=	=	=	_NONE	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	XI_SYS_EXPAN01	=	=	=	=	=	=	WUI_NOW	=	=	=	=	=	=	=	=	=	0	0	0	0	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	"""Itm_SysSysScrBxLuck.dds"""	0	""""""	IDS_PROPITEM_TXT_013286
propitem.txt.txt
Code:
IDS_PROPITEM_TXT_013278 Scroll of Raise Pet(Lion)
IDS_PROPITEM_TXT_013279 you get an Perfect Lion
IDS_PROPITEM_TXT_013280 Scroll of Raise Pet(Rabbit)
IDS_PROPITEM_TXT_013281 you get an Perfect Rabbit
IDS_PROPITEM_TXT_013282 Scroll of Raise Pet(Fox)
IDS_PROPITEM_TXT_013283 you get an Perfect Fox
IDS_PROPITEM_TXT_013284 Scroll of Raise Pet(Dragon)
IDS_PROPITEM_TXT_013285 you get an Perfect Dragon
IDS_PROPITEM_TXT_013286 Scroll of Raise Pet(Hippogriph)
IDS_PROPITEM_TXT_013287 you get an Perfect Hippogriph
IDS_PROPITEM_TXT_013288 Scroll of Raise Pet(Tiger)
IDS_PROPITEM_TXT_013289 you get an Perfect Tiger

so

nun die source sachen

MoverSkill.Cpp

unter
Code:
BOOL CMover::DoUseItem( DWORD dwData, DWORD dwFocusId, int nPart  )
{
#ifdef __WORLDSERVER
	if( IsDie() )
		return FALSE;
#ifdef __S_SERVER_UNIFY
	if( ((CUser*)this)->m_bAllAction == FALSE )
		return FALSE;
#endif // __S_SERVER_UNIFY

	WORD dwType = LOWORD( dwData );
	WORD dwId   = HIWORD( dwData );

	CItemBase* pItemBase = GetItemId( dwId ); 
	if( IsUsableItem( pItemBase ) == FALSE )
		return FALSE;

	CItemElem* pItemElem = (CItemElem*)pItemBase;
	ItemProp* pItemProp  = pItemBase->GetProp();
					

	if( pItemProp->dwItemKind3 == IK3_LINK )
	{
		pItemProp	= prj.GetItemProp( pItemProp->dwActiveSkill );
		if( pItemProp == NULL )
			return FALSE;
	}

	DWORD dwItemKind1    = pItemProp->dwItemKind1;
	DWORD dwItemKind2    = pItemProp->dwItemKind2;
	DWORD dwItemKind3    = pItemProp->dwItemKind3;
fügt ihr das ein

Code:
#ifdef __RAISE_PET
#ifdef __WORLDSERVER
	BOOL bPet;
	BYTE nKind;
	CUser *pUser = ((CUser*)this);//Momentan User der die scroll auslöst
		CPet* pPet	= pUser->GetPet();//Pet hohlen
	if( pPet && pUser->GetPet()->GetLevel() != PL_EGG )//IST ES HÖHER ALS EGG?
	{
		return FALSE;
	}
	if( pItemProp->dwID == II_SYS_LION )//LÖWE
	{
		nKind = 1;
		bPet = FALSE;
	}
	else if( pItemProp->dwID == II_SYS_RABBIT )//HASE
	{
		nKind = 2;
		bPet = FALSE;
	}
		else if( pItemProp->dwID == II_SYS_TIGER )//TIGER
	{
		nKind = 0;
		bPet = TRUE;
	}
		else if( pItemProp->dwID == II_SYS_HORSE )//PFERD
	{
		nKind = 6;
		bPet = TRUE;
	}
		else if( pItemProp->dwID == II_SYS_DRAGON )//DRACHE
	{
		nKind = 4;
		bPet = TRUE;
	}
			else if( pItemProp->dwID == II_SYS_HIPPOGRIPH )//HIPPOGREIF
	{
		nKind = 5;
		bPet = TRUE;
	}
			else if( pItemProp->dwID == II_SYS_FOX )//FUCHS
	{
		nKind = 3;
		bPet = TRUE;
	}
	if( bPet == TRUE)//SCROLL OF RAISE PET ?
	{
	if( IsValidObj( pUser ) == FALSE )//FEHLER ABGFRAGE
		return TRUE;

	if( pPet == NULL )	//FEHLER ABFRAGE
		return TRUE;

	// kind
	if( nKind >= PK_MAX ) //FEHLER ABFRAGE
		return TRUE;

	// exp
	BYTE nExpRate	= 99; //EXP RATE

	BYTE nLevel		= 5;// S KLASSE

	if( nLevel > PL_S ) //FEHLER CODE ABFRAGE
		return TRUE;

	
	BYTE nLife; //LIFE
		nLife	= 99;//LEBEN AUF 99 SETZEN

	CItemElem* pItemElem2	= pUser->GetPetItem();
	pPet->SetKind( nKind );//ART DES PETS
	pPet->SetLevel( nLevel );//LEVEL SETZEN
	if( nLevel == PL_EGG )
		pPet->SetKind( 0 );	// initialize
	pItemElem2->m_dwItemId	= pPet->GetItemId();
	pPet->SetEnergy( pPet->GetMaxEnergy() );//MAXIMALE ENERGY
	DWORD dwExp		= pPet->GetMaxExp() * nExpRate / 100;
	pPet->SetExp( dwExp );

	for( int i = 0; i < 6; i++ )//LEVEL SETZEN
		pPet->SetAvailLevel( i, 9 );


	pPet->SetLife( nLife );//DIE LEBEN SETZEN

	if( pUser->HasPet() )
		pUser->RemovePet();//EGG REINHOHLEN

	g_dpDBClient.CalluspPetLog( pUser->m_idPlayer, pItemElem2->GetSerialNumber(), 0, PETLOGTYPE_LEVELUP, pPet );

	pUser->AddPet( pPet, PF_PET_GET_AVAIL );	// PET EINFÜGEN
	g_UserMng.AddPetLevelup( pUser, MAKELONG( (WORD)pPet->GetIndex(), (WORD)pPet->GetLevel() ) );	// öâ
	pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_NUM, 0 );//SCROLL LÖSCHEN
	return TRUE;
	}
#endif//__WORLDSERVER
#endif//__RAISE_PET
jetz noch in VersionCommon.h
Code:
#define __RAISE_PET
Jopsi332 is offline  
Thanks
10 Users
Old 04/22/2012, 13:43   #2
 
elite*gold: 255
Join Date: Mar 2008
Posts: 2,184
Received Thanks: 978
Nice release
Bloodyrain™ is offline  
Old 04/22/2012, 14:26   #3
 
elite*gold: 30
Join Date: May 2011
Posts: 521
Received Thanks: 69
super realease funkt
Crystal-Craft is offline  
Old 04/22/2012, 14:37   #4
 
elite*gold: 59
Join Date: Aug 2009
Posts: 1,595
Received Thanks: 490
Wärs nich sinnvoller n Hatching Promoter zu erweitern mit nem Fenster in dem Abgefragt wird welches Pet man will anstatt für jedes Pet ne eigene Rolle zu machen? o.O
.Tear is offline  
Old 04/22/2012, 14:44   #5
 
elite*gold: 30
Join Date: May 2011
Posts: 521
Received Thanks: 69
achja und das Pet kann man bei mri nicht mehr reinholen(nur per "Pet abbrechen") und nach einem relogg hat es kein icon mehr ^^
Crystal-Craft is offline  
Thanks
1 User
Old 04/22/2012, 17:57   #6
 
elite*gold: 0
Join Date: Nov 2010
Posts: 85
Received Thanks: 31
Wollt dich nur daraufhinweisen dass du II_SYS_HORSE vergessen hast zu definieren. (Probitem.txt ,DefineItem.h)
Man merkt es spätestens beim compilen
Wtdx3 is offline  
Old 04/22/2012, 18:15   #7
 
elite*gold: 6
Join Date: Jun 2008
Posts: 309
Received Thanks: 34
kleiner fix:
Quote:
Originally Posted by Jopsi332 View Post
Code:
pItemElem->m_dwItemId	= pPet->GetItemId();
zu
Code:
pItemElem[COLOR="Red"]2[/COLOR]->m_dwItemId	= pPet->GetItemId();
dann speichert es auch richtig
und dass hier sollte mit in die if( bPet == TRUE) abfrage
Code:
	if( pPet && pUser->GetPet()->GetLevel() != PL_EGG )//IST ES HÖHER ALS EGG?
	{
		return FALSE;
	}
sonst kann es zu komplikationen mit den anderen sachen in der funktion kommen
I<3-electro&house is offline  
Thanks
1 User
Old 04/22/2012, 18:23   #8
 
elite*gold: 0
Join Date: Oct 2011
Posts: 178
Received Thanks: 113
PHP Code:
if( pPet && pUser->GetPet()->GetLevel() != PL_EGG )//IST ES HÖHER ALS EGG?
{
return 
FALSE;
}


if( 
IsValidObjpUser ) == FALSE )//FEHLER ABGFRAGE
return TRUE;



if( 
pPet == NULL //FEHLER ABFRAGE
return TRUE
Mal returnst du TRUE mal FALSE, konntest dich nicht entscheiden, wa? XD

Mal davon abgesehn, dein Kommentar bei der Abfrage ob das Level höher ist als das eines Ei's.

PHP Code:
if( pPet && pUser->GetPet()->GetLevel() != PL_EGG )//IST ES HÖHER ALS EGG? 
Du überprüffst NUR ob es NICHT Egg ist, nicht obs höher ist .. also könnte theoretisch der Wert auch unter PL_EGG sein, wenn mans macht dann richtig.

Ein weiter release, der mir zeigt das deine Quellcode's fürn Arsch sind, und das niemand was bei dir kaufen sollte, da deine programmier - Erfahrung immernoch genau so wenig wie vorher ist.

Mal davon abgesehn wäre ein switch bei soviele else if besser angebracht.
Sekkusu[DW] is offline  
Thanks
4 Users
Old 04/22/2012, 18:33   #9
 
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
hab ich auch schon gemerkt das switch besser wäre aber ob der kommentra jetz höher oder ungleich ist ist egal theoretisch da die abfrage richtig ist.
Jopsi332 is offline  
Old 04/22/2012, 18:45   #10

 
Flyff_Service's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 680
Received Thanks: 337
Wenn du es besser weißt, wieso benutzt du dann kein Switch? Der Kommentar zeigt auch wie viel Ahnung du von deinem eigenem Code hast.
Flyff_Service is offline  
Thanks
3 Users
Old 04/22/2012, 18:57   #11
 
Jay Niize's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4,851
Received Thanks: 3,417
Ist ne starke Idee, leider zu schwer umgesetzt. Anstatt so viele Rollen zu machen, sollte man einfach ein Fenster haben in dem man alles auswählen kann. Ist zwar ne große Arbeit, ist aber sehr benutzerfreundlich und zudem Unique. (:

~Greetings
Jay Niize is offline  
Thanks
1 User
Old 04/22/2012, 19:12   #12
 
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
Quote:
Originally Posted by Flyff_Service View Post
Wenn du es besser weißt, wieso benutzt du dann kein Switch? Der Kommentar zeigt auch wie viel Ahnung du von deinem eigenem Code hast.
weils mir erst aufgefallen ist beim reinstellen hier.
Jopsi332 is offline  
Old 04/22/2012, 19:41   #13
 
Unleashed!'s Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 395
Received Thanks: 233
Quote:
Originally Posted by Jopsi332 View Post
weils mir erst aufgefallen ist beim reinstellen hier.
Dann änder es doch kurz? Oder kannst du das selber nicht? :S
Warum für jedes Pet ne eigene Scroll, ist doch unnötig o.O
Unleashed! is offline  
Thanks
1 User
Old 04/22/2012, 19:53   #14
 
elite*gold: 6
Join Date: Jun 2008
Posts: 309
Received Thanks: 34
Code:
E:deleted
habe es mal nen bisschen verändert und erweitert, ist zwar immernoch ohne fenster aber naja hf
I<3-electro&house is offline  
Old 04/22/2012, 20:14   #15
 
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
Quote:
Originally Posted by Unleashed! View Post
Dann änder es doch kurz? Oder kannst du das selber nicht? :S
Warum für jedes Pet ne eigene Scroll, ist doch unnötig o.O
faulheit triffts eher.
Jopsi332 is offline  
Closed Thread


Similar Threads Similar Threads
[Source Release]Scroll of Unbinding
05/11/2013 - Flyff PServer Guides & Releases - 60 Replies
Hallo Da in letzter zeit nur mist wegen Unbinding Scroll gepostet wurde. Poste ich jetzt hier eine 100%tig funktionierende Scroll. Das die Seelengebundenheit euer Waffe entfernt.
[Source TUT]Scroll of Unbinding
02/14/2012 - Flyff Private Server - 6 Replies
Da in einem anderen Thread dannach gefragt wurde hier: WndField.Cpp CWndUnbind::CWndUnbind void ) { m_pItemElem = NULL; m_pTexture = NULL; } CWndUnbind::~CWndUnbind( void )
[Source Request] Scroll of Unbinding
02/13/2012 - Flyff Private Server - 10 Replies
Moin Community, Ich hab da mal 'ne Frage: Hat wer von euch die Unbinding Scroll und rückt sie (auch ggn. Bezahlung) raus? Nein, die von Etioom funktioniert nicht. Das ist auch eindeutig zu wenig Quelltext meiner Meinung nach.
[Source TuT] /gro mit kosten 'ala' Scroll of Awakening
01/07/2012 - Flyff Private Server - 12 Replies
Damit der /gro Befehl genau wie die Scroll of Awakening einen Betrag für die Erweckung verlangt muss lediglich die Funktion BOOL TextCmd_GenRandomOption( CScanner & s ) in der FuncTextCmd wie folgt umgeschrieben/ausgetauscht werden werden:



All times are GMT +1. The time now is 00:32.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.