Hilfe Scripting

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 ,
    Ich wollte mal fragen wie man es macht das wenn man /rob macht das man nicht an der einen stelle stehen bleiben muss, sonder durch der kompletten Bank laufen kandann wenn man /rob macht bricht direkt der rob ab ... hilfe

    Code
    if(!IsPlayerInRangeOfPoint(playerid,250.0,1424.4016,-1002.9427,1639.7843) && !IsPlayerInRangeOfPoint(playerid, 250.0, 246.375991,109.245994,1003.218750)){
    	        SendClientMessage(playerid,0xAA3333AA,"Du bist nicht am Tresor in der Bank!");
    	        return 1;
  • Am einfachsten geht es wenn du beispielsweise anstatt :


    if(!IsPlayerInRangeOfPoint(playerid,-..........);


    Nimmst du:
    if(IsPlayerInInterior(playerid,.........))


    Natürlich musst du es definieren etc.

  • Du kannst das ganze einfach auslesen, indem du abfragst ob das Interior und die virtuelle Welt "x" ist.
    Das heißt, folgende Abfrage muss da rein:
    if(GetPlayerInterior(playerid) == x && GetPlayerVirtualWorld(playerid) == x)
    {
    // In der Bank
    }
    Das "x" jeweils durch die Interior-ID und die virtuelle Welt ersetzen.

  • So Beispielsweise:



    //Nach Oben
    #define IsPlayerInInterior(%0,%1) (GetPlayerInterior(%0) == %1)


    // Abfrage
    if(IsPlayerInInterior(playerid))


    // Stock
    stock IsPlayerInInterior(playerid,interiorid){ if(GetPlayerInterior(playerid) == interiorid) { return 1; }}


    via Handy

  • Dafür extra eine Funktion oder ein Makro zu erstellen, macht meiner Meinung nach wenig Sinn, denn es ist ebenso nur eine Abfrage, und die paar Zeichen kann man wohl auch mehr schreiben.
    Das ganze wird nur unnötig, wenn auch nur Millisekunden, verlangsamt.