Timer resourcen freundlicher machen?

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
  • OnGameModeInit


    SetTimer("Wetter",900000, 1);
    SetTimer("SetWetter",1000, 1);
    SetTimer("AutoNaricht",600000,1);
    SetTimer("ServerMinute",60000,1);
    T1 = SetTimer("Servername1",5000,1);
    T2 = SetTimer("Servername2",10000,0);
    T3 = SetTimer("Servername3",15000,0);


    OnPlayerspawn hab ich was:
    TutTime[playerid] = 1;
    TutTimer[playerid] = SetTimerEx("Tutorial",800,1,"i",playerid);


    OnPlayerSpawn
    SetTimerEx("tot",60000,0,"i",playerid);


    if(strcmp(cmdtext, "/Drivein", true) == 0)
    {
    if(IsPlayerConnected(playerid)) // Der Spieler muss eingeloggt sein.
    {
    if(IsAtDrivein(playerid)) // Der Spieler muss an einem DriveIn sein.
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE," Willkommen am Drivein! Ihre bestellung wird aufgenommen!");
    SendClientMessage(playerid, COLOR_LIGHTBLUE," Bitte warten Sie. Ihr Essen wird zubereitet.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE," Bitte haben Sie ein wenig Geduld.");
    SetTimerEx("Drivein",7000,0,"i",playerid); // Timer wielang der Spieler warten muss. *
    TogglePlayerControllable(playerid, 0); // Der Spieler wird unfreezt.
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du bist an keinem Drivein !"); // Meldung wenn man an keinem Drivein Steht.
    return 1;
    }
    }
    }


    ocmd:robbank(playerid,params[])
    {
    if(IstSpielerInFraktion(playerid,1)|| IstSpielerInFraktion(playerid,2)||IstSpielerInFraktion(playerid,3))
    {
    SendClientMessage(playerid,ROT,"Als Staatsbeamter darfst du nicht die Bank ausrauben!");
    }
    else
    if(robbed[playerid] == 0)
    {
    if(!IsPlayerInRangeOfPoint(playerid,15,2309.4956,-8.3965,26.7422)) return SendClientMessage(playerid,COLOR_GREY,"Du befindest dich nicht in der 'LS' Bank!");
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Du raubst grad die Bank!");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"* Die Polizei wurde Alarmiert!");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"* um den Ausraub Erfolgreich abzuschließen bleibe in der Bank für 1 min.!");
    SetTimerEx("Robbing",1,0,"i",playerid);
    SetPVarInt(playerid,"BankAusrauben",1);
    GivePlayerMoney(playerid, 50000);
    SetTimer("ausgeraubt",1800000,false);
    SetPlayerWantedLevel(playerid,4);
    robbed[playerid] = 1;
    for(new i= 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IstSpielerInFraktion(playerid,1)|| IstSpielerInFraktion(playerid,2)||IstSpielerInFraktion(playerid,3))
    {
    SendClientMessage(i,ROT, "HQ: An alle Einheiten, die Bank von LS wird überfallen!");
    return 1;
    }
    }
    }
    }
    }
    else
    if(robbed[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR_GREY,"Die Bank wurde vor kurzem ausgeraubt. Warte 30 min.");
    }
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    SendClientMessage(playerid,Rot,"Spawn drücken bringt nichts :P");
    SetTimerEx("LoginWait", 3500, false, "i", playerid);
    return 1;
    }


    public clock(){
    new Text:Clock;
    new hour,minute,second;
    new string[10];
    gettime(hour,minute,second);
    format(string, sizeof string, "%s%d:%s%d:%s%d", (hour < 10) ? ("0") : (""), hour, (minute < 10) ? ("0") : (""), minute, (second < 10) ? ("0") : (""), second);
    TextDrawHideForAll(Clock);
    Clock = TextDrawCreate(542.0, 24.0, string); // Koordinaten, wo die Uhr angezeigt wird
    TextDrawLetterSize(Clock, 0.6, 1.8);
    TextDrawFont(Clock, 3); // Uhrschrift
    TextDrawSetOutline(Clock, 2);
    TextDrawShowForAll(Clock);
    SetTimer("clock",1000,0);
    return 1;
    }


    public LoginWait(playerid)
    {
    new pName [MAX_PLAYER_NAME];
    new string [48];
    GetPlayerName(playerid, pName, sizeof(pName) ) ;
    SendClientMessage(playerid, COLOR_GRAD1,"Dein Account wurde gefunden du kannst dich einlogen/registrieren");
    SendClientMessage(playerid, COLOR_GRAD1,"Viel Spaß weiterhin auf [MW]Mayo World");
    format(string, sizeof(string), "%s hat den Server betreten ", pName) ;
    SendClientMessageToAll (0xAAAAAAAA, string);
    new Spielerdatei[64];
    Ping1[playerid] = 0;
    SetTimerEx("Ping2", 1000*10, false, "%d", playerid);
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gib dein Passwort ein um dich einzuloggen.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Bitte gib dein gewünschtes Passwort ein um dich zu Registrieren.","Registrieren","Abbrechen");
    }
    }


    public Servername1()
    {
    SendRconCommand("hostname [MW]Mayo World Reallife v0.1");
    KillTimer(T2);
    KillTimer(T3);
    KillTimer(T1);
    SetTimer("Servername2",5000,0);
    }
    public Servername2()
    {
    SendRconCommand("hostname Jetzt Startbonus sichern !!!");
    KillTimer(T1);
    KillTimer(T2);
    SetTimer("Servername3",5000,0);
    }
    public Servername3()
    {
    SendRconCommand("hostname Wird sind in der beta Phase !!!");
    KillTimer(T1);
    KillTimer(T3);
    SetTimer("Servername1",5000,0);
    }


    Ich glaube das war alles

    MfG Mayo :love:

  • Hey Mayo,
    Also was mir grade mal auffällt ist folgendes:
    T1 = SetTimer("Servername1",5000,1);
    T2 = SetTimer("Servername2",10000,0);
    T3 = SetTimer("Servername3",15000,0);
    Da Speicherst du die Timer in einer variable.
    Und killst sie bei public Servername*()
    wieder und erstellt einen neuen.
    So das Problem ist nur das der neue Timmer immer wieder erstellt wird nur nie gekillt wird.
    Deswegen kommt das Problem wahrscheinlich wegen den laggt.
    Und wenn ich mich recht erinnere sagtest du ja in TS mal das das immer erst nach ca. 15Min kommt