Beiträge von Vince

    Hi,


    Wie mach ich das, dass man einen Cmd oder eine Taste benutzen kann?


    Wenn ich das so mache unter OnPlayerCommandText:


    if(newkeys == (KEY_HANDBRAKE) || (!strcmp(cmdtext,"/command",true)))


    Dann krieg ich undefiniertes Symbol: newkeys



    Wenn ich aber unter On PlayerKeyStateChange mache:


    if(newkeys == (KEY_HANDBRAKE) || (!strcmp(cmdtext,"/command",true)))


    Dann krieg ich undefiniertes Symbol: cmdtext..



    Also geht das in beiden Callbacks nicht...


    Was kann ich da machen?



    Mfg 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