Beiträge von Vince

    Hi,


    Ich habe eine Frage.


    Habe mir 3 Hangars gescriptet, die mit der SUBMISSION's Taste dann alle aufgehen sollen. Doch irgendwie geht nur das 1 Tor auf.


    Wenn ich haber bei allen 3 Hangars ne verschiedene Taste eingebe, gehen alle Hangars.


    Was muss ich machen?


    Hier die Hangars:


    if(newkeys == (KEY_SUBMISSION)) //Hangar 1
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, 288.3181,1956.3280,17.6406))
    {
    if ( !Hangar1Open[1] )
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 1 wird geöffnet....!");
    MoveObject(Hangar11, 286.53305053711, 1953.8522949219, 12.539841079712, 1.5);
    MoveObject(Hangar12, 286.55035400391, 1959.6234130859, 12.539841079712, 1.5);
    Hangar1Open[1] = 1;
    PlayerPlaySound(playerid, 1153 ,288.3181,1956.3280,17.6406);
    }
    else
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 1 wird geschlossen....!");
    MoveObject(Hangar11, 286.53305053711, 1953.8522949219, 19.639841079712, 1.5);
    MoveObject(Hangar12, 286.55035400391, 1959.6234130859, 19.639841079712, 1.5);
    PlayerPlaySound(playerid, 1153 ,288.3181,1956.3280,17.6406);
    Hangar1Open[1] = 0;
    }
    }
    return 1;
    }
    if(newkeys == (KEY_JUMP)) //Hangar 2
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, 287.3075,1990.1865,17.6406))
    {
    if ( !Hangar2Open[1] )
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 2 wird geöffnet....!");
    MoveObject(Hangar21, 286.50668334961, 1985.2104492188, 12.539841079712, 1.5);
    MoveObject(Hangar22, 286.52880859375, 1993.7634277344, 12.539841079712, 1.5);
    Hangar2Open[1] = 1;
    PlayerPlaySound(playerid, 1153 , 287.3075,1990.1865,17.6406);
    }
    else
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 2 wird geschlossen....!");
    MoveObject(Hangar21, 286.50668334961, 1985.2104492188, 19.639841079712, 1.5);
    MoveObject(Hangar22, 286.52880859375, 1993.7634277344, 19.639841079712, 1.5);
    PlayerPlaySound(playerid, 1153 , 287.3075,1990.1865,17.6406);
    Hangar2Open[1] = 0;
    }
    }
    return 1;
    }
    if(newkeys == (KEY_SUBMISSION)) //Hangar 3
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, 287.1377,2023.5636,17.6406))
    {
    if ( !Hangar3Open[1] )
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 3 wird geöffnet....!");
    MoveObject(Hangar31, 286.48394775391, 2020.5910644531, 12.539841079712, 1.5);
    MoveObject(Hangar32, 286.53518676758, 2027.8291015625, 12.539841079712, 1.5);
    PlayerPlaySound(playerid, 1153 ,286.53518676758, 2027.8291015625, 12.539841079712);
    Hangar3Open[1] = 1;
    }
    else
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 3 wird geschlossen....!");
    MoveObject(Hangar31, 286.48394775391, 2020.5910644531, 19.639841079712, 1.5);
    MoveObject(Hangar32, 286.53518676758, 2027.8291015625, 19.639841079712, 1.5);
    PlayerPlaySound(playerid, 1153 ,286.53518676758, 2027.8291015625, 19.639841079712);
    Hangar3Open[1] = 0;
    }
    }
    return 1;
    }



    Mfg Vince

    Es kommt auch darauf an, mit welchem Programm du das machst. Ich habe es zuerst mit redsn0w gemacht. Danach merkte ich, dass der Akku verdammt schnell leer war und das Iphone langsam war.


    Dann benutzte ich Greenp0ison. Dies ist viel besser :D



    Mfg Vince

    Tut mir leid, hab da nur was im Stress gemacht und per CTRL+F nach countdown gesucht^^


    So:


    Oben:


    new countdown = 0;


    forward checkcountdown();



    OnPlayerCommandText:


    dcmd(countdown,9,cmdtext);



    Irgendwo im Script:


    dcmd_countdown(playerid,params[])
    {
    if(countdown != 0) return SendClientMessage(playerid, 0xFF0000FF, "Es läuft bereits ein Countdown.");
    new sekunden;
    if(sscanf(params, "d",sekunden)) return SendClientMessage(playerid,0xFF0000FF,"Benutzung: /countdown [sekunden]");
    if(sekunden > 60) return SendClientMessage(playerid,0xFF0000FF,"Du kannst höchstens 60 Sekunden eingeben.");
    countdown = sekunden;
    SetTimer("checkcountdown",1000,0);
    return 1;
    }



    Ebenfalls irgendwo im Script:


    public checkcountdown()
    {
    if(countdown >= 1)
    {
    new string[128];
    format(string,sizeof(string),"~r~%d",countdown);
    GameTextForAll(string,1000,3);
    countdown --;
    SetTimer("checkcountdown",1000,0);
    }
    else
    {
    GameTextForAll("~g~ GO GO GO",1000,3);
    }
    }



    Mfg Vince

    Oh, Tut mir Leid. Habe gar nicht darauf geachtet, das der von Incognito ist^^


    Also ich verwende wie gesagt auch den, und bei mir funktioniert das perfekt..


    Vielleicht hast du in der Server.cfg die Rate geändert unter stream_distance. Diese ist normalerweise auf 300



    Mfg Vince

    Nun hast du 2 Möglichkeiten.


    Meines, bei dem man selber die Zeit eingeben kann (-60 Sekunden).


    Oder das von |-|auke, bei dem es von 10 Sekunden runterläuft.



    Mfg Vince

    Habs hier mit dcmd:


    new countdown = 0;


    forward checkcountdown();


    dcmd_countdown(playerid,params[])
    {
    if(countdown != 0) return SendClientMessage(playerid, 0xFF0000FF, "Es läuft bereits ein Countdown.");
    new sekunden;
    if(sscanf(params, "d",sekunden)) return SendClientMessage(playerid,0xFF0000FF,"Benutzung: /countdown [sekunden]");
    if(sekunden > 60) return SendClientMessage(playerid,0xFF0000FF,"Du kannst höchstens 60 Sekunden eingeben.");
    countdown = sekunden;
    SetTimer("checkcountdown",1000,0);
    return 1;
    }



    Mfg Vince