Teleport, teleportiert nicht^^

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 hab mir erst für mein Dm Script ein Waffenshop per Dialog List erstellt das hat auch geklappt und ich bekomm die Waffen nun wollte ich das gleiche nur mit Teleports machen
    Also eine Liste mir verschiedenen Orten die in der Liste stehen zu denen ich mich porten kann
    Ingame öffnet es auch die Liste aber er portet mich nicht :(


    //Für Teleports
    if(dialogid == DIALOG_TELEPORTS)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerPos(playerid,1541.2882,-1365.7985,329.7969);
    SetPlayerFacingAngle(playerid,3.0567);
    SetCameraBehindPlayer(playerid);
    }
    if(listitem == 1)
    {
    SetPlayerPos(playerid,-922.5768,42.9258,192.0449);
    SetPlayerFacingAngle(playerid,192.0449);
    SetCameraBehindPlayer(playerid);
    }


    Ich bekomm aber kein Error oder sowas es funktioniert halt nur nicht
    *hust* bin noch Anfänger arbeite/scripte mit pawno seit Samstag*hust*

  • Also hier noch mal alles
    Der Comman dwo der Dialog aufgerufen wird
    //Teleports
    if (strcmp(cmdtext,"/teleport",true)==0)
    {
    ShowPlayerDialog(playerid,DIALOG_TELEPORTS,DIALOG_STYLE_LIST,"Teleports","1on1\nBSN","Porten","Abbrechen");
    return 1;
    }



    Hier der DialogResponse
    //Für Gunshop
    if(dialogid == DIALOG_GUNSHOP)
    {
    if(response)
    {
    if(listitem == 0) // Katana

    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,dunkelgrün,"Du brauchst mehr Geld für diese Waffe!"); // Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,8,1); // Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -400); //Zieht dem Spieler Geld ab
    }


    if(listitem == 1) // AK47


    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,dunkelgrün,"Du brauchst mehr Geld für diese Waffe!"); // Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,30,100); // Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -500); //Zieht dem Spieler Geld ab
    }


    if(listitem == 2) // M4


    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,dunkelgrün,"Du brauchst mehr Geld für diese Waffe!"); // Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,31,100); // Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -500); //Zieht dem Spieler Geld ab
    }


    if(listitem == 3) // MP5


    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,dunkelgrün,"Du brauchst mehr Geld für diese Waffe!"); // Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,29,100); // Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -400); //Zieht dem Spieler Geld ab
    }


    if(listitem == 4) // Desert Eagle


    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,dunkelgrün,"Du brauchst mehr Geld für diese Waffe!"); // Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,24,100); // Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -300); //Zieht dem Spieler Geld ab
    }


    }
    //Für Teleports
    if(dialogid == DIALOG_TELEPORTS)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerPos(playerid,1541.2882,-1365.7985,329.7969);
    SetPlayerFacingAngle(playerid,3.0567);
    SetCameraBehindPlayer(playerid);
    }
    if(listitem == 1)
    {
    SetPlayerPos(playerid,-922.5768,42.9258,192.0449);
    SetPlayerFacingAngle(playerid,192.0449);
    SetCameraBehindPlayer(playerid);
    }
    return 1;
    }
    }
    }


    Ich hab mal alles gepostet aber der teil mit den Waffen klappt


    Und ich hab einen Warning ich weis was er bedeutet bin aber zu dumm um ihn zu beheben hatte den aber schon bevor die teleports kammen ich muss das returnen weiß aber nicht wo ich das return hinsetzen muss
    Hier
    D:\Spiele\Rockstar Games\Rockstar Games\Rockstar Games\SAMP 0.3d Server\gamemodes\Deathmatch.pwn(376) : warning 209: function "OnDialogResponse" should return a value

  • if(dialogid == DIALOG_TELEPORTS) {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerPos(playerid,1541.2882,-1365.7985,329.7969);
    SetPlayerFacingAngle(playerid,3.0567);
    return 1; //Das mit der Cam braucht man nicht
    }
    if(listitem == 1)
    {
    SetPlayerPos(playerid,-922.5768,42.9258,192.0449);
    SetPlayerFacingAngle(playerid,192.0449);
    return 1;
    }
    return 1;
    }
    }
    return 1;
    }

    Momentan im Ruhestand

  • if responde + dazugehörige klammern entfernen.

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • if responde + dazugehörige klammern entfernen.

    schwachsinn
    er ruft ein Dialog auf wo es 2 Button´s gibt da muss er response nehmen!


    und bei OnDialogResonse am besten nur 1 Return 1 nehmen und das soll ja vor der Letzten klammer sein sonst gets nicht weiter

  • schwachsinn
    er ruft ein Dialog auf wo es 2 Button´s gibt da muss er response nehmen!


    und bei OnDialogResonse am besten nur 1 Return 1 nehmen und das soll ja vor der Letzten klammer sein sonst gets nicht weiter


    füg if(response == 0)return 1; und if(response == 1)return 1; mal hinzu

    Momentan im Ruhestand

  • Sorry das ich gestern nicht mehr antworten konnte ich musste weg^^


    Ich hab jetzt einfach mal das von obergamler probiert aber ich kann mich ingame immer noch nicht porten


    if(dialogid == DIALOG_TELEPORTS) {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerPos(playerid,1541.2882,-1365.7985,329.7969);
    SetPlayerFacingAngle(playerid,3.0567);
    return 1;
    }
    if(listitem == 1)
    {
    SetPlayerPos(playerid,-922.5768,42.9258,192.0449);
    SetPlayerFacingAngle(playerid,192.0449);
    return 1;
    }
    return 1;
    }
    }
    return 1;
    }

  • Probier das mal:


    if(dialogid == DIALOG_TELEPORTS)
    {
    if(!response)
    return 0;
    switch(listitem)
    {
    case 0:
    {
    SetPlayerPos(playerid,1541.2882,-1365.7985,329.7969);
    SetPlayerFacingAngle(playerid,3.0567);
    }
    case 1:
    {
    SetPlayerPos(playerid,-922.5768,42.9258,192.0449);
    SetPlayerFacingAngle(playerid,192.0449);
    }
    }
    return 1;
    }

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • Kompaktere Version für gleiche Abfragen



    Bsps anstatt


    if(listitem == 1)
    if(listitem == 2)
    if(listitem == 3)



    switch(listitem)
    {
    case 1: { /*Was soll getan werden? */} // wenn listitem == 1 ist
    case 2: { /*Was soll getan werden? */} // wenn listitem == 2 ist
    }

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • Probiers so:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_TELEPORTS)
    {
    if(response==1)
    {
    switch(listitem)
    {
    case 0:
    {
    SetPlayerPos(playerid,1541.2882,-1365.7985,329.7969);
    SetPlayerFacingAngle(playerid,3.0567);
    }
    case 1:
    {
    SetPlayerPos(playerid,-922.5768,42.9258,192.0449);
    SetPlayerFacingAngle(playerid,192.0449);
    }
    case 2:
    {
    //Usw. je nach dem wie viel du noch in den Dialog schreibst
    }
    case 3:
    {

    }
    case 4:
    {

    }
    case 5:
    {

    }
    case 6:
    {

    }
    case 7:
    {

    }
    case 8:
    {

    }
    case 9:
    {

    }
    }
    }
    return 1;
    }

  • Nein leider auch nicht
    komisch eigentlich müsstes es gehen
    Ich mein das System dieser List Dialoge ja nicht so schwer


    Ich kann auch mal mein ganzes Script posten :D


    Vielleicht hängt es auch mit dem Warning zusammen
    D:\Spiele\Rockstar Games\Rockstar Games\Rockstar Games\SAMP 0.3d Server\gamemodes\Deathmatch.pwn(608) : warning 209: function "OnDialogResponse" should return a value

  • Hast du den Dialog auch im Script defined? Denn die kleinen Fehler unterlaufen mal jeden :thumbup:


    lg.


  • Vielleicht hängt es auch mit dem Warning zusammen
    D:\Spiele\Rockstar Games\Rockstar Games\Rockstar Games\SAMP 0.3d Server\gamemodes\Deathmatch.pwn(608) : warning 209: function "OnDialogResponse" should return a value


    Unten (am Ende von OnDialogResponse) fehlt ein return 1;

  • Also ja ich hab den Dialof defined er wird mir Ingame auch angezeigt nur es passiert nicht wenn ich zum beispiel auf 1on1 klicke


    und wenn ich ganz am ENde unter die Letzte geschweifte Klammer ein return 1; mache hab ich ein Error^^

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