Problem mit Command

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
  • Habe es so wie mir es gezeigt wurde:
    forward sind die namen nur von der Explosion gleich:


    forward Explosion();
    forward TransportGmbH(playerid);



    public OnGameModeInit()
    {
    trsodoor = CreateObject(2634, 1551.63159, -1801.69556, 26.47590, 0.00000, 0.00000, 0.00000);//tresortür
    return 1;
    }


    public Explosion()
    {
    CreateExplosion(1551.63159, -1801.69556, 26.47590, 0, 3);
    DestroyObject(sprengung);//tnt
    DestroyObject(trsodoor);//tresortür
    sprengung=-1;//tnt
    trsodoor = -1;
    SetTimer("TresorTuer", 1000*60*1, false);
    return 1;
    }
    public TransportGmbH(playerid)
    {
    if(IsValidObject(trsodoor))return 1;
    trsodoor = CreateObject(2634, 1551.63159, -1801.69556, 26.47590, 0.00000, 0.00000, 0.00000);//tresortür
    return 1;
    }


    Mein Befehl:
    ocmd:transporttresorsprengen(playerid,params[])
    {
    if(IsValidObject(sprengung))return SendClientMessage(playerid, -1, "Die Tür wird bereits gesprengt.");
    if(!IsValidObject(trsodoor))return SendClientMessage(playerid, -1, "Die Tür steht offen.");
    sprengung=CreateObject(1654, 1550.78955, -1801.41882, 26.45240, 0.00000, 0.00000, -180.00000);//tnt
    SendClientMessage(playerid,rot,"Achtung geht in Deckung das TNT geht in 2 sekunden hoch!");
    SetTimer("Explosion", 2000, false);
    return 1;
    }


    Soweit geht es ja.


    Nur das Problem ist einfach:


    Nach dem die Tresortür Gespränkt wurde und die 3 Minuten um sind taucht die Tür nicht auf.


    Woran liegt es denn?

  • Hast du mal deinen Code mit meinem verglichen ...?
    Siehst du in meinem Code in irgendeinem Timer oder forward wo ein Parameter übergeben wird ? Ich nicht!

    ???
    Wie soll dieser Timer SetTimer("TresorTuer", 1000*60*1, false); dieses public Aufrufen ?public TransportGmbH(playerid)

    Du hast nun 3 Möglichkeiten dein Problem zu lösen:
    Möglichkeit 1

    forward TransportGmbH(playerid);
    zu
    forward TransportGmbH();
    _________________________________________________________________
    public TransportGmbH(playerid);
    zu
    public TransportGmbH()
    _________________________________________________________________
    SetTimer("TresorTuer", 1000*60*1, false);
    zu
    SetTimer("TransportGmbH", 1000*60*1, false);
    Möglichkeit 2

    forward TransportGmbH(playerid);
    zu
    forward TresorTuer();
    _________________________________________________________________
    public TransportGmbH(playerid)
    zu
    public TresorTuer()
    Möglichkeit 3

    Alles löschen und den Code erneut einfügen
    new sprenung;
    new trsodoor;

    Möglichkeit 3
    public OnGameModeInit(){
    trsodoor = CreateObject(2634, 1551.63159, -1801.69556, 26.47590, 0.00000, 0.00000, 0.00000);//tresortür
    return 1;
    }

    Möglichkeit 3
    forward Explosion();
    public Explosion()
    {
    CreateExplosion(1551.63159, -1801.69556, 26.47590, 0, 3);
    DestroyObject(sprenung);
    DestroyObject(trsodoor);
    sprenung = -1;
    trsodoor = -1;
    SetTimer("TresorTuer", 1000*60*3, false);
    return 1;
    }

    Möglichkeit 3
    forward TresorTuer();
    public TresorTuer(){
    if(IsValidObject(trsodoor))return 1;
    trsodoor = CreateObject(2634, 1551.63159, -1801.69556, 26.47590, 0.00000, 0.00000, 0.00000);
    return 1;
    }

    Möglichkeit 3
    ocmd:transporttresorsprengen(playerid,params[])
    {
    if(IsValidObject(sprenung))return SendClientMessage(playerid, -1, "Die Tür wird bereits gesprengt.");
    if(!IsValidObject(trsodoor))return SendClientMessage(playerid, -1, "Die Tür steht offen.");
    sprenung=CreateObject(1654, 1550.78955, -1801.41882, 26.45240, 0.00000, 0.00000, -180.00000);
    SendClientMessage(playerid,-1,"Achtung geht in Deckung das TNT geht in 2 sekunden hoch!");
    SetTimer("Explosion", 2000, false);
    return 1;
    }


    //edit Besser Formatiert

    3 Mal editiert, zuletzt von Red_Romeo ()