Beiträge von BlackFoX

    Y--------------->X
    |max
    |>>>>Zone
    |min
    Y----------------X



    Ich hoffe du verstehst es jetzt besser , für eine Zone brauchst du 2 Standpunkte die deine Zone ergeben


    1 mal X,Y = Anfang der Zone
    1 mal X,Y Ende der Zone

    Zonen Theorie ...


    Man muss über der Minimalen X Achse liegen/stehen
    Man muss unter der Maximalen X Achse liegen/stehen
    Man muss über der Minimalen Y Achse liegen/stehen
    Man muss unter der Maximalen Y Achse liegen/stehen


    Y-----------------
    |
    | Zone
    |
    |
    |----------------X

    PlayerInZone(playerid,Float:maxX,Float:minX,Float:maxY,Float:minY)
    {
    new Float:jx,Float:jy,Float:jz;
    GetPlayerPos(playerid,jx,jy,jz);
    if(jx < maxX && jx > minX && jy < maxY && jy > minY)return true;
    return false;
    }


    Und einmal nen Timer...


    forward CheckWeaponZone();
    public CheckWeaponZone()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(PlayerInZone(playerid,Float:maxX,Float:minX,Float:maxY,Float:minY))
    {
    // Aktion...
    }
    }
    }
    return 1;
    }


    Timer nur noch setzen & Aktion festlegen...

    Weiß doch jeder wofür strval ist deswegen fragt man damit auch keine Strings/Texte ab :D
    Statt strval geht meist auch sowas

    tmp = strtok(cmdtext,idx);
    new zahl = tmp[0];


    ( das dort oben soll nur ein verständliches Beispiel sein )
    So geht es ebenfalls

    Goldkiller : Ich glaube ich hatte da sowas erwähnt, war sogar Rot Markier ^^


    KornChief : Das mit der Maximalen Länge war so gemeint das er bis zu einer Maximalen Länge ließt , gebe ich eine 5 an so ließt er nur bis zur 5. Stelle dabei ist klar das Programmiersprachen mit dem Zahlen System bei der 0 Anfangen also 01234 = 5 Zahlen/Zeichen


    Zu der Byte Größe , habe ich doch gesagt , bitte genauer Lesen ;)


    Ansonsten danke für das Nette Feedback

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new formx[128];
    format(formx,sizeof formx,"Das Kommando /%s gibt es nicht nutze /help",cmdtext);
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return SendClientMessage(playerid,0xFFFFFFFF,formx);
    }



    Und unter OnPlayerText...

    if(text[0] == '7')
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Schreibe /kommando statt 7kommando");
    return 0;
    }

    Hallo Liebe Community ( Naja fast immer Lieb :P xD )


    Ich erkläre euch mal wie man das Standard Datei System in Pawn nutzt , erst einmal fangen wir an mit dem Öffnen eines Datei Streams...


    Erstellen wir eine Variable für die Datei, darin wird die Stream ID gespeichert bzw. die Zugriffs Nummer, damit das Datei System alle Infos hat:
    new File:datei;


    Nun greifen wir mal auf die Datei zu ...
    datei = fopen("Dateipfad",zugriffs_typ);


    • Der Dateipfad ist ein Standard Pfad zur Datei, kennt ihr sicherlich alle :D
    • Der Zugriffs Typ ist die Zugriffs Methode auf die Datei hier mal eine Liste der Typen
    • io_write - ( Dieser Typ legt fest das die Datei beschrieben wird & gleichzeitig wenn sie nicht existiert erstellt wird zudem löscht dieser Typ den alten Inhalt )
    • io_read ( Dieser Typ ließt den Inhalt aus bzw. legt den Typ so fest das nur gelesen werden kann )
    • io_append ( Dieser Typ legt fest das die Datei nicht gelöscht wird sondern das man die alten Inhalte behält und die neuen dazu geschrieben werden)
    • io_readwrite ( Dieser Typ ließt eine Datei aus und kann sich gleichzeitig beschreiben & erstellt eine neue Datei falls die angegebene Datei nicht existiert )


    So nun möchte ich euch erklären wie man eine Datei ließt & sie beschreibt ( Je nach Zugriffs Typ )


    Damit schreibt ihr einen Text in die Datei je nach Zugriffs Typ , bitte drauf achten ( Siehe io_write , io_append , io_readwrite )
    fwrite(datei_variable,"Text");


    • Datei Variable ist die Datei Nummer die ihr Stream ID nennen könnt , ihr wisst was ich meine siehe Anfang
    • Und dann den Text den ihr schreiben wollt
    • Achtung : Diese Funktion schreibt keine neue Linie wenn ihr den Zugriff auf Append stellt sondern schreibt gleich dahinter weiter um neue Linie zu erstellen formatiert \r\n hinein sollte genügen ;) , das \r\n macht es möglich das wirklich eine neue Linie gestartet wird ansonsten hättet ihr nur sogenannte Kästchen Trennungen, das Prinzip ist wie bei VB wer es kennt die Länge einer neuen Linie hat immer 2 Zeichen einmal Char 10 & Char 13




    fread(datei_variable,string_var_wo_es_rein_soll,maximale_string_größe,packed_string);


    • Datei Variable ist die Datei Nummer die ihr Stream ID nennen könnt , ihr wisst was ich meine siehe Anfang
    • StringVar , wo soll der gelesene Inhalt rein ? Bitte gebt eine Text Variable an
    • Maximale Größe des Inhalts ( Gebt ihr 5 an aber habt in der Linie der Datei 7 Zeichen so werden nur 5 Zeichen gelesen)
    • Ist es ein packed String ( true/false ) ( Packed Strings = 1 Byte , normale = 4 Bytes )
    • Eigenschaft : Diese Funktion ließt immer eine Linie und dann immer die nächste , sie fängt erst wieder bei 0 an wenn ihr den Stream schließt


    Ihr müsst den Stream auch schließen damit das Programm von der Datei los lässt " ", dazu tut ihr folgendes...
    fclose(datei_variable);


    • Datei Variable ist die Datei Nummer die ihr Stream ID nennen könnt , ihr wisst was ich meine siehe Anfang


    Hier ein kleiner Tipp zum auslesen aller Linien + Erfassung für das Ende der Datei

    new File:datei = fopen("datei.endung",io_append),line[255];
    while(fread(datei,line))
    {
    // Aktion
    }
    fclose(datei);


    Und hier mal ein normaler Stream ^^


    new File:datei = fopen("Datei.endung",io_write);
    fwrite(datei,"dein text");
    fclose(datei);



    Sonstige Funktionen



    fexist("Dateiname");

    • Diese Funktion fragt ab ob die Datei existiert


    fremove("Dateiname");

    • Diese Funktion löscht eine Datei


    flength(datei_variable);

    • Gibt die Größe der Datei zurück


    fmatch("Dateiname","String",Anzahl_Zeichen_Die_Gesucht_werden_sollen);


    • Dateiname ist klar
    • Nach was soll er im Dateinamen suchen ? Was soll enthalten sein ?
    • Zeichenlänge die gesucht wird



    Ich wünsche euch viel Spaß & ich hoffe es hilft euch ein bisschen