Problem mit individuellen Tank

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
  • Ja ich will halt unterschiedliche tank größen, machen doch jetzt habe ich das problem die Fahrzeuge so zu definen das z.b. Truck alle 200 Liter haben Helikopter 300.


    Meine Frage wie mache ich das am schlausten ich hatte es so Funktioniert aber weis nicht wie ich damit arbeiten soll?


    Das ist jetzt nur ein Beispiel von den Fahrzeigen die dan dadrin stehen sollen.!!!!


    new HELIKOPTER[200][] = {
    "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana",
    "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat",
    "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife",
    "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo",
    "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
    "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow",
    "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito",
    "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring",
    "Sandking", "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B",
    "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster","Stunt", "Tanker",
    "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
    "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak",
    "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck LA", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit",
    "Utility", "Nevada", "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance",
    "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway",
    "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog",
    "Club", "Freight Carriage", "Trailer 4", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)", "Police Car (SFPD)",
    "Police Car (LVPD)", "Police Ranger"
    };


    new LKWS[12][] = {
    "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
    "Luggage Trailer B", "Stairs", "Boxville", "Tiller", "Utility Trailer"
    };


    Mit freundlichen Grüßen:


    uzii

    10 Mal editiert, zuletzt von _Flex_ () aus folgendem Grund: Text

  • new Fahrzeuge[200][3] = { //Wir erstellen einen neuen Array Fahrzeuge wo die anzahl an spalte 200 ist und es in jeder spallte 3 Parameter gespeichert werden
    {560,"Sultan", 200},
    {488,"NewsHeli", 300} //Es wird in Fahrzeug[1] in Fach 1 560 in Fach 2 Sultan und in Fach 3 200 gelegt die 560 ist die FahrzeugID Sultan der Fahrzeugname und die 200 der MAximale Tank
    };


    bei onplayerentervehicle
    for(new i = 0; i < 201, i++) //Wir starten eine Schleife die alle autos die wir oben gespeichert haben durchläuft
    {
    if(Farzeuge[i][1] == GetPlayerVehicleID(playerid)) //Wir überprüfen jede Spalte nach der FahrzeugID in der wir sitzen und wenn sie gleich ist wird weiter gemacht
    {
    new str[128]; //Wir erstellen eine neue Variable str mit maximalen zeichen von 128
    format(str,sizeof(str),"Der maximale Tank ihres %s beträgt %dl", Fahrzeuge[i][2],Fahrzeuge[i][3]); //wir foramtieren diesen String mit den oben Festgelegten Fahrzeugnamen und Maximalen Tank
    SendClientMessage(playerid. COLOR_RED,str); //Wir senden dem Spieler die Nachricht
    }
    }
    return 1;
    }


    mfg :D

  • okay dan ke schon ein stück weiter doch leider diese fehler




    Zeile (241) : error 018: initialization data exceeds declared size
    Zeile (267) : Der benutzte Array-Index ist größer als die Variable definiert wurde (variable "Tanks")


    bei den sachen


    new Tanks[200][2] = { //Wir erstellen einen neuen Array Fahrzeuge wo die anzahl an spalte 200 ist und es in jeder spallte 3 Parameter gespeichert werden
    ZEILE: 241{560,"Sultan", 200},
    {488,"NewsHeli", 300} //Es wird in Fahrzeug[1] in Fach 1 560 in Fach 2 Sultan und in Fach 3 200 gelegt die 560 ist die FahrzeugID Sultan der Fahrzeugname und die 200 der MAximale Tank
    };


    und hier


    for(new i = 0; i< 201; i++) //Wir starten eine Schleife die alle autos die wir oben gespeichert haben durchläuft
    {
    ZEILE: 267 Tank[i] = Tanks[i][3];
    return 1;
    }


    ich steige da leider nicht ganz durch vlt ja du


    MfG

    2 Mal editiert, zuletzt von _Flex_ () aus folgendem Grund: text

  • Immer noch dasZeile (245) : error 018: initialization data exceeds declared size
    Zeile (272) : Der benutzte Array-Index ist größer als die Variable definiert wurde (variable "Tanks")


    Zeile 245


    {560,"Sultan", 200},


    Zeile 272


    Tank[i] = Tanks[i][3];


    was den da jetzt falsch


  • enum _Fahrzeuge
    {
    ID,
    Fahrzeugname[50],
    MaxTank
    };


    new Fahrzeuge[][_Fahrzeuge] =
    {
    {560,"Sultan", 200},
    {488,"NewsHeli", 300}
    };




    //Beispiel:
    printf("Sultan kann max. %d Liter tanken.",Fahrzeuge[0][MaxTank]);


    // Um nun z.B. den maximalen Tank eines Fahrzeuges zu erhalten.
    stock GetVehicleMaxTank(vehicleid)
    {
    for(new i = 0; i < sizeof(Fahrzeuge); i++)
    {
    if(Fahrzeuge[i][ID] == GetVehicleModel(vehicleid))
    {
    return Fahrzeuge[i][MaxTank];
    }
    }
    }


    // Beispiel:
    printf("Fahrzeug von playerid %d hat ein Tankvermögen von %d.",playerid, GetVehicleMaxTank(GetPlayerVehicleID(playerid)));

    €: GetVehicleMaxTank + Beispiel hinzugefügt.

    Einmal editiert, zuletzt von Douq ()