Roleplay namen in der Registration erstellen?

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
  • Hallo,
    Ich habe eine Frage.
    Undzwar, wie mache ich das dass in der Registration, dieser spieler der sich grad Registriert einen RolePlay namen mit einem DIALOG_STYLE_INPUT erstellen muss? Also ich will hier jetzt keinen Code.
    Sondern könnt ihr mir erklären wie ich sowas machen kann? Ich habe grad nur den Dialog :3, ich weiß nicht wie ich es dann so machen kann, das er dann nur mit dem Namen wo er in den Input reinschreibt
    angezeigt wird wie Bsp: "John_Konner sagt: blabla" Also das er Ingame den namen vom Roleplay hat, aber über dem Charakter immernoch der Name, der halt am anfang vom samp erstellt werden kann.


    Könnt ihr mich verstehen? Dann bitte ich um Hilfe :D

  • erstellst ne variable die den inhalt vom inputtext festhalt und dann bei OnPlayerText oder wo du es auch sonst verwenden willst ausgeben mit der variable:


    new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",inputtext); müsste das sein

  • erstellst ne variable die den inhalt vom inputtext festhalt und dann bei OnPlayerText oder wo du es auch sonst verwenden willst ausgeben mit der variable:


    new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",inputtext); müsste das sein


    Nun ich habe bisjetzt verstanden das das mit dem new RPName[MAX_PLAYERS]...blabla
    ganz oben wo die anderen "new"s sind hin muss, stimmt?
    aber, ich habe noch nicht ganz kapiert wo ich das mit dem format hinmachen soll.
    bin zwar dumm aber naja :D, kannst mir mal sagen ob das bei DIALOG_REGSTEP_4 reinsoll oder bei dem 1er unter dem ShowPlayerdialog?
    if(dialogid == DIALOG_REGSTEP_1)
    {
    if(response == 1)
    {
    PlayerInfo[playerid][pSex] = 1;
    RegistrationStep[playerid] = 4;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner)","Bestätigen"," ");
    }
    if(response == 0)
    {
    PlayerInfo[playerid][pSex] = 2;
    RegistrationStep[playerid] = 4;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner) ","Bestätigen"," ");
    }
    }
    if(dialogid == DIALOG_REGSTEP_4)//RP NAME
    {
    //Hier rein?
    }

  • new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];


    stock IsRPName(name[]) //©Jeffry
    {
    new found = 0;
    for(new i=2, j = strlen(name)-2; i < j; i++) if(name[i] == '_') found++;
    if(found == 1) return true;
    else return false;
    }//Irgendwo im Script, aber in keinem Callback (public)!

    if(dialogid==DIALOG_REGSTEP_1){
    if(!response)return PlayerInfo[playerid][pSex]=2,RegistrationStep[playerid]=4,ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner) ","Bestätigen"," ");
    return PlayerInfo[playerid][pSex]=1,RegistrationStep[playerid]=4,ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner)","Bestätigen"," ");
    }
    else if(dialogid==DIALOG_REGSTEL_4){
    if(!IsRPName(inputtext))return ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner)","Bestätigen"," ");
    return format(RPName[playerid],MAX_PLAYER_NAME,inputtext);
    }
    //Nun ist in RPName[playerid] der eingegebene Roleplay-Name von dem Spieler


    //Auszulesen mit:
    new string[128];
    format(string,128,"Dein RP-Name: %s",RPName[playerid]);
    SendClientMessage(playerid,-1,string);


    Sollte klar sein oder? :D

  • Beitrag von WhiteWay ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.

  • Naja hab nicht die Variante genommen, aber es klappt wie ich es so gemacht habe, hoffentlich auch dann bei mehreren :)
    //Bei dem wo man redet
    format(string, sizeof(string), "%s{00FFDC}%s {FFFFFF}sagt: %s",akzent,RPName[playerid], text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    format(string, sizeof(string), "%s",text);
    SetPlayerChatBubble(playerid,string,0xFF0000FF,15,10000);
    //-----------------------------------------------------------------------------------
    if(dialogid == DIALOG_REGSTEP_1)
    {
    if(response == 1)
    {
    PlayerInfo[playerid][pSex] = 1;
    RegistrationStep[playerid] = 4;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner)","Bestätigen"," ");
    }
    if(response == 0)
    {
    PlayerInfo[playerid][pSex] = 2;
    RegistrationStep[playerid] = 4;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_4,DIALOG_STYLE_INPUT,"GTR- Eigende Daten","Was soll dein RolePlay name sein? (in dieser Form z.b: John_Konner) ","Bestätigen"," ");
    }
    }
    if(dialogid == DIALOG_REGSTEP_4)//RP NAME
    {
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",inputtext);
    RegistrationStep[playerid] = 2;
    }
    //_-------------------------------------------------Ganz oben
    new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];

    Und es klappt einwandfrei :) Danke!


    //EDIT
    Tut mir leid! Es funktioniert nicht einwandfrei.
    Nach einem Relogg wird kein Name mehr angezeigt! wie speicher ich das jetzt in seinem Acc.cfg?

  • Schau dir mal deinen Speicherstock an und versuch es mal selber zu machen.


    format(var, 32, "RPName=%d\n",RPName);fwrite(hFile, var);
    das hab ich beim Registerstock gemacht (halt nachgemacht wie die anderen sachen :D)
    und
    if( strcmp( key , "RPName" , true ) == 0 ) { val = ini_GetValue( Data ); RPName = strval( val ); }//Bei dem Error
    das beim Login, aber kommt ein Error
    Array-Index fehlt (bspw. Array[1], Name: "RPName")

  • aus dem %d ein %s machen da du einen String und keinen Integer speicherst. Dann beim RPName fehlt jeweils der index also RPName[playerid] und bei der key überprüfung machste das wie beim inputtext nur anstatt inputtext val nutzen
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",val);

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

    aus dem %d ein %s machen da du einen String und keinen Integer speicherst. Dann beim RPName fehlt jeweils der index also RPName[playerid] und bei der key überprüfung machste das wie beim inputtext nur anstatt inputtext val nutzen
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",val);


    das Klaptt wohl nicht so gut, denn wenn ich jetzt schreibe kommt da eine "1" anstatt der name :D
    //EDIT
    Also nach der REgistration klappt es, aber nach dem Relogg nicht mehr

  • Alsoo
    Ganz Oben
    new RPName[MAX_PLAYERS][MAX_PLAYER_NAME];


    OnPlayerRegister
    format(var, 32, "RPName=%s\n",RPName[playerid]);fwrite(hFile, var);


    OnPlayerLogin
    if( strcmp( key , "RPName" , true ) == 0 ) { format(RPName[playerid],MAX_PLAYER_NAME,"%s",val); }


    und beim Schreiben
    format(string, sizeof(string), "%s{00FFDC}%s {FFFFFF}sagt: %s",akzent,RPName[playerid], text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    format(string, sizeof(string), "%s",text);
    SetPlayerChatBubble(playerid,string,0xFF0000FF,15,10000);


    Beim dem Registrieren
    format(RPName[playerid],MAX_PLAYER_NAME,"%s",inputtext);


    Bei einer Function die Sichern heißt :D
    format(var, 32, "RPName=%s\n",RPName[playerid]);fwrite(hFile, var);

  • Bau das mal vor dem format beim speichern ein val = ini_GetValue( Data ); quasi so


    if( strcmp( key , "RPName" , true ) == 0 ) { val = ini_GetValue( Data ); format(RPName[playerid],MAX_PLAYER_NAME,"%s",val); }

  • Beitrag von WhiteWay ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.