Beiträge von Kaliber

    Jemand ne' Idee?


    Ich könnte eine Vermutung aufstellen:


    Zitat

    KEY_CTRL_BACK**


    Wie du siehst sind da so 2 Sternchen dahinter, schauen wir mal was das heißt:


    Zitat

    [**] Supported since 0.3d. Not detectable in earlier versions. This key can not be detected when the player is in spectator mode.


    Der 2. Satz ist entscheident, im Spectator Mode, kann der Key Nicht abgefragt werden ;)


    Befindest sich dann der Spieler in diesem Mode? :huh:


    Oder printe auch mal vor der Bedingung, ob er die Taste erkennt, da vielleicht der Callback dann nicht mehr erkannt wird...kp wieso vielleicht wegen irgendeinem Hook :wacko:


    Kann ja alles Mögliche sein :S


    Oder Vielleicht gibts n Fehler...hau doch mal das crashdetect Plugin rein..vielleicht detected es was :3


    mfg. :thumbup:

    Ich glaube Y_LESS hat sowas schon mal veröffentlicht aber ohne Datenbank :D


    Und hier noch ein paar Kleinigkeiten:


    Zitat

    forward ArrayPushInteger(array[], value);


    Das zu folgendem Ändern:


    forward ArrayPushInteger(const array[], value);


    Und folgendes:


    Zitat

    new str[128];
    format(str, 128, "%d", value);


    Besser wäre:


    new str[32];
    valstr(str,value);


    Aber sonst, nette Idee ;)


    mfg. :thumbup:

    Hier, schreib mal alles so:


    static const carNames[212][20 char] = {
    !"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"
    };


    stock getVehicleName(model) {
    static buffer[32];
    return strunpack(buffer,carNames[(model)-400],sizeof buffer),buffer;
    }


    public sekunde() {
    new string[64];
    for(new i; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i))continue;
    format(string,sizeof(string),"%ikm/h",getPlayerSpeed(i));
    TextDrawSetString(TachoTD[1],string);
    TextDrawSetString(TachoTD[6],getVehicleName(GetVehicleModel(GetPlayerVehicleID(i))));
    }
    return 1;
    }


    Damit spart du jede Menge speicher ;)


    mfg. :thumbup:

    Lösche die Funktion und den Befehl und schreib es einfach so:


    ocmd:explode(playerid,params[])
    {
    if(!params[0]) return SendClientMessage(playerid,-1,"Verwendung: /explode [spielerid]");
    if(!IsATerrorist(playerid)) return SendClientMessage(playerid,-1,"Du bist kein Terrorist!");
    new Float:p[3],pID = strval(params);
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Ein Spieler mit dieser ID ist nicht online!");
    GetPlayerPos(playerid,p[0],p[1],p[2]);
    if(!IsPlayerInRangeOfPoint(pID,50.0,p[0],p[1],p[2])) return SendClientMessage(playerid,-1,"Dieser Spieler ist nicht in deiner Nähe!");
    SendClientMessage(playerid,COLOR_ORANGE, "Du hast dich in die Luft gejagt.");
    CreateExplosion(p[0],p[1],p[2], 7, 25);
    return SetPlayerHealth(playerid,0),SetPlayerHealth(pID,0);
    }


    mfg. :thumbup:

    Das gehört eigentlich in die Scripting Base


    Was hast du da jetzt Großartig verändert? :huh:


    Du hast nur params[] oben hinzugefügt, oder? :huh:


    Wenn ja, dass kann man so machen, also das einfach weglassen, das ist völlig okay so!


    Ich denke der Fehler liegt hier:


    for(new i=1; i <= MAX_JOBS; i++)


    Schreibe diese Zeile mal so:


    for(new i=1; i<MAX_JOBS; i++)


    Das Unknown Command, kommt denke ich wegen eine Array out of Bounds error ;)


    Falls du öfters sowas hast, kannst du auch das crashdetect Plugin nutzen ^^


    mfg. :thumbup:

    spawnchange


    Schreib den Befehl mal so:


    CMD:spawnchange(playerid) {
    if(isFraktion(playerid,0))return SCM(playerid,GRAU,"{CACA00}[INFO]:{FFFFFF} Du bist in keiner Fraktion!");
    SpielerInfo[playerid][pSpawn] = !SpielerInfo[playerid][pSpawn];
    SendClientMessage(playerid,GRAU,"{CACA00}[INFO]:{FFFFFF} Du hast deinen spawn geändert!");
    return SavePlayer(playerid);
    }


    mfg. :thumbup:

    Kaliber: Das ist richtig, nur wäre das auch gar nicht nötig.
    Float - Integer. Zur not den Integer in ein Float umwandeln :P


    Dann muss man es wohl ausrechnen :)


    Aber erkläre mir eins:


    new x[2 char];
    x{0} = 257;
    x{1} = 1;
    printf("%d | %d",x{0},x{1});


    Beides ergibt 1...wie willst du das unterscheiden? :huh:


    mfg. :thumbup:

    Naja man könnte das ganze über eine Rechnung lösen


    Ich bin mir jetzt nicht sicher, aber kann es sein, dass man keine Float-Variablen in einem Char-Array speichern kann? :huh:


    Weil ich habe da mal einen Test gemacht:


    new Float:x[4 char];
    x{0} = 355.0;
    x{1} = 249.59;
    x{2} = 299.31;
    x{3} = 5.5;
    for(new i; i<4; i++) printf("%.02f",x{i});


    Der Output...ist bei allen 0.00...


    mfg. :rolleyes:

    Wenn du schon soooooo pingelig bist :D


    Das hat nichts mit pingelig zu tun, das sind nur ein paar Tipps bzw Hinweise gewesen :rolleyes:


    Und man kann hier keine char-Arrays verwenden.


    Zumindest in diesem Fall nicht, da dann die Höchste Zahl bei 255 liegen müsste...aber allein die Ersten Koordinaten liegen bei 335.0 ;)


    Also würde das hier nicht funktionieren ;)


    mfg. :thumbup: