Cars nach 30 Min zerstören

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
  • Hey Leute ich
    hab in mein DM Script einen Art "Schwarzmarkt"
    eingebaut in denen es verschiedene Sachen gibt mit denen
    man sein Geld verschweden kann.
    Nun möchte ich aber das die erstellten Autos nach 30Min wieder
    zerstört werden , also verschwinden.


    fs = CreateMenu("Fahrzeuge",2, 200.0, 150.0, 120.0, 50.0);
    AddMenuItem(fs,0, "Zr-300(25k)");
    AddMenuItem(fs,0, "Special(35k)");
    AddMenuItem(fs,0, "FBI-Rancher(50k)");
    AddMenuItem(fs,0, "Racer(75k)");
    AddMenuItem(fs,0, "Rhino(150k)");
    AddMenuItem(fs,0, "Abbrechen");



    f(CurrentMenu == fs)
    {
    switch(row)
    {


    case 0:
    {
    GameTextForPlayer(playerid,"Zr gekauft!(60min) (-25.000$)",3000,3);
    GivePlayerMoney(playerid,-25000);
    CreateVehicle(477,736.7525,-1333.3210,13.2965,229.6027,1,1,200);
    }
    case 1:
    {
    GameTextForPlayer(playerid,"Special gekauft!(60min) (-35.000$)",3000,3);
    GivePlayerMoney(playerid,-35000);
    CreateVehicle(421,735.1519,-1337.7198,13.4158,230.9209,1,1,200);
    }
    case 2:
    {
    GameTextForPlayer(playerid,"FBI-Rancher gekauft!(60min) (-50.000$)",3000,3);
    GivePlayerMoney(playerid,-50000);
    CreateVehicle(490,742.5776,-1333.3650,13.6713,229.8809,1,1, 200);
    }
    case 3:
    {
    GameTextForPlayer(playerid,"Racer gekauft!(60min) (-75.000$)",3000,3);
    GivePlayerMoney(playerid,-75000);
    CreateVehicle(494,742.5776,-1333.3650,13.6713,229.8809,1,1, 200);
    }
    case 4:
    {
    GameTextForPlayer(playerid,"Rhino gekauft!(60min) (-150.000$)",3000,3);
    GivePlayerMoney(playerid,-150000);
    CreateVehicle(432,742.5776,-1333.3650,13.6713,229.8809,1,1, 200);
    }
    }
    }


    Mit freundlichen Grüßen Nor




  • Hm, eine Möglichkeit wäre:


    new Fahrzeug[MAX_VEHICLES] = 0;


    public OnVehicleSpawn(vehicleid)
    {
    if(Fahrzeug[vehicleid] == 1)
    {
    DestroyVehicle(vehicleid);
    }
    return 1;
    }


    if(CurrentMenu == fs)
    {
    switch(row)
    {


    case 0:
    {
    new veh;
    GameTextForPlayer(playerid,"Zr gekauft!(60min) (-25.000$)",3000,3);
    GivePlayerMoney(playerid,-25000);
    veh = CreateVehicle(477,736.7525,-1333.3210,13.2965,229.6027,1,1,18000);
    PutPlayerInVehicle(veh);
    Fahrzeug[veh] = 1;
    }
    case 1:
    {
    ...


    Wirkung: Spawnt einen Zr und wenn dieser 30 Minuten ohne Fahrer ist, (und wieder respawnt) wird er zerstört.

    mfg RedDragon 8)


    Was ist GFKD?


    Ein revolutionärer Clan, dessen Eröffnung kurz bevorsteht.
    Mehr Informationen folgen bald.

  • public OnVehicleSpawn(vehicleid)
    {
    if(Fahrzeug[vehicleid] == 1)
    {
    DestroyVehicle(vehicleid);
    }
    return 1;
    }



    aber bei
    if(Fahrzeug[vehicleid] == 1)
    geht er ja davon aus , dass das Auto die ID
    1 hat. Aber ich hab ja auch andere Autos IG , dann wird das was
    als erstes erstellt wurde gelöscht oder?


  • Nein, das ist eine ganz normale Variable, die ordnet erst jedem Fahrzeug den Wert 0 zu. Wenn man ein Fahrzeug spawnen lässt, bekommt die Variable für das Fahrzeug den Wert 1... Ähnlich wie bei solchen Variablen: Spieler[playerid];


    Um davon auszugehen, dass vehicleid 1 ist, müsste man folgendes schreiben:


    Code
    if(vehicleid == 1)


    da steht aber:


    Code
    if(Fahrzeug[vehicleid] == 1) // Die von uns erstellte Variable

    mfg RedDragon 8)


    Was ist GFKD?


    Ein revolutionärer Clan, dessen Eröffnung kurz bevorsteht.
    Mehr Informationen folgen bald.

  • Kannst es auch so machen.


    forward DestroyingCars(vehicleid);


    public DestroyingCars(vehicleid);
    {
    DestroyVehicle(vehicleid);
    }


    Und das beim Menü adden:


    case 0:
    {
    GameTextForPlayer(playerid,"Zr gekauft!(60min) (-25.000$)",3000,3);
    GivePlayerMoney(playerid,-25000);


    new vehicleid = CreateVehicle(477,736.7525,-1333.3210,13.2965,229.6027,1,1,200);
    SetTimerEx("DestroyingCars",1800000,0,"d",vehicleid);
    }


    usw.


    }


    [/pwn]

  • C:\Users\PC\Desktop\Server_Self\gamemodes\DMD.pwn(2242) : error 055: start of function body without function header


    Zeigt er mir wenn ich die public einfüge!!
    In den Zeilen steht folgendes:



    public DestroyingCars(vehicleid);
    {
    DestroyVehicle(vehicleid);
    }


    PS: Die forward oben ist drin^^

  • was macht denn der ; da :D


    public DestroyingCars(vehicleid)
    {
    DestroyVehicle(vehicleid);
    }