Gebäude mit /enter betreten

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
  • Morgen!


    Ich hätt da ma ne Frage und zwar folgende... was muss ich machen damit ich n Gebäude mit /enter betreten kann aber nur wenn ich vor der Tür im Pickup stehe?
    Also ich wollt vor der Stadthalle n Infosymbol hinmachen und wenn man da reingeht (in das Symbol) steht da "Hier ist die Stadthalle! Zum betreten /enter" und man kann dann auch nur im Symbol mit /enter die Stadthalle betreten... und wenn man drinne ist ist da vor der Tür auch n Infosymbol und man kann auch nur im Symbol mit /exit rausgehen... und wenn man drinne im Symbol steht soll da stehen "Zum verlassen der Stadthalle /exit eingeben!"... kann mir das jemand machen? Wäre nett! ;)

    Daten:

    Das Infosymbol ist draußen vor der Tür an folgender Stelle: 1481.0464, -1772.2834, 18.7958
    Das Infosymbol ist drinnen vor der Tür an folgender Stelle: 390.6798, 173.8207, 1008.3828
    Die InteriorID der Stadthalle lautet: 3
    Wenn man reingeht soll man an folgender Stelle hingeportet werden: 387.5807, 173.7764, 1008.3828
    Wenn man rausgeht soll man an folgender Stelle hingeportet werden:1481.0917, -1770.3832, 18.7958


    Danke im vorraus! ;)

  • Das geht leichter ;)


    AddStaticPickup(1239,99,1481.0464, -1772.2834, 18.7958); //Eingang und das gleiche nochmal für Ausgang ;)


    if (PlayerToPoint(2.0, playerid, 1481.0464, -1772.2834, 18.7958)) // Stadthalle Eingang
    {
    SetPlayerPos(playerid, 387.5807, 173.7764, 1008.3828);
    SetPlayerInterior(playerid, 3);
    GameTextForPlayer(playerid, "~y~Willkommen in der Stadthalle", 5000, 5);
    }
    if (PlayerToPoint(2.0, playerid, 390.6798, 173.8207, 1008.3828)) //Stadthalle Ausgang
    {
    SetPlayerPos(playerid, 1481.0917, -1770.3832, 18.7958);
    }
    return 1;
    }


    Wie ihr alle nachmacht ;)
    Ich stell einmal die frage hier im Forum
    Seit den hat jeder server sowas sogar nova -.- :thumbdown:


    Mit Freundlichen Grüßen
    Joe :|



    Lua: 63% C++: 23% C#: 53% VB: 96%


  • public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    if (newkeys==KEY_SECONDARY_ATTACK) // <-- ist ENTER bzw. Auto ein-/aussteigen
    {
    if (PlayerToPoint(2.0, playerid, 1481.0464, -1772.2834, 18.7958)) // Stadthalle Eingang
    {
    SetPlayerPos(playerid, 387.5807, 173.7764, 1008.3828);
    SetPlayerInterior(playerid, 3);
    GameTextForPlayer(playerid, "~y~Willkommen in der Stadthalle", 5000, 5);
    }
    if (PlayerToPoint(2.0, playerid, 390.6798, 173.8207, 1008.3828)) //Stadthalle Ausgang
    {
    SetPlayerPos(playerid, 1481.0917, -1770.3832, 18.7958);
    }
    return 1;
    }
    }

  • Ich hab da ma n Problem und zwar hab ich mehrere Commands um Häuser zu betreten und eines davon lautet so:


    //////////////////////////// Los Santos Police Department //////////////////////
    if (strcmp(cmdtext, "/betretenlspd", true, 9)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,1555.5046,-1675.6783,16.1953))
    {
    SetPlayerInterior(playerid, 3);
    SetPlayerPos(playerid,288.7767,169.1552,1007.1719);
    }
    }
    if (strcmp(cmdtext, "/verlassenlspd", true, 9)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,288.7909,166.9683,1007.1719))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,1553.8743,-1675.6884,16.1953);
    }
    return 1;
    }
    //----------------------------------------------------------------------------//


    Das Problem ist nur... ich kann alle Häuser betreten aber raus kann ich nur aus dem Haus wo der Command unter OnPlayerCommandText steht... das heißt ich habe 5 Command womit man in Häuser kann und ich kann in alle rein aber raus kann ich nur aus dem ersten von oben... wieso? :wacko:

  • //////////////////////////// Los Santos Police Department //////////////////////
    if (strcmp(cmdtext, "/betretenlspd", true, 9)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,1555.5046,-1675.6783,16.1953))
    {
    SetPlayerInterior(playerid, 3);
    SetPlayerPos(playerid,288.7767,169.1552,1007.1719);
    }
    }
    if (strcmp(cmdtext, "/verlassenlspd", true, 9)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,288.7909,166.9683,1007.1719))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,1553.8743,-1675.6884,16.1953);
    }
    return 1;
    }
    //----------------------------------------------------------------------------//

    nach Zeile 8 würde ich dir ein
    Return 1;
    empfehlen ;)


    Dann änder mal
    if (strcmp(cmdtext, "/betretenlspd", true, 9)==0)

    denn hier fragt er nur "/betreten" ab und lspd fehlt
    Also korrekt muß es so aussehen
    if (strcmp(cmdtext, "/betretenlspd", true, 13)==0)

    if (strcmp(cmdtext, "/verlassenlspd", true, 14)==0)

    Einmal editiert, zuletzt von Woozie ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Nene das er nur betreten nachguckt und das lspd auslässt soll so sein denn ich dachte das ich nicht raus kann weil ich bei allen commands /verlassen habe und desswegen hab ich bei jedem ne abkürzung hintergemacht aber man muss das ja nicht ausschreiben... aber wenn das so richtig ist wie du sagst dann kann ich mir das überprüfen ja sparen... bringt ja eh nichts! xD


    Ich teste das ma ^^


    EDIT:
    Nun kann ich das LSPD noch nicht ma betreten! :S


    Ich hab die Commands so:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/betreten", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,1199.2571,-918.1477,43.1232))
    {
    SetPlayerInterior(playerid, 10);
    SetPlayerPos(playerid,363.7410,-74.5395,1001.5078);
    return 1;
    }


    if (strcmp(cmdtext, "/verlassen", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,362.8705,-75.1645,1001.5078))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,1199.2748,-919.1830,43.1152);
    return 1;
    }


    if (strcmp(cmdtext, "/betreten", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,1555.5046,-1675.6783,16.1953))
    {
    SetPlayerInterior(playerid, 3);
    SetPlayerPos(playerid,288.7767,169.1552,1007.1719);
    return 1;
    }


    if (strcmp(cmdtext, "/verlassen", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,288.7909,166.9683,1007.1719))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,1553.8743,-1675.6884,16.1953);
    return 1;
    }



    if (strcmp(cmdtext, "/betreten", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,1368.9501,-1279.7542,13.5469))
    {
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid,285.5067,-40.7249,1001.5156);
    return 1;
    }


    if (strcmp(cmdtext, "/verlassen", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,285.4802,-41.8052,1001.5156))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,1367.9753,-1279.7747,13.5469);
    return 1;
    }


    HIIIIIILLLLLLLLLLLLFFFEEEEEEEEEEEEEEEEEEEEEEEEE!!! ;(

    Einmal editiert, zuletzt von Vogelpommes ()

  • hmmm... Thema würde mich auch sehr interessieren. Kann es sein das es deswegen nicht geht da du immer den gleichen Befehl genutzt hast? Ist bei mir auch so wenn ich 2 verschiedene Tore mit /open machen will funkt keins oder nur 1ns.


    Habe aber keine Ahnung von scripten, ist nur so ne Vermutung^^


    Lg
    Michi

  • Ich habs auch schon so probiert:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/betreten1", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,1199.2571,-918.1477,43.1232))
    {
    SetPlayerInterior(playerid, 10);
    SetPlayerPos(playerid,363.7410,-74.5395,1001.5078);
    return 1;
    }


    if (strcmp(cmdtext, "/verlassen1", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,362.8705,-75.1645,1001.5078))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,1199.2748,-919.1830,43.1152);
    return 1;
    }


    if (strcmp(cmdtext, "/betreten2", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,1555.5046,-1675.6783,16.1953))
    {
    SetPlayerInterior(playerid, 3);
    SetPlayerPos(playerid,288.7767,169.1552,1007.1719);
    return 1;
    }


    if (strcmp(cmdtext, "/verlassen2", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,288.7909,166.9683,1007.1719))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,1553.8743,-1675.6884,16.1953);
    return 1;
    }



    if (strcmp(cmdtext, "/betreten3", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,1368.9501,-1279.7542,13.5469))
    {
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid,285.5067,-40.7249,1001.5156);
    return 1;
    }


    if (strcmp(cmdtext, "/verlassen3", true)==0)
    {
    if (GetPlayerState(playerid) == 1 && PlayerToPoint(2.0, playerid,285.4802,-41.8052,1001.5156))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,1367.9753,-1279.7747,13.5469);
    return 1;
    }


    INFO: Hab das nur so probiert um zu sehen ob es daran lag das die befehle gleich waren aber so ging/geht das auch nicht! -.-



    EDIT: Wäre schön wenn sich ma n Experte melden würde!

    Einmal editiert, zuletzt von Vogelpommes ()

  • Probier das mal ich hoffe ich habe dir weiter geholfen




    //=============--New]--=========================
    new ryderenter;
    new ryderexit;
    new sweetenter;
    new sweetexit;
    new oglocenter;
    new oglocexit;
    new bdupenter;
    new bdupexit;
    new behbincoenter;
    new behbincoexit;
    new deniseenter;
    new deniseexit;
    new bloodenter;
    new bloodexit;
    new lpienter;
    new lpiexit;
    new tupagrave;
    new gimaxgrave;
    new eazyegrave;
    new jaygrave;
    new mtgrave;
    new traynorsgrave


    //=============--[Wohnhäuser Pickups Pickups]--=========================
    ryderenter = AddStaticPickup(1273,27,1891.794189,-1070.631713,23.937500);//Pickup Id 0;
    ryderexit = AddStaticPickup(1273,27,1895.724243,-1064.913574,23.937500);//Pickup Id 1;
    sweetenter = AddStaticPickup(1273,27,1916.409301,-1065.463378,24.124662);//Pickup Id 2;
    sweetexit = AddStaticPickup(1273,27,1912.857788,-1071.036254,24.240571);//Pickup Id 3;
    oglocenter = AddStaticPickup(1273,27,1934.366699,-1071.336303,24.415996);//Pickup Id 4;
    oglocexit = AddStaticPickup(1273,27,1938.992919,-1066.204589,24.418008);//Pickup Id 5;
    bdupenter = AddStaticPickup(1273,27,1959.596679,-1069.982299,24.796701);//Pickup Id 6;
    bdupexit = AddStaticPickup(1237,27,1954.376953,-1075.178588,24.796701);//Pickup Id 7;
    behbincoenter = AddStaticPickup(1237,27,2023.211303,-1053.271606,25.596122);//Pickup Id 8;
    behbincoexit = AddStaticPickup(1237,27,2036.054199,-1059.177734,25.650810);//Pickup Id 9;
    deniseenter = AddStaticPickup(1237,27,2050.936523,-1065.927490,25.783622);//Pickup Id 10;
    deniseexit = AddStaticPickup(1237,27,2060.701416,-1075.191040,25.683099);//Pickup Id 11;
    bloodenter = AddStaticPickup(1237,27,2075.208496,-1082.252319,25.320350);//Pickup Id 12;
    bloodexit = AddStaticPickup(1237,27,2082.296142,-1085.297973,25.486045);//Pickup Id 13;
    lpienter = AddStaticPickup(1237,27,2046.140014,-1115.877929,26.361747);//Pickup Id 14;
    lpiexit = AddStaticPickup(1237,27,2023.213989,-1120.446411,26.421045);//Pickup Id 15;
    tupagrave = AddStaticPickup(1237,27,2000.142333,-1114.746704,27.125000);//Pickup Id 16;
    eazyegrave= AddStaticPickup(1237,27,2084.032470,-1122.998046,25.222013);//Pickup Id 17;
    gimaxgrave = AddStaticPickup(1237,27,2086.889404,-1141.096191,25.127340);//Pickup Id 18;
    jaygrave = AddStaticPickup(1237,27,2089.196044,-1166.344726,25.593750);//Pickup Id 19;
    mtgrave = AddStaticPickup(1237,27,2089.229736,-1185.725097,26.431766);//Pickup Id 20;
    traynorsgrave = AddStaticPickup(1237,27,2090.604003,-1233.213256,25.135177);//Pickup Id 21;


    public OnPlayerPickUpPickup(playerid, pickupid)
    {


    if(pickupid == ryderenter)
    {
    GameTextForPlayer(playerid, "~y~Ryder'z House", 3500, 1);
    SetPlayerInterior(playerid,2);
    SetPlayerPos(playerid,2451.8303,-1699.8912,1013.5078);


    }


    if(pickupid == ryderexit)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2459.8740,-1687.3492,13.5382);


    }
    if(pickupid == sweetenter)
    {
    GameTextForPlayer(playerid, "~y~Sweets House", 3500, 1);
    SetPlayerInterior(playerid,1);
    SetPlayerPos(playerid,2527.4792,-1679.8625,1015.4986);


    }


    if(pickupid == sweetexit)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2519.4380,-1678.9788,14.7269);


    }
    if(pickupid == oglocenter)
    {
    GameTextForPlayer(playerid, "~y~Og Loc's House", 3500, 1);
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,516.4586,-11.4178,1001.5653);


    }


    if(pickupid == oglocexit)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2486.3257,-1648.6191,13.8870);


    }
    if(pickupid == bdupenter)
    {
    GameTextForPlayer(playerid, "~y~B Dup's Apartment", 3500, 1);
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,1531.8921,-11.5165,1002.0971);


    }


    if(pickupid == bdupexit)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2294.0457,-1795.8579,13.5469);


    }
    if(pickupid == behbincoenter)
    {
    GameTextForPlayer(playerid, "~y~LiL King'z House", 3500, 1);
    SetPlayerInterior(playerid,2);
    SetPlayerPos(playerid,222.9368,1240.0808,1082.1406);


    }


    if(pickupid == behbincoexit)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2266.3684,-1697.2394,13.6899);


    }
    if(pickupid == deniseenter)
    {
    GameTextForPlayer(playerid, "~y~Denise'z House", 3500, 1);
    SetPlayerInterior(playerid,1);
    SetPlayerPos(playerid,246.8119,304.8625,999.1484);


    }


    if(pickupid == deniseexit)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2402.5525,-1719.8381,13.6164);


    }
    if(pickupid == bloodenter)
    {
    GameTextForPlayer(playerid, "~y~BlooDCasH'z House", 3500, 1);
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,235.0355,1190.0225,1080.2578);
    }


    if(pickupid == bloodexit)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2757.0498,-1179.6157,69.3992);
    }
    if(pickupid == lpienter)
    {
    GameTextForPlayer(playerid, "~y~Warrens Bar And Grill", 3500, 1);
    SetPlayerInterior(playerid,18);
    SetPlayerPos(playerid,-223.3139,1396.3364,28.3672);


    }


    if(pickupid == lpiexit)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2005.1440,-1596.9181,13.5729);


    }
    if(pickupid == tupagrave)
    {
    GameTextForPlayer(playerid, "~y~Here Lies Tupakilla", 3500, 1);
    SendClientMessage(playerid,COLOR_GRAY, "");
    SendClientMessage(playerid,COLOR_GRAY, "");
    SendClientMessage(playerid,COLOR_GRAY, "");
    SendClientMessage(playerid,COLOR_GRAY, "");


    }


    if(pickupid == gimaxgrave)
    {
    GameTextForPlayer(playerid, "~y~Here Lies Gimax", 3500, 1);
    SendClientMessage(playerid,COLOR_ORANGELIGHT, "");
    SendClientMessage(playerid,COLOR_ORANGELIGHT, "");
    SendClientMessage(playerid,COLOR_ORANGELIGHT, "");
    SendClientMessage(playerid,COLOR_ORANGELIGHT, "");


    }
    if(pickupid == eazyegrave)
    {
    GameTextForPlayer(playerid, "~y~[LST]EazyE", 3500, 1);
    SendClientMessage(playerid,COLOR_YELLOW, "Here Lies [LST]EazyE");
    SendClientMessage(playerid,COLOR_YELLOW, "");
    SendClientMessage(playerid,COLOR_YELLOW, "");
    SendClientMessage(playerid,COLOR_YELLOW, "");
    SendClientMessage(playerid,COLOR_YELLOW, "");


    }


    if(pickupid == jaygrave)
    {
    GameTextForPlayer(playerid, "~y~ Here Lies Jay Valencia", 3500, 1);
    SendClientMessage(playerid,COLOR_BLUELIGHT, "");
    SendClientMessage(playerid,COLOR_BLUELIGHT, "");
    SendClientMessage(playerid,COLOR_BLUELIGHT, "");
    SendClientMessage(playerid,COLOR_BLUELIGHT, "");


    }
    if(pickupid == mtgrave)
    {
    GameTextForPlayer(playerid, "~y~ Here Lies MT", 3500, 1);
    SendClientMessage(playerid,COLOR_RED, "");
    SendClientMessage(playerid,COLOR_RED, "");
    SendClientMessage(playerid,COLOR_RED, "");
    SendClientMessage(playerid,COLOR_RED, "");


    }
    if(pickupid == traynorsgrave)
    {
    GameTextForPlayer(playerid, "~y~ Here Lies Traynor", 3500, 1);
    SendClientMessage(playerid,COLOR_BROWN, "");
    SendClientMessage(playerid,COLOR_BROWN, "");
    SendClientMessage(playerid,COLOR_BROWN, "");
    SendClientMessage(playerid,COLOR_BROWN, "");


    }


    return 1;
    }