[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Sollst es ja auch nicht lesen,sondern verstehen.
    Das hast du aber wie es aussieht leider nicht.
    cmd(makeadmin, 4 , cmdtext);
    Wo kommt die 4 her? Die 4 ist für kick,weil kick aus 4 Buchstaben besteht.
    makeadmin hat dagegen 9 Buchstaben bzw ist 9 Buchstaben lang.
    cmd(makeadmin, 9, cmdtext);
    Auch ist bei deiner sscanf Abfrage noch etwas falsch:
    if(sscanf(params, "us",pID,adminlevel))

    Ich denke wir sind uns einige,dass das Adminlevel eine Zahl sein soll und kein Text ( String ).
    if(sscanf(params, "ud",pID,adminlevel))

  • Danke jetzt klappt es endlich.
    So langsam fange ich an das ganze zu verstehen.

  • Tag, ich habe versucht Nummernschilder zu Speichern und aufzurufen, aber es wird 1. nicht Gespeichert und beim Nummernschild zuweisen wird ein LV Copcar gespawnt und da wird dan das Nummernschild eingefügt-.-


    Hier pastebin.com bitte durchschauen :)


    http://pastebin.com/8Q51wy6g

  • Ich wolte mal fragen wie man eine bestimmte Zeile von einer Datei lesen kann.


    Bsp.:
    Ich habe ein File mit dem namen "dumbass.txt" und das ist der Inhalt:

    Code
    you are a dumbass
    you are not a dumbass
    we are the world
    we are a dumbass
    lölllll
    lol don't read this


    Will da direkt die Zeile 3 lesen ("we are the world").
    Wie mache ich das? ^^


    Peace'n'Lovez,
    FoxHound.

  • Direkt lesen kann man die nicht.Musst schon durch die Datei gehen,bis du selber in der X - Zeile angekommen bist.


    blubb.txt



    Konsole:

    Zitat

    [15:15:21] ReadLine("blubb.txt",3) 'für die readline funktion'


    stock ReadLine(const sFile[],iLine) {
    new
    File:fFile,
    _iLine = 0,
    _sTmp[128] = "-Datei nicht geöffnet";
    fFile = fopen(sFile,io_read);
    if(fFile) {
    while(fread(fFile,_sTmp,sizeof(_sTmp))) {
    StripNewLine( _sTmp ); // Ich hoffe du hast die Funktion,StripNewLine oder StripNL
    /* Willst du Leere Zeilen skippen ?
    if(!_sTmp[0]) {
    continue;
    }
    */
    _iLine++;
    if( _iLine == iLine ) {
    break;
    }
    }
    fclose(fFile);
    }
    return _sTmp;
    }

  • Jo ich habe noch eine Funktion gefunden mit der Suchfunktion, welches kein StripNewLine / StripNL braucht.
    Aber konnte das Script irgendwie nicht verstehen... x):

    GetLine(xfile[], line) {
    new File:fstream = fopen(xfile, io_read), result[1024];
    while(fread(fstream, result, sizeof result)) {
    line--;
    if(line == 0)
    break;
    }
    fclose(fstream);
    if(line == 0)
    return result;
    result = "";
    return result;
    }

  • Du brauchst StripNewLine auch nicht unbedingt bzw StripNL.
    Es ist nur ein Fix für einen Fehler beim auslesen von Texten aus Datein. ( Weiss nicht mehr ob es Linux oder Windows war ).

    Zitat


    das
    ist
    noch
    ein
    test


    Angenommen du willst jetzt den Wert der 3 Zeile ( noch ) zurück geben. Du würdest dann fälschlicherweise "noch " bekommen ( Ja, mit den Leerzeichen ).
    Mit StripNewLine würde das nich passieren.Es entfernt jedes überflüssige Leerzeichen am Ende eines Strings.
    Das wäre zB wichtig,wenn du direkt mit Texten aus der Datei arbeiten willst.
    zB beim überprüfen ob ein Spielername in einer Datei steht.Denn strcmp() würde bei "noch " und "noch" sagen,dass wären unterschiedliche Strings.
    Ich verzichte daher nie auf StripNewLine. Hat mir früher ( SA:MP 0.2 ) nämlich viele Probleme gemacht ... :whistling:

  • Tag Leute,
    Hätte ma ne Frage unswwar kann man einen Spieler i.wie töten (mit einer waffe)
    wenn er gefreezt ist? TOgglePlayerCOntrollable


    WEil mjan in meinem rob system die Leute, die gefreezt sind nicht töten kann.


    lg

  • Wie kann ich VehicleHealth als admin von einem anderen Spieler auf 0 setzen?
    Das heißt, wenn ich "/destroy 1" eingebe, brennt der wagen von dem Spieler mit der ID 1


    Bislang habe ich es geschafft, mein eigenes Auto zu zerstören, aber das ist ja auch nicht schwer^^


    Dabke im vorraus


    mfG,
    TS