Tutorial, ja nein

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
  • Hey,


    auf meinem Script ist schon ein Tutorial, nun will ich aber das er vor dem Tutorial einen Dialog anzeigt, Ansehen, oder abbrechen.
    Wie geht das? (Betreffender Teil kommt im Anhang)


    Und dann wöllt ich gern einen Befehl /kicktut ID haben, damit man einen Spieler nochmal ins Tutorial verweißen kann.


    Ich hab keine Ahnung wie ich die sache angehen soll ^^ (Ist ein GF, also das Tut ist nicht von mir ;))


    Es sind noch ein Paar sachen Definiert ;)


    Lg byBSE



    Einmal editiert, zuletzt von Tomsen ()

  • Du erstellst ein Dialog, der dann kommt wenn der Spieler sich registriert hat ( kenne dein Script halt nicht ) wenn er sich nun registriert hat etc, zeigst du ihm den Dialog.
    Wenn er bspw. auf JA klickt zeigst du ihm das Turorial, wenn er auf NEIN klickt lässt du ihn z.B. einfach spawnen.


    Mein Schatz:*

  • Okay habs soweit gemacht,


    allerdings kommt ein Error, unzwar undefined Symbol "playerid", aber hier:


    ShowPlayerDialog(playerid,DIALOG_TUTMACHEN,DIALOG_STYLE_MSGBOX,"Tutorial?(empfolen)","Willst du dir das Tutorial anschauen?\nEs ist etwa 120 Sekunden lang.\nAllerdings sind darin die wichtigsten Sachen mit Bild und Text erklärt.\nDamit können Fragen im vorraus schon beantwortet werden.","Machen","Überspringen");


    Man kann doch playerid garnicht bzw. braucht man doch nicht definieren, aber egal, was ist daran falsch?


    //edit: kann mir niemand helfen :(


    Lg byBSE



    3 Mal editiert, zuletzt von Tomsen () aus folgendem Grund: Weiß niemand Abhilfe?

  • Bevor er das Tutorial startet.


    Damit er praktisch fragt ob er es machen will,


    das Tutorial fängt an mit dem if(Tuttime...)


    dann kommt der Dialog
    und dann fängt das tutorial richtig an, das wäre der teil hier:


    if(TutTime[i] >= 1)
    {


    ShowPlayerDialog(playerid,DIALOG_TUTMACHEN,DIALOG_STYLE_MSGBOX,"Tutorial?(empfolen)","Willst du dir das Tutorial anschauen?\nEs ist etwa 120 Sekunden lang.\nAllerdings sind darin die wichtigsten Sachen mit Bild und Text erklärt.\nDamit können Fragen im vorraus schon beantwortet werden.","Anschauen","Überspringen");

    TutTime[i] += 1;
    if(TutTime[i] == 6) //DASTUTORIAL
    {
    TextDrawShowForPlayer(i, PlayerInfo[i][LetterboxTop]);
    TextDrawShowForPlayer(i, PlayerInfo[i][LetterboxBottom]);
    ClearChatbox(i, 10);
    }
    if(TutTime[i] == 8)
    {


    SetPlayerPos(i,1137.1897,-1455.0825,15.7969);
    SetPlayerCameraPos(i, 1384.3115,-2427.4436,76.6960);
    SetPlayerCameraLookAt(i, 1614.5818,-2293.3557,30.9775);
    SetPlayerInterior(i, 0);
    SetPlayerVirtualWorld(i, 0);


    SendClientMessage(i, 0xFFAA00FF, "[-----------------------------| Das Tutorial in etwa 120 Sekunden |-----------------------------]");
    SendClientMessage(i, 0x0069FFFF, " Willkommen auf dem Reallifeserver: German Life Roleplay!");
    SendClientMessage(i, 0x0069FFFF, " Schön, das du den weg auf unsren Server gefunden hast.");
    SendClientMessage(i, 0x0069FFFF, " Da du neu hier bist, wird empfohlen, das Tutorial aufmerksam verfolgen.");
    SendClientMessage(i, 0x0069FFFF, " *Nun, viel Spaß beim Tutorial*");
    SendClientMessage(i, 0x0069FFFF, " [---------------------------------------------------------------------------------------------] ");
    SendClientMessage(i, COLOR_WHITE, " ");
    }


    und das tut geht normal weiter...


    Aber wie gesagt, es kommt der Error, undefined symbol "playerid", bei dem ShowplayerDialog


    Dann hab ich bei OnDialogResponse das:


    if(response == DIALOG_TUTMACHEN)//Tutmachen Dialog Überspringen
    {
    if(response==1)
    {
    TutTime[playerid] = 1;
    }
    if(response==2)
    {
    SetPlayerPos(playerid,1136.0172,-1462.9845,15.7930);
    SetPlayerFacingAngle(playerid,33.8881);
    SetPlayerVirtualWorld(playerid,0);
    }
    return 1;
    }


    Also wenn er es machen will (Button 1) macht er nichts, bzw spielt Tutime beim Player ab. (erst hatte ich das leer gelassen, weil ich dachte wenn da nichts steht, das er dann normal weitermacht)
    Beim Button 2, also wenn er es nicht machen will, soll es ihn einfach spawnen.


    Dann hab ich noch den Define:


    #define DIALOG_TUTMACHEN 111


    //edit: Okay, hab über das Tutorial new playerid; geschrieben. Funktioniert jetzt ohne Errors.


    Der Dialog kommt, allerdings kann man auf keinen Button drücken, da dann der Dialog kurz weg geht, aber wieder kommt, außerdem läuft das Tutorial im HIntergund ab. :/ Was muss ich anders machen?!


    Lg byBSE



    2 Mal editiert, zuletzt von Tomsen ()

  • OnPlayerConnect? Der soll ja kommen bevor der Spieler das tutorial macht, (dieses kommt nach der registration) um dann zu entscheiden ob er sich es anschauen will.


    Der wird ja erst danach gespawnt. Und das soll ja auch nur dann kommen, wenn das tutorial kommt, und nicht immer beim Connecten, oder versteh ich da was falsch?


    Lg byBSE



    4 Mal editiert, zuletzt von Tomsen ()