Gate nicht von überall auf der map öffnen

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
  • Ich habe jetzt mir hier aus dem Forum
    ein Script zusammen gesucht gemacht das funktioniert,
    so nun meine Frage,


    man soll ja nicht von überall auf der Map die Tore betätigen können
    wenn im moment das tor an platz=y und ich an platz=x ganz wo anders
    und ich geb /open ein dann öffnet sich das, das soll aber nicht sein!


    Ich möchte das man paar meter vor dem tor das nur machen kann,
    hier meine pwn:




    Ich hoffe ihr wisst was ich meine

    Einmal editiert, zuletzt von dontkillme ()

  • So,


    es müsste irgendwie mit PlayerToPoint coordinaten gehen
    aber ich weis leider nicht
    1.wie das eingebunden werden muss
    2.wie ich das definiern bzw abfrage damit das tor sich auch beweget
    deswegen wärs toll wenn mirj emand helfen würde!


    Vielen dank!

  • Heisst das jetzt, dieses PlayerToPoint fragt ab, ob man innerhalb von einem Radius von 15.0 vom punkt xyz ist?


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Bei mir schaut dass so aus(LSPD-Gate):


    if (strcmp(cmdtext, "/opengate", true)==0)
    {
    if(IsACop(playerid) || PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not on Duty!");
    return 1;
    }
    if(!PlayerToPoint(15.0, playerid, 1588.89,-1638.3,15.29))
    {// Jail spot
    SendClientMessage(playerid, COLOR_GREY, " You are not near the Gate, can't open !");
    return 1;
    }
    MoveObject(PDGATE,1589.06,-1638.3,15,3.5);//ZU
    MoveObject(PDGATE,1597,-1638.3,15,3.5);//OFFEN
    SetTimer("GateClosePDGATE", 5000, 0);
    SendClientMessage(playerid, COLOR_YELLOW,"LSPD: The Gate will AutoClose in 5 Seconds");
    }
    return 1;
    }


  • C:\Dokumente und Einstellungen\nik0\Desktop\GTASTATE\filterscripts\gate.pwn(24) : error 017: undefined symbol "PlayerToPoint"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    hier nochmal komplett wie ichs jetz hab der funktioniert:
    kann mir jemand das da einfügen?



    #include <a_samp>


    #pragma tabsize 0
    #define COLOR_YELLOW 0xFFFF00AA
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT


    new tor1;


    public OnFilterScriptInit()
    {
    tor1 = CreateObject(971, 2299.667480, -1649.000854, 14.593271, 0.0000, 0.0000, 0.0000);
    return 1;
    }
    public OnFilterScriptExit()
    {
    return 1;
    }


    #endif


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/open", true)==0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(strcmp(name, "dontkillme", true)) return SendClientMessage(playerid, 0x33AA33AA,"Du hast hier keinen Zutritt");
    MoveObject(tor1,2299.667480, -1649.000854, 14.593271, 3.5);
    return 1;
    }
    if (strcmp(cmdtext, "/close", true)==0)


    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(strcmp(name, "dontkillme", true)) return SendClientMessage(playerid, 0x33AA33AA,"Du hast hier keinen Zutritt");
    MoveObject(tor1,2304.025391, -1649.000854, 14.593271, 3.5);
    return 1;
    }
    return 0;
    }

  • hmmm leider hab 1 error


    C:\Dokumente und Einstellungen\nik0\Desktop\GTASTATE\filterscripts\gate.pwn(9) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    #include <a_samp>


    #pragma tabsize 0
    #define COLOR_YELLOW 0xFFFF00AA
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT
    #define PlayerToPoint
    new tor1;
    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);


    public OnFilterScriptInit()
    {
    tor1 = CreateObject(971, 2299.667480, -1649.000854, 14.593271, 0.0000, 0.0000, 0.0000);
    return 1;
    }
    public OnFilterScriptExit()
    {
    return 1;
    }


    #endif


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/open", true)==0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(strcmp(name, "dontkillme", true)) return SendClientMessage(playerid, 0x33AA33AA,"Du hast hier keinen Zutritt");
    MoveObject(tor1,2299.667480, -1649.000854, 14.593271, 3.5);
    return 1;
    }



    if (strcmp(cmdtext, "/close", true)==0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(strcmp(name, "dontkillme", true)) return SendClientMessage(playerid, 0x33AA33AA,"Du hast hier keinen Zutritt");
    MoveObject(tor1,2304.025391, -1649.000854, 14.593271, 3.5);
    return 1;
    }
    return 0;
    }

    Einmal editiert, zuletzt von dontkillme ()

  • Darum heißt es ja auch Script :D :D


    Aber warte mal dass wird nicht klappen hab mir dein Script nicht richtig angeschaut


    //EDIT
    muss so aussehen:


    if (strcmp(cmdtext, "/close", true)==0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(strcmp(name, "dontkillme", true)) return SendClientMessage(playerid, 0x33AA33AA,"Du hast hier keinen Zutritt");
    if(!PlayerToPoint(15.0, playerid, 1588.89,-1638.3,15.29))
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not near the Gate, can't open !");
    return 1;
    }
    MoveObject(tor1,2304.025391, -1649.000854, 14.593271, 3.5);
    return 1;
    }
    return 0;
    }


    Soo denke ich mal

  • hehe joa :D


    nun habe ich noch eine frage, ich möchte nicht nerven (ich weis das ich das tue aber naja.. ich brauch halt hilfe und hier wird mir immer gut geholfen bzw ich find meistens was ich brauche)


    ich möchte jetz das zB ich zB das tor so mache das eine bestimmte gruppe das öffnen kann, sagen wir mal das ist die GRUPPEX (oder adac, oder polizei, oder peters...)
    ich möchte das so das man auf dem server indie playerlog zB gleich adac=1 oder so macht(das gibt es bei us schon)
    möchte halt ads dann das tor script hier merkt er darf das tor öffnen wenn er die gruppe GRUPPEX hat...


    #include <a_samp>


    #pragma tabsize 0
    #define COLOR_YELLOW 0xFFFF00AA
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT
    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    new tor1;


    public OnFilterScriptInit()
    {
    tor1 = CreateObject(971, 2299.667480, -1649.000854, 14.593271, 0.0000, 0.0000, 0.0000);
    return 1;
    }
    public OnFilterScriptExit()
    {
    return 1;
    }


    #endif


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/open", true)==0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(strcmp(name, "dontkillme", true)) return SendClientMessage(playerid, 0x33AA33AA,"Du hast hier keinen Zutritt");
    MoveObject(tor1,2299.667480, -1649.000854, 14.593271, 3.5);
    return 1;
    }



    if (strcmp(cmdtext, "/close", true)==0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(strcmp(name, "dontkillme", true)) return SendClientMessage(playerid, 0x33AA33AA,"Du hast hier keinen Zutritt");
    MoveObject(tor1,2304.025391, -1649.000854, 14.593271, 3.5);
    return 1;
    }
    return 0;
    }

  • So jetzt hab ichs (Ich denk mal soo xD):


    if (strcmp(cmdtext, "/close", true)==0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(strcmp(name, "dontkillme", true)) return SendClientMessage(playerid, 0x33AA33AA,"Du hast hier keinen Zutritt");
    if(!PlayerToPoint(15.0, playerid, 1588.89,-1638.3,15.29))
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not near the Gate, can't open !");
    return 1;
    }
    MoveObject(tor1,2304.025391, -1649.000854, 14.593271, 3.5);
    return 1;
    }


    Bei /open dann fast des selbe nur halt die coors anders ;)

  • und der name ist dann praktisch das GRUPPEX ?


    C:\Dokumente und Einstellungen\nik0\Desktop\GTASTATE\filterscripts\gate.pwn(29) : error 004: function "PlayerToPoint" is not implemented
    C:\Dokumente und Einstellungen\nik0\Desktop\GTASTATE\filterscripts\gate.pwn(43) : error 004: function "PlayerToPoint" is not implemented
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    vieln dank xD

  • ahso xDD ja
    da hab cih au ein kleines problem



    C:\Dokumente und Einstellungen\nik0\Desktop\GTASTATE\filterscripts\gate.pwn(29) : error 004: function "PlayerToPoint" is not implemented
    C:\Dokumente und Einstellungen\nik0\Desktop\GTASTATE\filterscripts\gate.pwn(43) : error 004: function "PlayerToPoint" is not implemented
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen