Fahrzeug Namen auslesen

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
  • Guten Abend/Morgen zusammen,
    ich möchte gerne den Fahrzeug Namen auslesen lassen, habe dazu hier im BreadFish schon mal etwas gefunden,
    aber gibt es nun das Problem, das mir meine Konsole einiges ausspuckt sobald ich diese "Funktion" benutze.



    Auslesen:
    new vID = GetPlayerVehicleID(playerid);
    format(string, sizeof(string), ""#FARBE_GELB"Du hast dir ein %s als Supporter Fahrzeug Gespawnt!", VehicleName[GetVehicleModel(vID)-400]);


    new VehicleName[][] = {
    "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", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
    "Luggage Trailer B", "Stairs", "Boxville", "Tiller", "Utility Trailer" };


    Die Konsole sagt:
    [00:43:24] [debug] Run time error 4: "Array index out of bounds"
    [00:43:24] [debug] Attempted to read/write array element at negative index -400
    [00:43:24] [debug] AMX backtrace:
    [00:43:24] [debug] #0 0000ba24 in public ocmd_supveh (0, 209372) from Script.amx
    [00:43:24] [debug] #1 native CallLocalFunction () from samp-server.exe
    [00:43:24] [debug] #2 000002ec in public OnPlayerCommandText (0, 209340) from Script.amx


    Mache ich beim Auslesen etwas Falsch, oder liegt es "nur" an der Funktion?


    Mit freundlichen Grüßen,

  • Der Code failt...weil vID = 0 ist..weil der Spieler sich noch in keinem Auto befindet...


    Zeig uns mal den ganzen command, dann können wir dir besser helfen :)


    Du solltest da nämlich direkt den input, den er eingibt als model nehmen ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • ocmd:supveh(playerid, params[])
    {
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"SERVER"#FARBE_WEISS"]: Du bist in "#FARBE_ROT"einem Fahrzeug"#FARBE_WEISS"!");
    if(GetPlayerInterior(playerid) >= 1)return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"SERVER"#FARBE_WEISS"]: Du bist in "#FARBE_ROT"einem Inteior"#FARBE_WEISS"!");
    if(GetPlayerVirtualWorld(playerid) >= 1)return SendClientMessage(playerid, -1, "["#FARBE_ORANGE"SERVER"#FARBE_WEISS"]: Du bist in einer "#FARBE_ROT"Virtuellen Welt"#FARBE_WEISS"!");
    print("1");
    new vID = GetPlayerVehicleID(playerid);
    new Float:supCar[4];
    GetPlayerPos(playerid, supCar[0], supCar[1], supCar[2]);
    GetPlayerFacingAngle(playerid, supCar[3]);
    print("2");
    SuppCarVeh[playerid] = CreateVehicle(560, supCar[0], supCar[1], supCar[2], supCar[3], 1, 1, -1);
    PutPlayerInVehicle(playerid, SuppCarVeh[playerid], 0);
    format(string, sizeof(string), ""#FARBE_WEISS"["#FARBE_HELLBLAU"Supporter Fahrzeug"#FARBE_WEISS"]\nBesitzer: [%s]%s", GetAdminRangName(playerid), sInfo[playerid][sName]);
    AdminVehLabel[SuppCarVeh[playerid]] = Create3DTextLabel(string, 0xFFFFFFFF, 0.0, 0.0, 0.0, 50.0, 0, 1);
    Attach3DTextLabelToVehicle(AdminVehLabel[SuppCarVeh[playerid]], SuppCarVeh[playerid], 0.0, 0.0, 0.0);
    print("3");
    format(string, sizeof(string), ""#FARBE_GELB"Du hast dir ein %s als Supporter Fahrzeug Gespawnt!", VehicleName[GetVehicleModel(vID)-400]);
    SendClientMessage(playerid, -1, string);
    print("4");
    SetPVarInt(playerid, "SupVeh", 1);
    return 1;
    }


    Das wäre der ganze Befehle bis jetzt.


    Mit freundlichen Grüßen,

  • format(string, sizeof(string), ""#FARBE_GELB"Du hast dir ein %s als Supporter Fahrzeug Gespawnt!", VehicleName[GetVehicleModel(vID)-400]);zuformat(string, sizeof(string), ""#FARBE_GELB"Du hast dir ein %s als Supporter Fahrzeug Gespawnt!", VehicleName[GetVehicleModel(SuppCarVeh[playerid])-400]);
    Oder alternativ, da du ja immer die 560 erstellst: format(string, sizeof(string), ""#FARBE_GELB"Du hast dir ein %s als Supporter Fahrzeug Gespawnt!", VehicleName[160]);