Problem bei Map Wöchseln - & Kill anzeige

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
  • Moin
    Habe ein problm.
    Hab nen CMD gemacht damit die Map wächselt.
    Aber wenn jetzt z.b Runde 1 noch 30 Sek. läuft, und ich die Map wächsel.
    Dann bin ich in Map 2 und nach ca. 30 Sek wächselt es dann in die Map 3 obwohl die map eig ~ 3 min laufen sollte. o.o


    Hoffe mir kann jemand helfen D:


    OnGameModeInit
    SetTimer("NewMap",180000,1); // 2 min
    SetTimer("GameTime",1000,1);



    Timer
    public NewMap(playerid) {


    CurrentMap++;
    GameTextForAll("~w~Server:~r~ Naechste Map wird geladen",5000,4);
    SetTimer("NewRound",5000,0);
    return 1;
    }



    public NewRound(playerid) {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    SpawnPlayer(i);
    PlayerPlaySound(playerid, 1098, -1370.2362,-256.3250,14.1440);
    switch(CurrentMap)
    {
    case 0:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 1:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 2:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 3:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 4:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 5:
    {
    SetPlayerInterior(i,5);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 6:
    {
    SetPlayerInterior(i,15);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 7:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 8:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 9:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 10:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 11:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 12:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 13:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 14:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 15:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 16:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 17:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 18:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 19:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    }
    case 20:
    {
    SetPlayerInterior(i,0);
    GameMinutes =2;
    GameSeconds =59;
    CurrentMap = 0;
    }
    }
    }
    return 1;
    }


    CMD
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp("/newround", cmdtext, true, 10) == 0)
    {
    if(Player[playerid][admin] < 1)
    {
    SendClientMessage(playerid, COLOR_RED,"Du musst mind. ein Moderator sein um diese befehl nutzen zu können.");
    }
    if(Player[playerid][admin] > 1)
    SendClientMessage(playerid, COLOR_RED,"Neue Runde wird gestartet");
    NewMap(playerid);
    }





    Und wollte fragen ob mir jemand Unten Rechts eine Kill anzeige machen kann, habs mal versucht aber dann respawnt der spieler nicht mehr nachdem er gekillt wurde. o.o
    Team 1 Kills: Anzahl
    Team 2 Kills: Anzahl


    Hoffe ihr versteht was mien problem ist.
    Naja wäre nett fallsmir da einer helfen könnte.

  • @ Ramino
    Kannst mir ma helfen? Ich kann das nicht xD


    So nebenbei:SetTimer("NewMap",180000,1); // 2 minDas sind 3 Minuten.


    Weiß ich auch, is aber auch egal. ^^




    Edit: //


    if(strcmp("/newround", cmdtext, true, 10) == 0)
    {
    if(Player[playerid][admin] < 1)
    {
    SendClientMessage(playerid, COLOR_RED,"Du musst mind. ein Moderator sein um diese befehl nutzen zu können.");
    }
    if(Player[playerid][admin] > 1)
    SendClientMessage(playerid, COLOR_RED,"Neue Runde wird gestartet");
    KillTimer(1);
    NewMap(playerid);
    }


    Hm geht immernoch nicht, irgendwa smache ich falsch. o.o

  • Hab jetzt den CMD so gemacht:


    if(strcmp("/newround", cmdtext, true, 10) == 0)
    {
    if(Player[playerid][admin] < 1)
    {
    SendClientMessage(playerid, COLOR_RED,"Du musst mind. ein Moderator sein um diese befehl nutzen zu können.");
    }
    if(Player[playerid][admin] > 1)
    SendClientMessage(playerid, COLOR_RED,"Neue Runde wird gestartet");
    KillTimer(maptimer);
    NewMap(playerid);
    }


    Habs jetzt so gemacht.
    Aber wenn die Zeit bei 0:00 ist bleibt die zeit so & es passirt nichts mehr, der Server wächselt dann nichtmehr Automatisch zur nächsten Map

    Einmal editiert, zuletzt von [RLG]Zepp. ()