GetNearest24Shop?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    Seiht langem wünsch ich mir auch mal wieder was D: Wie könnte man ne Funktion machen um den nächsten 24/7 Shop herauszufinden? Also irgendwie GetNearest24/7(playerid); und das gibt dann die Position von dem nächsten 24/7 Shop zurück, damit ich nen Port basteln kann womit man zum nahesten 24/7 geportet wird.


    Mit freundlichen Grüßen DurtyFree

  • stock GetNearest24Shop(playerid,radius)
    {
    for schleife die i defeniert.
    if(PlayerToPoint(24 nr. 1) || if(PlayerToPoint(24 nr. 2) || if(PlayerToPoint(24 nr. 3)
    {
    das was passieren soll.
    return 1;
    }
    }


    oder irgendwie so xD.

  • mh.
    Du könntest die ganze Karte in gebiete einteilen.
    Da die 24/7 Shops raussuchen, abfragen in welchem Gebiet der Player ist, und dann den dort hinporten.
    Ist aber schwierig, und auch viel zu viel Arbeit.
    Mach doch irg. wie Icons oder so.
    Oder mach ne SA Karte, makier mit Paint die Shops drauf und setz die ins forum bei dir ^^.

  • Anders ist es nicht möglich...


    Bzw ohne Gebieten oder du machst es mit IsPlayerInRangeOfPoint (Musst Pos. raussuchen :whistling: )

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • Anders ist es nicht möglich...


    Na da haste dich aber getäuscht ;) ,ist nicht von mir Aber funzt :D Ist aus irgendeiner Version vom GFF die Kommentare waren schon da :P




    new Float:g247Locations[5][3] = {
    {1350.3256,-1753.4979,13.1560}, // LS
    {1316.1409,-904.1887,38.7625}, // LS
    {997.8823,-919.8439,41.9803}, // LS
    {-1564.5702,-2735.9426,48.3450},
    {1830.2692,-1842.8274,13.1428} // LS-SF
    };


    // OUR AWESOME NEW COMMAND THAT OWNS EVERYONE
    new Float:olddistance = 999999;
    new Float:newdistance;
    new closest = -1;
    new Float:GasX,Float:GasY,Float:GasZ;
    for (new i = 0; i < sizeof(g247Locations); i++) // SCAN ALL THE 24/7s
    {
    GasX = g247Locations[i][0]; // GRAB THE LOCATIONS OF THE 24/7
    GasY = g247Locations[i][1];
    GasZ = g247Locations[i][2];
    newdistance = GetDistanceBetweenPlayerToPoint(playerid,GasX,GasY,GasZ);
    // GRAB THE DISTANCE THIS STATION IS AWAY FROM THE PLAYER
    if (newdistance < olddistance) // IF THIS ONE IS CLOSER THAN THE LAST ONE
    {
    olddistance = newdistance;
    closest = i;
    }
    }
    SetPlayerCheckpoint(playerid,g247Locations[closest][0],g247Locations[closest][1],g247Locations[closest][2], 4.0);
    GameTextForPlayer(playerid, "~w~Waypoint set ~r~24-7", 5000, 1);


    Achja hier noch GetDistanceBetweenPlayerToPoint

    Spoiler anzeigen

    forward Float:GetDistanceBetweenPlayerToPoint(p1,Float:px,Float:py,Float:pz);
    public Float:GetDistanceBetweenPlayerToPoint(p1,Float:px,Float:py,Float:pz)
    {
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(!IsPlayerConnected(p1) )
    {
    return -1.00;
    }
    GetPlayerPos(p1,x1,y1,z1);
    x2 = px;
    y2 = py;
    z2 = pz;
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }

  • Anders ist es nicht möglich...


    Bzw ohne Gebieten oder du machst es mit IsPlayerInRangeOfPoint (Musst Pos. raussuchen :whistling: )


    Musst die Pos raussuchen <- Muss man in diesem Fall auch nur du hattest es zufällig in ner PWN rumfliegen^^

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)