Abfrage OnPlayerRequestClass Problem

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
  • Abend, ich habe gerade ein problem, ich versuch das so zu machen das erst wen er sich eingeloggt hat die Skin´s und der Standart Dialog zum weiterdrücken kommt,


    wie kann ich das machen? Weil sonst ist beides gleich da, und man kann schon seinen Skin auswählen und Spawnen das will ich aber nicht.


    Vielen Dank im voraus!

  • du musst den login / register dialog alles bei OnPlayerConnect eintragen


    So ein Quatsch, der Callback OnPlayerRequestClass wird automatisch aktiviert ^^


    Also gibt es da nur eine Möglichkeit, du schreibst bei diesem Callback OnPlayerRequestClass das hier rein:


    SpawnPlayer(playerid);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • er will ja nicht das man den char nich auswählen kann.. er will nur nicht das man es kann bevor man sich eingeloggt hat ;) (so wie ich es verstanden habe :D)

    http://youtube.com/sixxaafx


    Ich habe dir bei einem Problem geholfen oder dir gefällt eines meiner Werke?
    Lass es mich Wissen, indem du auf dieses Bildchen klickst


  • er will ja nicht das man den char nich auswählen kann.. er will nur nicht das man es kann bevor man sich eingeloggt hat ;) (so wie ich es verstanden habe :D)


    Jop, das von Kaliber geht war zuerst, doch wen ich dan bei meinen Dialog "Close oder OK" Dücke geht er weier und spawnt die person, ohne das ich ein Skin ausgewählt habe


    -.- giebt es eine andere möglichkeit?

  • versteh ich nicht ganz, hier hab den code mal geschickt:


    Jop, also ich habe das ein wenig verzwickt, das login/register system ist ein fs:


    Login/Register system:


    public OnPlayerConnect(playerid)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Bitte Warten der Server wird geladen...{FFFFFF} || {FF0000}Please Wait, the server was loading...");
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"acc/%s.sav",pname);
    if(fexist(accFormat))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}Login","Willkommen zurück, Bitte gebe Dein Passwort ein: {FFFFFF} || {FF0000}Welcome back, request gives your password:","OK","Close");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}Registrieren","Du bist neu, Bitte gebe dein Passwort ein: {FFFFFF} || {FF0000}You are new, request gives your password:","Zurück","Weiter");
    }
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    SetPlayerPos(playerid,1532.795776, -1774.432128, 33.512901);
    SetPlayerCameraPos(playerid,1532.795776, -1774.432128, 33.512901);
    SetPlayerCameraLookAt(playerid,1482.4122,-1817.8125,15.2430);
    SetPlayerFacingAngle(playerid,286.6894);
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"acc/%s.sav",pname);
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}Login","Willkommen zurück, Bitte gebe Dein Passwort ein: {FFFFFF} || {FF0000}Welcome back, request gives your password:","OK","Close");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!{FFFFFF} || {FF0000}No password specified");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    Player[playerid][admin] = dini_Int(accFormat,"AdminLvl");
    Player[playerid][lvl] = dini_Int(accFormat,"lvl");
    Player[playerid][Kills] = dini_Int(accFormat,"Kills");
    Player[playerid][Deaths] = dini_Int(accFormat,"Deaths");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    Player[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Sie haben sich erfolgreich angemeldet{FFFFFF} || {FF0000}They have announced themselves successfully");
    InterpolateCameraPos(playerid, 1532.795776, -1774.432128, 33.512901, 1529.263916, -1686.004516, 14.459429, 4500);
    InterpolateCameraLookAt(playerid, 1528.934692, -1777.396484, 32.370731, 1533.586914, -1683.492187, 14.482867, 5000);
    ApplyAnimation(playerid,"DANCING","DAN_LOOP_A",4.0,1,0,0,1,-1);
    SetPlayerPos(playerid,1536.2725,-1682.5726,13.5469);
    SetPlayerFacingAngle(playerid,119.8449);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}Login","Willkommen zurück, Bitte gebe Dein Passwort ein: {FFFFFF} || {FF0000}Welcome back, request gives your password:","OK","Close");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist falsch!{FFFFFF} || {FF0000}The password is wrong!");
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,"{FF0000}Registrieren","Du bist neu, Bitte gebe dein Passwort ein: {FFFFFF} || {FF0000}You are new, request gives your password:","Zurück","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurtz! {FFFFFF} || {FF0000}The password is too short!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Player[playerid][admin] = 0 ;
    Player[playerid][lvl] = 0 ;
    Player[playerid][Kills] = 0 ;
    Player[playerid][Deaths] = 0 ;
    Player[playerid][eingeloggt] = 1;
    InterpolateCameraPos(playerid, 1532.795776, -1774.432128, 33.512901, 1529.263916, -1686.004516, 14.459429, 4500);
    InterpolateCameraLookAt(playerid, 1528.934692, -1777.396484, 32.370731, 1533.586914, -1683.492187, 14.482867, 5000);
    ApplyAnimation(playerid,"DANCING","DAN_LOOP_A",4.0,1,0,0,1,-1);
    SetPlayerPos(playerid,1536.2725,-1682.5726,13.5469);
    SetPlayerFacingAngle(playerid,119.8449);
    return SendClientMessage(playerid,0xFFFFFFFF,"Ihr Konto wurde erfolgreich registriert!{FFFFFF} || {FF0000}Their(Her) account was registered successfully!");
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}Login","Willkommen zurück, Bitte gebe Dein Passwort ein: {FFFFFF} || {FF0000}Welcome back, request gives your password:","OK","Close");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,"{FF0000}Registrieren","Du bist neu, Bitte gebe dein Passwort ein: {FFFFFF} || {FF0000}You are new, request gives your password:","Zurück","Weiter");
    }
    }
    return 1;
    }


    Im Gamemode dann:


    public OnPlayerRequestClass(playerid, classid)
    {
    if(IsPlayerNPC(playerid))return 1;
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "RotKohl", true))
    {
    SetPlayerSkin(playerid, 205);
    }
    }
    switch(classid)
    {
    case 0,1,2,3,4,5,6: gTeam[playerid] = TEAM_COP; // 1. bis 7. Skins
    }
    if(classid == 0 || classid == 1 || classid == 2 || classid == 3 || classid == 4 || classid == 5 || classid == 6){
    //------------------------Text Draw Cops------------------------------------
    TextDrawHideForPlayer(playerid,gang);
    new newtext[41];
    format(newtext, sizeof(newtext), "Team: Cops (ls)");
    TextDrawSetString(gang,newtext);
    TextDrawShowForPlayer(playerid,gang);
    //------------------------Text Draw Cops------------------------------------
    SetPlayerPos(playerid,1536.2725,-1682.5726,13.5469);
    SetPlayerCameraPos(playerid,1529.263916,-1686.004516,14.459429);
    SetPlayerCameraLookAt(playerid,1538.9646,-1680.2062,13.5469);
    SetPlayerFacingAngle(playerid,119.8449);
    ApplyAnimation(playerid,"DANCING","DAN_LOOP_A",4.0,1,0,0,1,-1);
    SetPlayerColor(playerid,COLOR_DBLUE);
    GameTextForPlayer(playerid, "", 2000, 6);}//-
    return 1;
    }

  • irgendwie macht mich das alles stutzig^^ vor allem, dass das Account-System ein filterscript ist :D ich weiß nicht ob das was bringt aber ich würds an deiner stelle ins script mit rein bauen ;) das is ja bei nem fertigen system ne sache von keinen 5 minuten ;) (Copy+Paste)..


    :D es bringt wahrscheinlich gar nichts und ich bin einfach nur zum kacken zu blöd (^^) aber naja :D

    http://youtube.com/sixxaafx


    Ich habe dir bei einem Problem geholfen oder dir gefällt eines meiner Werke?
    Lass es mich Wissen, indem du auf dieses Bildchen klickst