Textdraw Zome

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 habe ein FS mit zonen ..
    Nun will ich da ein textdraw... wo unten rechst dann steht No-DM Zone...
    Wie mach ich das ?
    also nur wenn man in die Zone reinkommt...
    Das filterscript von Silverdark oder so geht irgendwie nicht bei mir..


    Biss dann
    und danke :D

  • Habe biisi probiert komme aber nicht weiter kommen fehle woran liegt das ich finds nicht..


    Die Fehler:



    Das FS



    #include <a_samp>


    new bsnzone;
    new Text:Textdraw0;
    forward IsPlayerInArea(playerid, Float:minX,Float:minY,Float:maxX,Float:maxY);


    #define FILTERSCRIPT


    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    bsnzone = GangZoneCreate(1094.37, -1038.38, 1280.709, -864.6794);
    Textdraw0 = TextDrawCreate(549.000000,32.000000,"No DM Zone");
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,3);
    TextDrawLetterSize(Textdraw0,0.399999,1.000000);
    TextDrawColor(Textdraw0,0xff0000ff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,1);
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    #endif


    public OnPlayerSpawn(playerid)
    {
    GangZoneShowForPlayer(playerid, bsnzone, 0xFF000096);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    return 1;
    }


    public IsPlayerInArea(playerid, 1094.37, -1038.38, 1280.709, -864.6794)
    {
    TextDrawShowForPlayer(playerid,Textdraw0);
    return 1;
    }

    2 Mal editiert, zuletzt von Sanchos ()

  • LOL,


    public IsPlayerInArea(playerid, 1094.37, -1038.38, 1280.709, -864.6794)



    in einem Public?benutz nochmal die SuFu


    Edit:


    stock 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;
    }
    public OnPlayerUpdate(playerid)
    {
    if(IsPlayerInArea(playerid,minX,minY,maxX,maxY)
    {
    TextDrawShowForPlayer(playerid,Textdraw0);
    }
    return 1;
    }
    so sollte es gehen

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

    Einmal editiert, zuletzt von zombie.modder ()

  • Hmmm habs jetzt soo... trotzdem sieht man weder die Zone noch den textdraw...


    Mach ich was falsch ?



    #include <a_samp>


    new bsnzone;
    new Text:Textdraw0;
    forward IsPlayerInArea(playerid, Float:minX,Float:minY,Float:maxX,Float:maxY);


    #define FILTERSCRIPT


    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    bsnzone = GangZoneCreate(1094.37, -1038.38, 1280.709, -864.6794);
    Textdraw0 = TextDrawCreate(549.000000,32.000000,"No DM Zone");
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,3);
    TextDrawLetterSize(Textdraw0,0.399999,1.000000);
    TextDrawColor(Textdraw0,0xff0000ff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,1);
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    #endif


    public OnPlayerSpawn(playerid)
    {
    GangZoneShowForPlayer(playerid, bsnzone, 0xFF000096);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    GangZoneShowForPlayer(playerid, bsnzone, 0xFF000096);
    return 1;
    }


    stock 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;
    }


    public OnPlayerUpdate(playerid)
    {
    if(IsPlayerInArea(playerid, 1094.37, -1038.38, 1280.709, -864.6794))
    {
    TextDrawShowForAll(Text:Textdraw0);
    }
    return 1;
    }


    Einmal editiert, zuletzt von Sanchos ()

  • muss ich nicht bei :
    GetPlayerPos(playerid,pX,pY,pZ);
    Meine daten einfügen ?


    Siehe beitrag von zombiemodder ?

  • 1. Nicht Pushen, Bringt garnix nur ärger.
    2. Nein Musst du nicht. Das ist so Wie PlayerToPoint, nur halt Quadratisch nicht Rund, und das sollst du unten nicht ändern, damit das script weiß, es ist quadratisch. Das ist Sozusagen Deine FORMEL.


    Dann erstellst du einfach deine GangZone bzw NO DM Zone.

  • #include <a_samp>


    new bsnzone;
    new Text:Textdraw0;
    forward IsPlayerInArea(playerid, Float:minX,Float:minY,Float:maxX,Float:maxY);


    #define FILTERSCRIPT


    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    bsnzone = GangZoneCreate(1094.37, -1038.38, 1280.709, -864.6794);
    Textdraw0 = TextDrawCreate(549.000000,32.000000,"No DM Zone");
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,3);
    TextDrawLetterSize(Textdraw0,0.399999,1.000000);
    TextDrawColor(Textdraw0,0xff0000ff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,1);
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    #endif


    public OnPlayerSpawn(playerid)
    {
    GangZoneShowForPlayer(playerid, bsnzone, 0xFF000096);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    GangZoneShowForPlayer(playerid, bsnzone, 0xFF000096);
    return 1;
    }


    stock 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;
    }


    public OnPlayerUpdate(playerid)
    {
    if(IsPlayerInArea(playerid, 1094.37, -1038.38, 1280.709, -864.6794))
    {
    TextDrawShowForAll(Text:Textdraw0);
    }
    return 1;
    }



    Bei mir ist keine zone zu sehen ist der code falsch ?

  • Habe es so gemacht aber nixs geschiet...


    Woran kann es noch liegen ?