[PWN] Schranken..

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,


    ich woltle paar schranken machen und habe so gemacht


    forward KH1();
    forward KH2();
    forward KH3();
    forward KH4();


    new Gate1;
    new Gate2;
    new Gate3;
    new Gate4;


    Gate1 = CreateObject(968, -2562.931640625, 579.763671875, 14.194566726685, 0, 270.08624267578, 0);//Schranke 1 ZU
    Gate2 = CreateObject(968, -2603.451171875, 578.5966796875, 14.228128433228, 0, 270, 0);//Schranke 2 ZU
    Gate3 = CreateObject(968, -2670.4091796875, 579.2392578125, 14.103130340576, 0, 88.680023193359, 0);//Schranke 3 ZU
    Gate4 = CreateObject(968, -2608.927734375, 693.83203125, 27.637502670288, 0, 89.725158691406, 0);//Schranke 4 ZU


    if(strcmp(cmdtext, "/tor", true) == 0)
    {
    if(PlayerToPoint(20.0, playerid, -2562.931640625, 579.763671875, 14.194566726685))
    {
    SetObjectRot(Gate1, 0, 0, 0);
    SetTimer("KH1",5000,0);
    return 1;
    }
    }
    else if(PlayerToPoint(20.0, playerid, -2603.451171875, 578.5966796875, 14.228128433228))
    {
    {
    SetObjectRot(Gate2, 0, 0, 0);
    SetTimer("KH2",5000,0);
    return 1;
    }
    }
    else if(PlayerToPoint(20.0, playerid, -2670.4091796875, 579.2392578125, 14.103130340576))
    {
    {
    SetObjectRot(Gate3, 0, 0, 0);
    SetTimer("KH3",5000,0);
    return 1;
    }
    }
    else if(PlayerToPoint(20.0, playerid, -2608.927734375, 693.83203125, 27.637502670288))
    {
    {
    SetObjectRot(Gate4, 0, 0, 0);
    SetTimer("KH4",5000,0);
    return 1;
    }
    }
    return 1;
    }
    public KH1()
    {
    SetObjectRot(Gate1, 0, 270.08624267578, 0);
    return 1;
    }
    public KH2()
    {
    SetObjectRot(Gate2, 0, 270, 0);
    return 1;
    }
    public KH3()
    {
    SetObjectRot(Gate3, 0, 88.680023193359, 0);
    return 1;
    }
    public KH4()
    {
    SetObjectRot(Gate4, 0, 89.725158691406, 0);
    return 1;
    }


    Aber es Funktioniert Nicht ..


    und ja ich bin in dem Range ^^


    lg Marci

  • if(strcmp(cmdtext, "/tor", true) == 0)
    {
    if(PlayerToPoint(playerid,20, -2562.931640625, 579.763671875, 14.194566726685))
    {
    SetObjectRot(Gate1, 0, 0, 0);
    SetTimer("KH1",5000,0);
    return 1;
    }
    }
    else if(PlayerToPoint(playerid,20, -2603.451171875, 578.5966796875, 14.228128433228))
    {
    {
    SetObjectRot(Gate2, 0, 0, 0);
    SetTimer("KH2",5000,0);
    return 1;
    }
    }
    else if(PlayerToPoint(playerid,20, -2670.4091796875, 579.2392578125, 14.103130340576))
    {
    {
    SetObjectRot(Gate3, 0, 0, 0);
    SetTimer("KH3",5000,0);
    return 1;
    }
    }
    else if(PlayerToPoint(playerid,20, -2608.927734375, 693.83203125, 27.637502670288))
    {
    {
    SetObjectRot(Gate4, 0, 0, 0);
    SetTimer("KH4",5000,0);
    return 1;
    }
    }
    return 1;
    }
    public KH1()
    {
    SetObjectRot(Gate1, 0, 270.08624267578, 0);
    return 1;
    }
    public KH2()
    {
    SetObjectRot(Gate2, 0, 270, 0);
    return 1;
    }
    public KH3()
    {
    SetObjectRot(Gate3, 0, 88.680023193359, 0);
    return 1;
    }
    public KH4()
    {
    SetObjectRot(Gate4, 0, 89.725158691406, 0);
    return 1;
    }
    Der Aufbau ist nämlich folgender:


    IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)


    mfg Lambo :P

  • Probier das ganze mal mit MoveObject und IsPlayerInRangeOfPoint:




    //Oben

    #define COLOR_RED 0xFF0000AA

    new Gate1;
    new Gate2;
    new Gate3;
    new Gate4;



    forward KH1();
    forward KH2();
    forward KH3();
    forward KH4();





    //Deine Objecte
    Gate1 = CreateObject(968, -2562.931640625, 579.763671875, 14.194566726685, 0, 270.08624267578, 0);//Schranke 1 ZU
    Gate2 = CreateObject(968, -2603.451171875, 578.5966796875, 14.228128433228, 0, 270, 0);//Schranke 2 ZU
    Gate3 = CreateObject(968, -2670.4091796875, 579.2392578125, 14.103130340576, 0, 88.680023193359, 0);//Schranke 3 ZU
    Gate4 = CreateObject(968, -2608.927734375, 693.83203125, 27.637502670288, 0, 89.725158691406, 0);//Schranke 4 ZU



    //Befehl
    if (strcmp(cmdtext, "/tor", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, -2562.931640625, 579.763671875, 14.194566726685))
    {
    MoveObject(Gate1, 0, 0, 0, 3.0);
    SetTimer("KH1",5000,0);
    return 1;
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2603.451171875, 578.5966796875, 14.228128433228))
    {
    {
    MoveObject(Gate2, 0, 0, 0, 3.0);
    SetTimer("KH2",5000,0);
    return 1;
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2670.4091796875, 579.2392578125, 14.103130340576))
    {
    {
    MoveObject(Gate3, 0, 0, 0, 3.0);
    SetTimer("KH3",5000,0);
    return 1;
    }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2608.927734375, 693.83203125, 27.637502670288))
    {
    {
    MoveObject(Gate4, 0, 0, 0, 3.0);
    SetTimer("KH4",5000,0);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist nicht an der KH Schranke!");
    }
    return 1;
    }


    //Irgendwo im Script


    public KH1()
    {
    MoveObject(Gate1, 0, 270.08624267578, 0, 2.5);
    return 1;
    }


    public KH2()
    {
    MoveObject(Gate2, 0, 270, 0, 2.5);
    return 1;
    }


    public KH3()
    {
    MoveObject(Gate3, 0, 88.680023193359, 0, 2.5);
    return 1;
    }


    public KH4()
    {
    MoveObject(Gate4, 0, 89.725158691406, 0, 2.5);
    return 1;
    }

  • @Marci://
    Versuch's mal mit anderen Rotierungen / Rotationen / Rotations eben... :>


    @L4mbo://
    Næchstes mal langsamer Schreiben :thumbup:


    €dit://
    @[SoG]Game://

    Mit MoveObject wirds nicht gehen, es ist eine Schranke die sich öffnet und schließt und kein Tor. ;)
    €dit:// Außer du machst es dorthin wo es öffnen kann.. das is was anderes

  • if (strcmp(cmdtext, "/tor", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, -2562.931640625, 579.763671875, 14.194566726685))
    {
    SendClientMessage(playerid, COLOR_RED, "Tod KH1 geöffnet!");
    MoveObject(Gate1, 0, 0, 0, 3.0);
    SetTimer("KH1",5000,0);
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2603.451171875, 578.5966796875, 14.228128433228))
    {
    SendClientMessage(playerid, COLOR_RED, "Tod KH2 geöffnet!");
    MoveObject(Gate2, 0, 0, 0, 3.0);
    SetTimer("KH2",5000,0);
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2670.4091796875, 579.2392578125, 14.103130340576))
    {
    SendClientMessage(playerid, COLOR_RED, "Tod KH3 geöffnet!");
    MoveObject(Gate3, 0, 0, 0, 3.0);
    SetTimer("KH3",5000,0);
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, -2608.927734375, 693.83203125, 27.637502670288))
    {
    SendClientMessage(playerid, COLOR_RED, "Tod KH4 geöffnet!");
    MoveObject(Gate4, 0, 0, 0, 3.0);
    SetTimer("KH4",5000,0);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist nicht an der KH Schranke!");
    }
    return 1;
    }



    So damit du weißt ob die Funktion überhaupt erst abgefragt ist. Dies muss gehen du hattest eben nähmlich 2x hintereinander { { obwohl nur eine nötig war schau mal genau hin. Ersetz diesen Cmd einfach mit deinem und es sollte funzen :P

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • if(strcmp(cmdtext, "/tor", true) == 0)
    {
    if(PlayerToPoint(20.0, playerid, -2562.931640625, 579.763671875, 14.194566726685))
    {
    SetObjectRot(Gate1, 0, 0, 0);
    SetTimer("KH1",5000,0);
    return 1;
    }
    else if(PlayerToPoint(20.0, playerid, -2603.451171875, 578.5966796875, 14.228128433228))
    {
    SetObjectRot(Gate2, 0, 0, 0);
    SetTimer("KH2",5000,0);
    return 1;
    }
    else if(PlayerToPoint(20.0, playerid, -2670.4091796875, 579.2392578125, 14.103130340576))
    {
    SetObjectRot(Gate3, 0, 0, 0);
    SetTimer("KH3",5000,0);
    return 1;
    }
    else if(PlayerToPoint(20.0, playerid, -2608.927734375, 693.83203125, 27.637502670288))
    {
    SetObjectRot(Gate4, 0, 0, 0);
    SetTimer("KH4",5000,0);
    return 1;
    }
    return 1;
    }