Beiträge von alva

    Moin, ich hab mal versucht ein dynamisches Fraktionsauto-System zu schreiben, bzw. zu editieren.


    Jedenfalls habe ich nun folgenden Fehlercode:


    stock CFC(model,Float:fx,Float:fy,Float:fz,Float:fa,farbe,frak)
    {
    new query[256];
    format(query, sizeof(query), "INSERT INTO `frakcar` (`Model`, `X`, `Y`, `Z`, `Angle`, `Fraktion`, `Farbe`) VALUES ('%d', '%f', '%f', '%f', '%f', '%d', '%d')", model, fx,fy,fz,fa,frak,farbe);
    mysql_query(query);
    CreateVehicle(model,fx,fy,fz,fa,farbe,farbe,-1);
    return 1;
    }


    Code
    [Tue Dec 25 17:24:53 2012] Function: mysql_query executed: "INSERT INTO `frakcar` (`Model`, `X`, `Y`, `Z`, `Angle`, `Fraktion`, `Farbe`) VALUES ('560', '1069.615234', '-1767.204956', '13.365107', '32.774948', '1', '86')" with result: "1".
    [Tue Dec 25 17:24:53 2012] Error (0): Failed to exeute query. Duplicate entry '0' for key 'PRIMARY'.



    Die erste Spalte wird erstellt (sofern noch keine erstellt wurde).


    Beste grüße,

    new Float:Kills = GetPVarInt(playerid,"Kills");
    new Float:Tode = GetPVarInt(playerid,"Tode");
    new string[64];
    format(string,64,"KD-Ratio: %0.1f",Kills/Tode);


    So sollte das funktionieren.

    new WeaponName[47][] =
    {
    "Keine Waffe", "Schlagring", "Golfschläger", "Schlagstock", "Messer", "Baseballschläger", "Schaufel", "Poolstock", "Katana", "Kettensäge", "Purple Dildo", "Kleiner weißer Vibrator", "Großer weißer Vibrator", "Silber Vibrator",
    "Blumen", "Laufstock", "Granate", "Tränen Gas", "Molotov Cocktail", "Jetpack", "", "", "Colt 45", "Silenced Pistol", "Desert Eagle", "Shotgun", "Sawn-off Shotgun", "SPAS-12",
    "Micro SMG", "MP5", "AK47", "M4A1", "Tec-9", "Country Rifle", "Sniper Rifle", "Rocket Launcher", "HS Rocket Launcher", "Flammenwerfer", "Minigun", "Kofferbombe", "Zünder", "Spraycan", "Feuer-Löscher",
    "Camera", "Nightvision Goggles", "Thermal Goggles", "Parachute"
    };
    alias_ocmd:checkw=checkweapon(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,COLOR_GREY," Du bist kein Admin.");
    new pid;
    if(sscanf(params,"u",pid))return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /checkw(eapon) [Spieler]");
    new weapons[13][2];
    new string[64];
    format(string,sizeof(string),"Waffen von [%d]%s:",pid,PlayerName(pid));
    SendClientMessage(playerid,COLOR_GREY,string);
    for(new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(pid, i, weapons[i][0], weapons[i][1]);
    format(string,sizeof(string),"Slot %d: %s Munition:\t%d",i,WeaponName[weapons[i][0]],weapons[i][1]);
    SendClientMessage(playerid,COLOR_GREY,string);
    }
    return 1;
    }


    Hi, ich würde gerne wissen, wie ich es machen kann, das bei /checkw, falls der Spieler die Waffe nicht hat (Keine Waffe), das ""Slot %d: %s Munition:\t%d"" nicht ausgeführt wird, also das da praktisch eine Leere Zeile ist.
    Momentan sieht es so aus:



    Ich hoffe es ist verständlich was ich meine :D


    Gruß,

    Teste einfach mal ingame:


    Host_Framerate "500" (für Frags bspw jetzt).
    Host_Framerate "1000" (für Smooths usw.)


    Das ganze nimmste dann mit diesem einen Befehl auf, ich glaub startmovie "name" (kann laggen ist aber normal)^^
    Die ganzen TGA datein ziehste in V-Dub rein, stellst die Framerate auf die, welche du benutzt hast im Spiel, also bei Frags bspw jetzt 500, bei Smooths bspw "1000".


    Wenn du das alles so gemacht hast wie ich es dir gesagt hab, kanns evtl. an deiner Movie-CFG liegen.


    Benutzte New oder Old-CSS?


    Gruß,


    Eins von den beiden ;D

    SQL
    new Hour, Minute, Second;
    gettime(Hour, Minute, Second);
    if(Minute == 0//also wenn die Minute 0(12:00:00 UHR) bspw, also was nur zu jeder vollen stunde ist
    {
    	// restlicher Code
    }


    Ich schätze mal so kann es gehen.
    Achso, das ganze sollte dann Natürlich ein Timer sein, der jede Sekunde ausgeführt wird.

    stock IstSpielerBeamter(playerid)
    {
    if(GetPVarInt(playerid,"Fraktion") == 1 || GetPvarInt(playerid,"Fraktion") == 2))// beispiel, ich würde anstatt den Namen lieber Zahlen nehmen :)
    {
    return true;
    }
    else
    {
    return false;
    }
    }


    if(!IstSpielerBeamter(playerid))return SendClientMessage(playerid, Rot2, "Du bist dazu nicht !");


    Der Code kann ein wenig falsch sein, evtl eine ")" vergessen, bin mir nicht sicher.


    Gruß,

    Also am besten machst du es so:
    Du erstellst eine Variable, bspw. Skinid.
    Skinid = dini_Get(Spielerdatei,"skin"); bzw. mysql oder welches Filesystem/Speichersystem du benutzt.
    Nachdem du das geschafft hast, schreibst du unter OnPlayerRequestClass bzw unter deinem "Ladenstock":


    SetSpawnInfo(playerid, team, Skinid, Float:x, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    SpawnPlayer(playerid);


    Ich hoffe du kannst verstehen was ich meine :)


    Gruß,