Beiträge von Cody09

    such mal im englischen forum, da gibts nen script, das klammern fehler findet, oder mit notepad ++ da kannst du die offenen und zunen klammern zählen und erstmal schauen ob das ein klammern fehler gibt, es gibt auch noch anderes, das 26 errors auslöst

    Noch optimierter:


    new count;
    forward Timer();
    forward timertimer();


    //unter onplayercommand text
    if(strcmp("/countdown", cmdtext, true) == 0)
    {
    count = 5; // anpassen.
    SendClientMessage(playerid,farbe,"Countdown gestartet.");
    timertimer = SetTimer("Timer",1000,false);
    return 1;
    }


    //irgendwo ins script
    public Timer()
    {
    count --;
    new str[2];
    format(str,2,"%d",count);
    GameTextForAll( str, 1000, 4);
    if(count == 1)
    {
    SendClientMessageToAll(farbe,"Go!");
    KillTimer(timertimer);
    }
    return 1;
    }

    naja, der wird ja mit deinem timer zerstört, das heist, er verschwindet erst dann wenn der timer aufgerufen wird, wenn du willst, das er zerstört wird, wenn er sich wieder einloggt, müsstest du das ganze system mit namen machen statt mit der id


    //edit: oder mysql id oder so machen

    benutzt du irgendwelche streamer?


    ich sehe noch du benutzt
    Logout3DTextrgr
    als variable


    versuch es doch mal so:

    new Logout3DTextrgr[MAX_PLAYERS];
    public OnPlayerDisconnect(playerid, reason)
    Logout3DTextrgr[playerid] = Create3DTextLabel(string,COLOR_WHITE,PlayerLogoutX, PlayerLogoutY, PlayerLogoutZ,5.0,0,0);
    SetTimerEx("DestroyLogoutLabelrgr",30000,0,"i",playerid);


    forward DestroyLogoutLabelrgr(playerid);
    public DestroyLogoutLabelrgr(playerid)
    {
    Delete3DTextLabel(Logout3DTextrgr[playerid]);
    return 1;
    }


    und bei deinem code fehlen noch ein paar sachen^^ sie unter settimerex das playerid nach "i"

    public OnPlayerConnect(playerid){RemoveBuildingForPlayer(playerid, 1238, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1262, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1263, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1283, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1284, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1315, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1320, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1321, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1322, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1323, 0, 0, 0,4000);
    RemoveBuildingForPlayer(playerid, 1324, 0, 0, 0,4000);
    return 1;
    }


    schau mal so

    ocmd:countdown(playerid,cmdtext[])
    {
    SetTimer("countdown4");
    GameTextForAll( "5", 1000, 4);
    reuturn 1;
    }
    forward countdown4();
    forward countdown3();
    forward countdown2();
    forward countdown1();
    forward countdowngo();
    public countdown4(){SetTimer("countdown3"); GameTextForAll( "4...", 1000, 4);}
    public countdown3(){SetTimer("countdown2"); GameTextForAll( "3...", 1000, 4);}
    public countdown2(){SetTimer("countdown1"); GameTextForAll( "2...", 1000, 4);}
    public countdown1(){SetTimer("countdowngo"); GameTextForAll( "1...", 1000, 4);}
    public countdowngo()GameTextForAll( "GO!!", 1000, 4);

    vllt klappts ja, musst mal testen, ich benutze ocmd, kannst auch dcmd benutzen