Schranke Hoch Runter!

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
  • Also ich hab ne schranke am pd gamppt wie mach ich das die hoch und runter gemacht!

    (¯`*•.¸,¤°´'`°¤, ¸.•*´¯)
    ¸,¤°´'`°•.¸¸.•°´'`°¤,¸
    |¯¯¯¯¯¯¯¯¯`•[____________•´¯¯¯¯¯¯¯¯¯|
    ZuckerstangeLP
    |_________ .•¯¯¯¯¯¯¯¯¯¯¯¯•. _________|
    *´'`°¤¸¸ .•'´`'•.¸¸ ¤°´'`*
    (_¸.•*´'`°¤¸.¸¤°´'`*•.¸_)

    Youtube Kanal

  • Erstmal musst du die schranke wenn sie zu ist mappen und die koords auswerten lassen und dann wenn sie offen ist.
    Im Zu-Zustand musst du erstmal machen
    Ganz oben
    New PD-Schranke
    Unter GameModeInit
    Creatobject(...) // was du beim Zu-Zustand beim Konverter raus hast


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/auf", cmdtext, true, 10) == 0)
    {
    If(isPlayergTeam == Cops)
    If(isPlayertoPoint(Radius,Kords) // nur die 3 koordinaten und den Radius in M eintragen
    Moveobject(PD-Schranke, Kords); // Koords vom offenen eintragen
    {
    else
    SendClientMessage(playerid,Farbe; "Du bist kein Cop, oder du bist nicht nah genug am Tor");
    }
    return 1;
    }
    return 0;
    }


    SO müsste das glaub ich gehen nicht getestet, kann sein das Tippfehler drin sind

  • hab 4 errors:


    Code
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8852) : error 017: undefined symbol "isPlayertoPoint" 
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8853) : error 017: undefined symbol "Moveobject" 
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8855) : error 029: invalid expression, assumed zero 
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8864) : error 021: symbol already defined: "OnPlayerCommandText" 
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(28661) : warning 203: symbol is never used: "pdschranke" 
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 
    
    
    4 Errors.

    (¯`*•.¸,¤°´'`°¤, ¸.•*´¯)
    ¸,¤°´'`°•.¸¸.•°´'`°¤,¸
    |¯¯¯¯¯¯¯¯¯`•[____________•´¯¯¯¯¯¯¯¯¯|
    ZuckerstangeLP
    |_________ .•¯¯¯¯¯¯¯¯¯¯¯¯•. _________|
    *´'`°¤¸¸ .•'´`'•.¸¸ ¤°´'`*
    (_¸.•*´'`°¤¸.¸¤°´'`*•.¸_)

    Youtube Kanal

  • Jetzt hab ich 3 Errors:


    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8893) : warning 213: tag mismatch
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8893) : warning 202: number of arguments does not match definition
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8893) : error 001: expected token: ")", but found ";"
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8893) : error 036: empty statement
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8894) : warning 202: number of arguments does not match definition
    C:\Users\Grabowski\Desktop\GTASERVER - Kopie\gamemodes\GGF.pwn(8896) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.

    (¯`*•.¸,¤°´'`°¤, ¸.•*´¯)
    ¸,¤°´'`°•.¸¸.•°´'`°¤,¸
    |¯¯¯¯¯¯¯¯¯`•[____________•´¯¯¯¯¯¯¯¯¯|
    ZuckerstangeLP
    |_________ .•¯¯¯¯¯¯¯¯¯¯¯¯•. _________|
    *´'`°¤¸¸ .•'´`'•.¸¸ ¤°´'`*
    (_¸.•*´'`°¤¸.¸¤°´'`*•.¸_)

    Youtube Kanal


  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/auf", cmdtext, true, 10) == 0)
    {
    If(gTeam[playerid] == Cops)
    {
    If(isPlayertoPoint(Radius,Kords)
    { // nur die 3 koordinaten und den Radius in M eintragen
    Moveobject(PD-Schranke, Kords); // Koords vom offenen eintragen
    {
    else
    SendClientMessage(playerid,Farbe, "Du bist kein Cop, oder du bist nicht nah genug am Tor");
    }
    return 1;
    }
    return 0; // Nur wenns Filterscript ist ^^
    }



    So sollte es richtig sein ... was habt ihr da mit gteam gemacht ? If(playerinfogteam ? was das xD


    Ich hätte es aber mit SetObjectRot gemacht anstatt mit MoveObject, denn mit MoveObject bewegt es sich einfach nach unten und mit SetObjectRot geht es runter

  • das bringt mir 26 errors

    (¯`*•.¸,¤°´'`°¤, ¸.•*´¯)
    ¸,¤°´'`°•.¸¸.•°´'`°¤,¸
    |¯¯¯¯¯¯¯¯¯`•[____________•´¯¯¯¯¯¯¯¯¯|
    ZuckerstangeLP
    |_________ .•¯¯¯¯¯¯¯¯¯¯¯¯•. _________|
    *´'`°¤¸¸ .•'´`'•.¸¸ ¤°´'`*
    (_¸.•*´'`°¤¸.¸¤°´'`*•.¸_)

    Youtube Kanal

  • hab ich ja auch kannste das mir per teamviewer machen?

    (¯`*•.¸,¤°´'`°¤, ¸.•*´¯)
    ¸,¤°´'`°•.¸¸.•°´'`°¤,¸
    |¯¯¯¯¯¯¯¯¯`•[____________•´¯¯¯¯¯¯¯¯¯|
    ZuckerstangeLP
    |_________ .•¯¯¯¯¯¯¯¯¯¯¯¯•. _________|
    *´'`°¤¸¸ .•'´`'•.¸¸ ¤°´'`*
    (_¸.•*´'`°¤¸.¸¤°´'`*•.¸_)

    Youtube Kanal


  • New Gate
    Dann bei OnGameModeInit
    Gate = CreateObject(987, 1642.695313, -1711.768799, 19.544977, 0.0000, 0.0000, 270.0000);//Die Kords


    Dann bei OnPlayerCommandText


    if (strcmp(cmdtext, "/auf", true)==0) // Befehl zum Öffnen
    {
    if(gTeam[playerid] == TEAM_COPS)


    {
    MoveObject(Gate,1640.695313, -1711.768799, 19.544977,4); // Die Kords, wo das tor sein soll wenns offen ist
    return 1;
    }
    if (strcmp(cmdtext, "/zu", true)==0)
    {
    MoveObject(Gate,1642.695313, -1711.768799, 19.544977,4); // Die Kords, wo das tor sein soll wenns zu ist
    return 1;
    }


    So das ist so aus dem TUT kopiert das muss klappen


  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/auf", cmdtext, true, 10) == 0)
    {
    If(gTeam[playerid] == Cops)
    {
    If(isPlayertoPoint(Radius,Kords)
    } // nur die 3 koordinaten und den Radius in M eintragen
    Moveobject(PD-Schranke, Kords); // Koords vom offenen eintragen
    {
    else
    }
    SendClientMessage(playerid,Farbe, "Du bist kein Cop, oder du bist nicht nah genug am Tor");
    }
    return 1;
    }
    return 0; // Nur wenns Filterscript ist ^^
    }



    so sollte es funken habe ebend nicht auf die Klammern geachtet^^

  • ich hab das jetz so gemacht wie ich das bei gates gemacht nur anstadt so schräg hoch fährt das wie ein gate hoch lol?


    und ich hab jetzt wieder was geändert kann mal kurz einer auf mein server dann zeig ich es euch was jetzt nicht geht oder so:


    wenn ich /pdsauf machen dann verschiebt die schranke sich aber fährt nicht hoch

    (¯`*•.¸,¤°´'`°¤, ¸.•*´¯)
    ¸,¤°´'`°•.¸¸.•°´'`°¤,¸
    |¯¯¯¯¯¯¯¯¯`•[____________•´¯¯¯¯¯¯¯¯¯|
    ZuckerstangeLP
    |_________ .•¯¯¯¯¯¯¯¯¯¯¯¯•. _________|
    *´'`°¤¸¸ .•'´`'•.¸¸ ¤°´'`*
    (_¸.•*´'`°¤¸.¸¤°´'`*•.¸_)

    Youtube Kanal

  • erstell einfach ne schranke nach oben und nach unten


    mach die nach unten rein und setzt bei /auf die position von der wo nach oben war^^


    quasi einfach nur 2 schranken machen und 1 benutzen^^

  • 1.

    ich hab das jetz so gemacht wie ich das bei gates gemacht nur anstadt so schräg hoch fährt das wie ein gate hoch lol?


    und ich hab jetzt wieder was geändert kann mal kurz einer auf mein server dann zeig ich es euch was jetzt nicht geht oder so:


    wenn ich /pdsauf machen dann verschiebt die schranke sich aber fährt nicht hoch

    :?: :huh: :?:
    Wenn du bei MoveObject(Gate,X,Y,Z); nur die Z-Achse veränderst, ist es selbstverständlich,dass sich das Gate NUR nach oben bewegen wird !
    Du müsstest ein zweites Gate erstellen/mappen,und nur dessen Koordianten verwenden.


    Bei MoveObject(Gate,Koords); ( Beim Öffnen des Tores, sei es durch einen Timer oder einen Befehl,wie /auf )die Koords von der hochgestellten Schranke und nicht von der "tiefgelegten" Schranke.
    Und beim Schließen ( durch /zu oder einen Timer ) die Koordinaten der ursprünglichen,tieferen Schranke.


    2.

    Zunächst muss man vergewissert sein,dass er mit gTeam arbeitet, und er dies nicht im GF oder anderen Scripts, in denen es bereits anders definiert ist, verwendet.


    Das IsPlayerToPoint(Radius,Koords) ist eine Sache der Definition. Beispielsweise in meinem Script oder im [G]od[F]ather ist es so festgehalten:

    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    // also PlayerToPoint(Radius,playerid,X,Y,Z);



    Hinzu kommt,dass offen steht,wie das Tor geschlossen werden soll ;) :P :rolleyes:.
    Es ist,wie oben schön beschrieben, durch einen Befehl, wie /zu möglich, doch eine wahrscheinlich elegantere Variante ist einen Timer zu benutzen.

    //>>>In dem Befehl "/auf"<<<
    //...
    SetTimer("Close",5000,0); //Erklärung: SetTimer("Timername",Wann Er ausgeführt wird in Milisekunden, Wiederholung Ja = 1 und Nein = 0);
    //....




    // >>>ganz oben bei den Definitionen<<<
    //...
    forward Close();
    //....


    //>>>Auerßhalb eines CallBacks<<<
    public Close()
    {
    MoveObject(Gate,Koords); // !!!WICHTIG!!! Diese Koordianten sind jene beim geschlossenen Zustand (!) !!!WICHTIG!!! ,da das Tor ja geschlossen wird
    /* Möglich: */ SendCientMessageToAll(0xE3E3E3FF, "PD-Tor wurde wieder geschlossen");


    return 1;
    }




    3.

    und was füge ich ein damit das nur in einem bestimmten Radius möglich ist :?: :?: :?:

    Schau dir dies mal näher an :P: PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);



    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



    Ich hoffe, dass alles richtig ist, ich helfen konnte und es nun geklärt ist.

    Suche Scriptlehrer :rolleyes:

  • Stimmt nur bedingt. Wenn er eine Schranke will muss er SetObjectRot(Object, Float:Rot); verwenden.
    So in etwa sollte es aussehen:
    if(strcmp("/open",cmdtext, true, 10) == 0)
    {
    if(gTeam[playerid] == Cops)
    {
    if(PlayerToPoint(10.0,playerid,Float:x, Float:y, Float:z);
    {
    SetObjectRot(PDSchranke, 90.0);
    return true;
    }
    }
    }


    Habs jetzt mal ohne else gemacht. Soll er selbst machen.