Frage zum Fraktionscarsrespawn

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
  • Hallo liebe Community,


    Ich wollte fragen wie man es so einstellt das man die Fraktionsautos nur nach 60Minuten Respawnen kann?


    if(strcmp(cmd,"/respawncars",true) == 0)
    {
    if(isPlayerInFrakt(playerid,1))
    {
    for(new v=0; v<sizeof(FraktcarLSPD); v++)
    {
    SetVehicleToRespawn(FraktcarLSPD[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,2))
    {
    for(new v=0; v<sizeof(FraktcarFBI); v++)
    {
    SetVehicleToRespawn(FraktcarFBI[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,3))
    {
    for(new v=0; v<sizeof(FraktcarMEDIC); v++)
    {
    SetVehicleToRespawn(FraktcarMEDIC[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,4))
    {
    for(new v=0; v<sizeof(FraktcarVAGOS); v++)
    {
    SetVehicleToRespawn(FraktcarVAGOS[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,5))
    {
    for(new v=0; v<sizeof(FraktcarBLOODZ); v++)
    {
    SetVehicleToRespawn(FraktcarBLOODZ[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,6))
    {
    for(new v=0; v<sizeof(FraktcarARMY); v++)
    {
    SetVehicleToRespawn(FraktcarARMY[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,7))
    {
    for(new v=0; v<sizeof(FraktcarCRIPZ); v++)
    {
    SetVehicleToRespawn(FraktcarCRIPZ[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,8))
    {
    for(new v=0; v<sizeof(FraktcarTERROR); v++)
    {
    SetVehicleToRespawn(FraktcarTERROR[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,9))
    {
    for(new v=0; v<sizeof(FraktcarYakuza); v++)
    {
    SetVehicleToRespawn(FraktcarYakuza[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,10))
    {
    for(new v=0; v<sizeof(FraktcarNR); v++)
    {
    SetVehicleToRespawn(FraktcarNR[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,11))
    {
    for(new v=0; v<sizeof(FraktcarOAMT); v++)
    {
    SetVehicleToRespawn(FraktcarOAMT[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,12))
    {
    for(new v=0; v<sizeof(FraktcarTRIADEN); v++)
    {
    SetVehicleToRespawn(FraktcarTRIADEN[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,14))
    {
    for(new v=0; v<sizeof(FraktcarHITMAN); v++)
    {
    SetVehicleToRespawn(FraktcarHITMAN[v]);
    }
    }
    else SendClientMessage(playerid,ROT,"Du bist kein Leader einer Fraktion.");
    return 1;


    Wäre echt hilfreich und danke im vorraus.


    Mfg,
    2pac_fan

    San Andreas Multiplayer Server:
    Addresse: 85.114.128.164:8046


  • Wie genau? Z.b Soll ich das so machen das ich nach dem /respawncars befehl einen Timer starten lasse aber wie geht es weiter?

    San Andreas Multiplayer Server:
    Addresse: 85.114.128.164:8046


  • Wenn du eine bestimmte Zeit haben willst ,dann mit einem Timer
    60 minuten musste nachrechnen in MS.
    Du benutzt den Timer und "verloopst"den dann wie du es auch in den Code geschrieben hast oder eher kopiert...

  • Mach ein Timer der jede Sekunde läuft (Resourcen Fressen omg) und der Jede sekunde eine variable +1 Rechnet und wenn die Variable 60 ist soll der Timer Stoppen und wenn Er/Sie denn befehl eingibt soll die Variable wieder auf 0 sein und der Timer soll wieder Starten. :D Wenn es falsch ist oder Resourcen Fressen ist sry^^

  • Wie? Könnt ihr mir das genauer erklären also:


    forward Carrespawn();
    if(strcmp(cmd,"/respawncars",true) == 0)
    {
    SetTimer("Carrespawn",900000,0);
    if(isPlayerInFrakt(playerid,1))
    {
    for(new v=0; v<sizeof(FraktcarLSPD); v++)
    {
    SetVehicleToRespawn(FraktcarLSPD[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,2))
    {
    for(new v=0; v<sizeof(FraktcarFBI); v++)
    {
    SetVehicleToRespawn(FraktcarFBI[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,3))
    {
    for(new v=0; v<sizeof(FraktcarMEDIC); v++)
    {
    SetVehicleToRespawn(FraktcarMEDIC[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,4))
    {
    for(new v=0; v<sizeof(FraktcarVAGOS); v++)
    {
    SetVehicleToRespawn(FraktcarVAGOS[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,5))
    {
    for(new v=0; v<sizeof(FraktcarBLOODZ); v++)
    {
    SetVehicleToRespawn(FraktcarBLOODZ[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,6))
    {
    for(new v=0; v<sizeof(FraktcarARMY); v++)
    {
    SetVehicleToRespawn(FraktcarARMY[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,7))
    {
    for(new v=0; v<sizeof(FraktcarCRIPZ); v++)
    {
    SetVehicleToRespawn(FraktcarCRIPZ[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,8))
    {
    for(new v=0; v<sizeof(FraktcarTERROR); v++)
    {
    SetVehicleToRespawn(FraktcarTERROR[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,9))
    {
    for(new v=0; v<sizeof(FraktcarYakuza); v++)
    {
    SetVehicleToRespawn(FraktcarYakuza[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,10))
    {
    for(new v=0; v<sizeof(FraktcarNR); v++)
    {
    SetVehicleToRespawn(FraktcarNR[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,11))
    {
    for(new v=0; v<sizeof(FraktcarOAMT); v++)
    {
    SetVehicleToRespawn(FraktcarOAMT[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,12))
    {
    for(new v=0; v<sizeof(FraktcarTRIADEN); v++)
    {
    SetVehicleToRespawn(FraktcarTRIADEN[v]);
    }
    }
    else if(isPlayerInFrakt(playerid,14))
    {
    for(new v=0; v<sizeof(FraktcarHITMAN); v++)
    {
    SetVehicleToRespawn(FraktcarHITMAN[v]);
    }
    }
    else SendClientMessage(playerid,ROT,"Du bist kein Leader einer Fraktion.");
    return 1;


    Ist dies richtig und wie würde es weiter gehen? Danke im vorraus und danke für eure Antworten.

    San Andreas Multiplayer Server:
    Addresse: 85.114.128.164:8046


  • Timestamp :D
    new nextrespawn;
    //beim Befehl:
    if(gettime() > nextrespawn)
    {
    //fahrzeuge respawnen
    nextrespawn = gettime() + 60 * 1000 * 60; //60 * 1000 * 60 = 60 minuten (wenn ich mich nicht verrechnet hab :P)
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du kannst diesen Befehl noch nicht benutzen.");
    }

    so in der Art müsste das gehen. Google mal nach unix timestamp.

  • Hallo ich habe dies jetzt gemacht jetzt hab ich nur ein problem wen ich die Autos respawne kann ich sie nie wieder respawnen ich habe es mal auf 1 Minute gestellt um den Befehl zu testen. Kann mir dort einer bitte weiterhelfen?


    if(strcmp(cmd,"/respawncars",true) == 0)
    {
    if(isPlayerInFrakt(playerid,1))
    {
    if(isPlayerRank(playerid,6))
    {
    if(gettime() > nextrespawn1)
    {
    for(new v=0; v<sizeof(FraktcarLSPD); v++)
    {
    SetVehicleToRespawn(FraktcarLSPD[v]);
    nextrespawn1 = gettime() + 60 * 1000 * 1;
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du kannst nur alle 60 Minuten die Fraktionsautos respawnen.");
    }
    }
    }

    San Andreas Multiplayer Server:
    Addresse: 85.114.128.164:8046


  • Ja hab mich damals vertan. gettime gibt den Abstand in Sekunden zurück also musst du mit Sekunden weiter rechnen. 60 * 1000 = 60000 Sekunden ~ 16 Stunden. Probiers einfach mal mit 60 (später dann mit 60*60 was 1 Stunde ist)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen