DM Punkte help me!

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
  • Hi,
    kann mir einer Sagen Wie ich DM PUNKTe machen also zb Wenn ich richtung BSN Fahre das dann NE nachricht kommt Sie befinden sich in einer
    DM FREIHE ZONE und Sobald man Schiest ist man für 5 sek gefreeze



    PS: Sory Wegen Mein rechtschreib fehler


    Hofffe ihr könnt mir weiter helfe




    MFG: HUNTER

  • Du kannst ganz einfach eine Gangzone erstellen beim BSN ( muss ja nicht sichtbar ) sein, und dann mit IsPlayerInZone abfragen.
    Daraufhin erscheint dann ein Textdraw Und mit GetPlayerWeapon + OnPlayerKeyStateChange machst du dann den Rest.
    Wenn du noch Fragen hast frag einfach.

  • emm Kannste mir das ma hier VOR machen in PWN weil weis net wirklich weiter^^ pls..


    also ihr im FORUM ma VORMACHEN PLSS



    MFG HUNTER

  • IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
    else return 0;
    }


    Das fügst du ganz unten in dein Script ein.


    Danach:


    Ganz oben bei den new's:


    istinruhezone[MAX_PAYERS];
    new Text:RZText;


    Bei OnPlayerConnect:


    istinruhezone[playerid] = 0


    Bei den forwards:


    forward RzTimer();


    Bei OnGameModeInIt:


    RZText= TextDrawCreate(550.0,32.0,"Ruhe-Zone");
    SetTimer("RzTimer",1000,1);


    Und Irgendwo in dein Script, vielleicht am Ende:


    public RzTimer()
    {
    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
    if(IsPlayerInArea(i,1094.0, -1038.0, 1280.0, -864.0) && istinruhezone[i] == 0)// BSN Area
    {
    TextDrawShowForPlayer(i,RZText);
    istinruhezone[i] = 1;
    }
    else if(!IsPlayerInArea(i,1094.0, -1038.0, 1280.0, -864.0) && istinruhezone[i] == 1)
    {
    TextDrawHideForPlayer(i,RZText);
    istinruhezone[i] = 0;
    }
    }
    return 1;
    }

  • HI also emm Hier hab ich ein Problem wie bekomme ich die CONIADEN RAUS Besser gesagt was kommt da hin



    IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY) //Hier was kommt wo hin
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1; //und Hier
    else return 0;
    }




    Sory das ich euch damit nerve^^

  • Du nervst nicht, dafür sind Foren da :>


    Also du bekommst die Coords so raus.


    Stell ich dich dahin, wo später der kleinste X-Wert sein soll und mach /save minimalx
    Dann gehst du bis dahin wo der X-Wert am größten sein soll und machst /save maximalx
    Danach machst du das noch mit den Y-Werten.


    In deinem GTA Ordner findest du die Datei savedpositions.


    Dort müsste dann unten was mit AddPlayerClass(blala,X,Y,Z) stehen.


    Daran erkennst du halt die X und Y werte, mit denen du abfragen sollst.

  • hi
    ich bins noch mal^^


    so ich bin jetz in jeder Ecke gewesen und hab es gemacht hier und jettz was muss ich davon raus Kopiren?



    AddPlayerClass(0,1244.4990,-947.9075,42.5932,58.1701,0,0,0,0,0,0); // minimalx
    AddPlayerClass(0,1166.1628,-878.7078,43.4453,251.1635,0,0,0,0,0,0); // maximalx
    AddPlayerClass(0,1223.9966,-867.4590,43.1038,189.0503,0,0,0,0,0,0); // maximaly
    AddPlayerClass(0,1179.0471,-954.7371,42.5872,96.3753,0,0,0,0,0,0); // minimaly

  • Meine Güte wofür brauch er Z wenn nur nach x und y gefragt ist...


    Richtige Erklärung:


    AddPlayerClass(0,1244.4990,-947.9075,42.5932,58.1701,0,0,0,0,0,0); // minimalx
    AddPlayerClass(0,1166.1628,-878.7078,43.4453,251.1635,0,0,0,0,0,0); // maximalx
    AddPlayerClass(0,1223.9966,-867.4590,43.1038,189.0503,0,0,0,0,0,0); // maximaly
    AddPlayerClass(0,1179.0471,-954.7371,42.5872,96.3753,0,0,0,0,0,0); // minimaly


    Du hast nur minimalx und maximal x vertauscht.


    Da 1166.1628 Kleiner als 1244.4990 und nicht größer.




    Nach deinen Saves Müsste das so sein.


    Maximal X:
    1244.4990


    Minimal X:
    1166.1628


    Maximal Y:


    -867.4590


    Minimal Y:


    -954.7371



    Das für maxX maxY minX und minY in die Funktion einsetzen und zack :>


    Also so im Timer:


    if(IsPlayerInArea(i,1166.1628, -954.7371, 1244.4990, -867.4590) && istinruhezone[i] == 0)// BSN Area
    {
    TextDrawShowForPlayer(i,RZText);
    istinruhezone[i] = 1;
    }
    else if(!IsPlayerInArea(i,1166.1628, -954.7371, 1244.4990, -867.4590) && istinruhezone[i] == 1)
    {
    TextDrawHideForPlayer(i,RZText);
    istinruhezone[i] = 0;
    }


    Einmal editiert, zuletzt von 8D ()

  • ja gut habs so gemacht aber bekomme 5 ERRORS Warum das??


    in diser ZEILE



    bsnnodmzone[MAX_PAYERS];



    und in dieser zeile


    bsnnodmzone[playerid] = 0;



    MFG:HUNTER

  • ja habs jetzt so gemacht aber sind immer noch die 5 ERRORS

  • jo danke hab keine errors emm aber wenn ich aufm server JOine und zum BSN fahre Steht da net nix von RUHE ZOHNE oder so?? an Was Liegts




    MFG:HUNETR