Beiträge von Jeffry

    Welche Waffe(n) hast du denn alle dabei, und welche hast du in der Hand wenn du einsteigst?
    Hast du die Waffen noch, wenn du wieder aussteigst?

    Die Funktion kannst du komplett löschen, es reicht, wenn du das hier unter die Includes schreibst:
    new carNames[212][] = {"Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
    "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
    "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
    "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","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","ZR3 50","Walton","Regina",
    "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
    "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
    "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","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","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","Trailer",
    "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
    "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
    "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
    "Stair Trailer","Boxville","Farm Plow","Utility Trailer"};


    Zugriff so:
    new string[32], idx = GetVehicleModel(GetPlayerVehicleID(playerid)) - 400;
    format(string, sizeof(string), "Fahrzeug: %s", carNames[idx]);
    PlayerTextDrawSetString(/*... ausfüllen ... */);

    new weapons, ammo;
    new gun = GetPlayerWeaponData(playerid, 4, weapons, ammo);
    Zu
    new gun, ammo;
    GetPlayerWeaponData(playerid, 4, gun, ammo);

    Unter den Includes:
    enum vehDefaultDataEnum {
    e_fuelType,
    e_maxFuel
    };
    #define FUEL_TYPE_DIESEL 0
    #define FUEL_TYPE_BENZIN 1
    #define FUEL_TYPE_ELEKTRO 2
    //(...)


    new fuelName[][16] = {
    "Diesel",
    "Benzin",
    "Elektro" //Der letzte Eintrag hat kein Komma am Ende.
    };


    Darunter dann zusätzlich die Standartwerte, pro Model-ID:
    new vehDefaultData[][vehDefaultDataEnum] = {
    {FUEL_TYPE_DIESEL, 57}, //Model-ID 400
    {FUEL_TYPE_ELEKTRO, 100}, //Model-ID 401
    {FUEL_TYPE_DIESEL, 40}, //Model-ID 402
    {FUEL_TYPE_BENZIN, 54}, //Model-ID 403
    //(...)
    {FUEL_TYPE_DIESEL, 39} //Model-ID 611
    };
    Dabei steht die erste Zeile für Model ID 400, dann 401, etc... bis 611.


    Zugriff auf die Daten dann beispielsweise so:
    if(IsPlayerInAnyVehicle(playerid))
    {
    new string[128], modelid = GetVehicleModel(GetPlayerVehicleID(playerid)), idx = modelid-400;
    format(string, sizeof(string), "Model-ID: %d / Tankart: %s / Tankgröße: %d", modelid, fuelName[vehDefaultData[idx][e_fuelType]], vehDefaultData[idx][e_maxFuel]);
    SendClientMessage(playerid, 0xFF0000FF, string);
    }

    Oh, also er will drive-by nutzen.

    Auch das nur nicht komplett, sondern nur wenn die weaponid eine der vier genannten ist.



    da es anscheinend ein Include bereits gibt (oder so code) der dafür sorgt, dass die Waffen entzogen werden.

    Das kann durchaus sein, es kann aber auch sein, dass GetPlayerWeaponData (was bekanntermaßen ja nicht immer richtig funktioniert) einen falschen Wert zurückgibt.
    Einfach mal abwarten, was der Debug Print ausgibt.

    Machs doch einfach so:

    Genau das will er ja nicht.



    Wenn ich mit g in ein Fahrzeug steige verschwindet die Waffe die als Driveby verwendet werden soll.

    Versuche es so:
    if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
    new gun = GetPlayerWeapon(playerid);
    if(gun != 28 && gun != 29 && gun != 32 && gun != 31) SetPlayerArmedWeapon(playerid,0);
    }
    Falls das auch nicht geht, lasse dir mit einem print mal die Waffe ausgeben:
    printf("gun: %d", gun);

    Das Array muss so deklariert werden:
    new Autohausauto1_name[ANZAHL_HIER][16];
    Die 16 steht dabei für die maximale Länge des Namens.


    Und dann:
    format(Autohausauto1_name[ 0 ], 16,"Hotring Racer A");


    Alternativ kannst du das auch über ein Array aller Fahrzeugnamen dynamisch regeln, über die ModelID. Je nach dem was du auch in den Namen schreiben willst.

    Wenn kein Fehler mehr auftaucht, dann passt 400. Es darf gerne etwas mehr sein, muss aber nicht unnötig viel sein, also 1000 wäre zu viel. Es sollte in die Richtung gehen, die in etwa passt, und dann eben aufrunden.


    Zwecks dem Geld:
    Beim Speichern:
    pInfo[playerid][pGeld]
    Zu
    GetPlayerMoney(playerid)