[SUCHE TUT] Suche TUT für erklärung von string

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 Leutz,


    ich suche ein Tutorial in dem mir jemand erklärt, wie ein string funktioniert. Ich hab leider keine Ahnung von strings und falls ich jemals schon ein TUT darüber gelesen habe, habe isch es nicht ganz verstanden. Bitte Helft mir. Ich benutze kein GF oda sowas in der Art. Ich schreibe (zum üben) einen eigenen GM (nix Großes).


    MFG
    [XAC]Simon


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

  • Vllt hilft dir das


    Wie definiert man eine String ?


    Beispiel:


    new MeineString[256];


    in diesem Fall hab ich die Zellengröße auf 256 gestellt das heisst 256 Zeichen, man kann den Stringwert natürlich auch kleiner machen z.b.
    32, 64, 128


    Wie Kann man ihn Benutzen ?


    Ich hab jetzt mal als Beispiel genommen , Spieler Namen Speichern in der Variable

    GetPlayerName(playerid,MeineString,sizeof(MeineString));


    Also Jetzt Speichert er den Spielernamen in MeineString mit der Größe von der Variable also 256 oder einfach nur Größe von MeineString


    Stringwert formatieren , bloss wie ?


    format(MeineString,sizeof(MeineString),"Mein Text");


    so jetzt hab ich den Textwert : Mein text in MeineString gepackt



    Ich hoffe das hat wenigstens ein bissl geholfen, wenn du weitere Fragen hast kannst mich ja in ICQ Adden, dann fragst was noch wissen möchtest

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Ich benutze kein GF oda sowas in der Art. Ich schreibe (zum üben) einen eigenen GM (nix Großes).

    Das nenn ich doch mal echt vorbildlich :D


    Also ich erkläre dir mal die bekanntesten Funktionen die es von Strings gibt:


    strcmp:


    Wohl eine der bekanntesten, da sie in OnPlayerCommandText für jeden Command gebraucht wird
    Mit strcmp vergleichst du zwei Strings du übergibts sie folgendermaßen:
    strcmp(string1, string2, ignorecase)
    ignorecase bedeutet hierbei ob die Funktion auf Groß und Kleinschreibung achten soll, wenn du also
    strcmp("WORT", "wort", true) übergibts dann ignoriert die Funktion Groß und Kleinschreibung und gibt zurück das die Wörter das gleiche sind
    Die Funktion gibt übrigends den Unterschied zwischen den beiden Strings zurück, d.h. also wenn sie 0 zurück gibt dann sind beide gleiche
    deshalb werden meistens Commands so geschrieben:
    if(strcmp(cmdtext, "/help", true) == 0)
    {
    ....
    }
    Dabei wird kontrolliert ob der Unterschied zwischen cmdtext (Der Command der eingegeben wurde) und "/help" 0 ist, dabei ist es egal ob der Spieler "/help" oder "/HELP" oder "/hElP" eingegeben hat.


    strlen:


    Diese Funktion gibt die Länge des Strings zurück sprich
    strlen("hallo");
    würde 5 zurückgeben. Die Funktion wird zB. benutzt um ungültige Eingaben zu überprüfen.


    format:


    So ziemlich die wichtigste Funktion, mit ihr lassen sich Sachen in Strings einfügen.
    Während man in anderen Programmiersprachen wie zB. Java einfach System.out.println("1. Thema: Addition: 1 + 1 = " + 2); machen kann
    Muss man in Pawno Sachen per "format" einfügen, sicherlich kennt ihr "format c:" was unter Windows die Festplatte C: auf dem meistens das Betriebsystem ist, formatiert wird. Durchs formatieren werden sowohl bei der Festplatte als auch bei der String erst einmal sämtliche Daten rausgelöscht, bevor dann alles neue reingeschrieben wird, du musst also keine Angst haben das Reste von früher noch drin sind.
    Beispiel:

    new
    tmp[128];
    format(tmp, sizeof(tmp), "Hallo mein Name ist %s. Ich bin %i Jahre alt und weiß schon die ersten 6 Stellen von Pi (%f). Mein Lieblingstier ist der %x.", "Hans Wurst", 12, 3.14159, 45045);

    tmp würde nun so aussehen:
    "Hallo mein Name ist Hans Wurst. Ich bin 12 Jahre alt und weiß schon die ersten 6 Stellen von Pi (3.14159). Mein Lieblingstier ist der 0xAFFE."


    Zur Erklärung:


    Ihr müsst Sachen die ihr einfügen wollt vorher mit einem "%" und nachfolgendem Buchstaben ankündigen, hinten hängt ihr dann die ganzen Sachen in der gleichen Reihenfolge durch ein Komma getrennt dran.
    Es gibt die folgenden Buchstaben:
    %s - Stellt einen anderen String dar (In diesem Fall "Hans Wurst")
    %i oder %d - Stellt einen Interger/Dezimalwert dar (In diesem Fall 12)
    %f - Stellt eine Zahl mit Nachkommastellen dar (In diesem Fall 3.14159)
    %x - Stellt eine Zahl im Hexadezimalsystem dar (Im Beispiel ist 45045 Dezimal == AFFE Hexadezimal)
    %c - Stellt einen einzelnen Buchstaben (zB. 'J') dar


    strcat:


    Diese Funktion hängt zwei Strings aneinander, Beispiel:



    new
    tmp[128];
    tmp = "Hallo mein Name ist Schweiß. ";
    strcat(tmp, "Axel Schweiß.");


    tmp wäre dann: "Hallo mein Name ist Schweiß. Axel Schweiß."


    strval:


    Wandelt einen String in eine Zahl um.
    strval("12345");
    Würde 12345 zurück geben.
    strval("12blubb345");
    Würde 12 zurückgeben da die Funktion immer nur bis zum ersten ungültigen Zeichen übersetzt.


    valstr:


    Wie der umgedrehte Name unschwer erraten lässt stellt diese Funktion das genaue Gegenteil zur obigen dar.



    new
    tmp[32];
    valstr(tmp, 1234);


    tmp wäre dann "1234".


    Ich hoffe das hilft ein bisschen ;)

    2 Mal editiert, zuletzt von Tjong ()