Probleme mit gate

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
  • Ok ich habs jetzt fast geschafft aber ich habe noch eine frage: Wie kann man bestimmen auf was sich else bezieht?


    if (strcmp(cmdtext, "/lsopengate", true) == 0)
    {
    if(PlayerToPoint(12, playerid, -2432.849365, 496.752716, 38.108955))
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pAdmin] >= 4)
    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);
    SetTimer("GateCloselspd_gate", 7000, 0);
    GameTextForPlayer(playerid,"LSPD geoeffnet",5000, 1);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor wird in 7 Sekunden Automatisch geschlossen.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist nicht in der nähe des Tores!");
    return 1;
    }


    Bis jetzt bezieht sich else auf if (strcmp(cmdtext, "/lsopengate", true) == 0)
    Es soll sich aber auf if(PlayerToPoint(12, playerid, -2432.849365, 496.752716, 38.108955)) beziehen.

  • lol 4fach Post xD


    Also:


    das else bezieht sich (glaub ich) in dem Fall auf beides.
    D.h. dass:
    Wenn man dort(koordinate-playeristopoint) und zu dieser Fraktion gehört, dann passiert das.
    Wenn man nicht dort ist oder nicht zu dieser Fraktion gehört, dann passiert: ...




    Hoffe ich konnte dir helfen

  • if (strcmp(cmdtext, "/lsopengate", true) == 0)
    {
    if(PlayerToPoint(12, playerid, -2432.849365, 496.752716, 38.108955)){
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pAdmin] >= 4){
    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);
    SetTimer("GateCloselspd_gate", 7000, 0);
    GameTextForPlayer(playerid,"LSPD geoeffnet",5000, 1);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor wird in 7 Sekunden Automatisch geschlossen.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist nicht in der nähe des Tores!");
    }}
    return 1;
    }


    Kann sein 1 Klammer zuviel/zuwenig.

  • Vielen Dank für die Antworten:D
    [PRT]The_GameR, Das Funktioniert leider nicht Pawno stürzt ab und wenn ich 1 Klammer weg mache kann man das Tor öffnen aber auch als Zivi(ohne Admin Account) und auch in sf oder wo auch immer.


    Aber wie macht ihr das denn das man ändern kann auf was sich das else bezieht?
    MfG

  • Ich möchte Das im chat steht "Du bist kein Cop/FBI/Army" wenn man kein Cop/FBI/Army ist und wenn man nicht in der nähe ist soll stehen "Du bist nicht in der nähe des Tores".

  • if (strcmp(cmdtext, "/lsopengate", true) == 0)
    {
    if(PlayerToPoint(12, playerid, -2432.849365, 496.752716, 38.108955))
    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);
    SetTimer("GateCloselspd_gate", 7000, 0);
    GameTextForPlayer(playerid,"LSPD geoeffnet",5000, 1);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor wird in 7 Sekunden Automatisch geschlossen.");
    }
    else
    SendClientMessage(playerid, COLOR_RED,"Du bist nicht in der nähe des Tores!");
    {


    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pAdmin] >= 4)
    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);
    SetTimer("GateCloselspd_gate", 7000, 0);
    GameTextForPlayer(playerid,"LSPD geoeffnet",5000, 1);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor wird in 7 Sekunden Automatisch geschlossen.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist kein Cop/FBI/Army");
    return 1;
    }


    So müsste es klappen

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Vielen Dank Firefox ich hab eine Klammer nicht mit rein kopiert bzw gelöscht. Jetzt stürtzt er nicht mehr ab aber ich bekomme 1 Error:

  • Welche Zeile ist das?
    Die LooseIdentiation ist, dass du einfach die sachen mit Tab-Taste richten musst^^
    z.B.

    if (strcmp(cmdtext, "/lsopengate", true) == 0)
    {
    if(PlayerToPoint(12, playerid, -2432.849365, 496.752716, 38.108955))
    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);


  • Ok ich hab jetzt noch folgende fehler:

    Zitat

    C:\DOKUME~1\R063R\Desktop\gf.pwn(8187) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\R063R\Desktop\gf.pwn(8193) : warning 225: unreachable code
    C:\DOKUME~1\R063R\Desktop\gf.pwn(8193) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Zeile 8193 ist ein /forum befehl hat aber nichts mit dem gate zu tun
    if (strcmp(cmdtext, "/forum", true) == 0)//Zeile 8193 /forum befehl
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Besuche unser Forum unter sa-reallife.tk");
    return 1;
    }


    if (strcmp(cmdtext, "/teamspeak", true) == 0)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Teamspeak IP: masivegunz.de:8002");
    return 1;
    }


    Zeile 8187 ist nur das else
    Der /forum befehl ging davor aber, auch keine warnung.

    Einmal editiert, zuletzt von R063R ()

  • zeig mal die zeilen vor /forum


    achja und hier der richtige tor befehl:


    if (strcmp(cmdtext, "/lsopengate", true) == 0)
    {
    if(PlayerToPoint(12, playerid, -2432.849365, 496.752716, 38.108955))
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pAdmin] >= 4)
    {
    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);
    SetTimer("GateCloselspd_gate", 7000, 0);
    GameTextForPlayer(playerid,"LSPD geoeffnet",5000, 1);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor wird in 7 Sekunden Automatisch geschlossen.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist kein Cop/FBI/Army");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist nicht in der Nähe des Tores!");
    }
    return 1;
    }

  • Davor kommt das was mir Firefox gescriptet hat:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/lsopengate", true) == 0)
    {
    if(PlayerToPoint(12, playerid, -2432.849365, 496.752716, 38.108955))
    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);
    SetTimer("GateCloselspd_gate", 7000, 0);
    GameTextForPlayer(playerid,"LSPD geoeffnet",5000, 1);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor wird in 7 Sekunden Automatisch geschlossen.");
    }
    else
    SendClientMessage(playerid, COLOR_RED,"Du bist nicht in der nähe des Tores!");
    {


    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pAdmin] >= 4)
    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);
    SetTimer("GateCloselspd_gate", 7000, 0);
    GameTextForPlayer(playerid,"LSPD geoeffnet",5000, 1);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Tor wird in 7 Sekunden Automatisch geschlossen.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist kein Cop/FBI/Army");
    return 1;
    }
    //-------------------------------[forum/teamspeak]--------------------------------------------------------------
    if (strcmp(cmdtext, "/forum", true) == 0)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Besuche unser Forum unter sa-reallife.tk");
    return 1;
    }

    if (strcmp(cmdtext, "/teamspeak", true) == 0)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Teamspeak IP: masivegunz.de:8002");
    return 1;
    }

  • 1 Warning

    Ist die Zeile bei der /forum anfängt. Aber dort ist bestimmt nichts falsch eingerückt, hat ja zuvor auch geklappt.


    Ingame kommt immer egal wo ich stehe du bist nicht in der nähe des Tores! auch wenn ich gleich daneben stehe.

  • kein wunder


    PlayerToPoint(12, playerid, -2432.849365, 496.752716, 38.108955))


    MoveObject(lspd_gate,1588.591675, -1638.115234, 6.670362,4);


    das lspd_gate scheint ganz woanders zu sein als beim punkt wo der spieler sein sollte :D


    versuch mal
    if(PlayerToPoint(12, playerid, 1588.591675, -1638.115234, 10.670362))

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