Beiträge von Beavis

    forward Zustand();
    public Zustand()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == 2)
    {
    new Float:health, veh = GetPlayerVehicleID(i);//veh hatte keine zuweisung
    GetVehicleHealth(veh,health);
    new Tachostring[50];//50 reicht vollkommen aus
    format(Tachostring, sizeof(Tachostring), "Zustand: %.2f",health);
    TextDrawSetString(TextZUSTAND[i], Tachostring);
    }
    }
    return 1;
    }

    unnötig das du dafür Extra eine Include erstellst hättest du einfach ein stock gebastelt wäre es besser weil ich finde für ein Include sind es zu wenig Funktionen


    Ich hätte ein stock machen können aber wiso soll ich es so schwer für andere machen?
    Einfach includieren Zone erstellen und der rest geht von allein ohne was im Gamemode selber einzufügen


    Und man muss keine include haben wo man hunderte von Dingen machen kann es reicht doch so wie es ist.


    Naja jeden seine meinung :D

    Guten zusammen


    ich habe mal was kleines erstellt, das manchen villeicht helfen kann.
    Die include dienst dazu, das man NoDM Zonen erstellen kann
    Sprich in den Zonen kann dann nicht gekämpft werden oder mit Waffen geschossen werden.


    Wenn man in den Bereich hineinkommt, werden einen die Waffen "abgenommen" (nur solange die in der Zone sind) und es wird ein Textdraw unten angezeigt.
    Die Anwendung ist ganz einfach.
    CreateNoDMZone(Float:B_XMin,Float:B_YMin,Float:B_XMax,Float:B_YMax)//Dies am besten unter OngameModeInit
    B_XMin = der kleinste X Wert von 2 gespeicherten Coordinaten (zu beachten das die Werte von den 2 Coordinaten kommen sollten!)
    B_YMin = der kleinste Y Wert von 2 gespeicherten Coordinaten (zu beachten das die Werte von den 2 Coordinaten kommen sollten!)
    B_XMax = der größte X Wert von 2 gespeicherten Coordinaten (zu beachten das die Werte von den 2 Coordinaten kommen sollten!)
    B_YMax = der größte Y Wert von 2 gespeicherten Coordinaten (zu beachten das die Werte von den 2 Coordinaten kommen sollten!)


    Die Zonen werden dann erstellt und werden dann auch im Spiel angezeigt werden.
    Sollte eine DM Zone nicht funktionieren bzw die Gebiete flackern über der Map, dann wurden die Coordinaten nicht richtig eingesetzt,
    Dazu kann man aber in den Theard mehr zu fragen ;)


    Die Installation ist ganz einfach
    ihr downloadet euch die Include (im anhang)
    geht in euren Ordner rein wo ihr euer Script habt,
    Dann unter Pawno/include und fügt die Include da ein.
    Dann öffnet ihr euer Script und fügt oben bei den anderen include´s das ein:
    #include <b_nodm>
    Dann compilt ihr euer Script und wenn alles richtig ist, werden Zonen angezeigt.


    Hinweis: Ich habe eine feste Anzahl von 50 Zonen genommen, da dies im normalfall reichen sollte!


    Seit den Update kann man zwischen verschiedenen textdraws auswählen
    Die Funktion heißt:
    NoDMZoneInit(wert des Textdarws);//Hier kann ein Wert von 0-3 angegeben werden, der dient für das textdraw
    Dies könnt ihr unter OngameModeInit setzen oder wenn ihr ingame es testen wollt würde es auch in einen Command gehen.
    Sollte der wert kleiner als 0 Sein oder größer als 3 Wird automatisch die Textdrawart 0 genommen.


    Set Version 2 ist es Möglich InGame Zonen zu erstellen
    Dazu loggt ihr euch als RCON ein und fürt den Command aus:
    /createnodmzone
    Dann einfach den Anweisungen folgen und ihr habt einfach eine NoDM Zone erstellt.
    Diese werden Per SQLite gespeichert und auch geladen
    Ihr benötigt keinerlei Zugangsdaten etc


    (Screens dazu sind im anhang)



    Kommen wir noch zu den pastebin
    Der Download steht im Ahnhang


    Pastebin version 2


    ich habe die include getestet und es gab keine Probleme
    Sollten aber probleme auftauchen, so meldet dies Bitte im Theard

    bei deinen ersten muster wird es nur bei Vehicleid Null funktionieren
    Anders nicht da kannst du dich querstellen....


    wenn es gehen würde dann so sonst nicht
    new vehicleid = GetPlayerVehicleID(playerid);

    Für die die es satt haben für Kick ein Timer zu erstellen seit 0.3x hab ich was kleines gemacht das auch ganz gut Funktioniert


    Der Code

    Spoiler anzeigen
    #include <a_samp>

    Spoiler anzeigen
    native B_Kick(playerid) = Kick;

    Spoiler anzeigen
    forward kickplayer(playerid);

    Spoiler anzeigen
    stock _Kick(playerid)
    {
    SetTimerEx("kickplayer",100,0,"d",playerid);
    return 1;
    }

    Spoiler anzeigen
    public kickplayer(playerid)
    {
    return B_Kick(playerid);
    }

    Spoiler anzeigen
    #if defined _ALS_Kick
    #undef Kick
    #else
    #define _ALS_Kick
    #endif
    #define Kick _Kick


    Als Include datei hab ich es noch angehangen


    Die einrichtung ist ganz easy
    einfach nur im Script das einfügen (sofern ihr die include nutzt^^)
    #include <b_kick>
    Compilen und schon funktioniert alles

    if(sscanf(params,"ui",pID,newname))return SendClientMessage(playerid,HBlau,"Benutzung: /changename [ID] [Name]"); //haste pid als param vergessen dazu zu schreiben


    Du weißt aber schon das ein name keine Zahl ist oder?