[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
  • Ins format darfst du natürlich nicht 127.0.0.% schreiben, sondern %s.%s.%s.%%.

    Code
    format(query, sizeof(query), "SELECT * FROM accounts WHERE IP LIKE '%s.%s.%s.%%'", strval(zahl[0]), strval(zahl[1]), strval(zahl[2]));


    Print:


    Code
    [21:35:14] Zahl 1: 127
    [21:35:14] Zahl 2: 0
    [21:35:14] Zahl 3: 0
    [21:35:14] Zahl 4: 1
    [21:35:14] SELECT * FROM accounts WHERE IP LIKE '955r...'


    Ich hab gerade den überblick verloren ;(
    Jetzt printet der mir komplett was falsches aus ...

  • Achso, mit strval. Dann %d.
    format(query, sizeof(query), "SELECT * FROM accounts WHERE IP LIKE '%d.%d.%d.%%'", strval(zahl[0]), strval(zahl[1]), strval(zahl[2]));

    ah okey :)
    Für was steht am ende das "%%"?


    Wo muss ich eigentlich festlegen, wenn er diese IP Range gefunden hat und der Spieler mit nem anderen Namen draufkommt das er gekickt wird?
    Z.B. hier?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Jemand eine Ahnung, warum mein Command nicht über den loop kommt (nur 0.1 - 0.2)?



    ocmd:sellkeys(playerid)
    {
    print("0.1");
    new string[128],anzahl=0;
    print("0.2");
    for(;loop<sizeof(cInfo);loop++)
    {
    print("1");
    if(!cInfo[loop][id_x])continue;
    print("2");
    if(cInfo[loop][besitzer]!=pInfo[playerid][ID])continue;
    print("3");
    anzahl++;
    format(string,sizeof(string),"Anzahl\tAutoname\tAuto ID\n{#FFFFFF}%i\t{#FF0000}%s\t{{#FFFFFF}}%i\n",anzahl,GetVehicleName(cInfo[loop][model]),cInfo[loop][model]);
    ShowPlayerDialog(playerid,DIALOG_SELLKEYS,DIALOG_STYLE_TABLIST_HEADERS,"Auto Verwaltung - Verkaufen",string,"Okay","Abbrechen");
    }
    return 1;
    }

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Oben im Skript habe ich bereits new loop = 0; deklariert. Das dürfte eigentlich nicht der Fehler sein (+ in anderen for-schleifen geht es).

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Wenn du die Schleife einmal ausführst, dann behält "loop" den Wert "sizeof(cInfo)", sprich es wird nie mehr kleiner als "sizeof(cInfo)" sein.
    Du musst die Variable entweder lokal im Schleifenkopf deklarieren, oder in im Schleifenkopf auf 0 setzen.

  • Jeffry, schon einmal dran gedacht skripten zu lehren? Damn...
    Funktioniert, danke dir.


    //Edit:


    Bräuchte hier noch einen Denkanstoß:



    ocmd:sellkeys(playerid)
    {
    new string[128],anzahl=0;
    for(loop=0;loop<sizeof(cInfo);loop++)
    {
    if(!cInfo[loop][id_x])continue;
    if(cInfo[loop][besitzer]!=pInfo[playerid][ID])continue;
    format(string,sizeof(string),"Anzahl\tAutoname\tAuto ID\n{FFFFFF}%i\t{FF0000}%s\t{FFFFFF}%i\n",anzahl++,GetVehicleName(cInfo[loop][model]),cInfo[loop][model]);
    ShowPlayerDialog(playerid,DIALOG_SELLKEYS,DIALOG_STYLE_TABLIST_HEADERS,"Auto Verwaltung - Verkaufen",string,"Okay","Abbrechen");
    SetPVarInt(playerid,"sellCarID",)
    }
    return 1;
    }


    Bei SetPVarInt möchte ich die db_id des jeweiligen Autos speichern. Jetzt ist aber das Problem: bei jedem neuen Auto das ich habe, wird ja eine neue "Liste" erstellt. Wie lese ich die Zeile aus, wenn er z.B. 3 Autos hat und er das 2te verkaufen möchte? Bei einem normalen DIALOG_STYLE_LIST mit z.B. 5 festgesetzten Plätzen wäre das für mich kein Problem, hier siehts allerdings anders aus (+ was muss ich dann bei OnDialogResponse bei listitem angeben)...

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

    Einmal editiert, zuletzt von #S. ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen