Pickup Frage /close

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
  • Guten Abend


    ich habe mir ein Pickup erstellt


    new aaipoint;


    aaipoint==CreatePickup(1239,1,246.9503,118.5228,1003.2188);


    jetzt möchte ich das so haben, das wenn ich bei den enter drücke das dann ein Dialog kommt


    Wie mache ich das?


    Ich bitte um eine erklärung in pwn form


    MFG

    Einmal editiert, zuletzt von hansi0151 () aus folgendem Grund: Hat sich erfolgreich erledigt

  • if(!strcmp("/stadium",cmdtext))
    {
    if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))
    {
    SendClientMessage(playerid,0xFFFFFFFF,"You are near the Stadium entrance!");
    }
    return 1;
    }


    ???


    Was hat das mit einen Dialog zu tun?
    Ich möchte es ja so haben, das wenn ich bei den i Point enter drücke, das ein Dialog kommt ((DIALOG_STYLE_LIST))

  • Er wollt dir nur zeigen wie du IsPlayerInRangeOfPoint nutzen kannst...



    public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
    {
    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,246.9503,118.5228,1003.2188))
    {
    ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_LIST,blah blah blah^^);
    }
    }
    return 1; // Gehört zu OnPlayerKeyStateChange
    }



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

    Einmal editiert, zuletzt von Ramino ()

  • Ist ja auch logisch, so unvollständing wie das ist :D


    @Ramnio


    if(IsPlayerInRangeOfPoint(playerid,2,246.9503,118.5228,1003.2188)
    {
    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    So böse


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,246.9503,118.5228,1003.2188)
    {
    so gut ;)
    Grund es wird nur geprüft wenn der Spieler auch die Taste drückt und nicht wenn er irgendeine Taste drückt

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • 1. Sollst du das auch selber gestalten. Bspw. den Dialog. Da steht selbstverständlich nicht blah blah blah. Ich habs dir fast Copy & Paste bereit gemacht. Außerdem sollste nicht den ganzen Code stumpf einfügen da public OnPlayerKeyStateChange(playerid,newkeys,oldkeys) in jedem Standard Script vorhanden ist.


    //E: Huch danke BlackAce. War n Denkfehler^^ Außerdem fehlt da noch ne Klammer bei IsPlayerInRangeOfPoint am Ende^^ Ich änder das mal



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

  • Ganz ehrlich


    ich bin zu blöde dafür


    wenn ich das eine mache stürtz pawn ab
    wenn ich das andere nehme kommen 26 errors

  • Such im Script nach OnPlayerKeyStateChange
    und füg das da ein:



    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,246.9503,118.5228,1003.2188))
    {
    ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_LIST,"Dialog","List1\nList2\nList3","Bla","Bla");
    }
    }



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

  • ok hab es jetzt so gemacht:


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,246.9503,118.5228,1003.2188))
    {
    ShowPlayerDialog(playerid,DIALOGID,DIALOG_STYLE_LIST,"Arbeitsamt","Text\nText\nText","ok","Abbruch");
    }
    }


    bei den text schrift im dialog wie kann man das denn so machen, das wenn ich jetzt text anklicke das ein checkpoint auf der map angezeigt wird?

  • Ja wenn du das entsprechend im Dialog jetzt definiert als Zahl oder wie hier als DIALOGID


    dafür schreibste am besten weit oben im Script


    #define DIALOGID 1 // Oder eine andere noch nicht verwendete ZAHL



    Such im Script nach OnDialogResponse


    Und füge das ein:



    if(dialogid==DIALOGID)
    {
    switch(listitem)
    {
    case 0:{SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:size);}
    case 1:{SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:size);}
    case 2:{SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:size);}
    }
    }



    Floats musste selber eintragen.



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

  • Ok ich hab es so gemacht:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOGID)
    {
    switch(listitem)
    {
    case 0:{SetPlayerCheckpoint(playerid,324.6640,-1389.8871,12.5112,274.3620);}
    case 1:{SetPlayerCheckpoint(playerid,-2265.2053,205.0794,34.8670,90.1896);}
    case 2:{SetPlayerCheckpoint(playerid,-1853.9761,146.1244,15.2535,279.8923);}
    }
    }


    Aber jetzt kommt zwar ein Ceckpoint aber der is übergroß so ca. 6 fahrspuren breit und wenn ich den durchfahre geht er nicht weg

  • Achso ich hab mich mit den Parametern vertan. Änder den letzten Parameter so auf..sagen wir 8.


    //E: xD. Mir fällt erst jetzt auf, dass das nicht ich mit dem letzten Parameter war xD



    Maddin is my Lord and Master :D
    Musel my one and only b0wm
    Bisafloah is the pokemon that pwns a lot of goddamn ponys.

  • ok jetzt ist er normal


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOGID)
    {
    switch(listitem)
    {
    case 0:{SetPlayerCheckpoint(playerid,324.6640,-1389.8871,12.5112,8);}
    case 1:{SetPlayerCheckpoint(playerid,-2265.2053,205.0794,34.8670,8);}
    case 2:{SetPlayerCheckpoint(playerid,-1853.9761,146.1244,15.2535,8);}
    }
    }


    Aber wiso verschwindet er nicht wenn ich dadurch gehe/fahre?

  • Weil der nicht automatisch verschwindet.


    public OnPlayerEnterCheckpoint(playerid)
    {
    DisablePlayerCheckpoint(playerid);
    return true;
    }
    das sollte es sein

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Guten Tag !

    _____________________

    Der Fehler liegt daran, dass

    du es so machen musst :

    aaipoint = CreatePickup(CreatePickup(1239,1,246.9503,118.5228,1003.2188);

    Aber du kannst es auch mit Dialog machen ;D

  • Guten Tag !

    _____________________

    Der Fehler liegt daran, dass

    du es so machen musst :

    aaipoint = CreatePickup(CreatePickup(1239,1,246.9503,118.5228,1003.2188);


    1. Was ist das?
    2. Wo kommt es her?
    3. Was hat das jetzt mit dem Thema zutun?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • es geht


    nur wie mache ich es, das wenn ich auf ok drücke, das eine nachicht gesendet wird und wenn ich auf abbrechen drücke das nichts passiert?

    Einmal editiert, zuletzt von hansi0151 ()