Wie spreche ich das richtige Fahrzeug an?

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 bin mit meinem Carsystem etwas weiter gekommen, jetzt ist jedoch die Frage wie ich ein Fahrzeug anspreche bzw. definiere wenn ich es z.B. abschliessen möchte, kann mir da jemand helfen?
    enum Car_System
    {
    abesitzer,
    aID,
    aModel,
    Float:aX,
    Float:aY,
    Float:aZ,
    Float:aAngle,
    afarbe1,
    afarbe2,
    alocked,
    }


    new CarInfo[MAX_VEHICLES][Car_System];
    ocmd:carlock(playerid,params[])
    {


    if(strcmp(CarInfo[carid][abesitzer],!NAMEN(playerid))) return SendClientMessage(playerid,ROT,"Dieses Fahrzeug gehört dir nicht");
    if(CarInfo[carid][alocked] == 0)
    {
    CarInfo[carid][alocked] = 1;
    SendClientMessage(playerid,GRUEN,"Auto erfolgreich verschlossen");
    return 1;
    }
    if(CarInfo[carid][alocked] == 1)
    {
    CarInfo[carid][alocked] = 0;
    SendClientMessage(playerid,GRUEN,"Auto erfolgreich aufgeschlossen");
    return 1;
    }
    return 1;
    }
    C:\Users\\Desktop\SAMP-SERVER\gamemodes\negwen.pwn(889) : error 017: undefined symbol "carid"
    C:\Users\\Desktop\SAMP-SERVER\gamemodes\negwen.pwn(890) : error 017: undefined symbol "carid"
    C:\Users\\Desktop\SAMP-SERVER\gamemodes\negwen.pwn(892) : error 017: undefined symbol "carid"
    C:\Users\\Desktop\SAMP-SERVER\gamemodes\negwen.pwn(896) : error 017: undefined symbol "carid"
    C:\Users\\Desktop\SAMP-SERVER\gamemodes\negwen.pwn(898) : error 017: undefined symbol "carid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.

  • Ich kann doch nicht im Ganzen System vehicleid reinschreiben? Das würde doch errors geben.... oder nicht?
    Wäre wirklich dankbar wenn jemand was wüsste...


    Habe nochmal am Befehl gearbeitet, carkey1 ist die feste ID die dem auto gegeben wird....
    1. Ist das so schonmal richtig?
    2. Wenn ja wie mache ich das mit carkey2-4? Der Spieler soll ja mehrere Autos haben ;)
    ocmd:carlock(playerid,params[])
    {
    new Float:x ,Float:y ,Float:z;
    new carid = GetVehiclePos(SpielerInfo[playerid][pcarkey1],x,y,z);
    if(!IsPlayerInRangeOfPoint(playerid,carid,x,y,z))return SendClientMessage(playerid,ROT,"Du bist nicht in der Nähe von einem deiner Fahrzeuge!");
    if(CarInfo[carid][alocked] == 0)
    {
    CarInfo[carid][alocked] = 1;
    SendClientMessage(playerid,GRUEN,"Auto erfolgreich verschlossen");
    return 1;
    }
    if(CarInfo[carid][alocked] == 1)
    {
    CarInfo[carid][alocked] = 0;
    SendClientMessage(playerid,GRUEN,"Auto erfolgreich aufgeschlossen");
    return 1;
    }
    return 1;
    }

  • Sie werden beim Serverstart unter OngamemodeInit geladen:
    for(new i = 1; i < MAX_VEHICLES; i++)
    {
    new string[32];
    format(string, sizeof(string), "%d.car", i);
    if(fexist(string))
    {
    LadeFahrzeug(i);
    CreateVehicle(CarInfo[i][aModel], CarInfo[i][aX], CarInfo[i][aY], CarInfo[i][aZ], CarInfo[i][aAngle],CarInfo[i][afarbe1],CarInfo[i][afarbe2], -1);
    }
    }




    So lade/speichere ich sie:
    public SpeicherFahrzeug(carid)
    {
    if(carid <= 0)
    {
    return 1;
    }
    CarInfo[carid][aModel] = GetVehicleModel(carid);
    new str[50];
    format(str, sizeof(str), "%d.car", carid);
    dini_Create(str);
    {
    dini_Set(str,"Besitzer",CarInfo[carid][abesitzer]);
    dini_IntSet(str,"ID",CarInfo[carid][aID]);
    dini_FloatSet(str,"aX", CarInfo[carid][aX]);
    dini_FloatSet(str,"aY", CarInfo[carid][aY]);
    dini_FloatSet(str,"aZ", CarInfo[carid][aZ]);
    dini_FloatSet(str,"aAngle", CarInfo[carid][aAngle]);
    dini_IntSet(str,"Model",CarInfo[carid][aModel]);
    dini_IntSet(str,"farbe1",CarInfo[carid][afarbe1]);
    dini_IntSet(str,"farbe2",CarInfo[carid][afarbe2]);
    dini_IntSet(str,"Locked",CarInfo[carid][alocked]);
    }
    return 1;
    }
    public LadeFahrzeug(carid)
    {
    new str[25];
    format(str, sizeof(str), "%d.car", carid);
    if(carid == 0)
    {
    return 1;
    }
    if(fexist(str))
    {
    format(CarInfo[carid][abesitzer],30,dini_Get(str,"Besitzer"));
    CarInfo[carid][aID] = dini_Int(str, "ID");
    CarInfo[carid][aX] = dini_Float(str, "aX");
    CarInfo[carid][aY] = dini_Float(str, "aY");
    CarInfo[carid][aZ] = dini_Float(str, "aZ");
    CarInfo[carid][aAngle] = dini_Float(str, "aAngle");
    CarInfo[carid][aModel] = dini_Int(str, "Model");
    CarInfo[carid][afarbe1] = dini_Int(str, "farbe1");
    CarInfo[carid][afarbe2] = dini_Int(str, "farbe2");
    CarInfo[carid][alocked] = dini_Int(str, "Locked");
    }
    return 1;
    }


    //Edit