Register for your free account! | Forgot your password?

You last visited: Today at 15:26

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

Advertisement



[Release]Extended Petfilter

Discussion on [Release]Extended Petfilter within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2011
Posts: 206
Received Thanks: 117
[Release]Extended Petfilter

Hallo, heute hatte ich mal langeweile, also dachte ich mir ich mach mal einen neuen Petfilter, hier ein Screen vom Endergebnis:


Was wir brauchen:
-VS2003
-Source + Hier releasten Petfilter
-Resdata :
-Ein wenig Zeit

Als erstes gehen wir in die AiPet.cpp und suchen nach
Code:
if(!pOwner->bQuestItem && pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_GEM && pItemProp->dwItemKind3 == IK3_GEM)
							b1 = TRUE;
						else if(!pOwner->bWeapons && pItemProp->dwItemKind1 == IK1_WEAPON)
							b1 = TRUE;
						else if(!pOwner->bArmor && pItemProp->dwItemKind1 == IK1_ARMOR)
							b1 = TRUE;
						else if(!pOwner->bCards && pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_MATERIAL && pItemProp->dwItemKind3 != IK3_ULTIMATE && pItemProp->dwItemKind3 != IK3_ENCHANT && pItemProp->dwItemKind3 != IK3_PIERDICE)
							b1 = TRUE;
						else if(!pOwner->bFood && pItemProp->dwItemKind1 == IK1_GENERAL && (pItemProp->dwItemKind2 == IK2_FOOD || pItemProp->dwItemKind2 == IK2_REFRESHER || pItemProp->dwItemKind2 == IK2_POTION))
							b1 = TRUE;
						else if(!pOwner->bEggs && pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_GENERAL && pItemProp->dwItemKind3 == IK3_EGG)
							b1 = TRUE;
						else if(!pOwner->bStones && pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_MATERIAL && (pItemProp->dwItemKind3 == IK3_PIERDICE || pItemProp->dwItemKind3 == IK3_ENCHANT || pItemProp->dwItemKind3 == IK3_ULTIMATE || pItemProp->dwItemKind3 == IK3_SUPSTONE))
							b1 = TRUE;
						else if(!pOwner->bAccessory && pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_JEWELRY)
							b1 = TRUE;
						else if( pItemProp->dwItemKind1 == IK1_GOLD && pItemProp->dwItemKind2 == IK2_GOLD && pItemProp->dwItemKind3 == IK3_GOLD )
							b1 = TRUE;
Das ersetzt ihr hiermit :
Code:
						if(!pOwner->bQuestItem && pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_GEM && pItemProp->dwItemKind3 == IK3_GEM)
							b1 = TRUE;
						else if(!pOwner->bWeapons && pItemProp->dwItemKind1 == IK1_WEAPON)
							b1 = TRUE;
						else if(!pOwner->bArmor && pItemProp->dwItemKind1 == IK1_ARMOR)
							b1 = TRUE;
						else if(!pOwner->bFood && pItemProp->dwItemKind1 == IK1_GENERAL && (pItemProp->dwItemKind2 == IK2_FOOD || pItemProp->dwItemKind2 == IK2_REFRESHER || pItemProp->dwItemKind2 == IK2_POTION))
							b1 = TRUE;
						else if(!pOwner->bEggs && pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_GENERAL && pItemProp->dwItemKind3 == IK3_EGG)
							b1 = TRUE;
						else if(!pOwner->bAccessory && pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_JEWELRY)
							b1 = TRUE;
						else if( pItemProp->dwItemKind1 == IK1_GOLD && pItemProp->dwItemKind2 == IK2_GOLD && pItemProp->dwItemKind3 == IK3_GOLD )
							b1 = TRUE;
						else if( !pOwner->bBeads && pItemProp->dwItemKind3 == IK3_VIS )
							b1 = TRUE;
						else if( !pOwner->bCard7 && pItemProp->dwItemKind2 == IK2_CARD7 )
							b1 = TRUE;
						else if( !pOwner->bCard4 && pItemProp->dwItemKind2 == IK2_CARD4 )
							b1 = TRUE;
						else if( !pOwner->bCardA && pItemProp->dwItemKind2 == IK2_CARDA )
							b1 = TRUE;
						else if( !pOwner->bCardB && pItemProp->dwItemKind2 == IK2_CARDB )
							b1 = TRUE;
						else if( !pOwner->bOri && pItemProp->dwItemKind2 == IK2_ORI )
							b1 = TRUE;
						else if( !pOwner->bMoon && pItemProp->dwItemKind2 == IK2_MOON )
							b1 = TRUE;
Mover.h, Ihr sucht nach
Code:
BOOL    bQuestItem, bWeapons, bArmor, bCards, bFood, bEggs, bStones, bAccessory;
und ersetzt es durch
Code:
BOOL    bQuestItem, bWeapons, bArmor, bFood, bEggs, bAccessory, bBeads, bCard7, bCard4, bCardA, bCardB, bOri, bMoon;
DPClient.h, sucht nach
Code:
BOOL bInitializedPetCollection, bQuestItem , bWeapons , bArmor , bCards , bFood, bEggs, bStones , bAccessory;
und ersetzt es durch
Code:
BOOL bInitializedPetCollection, bQuestItem, bWeapons, bArmor, bFood, bEggs, bAccessory, bBeads, bCard7, bCard4, bCardA, bCardB, bOri, bMoon;
DPClient.cpp, ändert
Code:
bQuestItem = bWeapons =  bArmor = bCards = bFood = bEggs = bStones = bAccessory = TRUE;
zu
Code:
bQuestItem = bWeapons =  bArmor = bFood = bEggs = bAccessory = bBeads = bCard7 = bCard4 = bCardA = bCardB = bOri = bMoon = TRUE;
Jetzt die WndPetSys.cpp: ersetzt
Code:
		CWndButton* chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_1 );
		chk->SetCheck(g_DPlay.bQuestItem);
	
		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_2 );
		chk->SetCheck(g_DPlay.bWeapons);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_3 );
		chk->SetCheck(g_DPlay.bArmor);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_4 );
		chk->SetCheck(g_DPlay.bCards);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_5 );
		chk->SetCheck(g_DPlay.bFood);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_6 );
		chk->SetCheck(g_DPlay.bEggs);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_7 );
		chk->SetCheck(g_DPlay.bStones);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_8 );
		chk->SetCheck(g_DPlay.bAccessory);
durch
Code:
		CWndButton* chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_1 );
		chk->SetCheck(g_DPlay.bQuestItem);
	
		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_2 );
		chk->SetCheck(g_DPlay.bWeapons);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_3 );
		chk->SetCheck(g_DPlay.bArmor);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_4 );
		chk->SetCheck(g_DPlay.bCard7);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_5 );
		chk->SetCheck(g_DPlay.bFood);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_6 );
		chk->SetCheck(g_DPlay.bEggs);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_7 );
		chk->SetCheck(g_DPlay.bOri);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCKECK_8 );
		chk->SetCheck(g_DPlay.bAccessory);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCHECK_9 );
		chk->SetCheck(g_DPlay.bBeads);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCHECK_10);
		chk->SetCheck(g_DPlay.bCard4);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCHECK_11);
		chk->SetCheck(g_DPlay.bCardA);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCHECK_12);
		chk->SetCheck(g_DPlay.bCardB);

		chk = (CWndButton*) GetDlgItem( WIDC_BUFFCHECK_13);
		chk->SetCheck(g_DPlay.bOri);
Jetzt ersetzt ihr
Code:
	 case WIDC_BUFFCKECK_1: 
		 { 
			 g_DPlay.bQuestItem = !g_DPlay.bQuestItem; 
			 g_DPlay.SendBuffPetCollectUpdate();
			 break; 
		}
	 case WIDC_BUFFCKECK_2: 
		 { 
			 g_DPlay.bWeapons = !g_DPlay.bWeapons; 
			 g_DPlay.SendBuffPetCollectUpdate();  
			 break; 
		 }
	case WIDC_BUFFCKECK_3: 
		{ 
			g_DPlay.bArmor = !g_DPlay.bArmor;
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
	case WIDC_BUFFCKECK_4: 
		{ 
			g_DPlay.bCards = !g_DPlay.bCards; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; }
	case WIDC_BUFFCKECK_5:
		{ 
			g_DPlay.bFood = !g_DPlay.bFood; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
    case WIDC_BUFFCKECK_6: 
		{ 
			g_DPlay.bEggs = !g_DPlay.bEggs; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
    case WIDC_BUFFCKECK_7: 
		{ 
			g_DPlay.bStones = !g_DPlay.bStones; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
    case WIDC_BUFFCKECK_8: 
		{ 
			g_DPlay.bAccessory = !g_DPlay.bAccessory; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
durch
Code:
	 case WIDC_BUFFCKECK_1: 
		 { 
			 g_DPlay.bQuestItem = !g_DPlay.bQuestItem; 
			 g_DPlay.SendBuffPetCollectUpdate();
			 break; 
		}
	 case WIDC_BUFFCKECK_2: 
		 { 
			 g_DPlay.bWeapons = !g_DPlay.bWeapons; 
			 g_DPlay.SendBuffPetCollectUpdate();  
			 break; 
		 }
	case WIDC_BUFFCKECK_3: 
		{ 
			g_DPlay.bArmor = !g_DPlay.bArmor;
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
	case WIDC_BUFFCKECK_4: 
		{ 
			g_DPlay.bCard7 = !g_DPlay.bCard7; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; }
	case WIDC_BUFFCKECK_5:
		{ 
			g_DPlay.bFood = !g_DPlay.bFood; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
    case WIDC_BUFFCKECK_6: 
		{ 
			g_DPlay.bEggs = !g_DPlay.bEggs; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
    case WIDC_BUFFCKECK_7: 
		{ 
			g_DPlay.bOri = !g_DPlay.bOri; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
    case WIDC_BUFFCKECK_8: 
		{ 
			g_DPlay.bAccessory = !g_DPlay.bAccessory; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
	case WIDC_BUFFCHECK_9: 
		{ 
			g_DPlay.bBeads = !g_DPlay.bBeads; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
	case WIDC_BUFFCHECK_10: 
		{ 
			g_DPlay.bCard4 = !g_DPlay.bCard4; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
	case WIDC_BUFFCHECK_11: 
		{ 
			g_DPlay.bCardA = !g_DPlay.bCardA; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
	case WIDC_BUFFCHECK_12: 
		{ 
			g_DPlay.bCardB = !g_DPlay.bCardB; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
	case WIDC_BUFFCHECK_13: 
		{ 
			g_DPlay.bMoon = !g_DPlay.bMoon; 
			g_DPlay.SendBuffPetCollectUpdate();  
			break; 
		}
DPClient.cpp, sucht nach
Code:
ar << (BYTE) bQuestItem << (BYTE) bWeapons << (BYTE) bArmor << (BYTE) bCards << (BYTE) bFood << (BYTE) bEggs << (BYTE) bStones << (BYTE) bAccessory;
und ersetzt es durch
Code:
ar << (BYTE) bQuestItem << (BYTE) bWeapons << (BYTE) bArmor << (BYTE) bCard7 << (BYTE) bFood << (BYTE) bEggs << (BYTE) bOri << (BYTE) bAccessory << (BYTE) bBeads << (BYTE) bCard4 << (BYTE) bCardA << (BYTE) bCardB << (BYTE) bMoon;
DPSrvr.cpp, sucht nach
Code:
BYTE cQuestItem , cWeapons , cArmor , cCards , cFood , cEggs , cStones , cAccessory;
ersetzt es durch
Code:
BYTE cQuestItem , cWeapons , cArmor , cCard7 , cFood , cEggs , cOri , cAccessory, cBeads, cCard4, cCardA, cCardB, cMoon;
Ersetzt
Code:
ar >> cQuestItem >> cWeapons >> cArmor >> cCards >> cFood >> cEggs >> cStones >> cAccessory;
mit
Code:
ar >> cQuestItem >> cWeapons >> cArmor >> cCard7 >> cFood >> cEggs >> cOri >> cAccessory >> cBeads >> cCard4 >> cCardA >> cCardB >> cMoon;
sucht nach
Code:
            if(cQuestItem > 0) { pUser->bQuestItem = TRUE; } else { pUser->bQuestItem = FALSE; }
            if(cWeapons > 0) { pUser->bWeapons = TRUE; } else { pUser->bWeapons = FALSE; }
            if(cArmor > 0) { pUser->bArmor = TRUE; } else { pUser->bArmor = FALSE; }
            if(cCards > 0) { pUser->bCards = TRUE; } else { pUser->bCards = FALSE; }
            if(cFood > 0) { pUser->bFood = TRUE; } else { pUser->bFood = FALSE; }
            if(cEggs > 0) { pUser->bEggs = TRUE; } else { pUser->bEggs = FALSE; }
            if(cStones > 0) { pUser->bStones = TRUE; } else { pUser->bStones = FALSE; }
            if(cAccessory > 0) { pUser->bAccessory = TRUE; } else { pUser->bAccessory = FALSE; }
und ersetzt es durch
Code:
            if(cQuestItem > 0) { pUser->bQuestItem = TRUE; } else { pUser->bQuestItem = FALSE; }
            if(cWeapons > 0) { pUser->bWeapons = TRUE; } else { pUser->bWeapons = FALSE; }
            if(cArmor > 0) { pUser->bArmor = TRUE; } else { pUser->bArmor = FALSE; }
            if(cCard7 > 0) { pUser->bCard7 = TRUE; } else { pUser->bCard7 = FALSE; }
            if(cFood > 0) { pUser->bFood = TRUE; } else { pUser->bFood = FALSE; }
            if(cEggs > 0) { pUser->bEggs = TRUE; } else { pUser->bEggs = FALSE; }
            if(cOri > 0) { pUser->bOri = TRUE; } else { pUser->bOri = FALSE; }
            if(cAccessory > 0) { pUser->bAccessory = TRUE; } else { pUser->bAccessory = FALSE; }
			if(cBeads > 0){ pUser->bBeads = TRUE; } else { pUser->bBeads = FALSE; }
			if(cCard4 > 0){ pUser->bCard4 = TRUE; } else { pUser->bCard4 = FALSE; }
			if(cCardA > 0){ pUser->bCardA = TRUE; } else { pUser->bCardA = FALSE; }
			if(cCardB > 0){ pUser->bCardB = TRUE; } else { pUser->bCardB = FALSE; }
			if(cMoon > 0){ pUser->bMoon = TRUE; } else { pUser->bMoon = FALSE; }
So, da ich das alles mit ItemKind2 gemacht habe geht ihr jetzt in die defineItemKind.h im Resource Ordner. Dort addet ihr nach
Code:
#define	IK2_GUILDHOUES_COMEBACK	41 //±æµåÇϿ콺 ±Íȯ ÁÖ¹®¼*
einfach
Code:
#define IK2_CARD4 201
#define IK2_CARD7 202
#define IK2_CARDB 203
#define IK2_CARDA 204
#define IK2_ORI 205
#define IK2_MOON 206
Jetzt noch die ResData.h in den Resource Ordner eurer Source und Rebuild(Neuz+Worldserver).

Jetzt müsst ihr den Typ in der propItem.txt anpassen:
Bei jeder 7% Card IK2_CARD7
4% Card IK2_CARD4
A Card IK2_CARDA
B Card IK2_CARDB
Bei Moonstone IK2_MOON und bei Oricalkum IK2_ORI.

jetzt fügt ihr noch die ResData.txt/.inc/.h in eure Serverfiles ein, Mergen und .res Dateien in den Client.

Fertig.

Ich hoffe ihr könnt das gebrauchen, falls ihr Fragen/Vorschläge habt sagt doch bitte bescheid.

So Far, Yakuzai.
Yakuzai. is offline  
Thanks
6 Users
Old 09/15/2011, 20:47   #2
 
Shifunu's Avatar
 
elite*gold: 153
Join Date: Jan 2009
Posts: 860
Received Thanks: 71
Der sieht ja mal Bombe aus Find ihn echt gut
Shifunu is offline  
Old 09/15/2011, 20:52   #3



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
Finde den nicht so dolle, hättest bei der Auswahl gleich ein neues PF Fenster machen können und es statt auf BuffPets zu belassen, auf auf alle setzen.
Sedrika is offline  
Thanks
1 User
Old 09/15/2011, 20:57   #4
 
elite*gold: 1
Join Date: Dec 2009
Posts: 504
Received Thanks: 71
Gebe sedrika Recht Neues fenster wäre besser
-*N1ce. is offline  
Thanks
2 Users
Old 09/15/2011, 21:17   #5
 
elite*gold: 0
Join Date: Aug 2011
Posts: 206
Received Thanks: 117
Quote:
Originally Posted by Sedrika View Post
Finde den nicht so dolle, hättest bei der Auswahl gleich ein neues PF Fenster machen können und es statt auf BuffPets zu belassen, auf auf alle setzen.
Danke, werde das Morgen noch machen, für alle Pets gillt er aber schon, nur das Fenster ist halt bei den Buffpets ^^
Yakuzai. is offline  
Old 09/15/2011, 21:40   #6
 
elite*gold: 0
Join Date: Jul 2011
Posts: 139
Received Thanks: 12
Dann binich mal gespannt ;p so find ichs noch nich den burner
FragGoogle is offline  
Old 09/15/2011, 22:01   #7
 
420twisted1's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 181
Received Thanks: 23
does this save the filter options?
420twisted1 is offline  
Old 09/16/2011, 00:19   #8

 
™Dryad's Avatar
 
elite*gold: 380
Join Date: Oct 2008
Posts: 2,262
Received Thanks: 382
Muss man den Fillter mit Daisy bearbeiten?
Hab nämlich das problem das bei mir alles übereinander is ....
Sieht grauenhaft aus..^^

pls Help xD

lg
™Dryad is offline  
Old 09/16/2011, 06:49   #9
 
elite*gold: 0
Join Date: Dec 2010
Posts: 463
Received Thanks: 97
*** musst es mit Daisy bearbeiten
MysticAngelz is offline  
Old 09/16/2011, 09:05   #10
 
elite*gold: 0
Join Date: Aug 2011
Posts: 206
Received Thanks: 117
Die Resdatas sind doch dabei, die musst du nur in deine Files packen und dann die .Res Dateien erstellen.
Yakuzai. is offline  
Old 09/16/2011, 17:57   #11



 
Daniiii's Avatar
 
elite*gold: 260
Join Date: Nov 2007
Posts: 12,855
Received Thanks: 4,319
#spam deleted
Daniiii is offline  
Old 09/17/2011, 20:01   #12
 
elite*gold: 0
Join Date: Mar 2011
Posts: 276
Received Thanks: 16
Kan mir wer sagen warum ich folgende Errors bekomme?
oder besser gesagt was ich falsch gemacht hab?


Hier ma meine WndPetSys.cpp

Hoffe ihr helft mir..

MFG Le´Professore
Le´Professore is offline  
Old 09/17/2011, 20:12   #13
 
elite*gold: 0
Join Date: Feb 2010
Posts: 294
Received Thanks: 85
Quote:
Originally Posted by Le´Professore View Post
Kan mir wer sagen warum ich folgende Errors bekomme?
oder besser gesagt was ich falsch gemacht hab?


Hier ma meine WndPetSys.cpp

Hoffe ihr helft mir..

MFG Le´Professore
Errors lesen hilft somanchmal , hm ? Überall steht das er die Bezeichnung nicht findet , dass heißt es ist nicht definiert. Den Rest kannste dir wohl selber denken.
Ancientsword is offline  
Thanks
1 User
Old 09/18/2011, 15:06   #14
 
trashee09's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 231
Received Thanks: 67
hey very big thanks very perfect !!



((=
trashee09 is offline  
Reply


Similar Threads Similar Threads
[Release-Src]Petfilter Full
10/31/2011 - Flyff PServer Guides & Releases - 50 Replies
#removed
[Release]Petfilter Window
07/15/2011 - Flyff PServer Guides & Releases - 3 Replies
#removed



All times are GMT +1. The time now is 15:31.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.