else if, funktioniert nicht

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,


    Wenn ich else if benutze bricht es nach dem ersten Vorgang (wo nur if steht) ab, bzw. es passiert nichts mehr.

    forward TutorialTimer(playerid,npcid);
    public TutorialTimer(playerid,npcid)
    {
    new string[128];
    if(TutTime[playerid] <= 1)
    {
    if(TutTime[playerid] == 1)
    {
    TutTime[playerid] = 2;
    SendClientMessage(playerid,COLOR_GREEN,"bla");
    //sleep(1000)<a>;
    SendClientMessage(playerid,COLOR_GREEN,"bla");
    //sleep(1000)<b>;
    format(string,sizeof(string),"%s: Mhhmm",SpielerName(playerid));
    SendClientMessage(playerid,COLOR_GREEN,string);
    //sleep(1000)<c>;
    SendClientMessage(playerid,COLOR_GREEN,"bla");
    //sleep(1000)<d>;
    //ApplyAnimation(Medic,"MEDIC","CPR",4.1,0,1,1,1,1);
    SetTimerEx("TutorialTimer",5 * 1000,0,"dd",playerid,npcid);
    }
    else if(TutTime[playerid] == 2)
    {
    TutTime[playerid] = 3;
    FCNPC_EnterVehicle(Medic,MedicCar,0,1);
    FCNPC_SetSpecialAction(Medic,SPECIAL_ACTION_NONE);
    PlayerPlaySound(playerid,1022,0.0,0.0,0.0);
    //FCNPC_PutInVehicle(Medic,MedicCar,0);
    //sleep(1000)<f>;
    SetTimerEx("TutorialTimer",10 * 1000,0,"dd",playerid,npcid);
    }
    else if(TutTime[playerid] == 3)
    {
    TutTime[playerid] = 4;
    PlayerTextDrawShow(playerid,Textdraw0);
    PlayerTextDrawShow(playerid,Textdraw1);
    KillTimer(cracklooping);
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid, 1177.3695, -1340.4095, 9280.5693);
    GameTextForPlayer(playerid, "~r~Drei Stunden spaeter...", 5000, 1);
    SetPlayerFacingAngle(playerid, 90);
    SetCameraBehindPlayer(playerid);
    PlayerPlaySound(playerid,6002,0.0,0.0,0.0);
    SetTimerEx("TutorialTimer",10 * 1000,0,"dd",playerid,npcid);
    }
    else if(TutTime[playerid] == 4)
    {
    PlayerTextDrawHide(playerid,Textdraw0);
    PlayerTextDrawHide(playerid,Textdraw1);
    FCNPC_Destroy(Medic);
    DestroyVehicle(MedicCar);
    TogglePlayerControllable(playerid,1);
    SetPlayerDrunkLevel(playerid,0);
    }
    }
    return 1;
    }

  • Schon den Tipp von Fly2lifeHigh mit dem >= probiert? Weil wenn du überlegst: In die erste If-Schleife wird nur gegangen, wenn TutTime KLEINER oder GLEICH 1 ist. Deswegen wird die If-Schleife, wo TutTime == 1 abgefragt wird, auch ausgeführt. Wenn jetzt aber TutTime irgendwann 2 ist, dann geht er gar nicht in die erste Schleife rein....