Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server
You last visited: Today at 09:38

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

Advertisement



Pet's Donaten lassen?

Discussion on Pet's Donaten lassen? within the Flyff Private Server forum part of the Flyff category.

Reply
 
Old 03/03/2014, 16:02   #16

 
elite*gold: 353
Join Date: Jan 2013
Posts: 924
Received Thanks: 617
Quote:
Originally Posted by ©ross View Post
//edid @Arctic: Und was bringt den Spieler an einem Rechtsklick um???? Ungleiche Mausabnutzung oder was? xDD
ich denke mal das es die Switcher im Gw sehr nerven würde wenn man das so macht
Kiseku is offline  
Old 03/03/2014, 16:30   #17

 
elite*gold: 142
Join Date: Apr 2010
Posts: 859
Received Thanks: 428
Dann müssen die Switcher damit leben :P Wenn man es von anfang an in einen Server bauen würde kämen die damit auch klar^^

@Native: Einfach mal gucken - würde den Befehl, wie bereits gesagt, kopieren sodass du ihn 2x in der FuncText hast.

Dann einfach Probieren, mehr als Kaputtmachen kannst du nix
©ross is offline  
Old 03/03/2014, 17:27   #18
 
elite*gold: 0
Join Date: Mar 2013
Posts: 157
Received Thanks: 15
wie denn ich verstehe kaum / gar nichts vom source ...
Code:
BOOL TextCmd_Pet1( CScanner & s )
{
	// /pet 1 100
#ifdef __WORLDSERVER
	CUser* pUser	= (CUser*)s.dwValue;
	s.GetToken();
	if( s.tok == FINISHED )
		return TRUE;
#if __VER >= 11 // __SYS_PLAYER_DATA
	DWORD idPlayer	= CPlayerDataCenter::GetInstance()->GetPlayerId( s.token );
#else	// __SYS_PLAYER_DATA
	DWORD idPlayer	= prj.GetPlayerID( s.token );
#endif	// __SYS_PLAYER_DATA
	if( idPlayer == 0 )	//
		return TRUE;
	CUser* pTarget	= (CUser*)prj.GetUserByID( idPlayer );
	if( IsValidObj( pTarget ) == FALSE )
		return TRUE;
	CPet* pPet	= pTarget->GetPet();
	if( pPet == NULL )	//
		return TRUE;

	// kind
	s.GetToken();
	if( s.tok == FINISHED )
		return TRUE;
	BYTE nKind	= atoi( s.token );
	if( nKind >= PK_MAX )
		return TRUE;

	// exp
	s.GetToken();
	if( s.tok == FINISHED )
		return TRUE;
	BYTE nExpRate	= atoi( s.token );

	s.GetToken();
	if( s.tok == FINISHED )
		return TRUE;
	BYTE nLevel		= s.Token.GetLength();

	if( nLevel > PL_S )
		return TRUE;

	BYTE anAvail[PL_MAX - 1]	= { 0,};
	char sAvail[2]	= { 0,};
	
	for( int i = 0; i < nLevel; i++ )
	{
		sAvail[0]	= s.Token.GetAt( i );
		sAvail[1]	= '\0';
		anAvail[i]	= atoi( sAvail );
		if( anAvail[i] < 1 || anAvail[i] > 9 )
			return TRUE;
	}

	s.GetToken();
	if( s.tok == FINISHED )
		return TRUE;
	BYTE nLife	= atoi( s.token );
	if( nLife > 99 )
		nLife	= 99;

	CItemElem* pItemElem	= pTarget->GetPetItem();
	pPet->SetKind( nKind );
	pPet->SetLevel( nLevel );
	if( nLevel == PL_EGG )
		pPet->SetKind( 0 );	// initialize
	pItemElem->m_dwItemId	= pPet->GetItemId();
	pPet->SetEnergy( pPet->GetMaxEnergy() );
	DWORD dwExp		= pPet->GetMaxExp() * nExpRate / 100;
	pPet->SetExp( dwExp );

	for( i = PL_D; i <= nLevel; i++ )
		pPet->SetAvailLevel( i, anAvail[i-1] );
	for( i = nLevel + 1; i <= PL_S; i++ )
		pPet->SetAvailLevel( i, 0 );

	pPet->SetLife( nLife );

	if( pTarget->HasPet() )
		pTarget->RemovePet();

	g_dpDBClient.CalluspPetLog( pTarget->m_idPlayer, pItemElem->GetSerialNumber(), 0, PETLOGTYPE_LEVELUP, pPet );

	pTarget->AddPet( pPet, PF_PET_GET_AVAIL );	// í»
	g_UserMng.AddPetLevelup( pTarget, MAKELONG( (WORD)pPet->GetIndex(), (WORD)pPet->GetLevel() ) );	// öâ
#endif	// __WORLDSERVER
	return TRUE;
kann da keiner schnell schreiben was man da ausklammern muss?
NativeGermany is offline  
Old 03/11/2014, 13:49   #19
 
elite*gold: 0
Join Date: Dec 2010
Posts: 164
Received Thanks: 54
Ich hab versucht die TextCmd_Pet() Funktion als Beispiel zu nehmen und habe daraus eine App gemacht, die ein perfektes (13579) Pet erstellt. Allerdings wird die Scroll nicht gelöscht. (Vllt hat jemand eine Idee wie man die löschen kann.) Da ich mich erst seit kurzem mit C++ und der FlyFF Source näher beschäftige, sieht das wahrscheinlich noch nicht so gut aus. Daher wenn njemand das anders machen würde und einen Verbesserungsvorschlag hat, dann her damit.


Wenn jemand das gebrauchen möchte, soll er/sie das tun. Wenn Fehler auftreten, meldet sie bitte.
Thejin is offline  
Old 03/11/2014, 15:04   #20
 
elite*gold: 0
Join Date: Oct 2012
Posts: 948
Received Thanks: 157
That system from jopsi is only bugging cause you need to add an extra code.
So it works like it should be. I also have released this based on Jopsi's source snippets.

[spoiler]
DEFINEITEM.H
PHP Code:
#define II_SYS_LION                     224931
#define II_SYS_RABBIT                     224932
#define II_SYS_TIGER                     224933
#define II_SYS_FOX                         224934
#define II_SYS_DRAGON                     224935
#define II_SYS_HIPPOGRIPH                 224936
#define II_SYS_HORSE                    224937 
DPSrvr.cpp
Beneath
PHP Code:
case II_SYS_SYS_SCR_LEVELDOWN01:
case 
II_SYS_SYS_SCR_LEVELDOWN02:
b    DoUseItemTarget_ItemLevelDownpUserpMaterialpTarget );
break; 
ADD
PHP Code:
#ifdef __SUPER_PETS
case II_SYS_LION:
case 
II_SYS_RABBIT:
case 
II_SYS_TIGER:
case 
II_SYS_FOX:
case 
II_SYS_DRAGON:
case 
II_SYS_HIPPOGRIPH:
case 
II_SYS_HORSE:
DoUseItemTarget_PerfectPet(pUserpMaterialpTarget);
break;
#endif 
At the end of DPSrvr.cpp
Put this

PHP Code:
#ifdef __SUPER_PETS
BOOL CDPSrvr::DoUseItemTarget_PerfectPetCUserpUserCItemElempMaterialCItemElempTarget )
{
    
BOOL bPet;
    
BYTE nKind;
    
BYTE nExpRate    99//EXP RATE
    
BYTE nLevel        5;// S KLASSE
    
BYTE nLife      25;//Life is 25

    
CPet*  pPet     pUser->GetPet();

    if( 
pTarget->GetProp()->dwItemKind1 == IK1_GENERAL && pTarget->GetProp()->dwItemKind3 == IK3_EGG )
    {
        if( 
pPet == NULL )
        {
            
pUser->AddText"You dont have an summoned Egg!" );
            return 
FALSE;
        }
        else if( 
pPet && pUser->GetPet()->GetLevel() != PL_EGG )
        {
            
pUser->AddText"You can only use an scroll of Perfect pets on Eggs!" );
            return 
FALSE;
        }
        else
        {
            switch( 
pMaterial->m_dwItemId )
            {
                case 
II_SYS_LION:
                    
nKind 1;
                    
bPet TRUE;
                    break;
                case 
II_SYS_RABBIT:
                    
nKind 2;
                    
bPet TRUE;
                    break;
                case 
II_SYS_TIGER:
                    
nKind 0;
                    
bPet TRUE;
                    break;
                case 
II_SYS_HORSE:
                    
nKind 6;
                    
bPet TRUE;
                    break;
                case 
II_SYS_DRAGON:
                    
nKind 4;
                    
bPet TRUE;
                    break;
                case 
II_SYS_HIPPOGRIPH:
                    
nKind 5;
                    
bPet TRUE;
                    break;
                case 
II_SYS_FOX:
                    
nKind 3;
                    
bPet TRUE;
                    break;
    
                default:
                    break;
            }

            if( 
bPet == TRUE )
            {
                if( 
nLevel PL_S )
                return 
TRUE;

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

                
// kind
                
if( nKind >= PK_MAX //FEHLER ABFRAGE
                    
return TRUE;
                    
                
CItemElempItemElem2 pUser->GetPetItem();
                
pPet->SetKindnKind );
                
pPet->SetLevelnLevel );
                
pItemElem2->m_dwItemId pPet->GetItemId();
                
pPet->SetEnergypPet->GetMaxEnergy() );
                
DWORD dwExp pPet->GetMaxExp() * nExpRate 100;
                
pPet->SetExpdwExp );

                for( 
int i 06i++ )
                    
pPet->SetAvailLevel(i); //Here it will generate the Perfect pets with stats 9/9/9/9/9

                
pPet->SetLifenLife );
                if( 
pUser->HasPet() )
                    
pUser->RemovePet();

                
g_dpDBClient.CalluspPetLogpUser->m_idPlayerpItemElem2->GetSerialNumber(), 0PETLOGTYPE_LEVELUPpPet ); //Log the change into database
                
pUser->AddPetpPetPF_PET_GET_AVAIL );    // PET EINFÜGEN
                
g_UserMng.AddPetLeveluppUserMAKELONG( (WORD)pPet->GetIndex(), (WORD)pPet->GetLevel() ) );
                
pUser->UpdateItem( (BYTE)pMaterial->m_dwObjIdUI_NUM);//Remove the scroll
                //return TRUE;
            
}
        }
    }
    return 
FALSE;
}
#endif 
VersionCommon.h Worldserver
#define __SUPER_PETS
raventh1984 is offline  
Old 05/22/2014, 17:40   #21
 
elite*gold: 0
Join Date: Feb 2012
Posts: 13
Received Thanks: 0
Quote:
[SPOILER]That system from jopsi is only bugging cause you need to add an extra code.
So it works like it should be. I also have released this based on Jopsi's source snippets.

defined in DPSrvr.h
defined in defineitem.h

error

im using blessed source
elmo142008 is offline  
Reply


Similar Threads Similar Threads
PC So lassen ?
02/07/2014 - Hardware Discussions / Questions - 8 Replies
https://www.mindfactory.de/shopping_cart.php/baske t_action/load_basket_extern/id/ae04a722053843576e2 911944a63d11c66145e3e945cab89a77 kann ich das so lassen ? (Ich brauche keine Festplatte)
Root Server mit ALLEN Sachen in NPC's OHNE Donaten ??
12/15/2010 - Flyff Private Server - 5 Replies
Hey Leute, Ich hätte gerne einen Pserver bei dem ALLE Greens in den NPC's sind und bei dem man nicht Spenden muss um an irgendwelche Sachen dranzukommen ;). Ich hoffe ihr könnt mir einen empfehlen. :)) Peace, Streuselkuchen.
Sachen fallen lassen ohne auf fallen lassen zuklicken?
06/26/2010 - Metin2 - 4 Replies
hi also ich will mal gerne wissen ob es möglich ist und wie man Sachen schnell fallen lassen kann(clientmodding) also das zb. rechtsklick auf einem gegenstand der den sofort fallen lässt oder wenigstens dieses doofe fenster "Möchtest du Item fallen lassen?" aus dem text löschen? wo finde ich das? es müsste gehen es gibt ja auch hack im clienten, pickup bot und so... pls^^
kann mir einer 8.5 fg leihen^^/donaten
03/03/2009 - Diablo 2 Trading - 9 Replies
topic.. soll jez kein bettel versuch sein gebe es hunder pro zurück hab jez nur das prob das mein acc gebanned wurde und ich jez halt hamma pala aufbaue und mir dieser betrag fehlt.



All times are GMT +1. The time now is 09:41.


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.