Problem mit Zünden von Bombe

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
  • Hallo leute ich habe ein kleines System gemacht aber es Funktioniert nicht genau so wie es sollte kurz zum Problem und wie es eigentlich sein soll:


    Also mann legt eine Bombe Bekommt dann einen Zünder nur als Waffe halt undzwar den Von den Rucksackbomben das Funktioniert alles,
    Nun sollte man die Bombe eigentlich von überall zünden dürfen, doch ich kann sie leider i-wie nur zünden während ich sie lege.


    Der Zünder wird auch beim Betätigen weggenommen aber es Explodiert halt nichts.


    Hier mal der Code:


    Das legen und speichern:
    ocmd:cbomb(playerid,params[])
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    SETX[playerid]=x;
    SETY[playerid]=y;
    SETZ[playerid]=z;
    ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
    SETBOMB[playerid] = CreateDynamicObject(1654,x,y,z-0.95,0,90,0,-1,-1,-1,300.0);
    GivePlayerWeapon(playerid,40,1);
    return 1;
    }


    und das Zünden


    if(newkeys == 4)
    {
    if(GetPlayerWeapon(playerid) == 40)
    {
    CreateExplosion(SETX[playerid],SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]+1,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]-1,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]+2,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]-2,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]+3,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]-3,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]+4,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]-4,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]+5,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]-5,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]+6,SETY[playerid],SETZ[playerid],6,5000);
    CreateExplosion(SETX[playerid]-6,SETY[playerid],SETZ[playerid],6,5000);
    DestroyDynamicObject(SETBOMB[playerid]);
    return 1;
    }
    }


    Ich hoffe ihr könnt mir helfen


    #edit code minimal geändert ^2

    2 Mal editiert, zuletzt von _Flex_ () aus folgendem Grund: code minimal geändert

  • Ich bin mir nicht sicher, aber es kann sein, dass der Zünder vor der Abfrage "if(GetPlayerWeapon(playerid) == 40)" verschwindet.


    Praktisch klickst du die Maus, in dem Moment wird der Zünder entfernt und er springt in OnPlayerKeyStateChange.
    Dort geht er dann bis zur Abfrage "newkeys == 4" und bleibt dann bei der nächsten Bedingung stehen, weil die Waffe ja schon von GTA aus gelöscht ist.


    Deswegen wäre eine Variabel, die du eben auf true und false setzt gar nicht so falsch.

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür