Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server
You last visited: Today at 11:29

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

Advertisement



Pvp Bereich Problem

Discussion on Pvp Bereich Problem within the Flyff Private Server forum part of the Flyff category.

Reply
 
Old   #1


 
™Daywalker's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 506
Received Thanks: 115
Pvp Bereich Problem

Hallo liebe Community,

ich wollte heute eine neue PvP Arena einfügen soweit funktioniert sie aber der Pvp Berei muss ya angepasst werden ich weiss auch in welcher Funktion in der Source.
Code:
BOOL    CMover::IsArenaTarget( CMover* pMover )
{
    CWorld* pWorld    = GetWorld();
    if( pWorld && pWorld->IsArena() )
    {
        int dx    = (int)( pMover->GetPos().x - 510 );
        int dy    = (int)( pMover->GetPos().z - 527 );
        int d    = dx * dx + dy * dy;
        if( d > 1246 )
            return FALSE;
        dx    = (int)( GetPos().x - 510 );
        dy    = (int)( GetPos().z - 527 );
        d    = dx * dx + dy * dy;
        if( d > 1246 )
            return FALSE;
        return TRUE;
    }
    return FALSE;
}
Aber ich weiss nicht so genau wie ich das machen sollen...
Währe nett wenn mir da jemand weiter helfen könnte.
™Daywalker is offline  
Old 05/04/2013, 20:06   #2
 
elite*gold: 0
Join Date: Apr 2013
Posts: 205
Received Thanks: 138
Meine Empfehlung währe es die nicht genutzte aber im Beast einstellbare PvP-Zone wieder zu nutzten.

einfach die funktion hiermit ersetzten und schon haste noch den Normalen arena Bereich, doch überall wo du den Trigger mit PvP-Zone(Fight Region) hinsetzt kann man normal PvP zocken
Code:
BOOL CMover::IsArenaTarget( CMover* pMover )
{
 CWorld* pWorld = GetWorld();
 
if( pMover->IsRegionAttr( RA_FIGHT ) && IsRegionAttr( RA_FIGHT ) )
{
return TRUE;


}else if( pWorld && pWorld->IsArena() )
 {
  int dx = (int)( pMover->GetPos().x - 490 );
  int dy = (int)( pMover->GetPos().z - 507 );
  int d = dx * dx + dy * dy;
  if( d > 1246 )
   return FALSE;
  dx = (int)( GetPos().x - 490 );
  dy = (int)( GetPos().z - 507 );
  d = dx * dx + dy * dy;
  if( d > 1246 )
   return FALSE;
  return TRUE;
 }
 return FALSE;
}

Willste das NUR per Trigger machen, einfach den Arenateil löschen:

Code:
BOOL CMover::IsArenaTarget( CMover* pMover )
{
 
if( pMover->IsRegionAttr( RA_FIGHT ) && IsRegionAttr( RA_FIGHT ) )
{
return TRUE;
}
 return FALSE;
}

MfG Menox
Menøx is offline  
Thanks
1 User
Old 05/04/2013, 20:12   #3


 
™Daywalker's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 506
Received Thanks: 115
Okay danke ich werde es mal ausprobieren.
™Daywalker is offline  
Old 05/04/2013, 21:12   #4
 
Mognakor's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 598
Received Thanks: 465

Das ganze ist relativ einfach:

-Die Arena ist ein Kreis, die Grenzen dieses Kreises werden mit dem Satz des Pythagoras berechnet (a²+b²=c²)
-Sagen wir mal unser a ist dx und unser b ist dy, also ist c² das d im Code
-Daraus folgt das wir einen Kreis mit Radius Wurzel(d) haben
-Der Mittelpunkt des Kreises liegt bei x=510 und z=527, das - steht davor weil diese Werte unseren NULLpunkt bilden
-Das ganze wird zweimal überprüft je einmal für den Angreifer und den Verteidiger, dementsprechend ließen sich auch Arenen bauen in denen man zuerst angreifbar ist bevor man selbst angreifen kann oder andersrum, durch Veränderungen des jeweiligen d.


Will man nun eine neue Arena einfügen mit neuen Radius,Mittelpunkt oder beidem geht man wie folgt vor:

-Man stellt den Mittelpunkt fest (am besten mit Beast).
-Ersetzt die alten x- und z-Werte mit den neuen
-Man geht solange entlang der x- ODER z-Achse vom Mittelpunkt in eine Richtung bis man am Arenarand ist
-Zieht den x- bzw. z-Wert am Rand von dem des Mittelpunkts ab
-Bildet das Quadrat der Differenz und trägt das in den Source ein.
Mognakor is offline  
Thanks
2 Users
Old 05/04/2013, 22:59   #5


 
™Daywalker's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 506
Received Thanks: 115
Hab es mal so gemacht wie Menøx es geschrieben hat. Funktioniert aber ich kann wohl einen angreifen aber der andere mich nicht das ist irgendwie komisch..
™Daywalker is offline  
Reply


Similar Threads Similar Threads
Problem admin bereich von masterboss
05/03/2011 - Metin2 Private Server - 2 Replies
hey, ich habe mir die homepage von masterboss geholt habe alles in der anleitung befolgt kann mich auch mit meinen acc daten in die hp einloggen aber in den admin bereich nicht da kommt dann immer Die Zugangsdaten waren ungültig.wenn ich auf die admin seite gehe kommt da Warning: include(sys/news.php) : failed to open stream: No such file or directory in /usr/local/www/apache22/data/admin/admin.php on line 44 Warning: include() : Failed opening 'sys/news.php' for inclusion...
[777 LastChaos Delum ]Mage Im Bereich 105-110 & Hunter Im Bereich 95-100 !![Aktion]
01/25/2011 - Last Chaos Trading - 3 Replies
Hey Leute , Ich Verkaufe wie Schon Oben Beschrieben Beide Char´s , auf Den Selben Account =) So Kurz Und Knapp Beschrieben was alles Drauf ist auf beiden =) Magierin =) : Rüstung & Waffen : 97+15 y4



All times are GMT +2. The time now is 11:29.


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