Hitman /aufbrechen

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 wie die Überschrift schon verrärt, möchte ich einen /aufbrechen (Tore knacken) für die Hitmen machen.
    Weiß aber nicht genau wie, ich möchte das professionell machen, mit 10 Sekunden warten um was Tor aufzuknacken usw..
    Bloß die Frage ist wie soll ich das anstellen? bzw anfangen.


    Tore gehen zurzeit bei mir so auf:
    if(strcmp(cmd,"/btor",true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14)
    {
    MoveObject(ballastor,1123.0999755859, -1207.0999755859, 13.699999809265,3.0);
    SetTimer("CloseBallasTor", 5000, 0);
    SendClientMessage(playerid, COLOR_RED, "Tor wird geöffnet 5 Sekunden Zeit!");
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist kein Ballas Homie");
    return 1;
    }
    Gibt es da Tutorial oder könnt ihr mir einen Tipp geben?
    Würde mich freuen auf schnelle Antworten.


    Liebe Grüße,
    Soldier



    //EDIT
    Habe etwas gemacht, aber ich komme da nicht genau weiter, da es dann das Tor nicht mehr schließt.


    if(strcmp(cmd, "/knacken", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
    {
    SetTimerEx("Knacken",1000*1,true,"i",playerid);
    }
    }
    }


    forward Knacken(playerid);
    public Knacken(playerid)
    {
    MoveObject(MVTor,1596.853027, -1638.482666, 15.300621,3);
    }

    Einmal editiert, zuletzt von xSoldier ()


  • if(strcmp(cmd,"/knacken",true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == hitmanid)
    {
    if(IsPlayerInRangeOfPoint(playerid,7.0,1123.0999755859,-1207.0999755859, 13.699999809265))//BallasTor
    {
    return SetTimerEx("btor",1000*10,0,"i",playerid);
    }
    }
    return 1;
    }


    public btor(playerid)
    {
    MoveObject(ballastor,1123.0999755859, -1207.0999755859, 13.699999809265,3.0);
    SetTimer("CloseBallasTor", 5000, 0);
    SendClientMessage(playerid, COLOR_RED, "Tor wird geöffnet 5 Sekunden Zeit!");
    return 1;
    }

  • Zu deinem Edit oben.


    Dein Ansatz ist relativ falsch.
    Lass die Objekt Position auslesen und starte den Timer mit einem Parameter als Tor-ID.
    Nutze folgende Sachen:

    CallLocalFunction("BlaBlaMove","i",ID); // In deinem Fall halt ein Timer
    //---------------------------------------------//
    new Float:X,Float:Y,Float:Z;
    GetObjectPos(ID, X, Y, Z);
    MoveObject(...);


    Wenn du einen Ansatz hast du dir überlegt hast wie du das machen kannst, kannst du dich gerne melden.
    Andernfalls: Code posten und Problem schildern.



    Liebe Grüße.

  • Was genau willst du denn haben?
    "das es jede Fraktion abließt" => Was meinst du damit?


    Mache bitte mal ein Beispiel von dem was du haben willst, dann schauen wir ob es möglich ist was du haben willst.


    Das wenn ein Hitman z.b in der nähe eines Ballastor ist geht dies auf und öffnet sich für 5 Sekunden, dann schließt es wieder.
    Es soll nicht alle Gates aufeinmal aufbrechen

  • der ansatz soweit war ja ganz gut, du machst einfach beim public Knacken noch einen Timer rein welcher das Tor dann wieder schließt



    also so ungefähr


    forward Knacken();public Knacken(){ MoveObject....TOR AUF SET TIMER DEINE FUNKTIONSNAME ZEIT....}forward DEINE NEUE FUNKTION();public DEINE NEUE FUNKTION(){ MoveObject TOR SCHLIEßEN}