2 errors?? Brauche hilfe

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
  • Hallo,
    Ich versuche gerade etwas und da bekomme ich immer 2 errors:


    Code
    error 033: array must be indexed (variable "string2")
    error 033: array must be indexed (variable "string2")
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.


    Und das is mein code:



    new ename[24];
    new string[256];
    new string2[256];
    new vehicleid = GetPlayerVehicleID(i);
    GetPlayerName(i, ename, sizeof(ename));
    format(string, 255, "/keys/%s.%d.key", ename, vehicleid);
    format(string2, 255, "%s",ename);
    if(CarInfo[vehicleid][carsowner] != string2)
    {
    SetVehicleParamsForPlayer(vehicleid, i, 0, 1);
    CarInfo[vehicleid][carslocked] = 1;
    RemovePlayerFromVehicle(i);
    }
    if(CarInfo[vehicleid][carsowner] == string2)
    {
    SetVehicleParamsForPlayer(vehicleid, i, 0, 0);
    CarInfo[vehicleid][carslocked] = 0;
    }
    Bei if(CarInfo[vehicleid][carsowner] != string2) und bei if(CarInfo[vehicleid][carsowner] == string2) kommen die errors. Kann mir jemand helfen?

  • Du kannst nicht einfach strings mit == oder != vergleichen. Um Strings zu vergleichen musst du strcmp verwenden, also statt:


    if(CarInfo[vehicleid][carsowner] != string2)


    muss das so ausschauen:


    if (strcmp(CarInfo[vehicleid][carsowner], string2, true) == 0)

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • wäre dann if (strcmp(CarInfo[vehicleid][carsowner], string2, true) == 0) dass der name in string2 übereinstimmt mit dem von CarInfo[vehicleid][carsowner]?

  • if (!(strcmp(CarInfo[vehicleid][carsowner], string2, true) == 0))


    Das rot markierte hinzufügen.

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!