Problem mit Laptop-System

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
  • Hey,
    ich bin gerade dabei ein kleines Laptop System mit Internet zu schreiben, jedoch bin ich gerade dabei eine Suchmaschine zu scripten. Dies funktioniert aber nicht so wie ich will.


    Der Code:
    new Wang[12][0] = {
    {"Wang"},
    {"Wangcars"},
    {"WangCars"},
    {"WangAutos"},
    {"wang"},
    {"www.WangCars.sa"},
    {"www.Wangcars.sa"},
    {"www.wangcars.sa"},
    {"wangcars.sa"},
    {"WangCars.sa"},
    {"Wangcars.sa"},
    {"Cars"}
    };
    new GPS[12][0] = {
    {"GPS"},
    {"Navi"},
    {"Navigation"},
    {"Navigationsgerät"},
    {"gps"},
    {"www.gps.sa"},
    {"www.GPS.sa"},
    {"GPS.sa"},
    {"gps.sa"},
    {"Navigation.sa"},
    {"Navi.sa"},
    {"Navigationsgerät.sa"}
    };
    if(dialogid == DIALOG_SASEARCH)
    {
    if(response)
    {
    if(strcmp(inputtext,Wang[0]) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_WANGGEFUNDEN,DIALOG_STYLE_LIST,"Gefundene Seite:","www.WangCars.sa","Wählen","Schließen");
    }
    else if(strcmp(inputtext,GPS[0]) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_GPSGEFUNDEN,DIALOG_STYLE_LIST,"Gefundene Seite:","www.GPS.sa","Wählen","Schließen");
    }
    }
    }

    Wenn ich in das INPUT-Feld "Wang" oder "GPS" eingebe, funktioniert das alles wunderbar, gebe ich aber eins der anderen Wörter die im New stehen ein, wie z.B. Navi, gps, Cars usw. passiert gar nichts.


    LG

  • new Wang[12][0] = {
    Der Fehler liegt dort.Denn die 0 ist falsch.
    Mach daraus
    new Wang[][] = {
    ,dass gleiche auch beim Array GPS.
    Kannst diese auch als const erstellen,vorrausgesetzt du willst nicht,dass man die Liste bearbeitet während der Server läuft.

  • schau dir nochmal genau an, was da eigentlich im callback "OnDialogResponse" steht.
    du überprüfst lediglich, ob der inputtext jeweils mit dem ersten element aus den 2D-arrays "Wang" und "GPS" übereinstimmt. bei anderen begriffen passiert logischerweise nichts, wie auch, wenn die inputtexte garnicht mit den strings aus den arrays verglichen werden.


    ich würde es so machen:



    //diese Suchbegriffe sollten ausreichen, sie sind in allen anderen enthalten
    new Wang[][] = {
    {"Wang"},
    {"Auto"},
    {"Cars"}
    };
    new GPS[][] = {
    {"GPS"},
    {"Navigation"}
    };



    if(dialogid == DIALOG_SASEARCH)
    {
    if(response)
    {
    for(new i=0; i<sizeof(Wang); i++) //durch die suchbegriffe schleifen
    {
    if(strfind(inputtext,Wang[i], true) != -1) //strfind hier deutlich besser als strcmp
    {
    return ShowPlayerDialog(playerid,DIALOG_WANGGEFUNDEN,DIALOG_STYLE_LIST,"Gefundene Seite:","www.WangCars.sa","Wählen","Schließen");
    }
    else if(strfind(inputtext,GPS[i], true) != -1)
    {
    return ShowPlayerDialog(playerid,DIALOG_GPSGEFUNDEN,DIALOG_STYLE_LIST,"Gefundene Seite:","www.GPS.sa","Wählen","Schließen");
    }
    }
    }
    return 1;

    Keine Scripting-Fragen per PM!