Beiträge von Firerfan

    Musst der Funktion auch sagen dass sie nen float zurück geben soll ;)
    stock Float:mysql_GetFloat(table[], field[], where[])


    Musst Du dann aber definieren bevor du die Funktion benutzt, sonst kriegst du nen Warning

    Hallo Chrissss,


    Kennst Du dich eigentlich mit Arrays aus?
    Es sieht mir fast nicht dannach aus, da Du einen Fehler gemacht hast.


    Erstmal: Du kannst PAWN-Code übersichtlicher darstellen, wenn Du die

    Code
    [pawn][/pawn]


    Tags benutzt.


    Kommen wir zum wesentlichen:
    Du hast bei der Positionsabfrage bei der Variable für die Position X den Index ausgelassen (Das "i").
    Somit würde die Zeile dir wahrscheinlich nen Error rauswerfen.


    Dass Du die Job-ID im Array mit speicherst ist eine mögliche Lösung.
    Andernfalls könntest du die Job-Punkte auch in der Reihenfolge definieren, in der Du die Jobs definierst hast.
    Wenn Job-ID 5 also Mechaniker wäre, dann würdest du an 5. Stelle den Job-Punkt für die Mechaniker definieren.
    Dann müsstest Du die Job-ID nicht im Array definieren sondern könntest einfach die Variable nehmen, mit der Du in der Schleife arbeitest.
    Diese müsstest Du dann natürlich noch +1 rechnen, weil der Index eines Array bei 0 beginnt, Job-ID 0 aber sehr wahrscheinlich bei dir "Arbeitlosigkeit" bedeutet.


    Du müsstest ausserdem die "else"-Abfragen auslassen.
    Die Schleife wiederholt sich solange bis sie der Zähler (Das "i") So groß wie MAX_JOBS ist.
    Auch wenn du an einer Position stehst würdest Du nen Spam an "Du stehst nicht da und da"-Nachrichten abbekommen.
    Regel das am besten mit einem boolean, Den Du in der Schleife auf true setzt, wenn er einer Position steht.
    Den kannst Du später ganz leicht abfragen ;)


    Beide Lösungen, die du nur noch an die Gegebenheiten deines Scripts anpassen muss:
    for(new i; i<MAX_JOBS; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0,JobSyst[i][AnnehmbarX], JobSyst[i][AnnehmbarY], JobSyst[i][AnnehmbarZ]))
    {
    PlayerInfo[playerid][Job] = i+1;
    SendClientMessage(playerid,FARBE,"Job Erfolgreich Angenommen");
    }
    }
    for(new i; i<MAX_JOBS; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0,JobSyst[i][AnnehmbarX], JobSyst[i][AnnehmbarY], JobSyst[i][AnnehmbarZ]))
    {
    PlayerInfo[playerid][Job] = JobSyst[i][JobID]
    SendClientMessage(playerid,FARBE,"Job Erfolgreich Angenommen");
    }
    }

    Da musst du schon n bisschen komplizierter Rechnen :D
    Hab mir dafür funktionen geschrieben:


    stock GetXYBeforeCar(cID,&Float:x,&Float:y,Float:range){
    new Float:coord[3]; GetVehiclePos(cID,coord[0],coord[1],coord[2]);
    new Float:angle; GetVehicleZAngle(cID,angle);
    coord[0] = floatadd(coord[0],(-range * floatsin(-angle,degrees)));
    coord[1] = floatadd(coord[1],(-range * floatcos(-angle,degrees)));
    x = coord[0]; y = coord[1];
    }


    Verwendung:
    new x,y;
    GetXYBeforeCar(vehicleid,x,y,3.0);
    CreateObject(model,x,y,Z-Höhe vom Spieler,...);

    Dann limitier den CMD auf eine Gewisse geschwindigkeit ;)
    Vorher einfach abfragen ob er z.B. schon die 250 KM/H hat (Je nach funktion zum Auslesen der Geschwindigkeit) und dann einfach blocken.

    Definiere in einem Array mit der Größe aller Möglichen Fahrzeug-Modelle die Maximale Tankgröße.
    Sowas in der Art:
    new PlayerVehicle[212][] = {
    "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"
    };


    Nur dass hier die Namen der Fahrzeuge gespeichert sind und nicht der Füllstand.
    Müsstest halt nachher nur alles Umschreiben, was in irgend einer Weise mit dem Tank zu tun hat^^

    Je nach dem wie das auto sich bewegt, sind die x,y und z Geschwindigkeit anders..
    Nur mit nem Multiplikator würds richtig funktionieren.. Oder mit umständlichen Rechnungen.


    Mit
    new Float:vx,Float:vy,Float:vz;
    GetVehicleVelocity(GetPlayerVehicleID(playerid),vx,vy,vz);
    SetVehicleVelocity(GetPlayerVehicleID(playerid), vx*1.5, vy*1.5, vz*1.5);
    Würde das Auto z.B. um der aktuellen Geschwindigkeit beschleunigt werden.
    Bei 100 KM/H also auf 150 KM/H

    Das nennst du Design?!
    Du hast ne Grafik von nem anderen Projekt und in Blauer (Hässlicher und Teilweiser verdrehter Schrift) irgendwelche scheiße darauf geklatscht.
    Mich kotzt sowas persönlich richtig an!
    Nicht nur dass Du nicht designen kannst, Nein - Das ist sogar ne Urheberrechtsverletzung.