Wie bekomme ich die Errors weg ?

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
  • Also, ich bin gerade mein Loogin Register am Bearbeiten,/Weiterführen
    und bin nun am Geschlecht dran,


    Aber bekomme diesen Error

    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(1001) : error 035: argument type mismatch (argument 3)
    C:\Users\Rudi_Rammler\Desktop\Server\Selfmade 2\gamemodes\Selfmade1.0.pwn(1005) : error 035: argument type mismatch (argument 3)



    Zeilen:

    if(dialogid == DIALOG_GESCHLECHT)// wie oben
    {
    if(response)// wie oben
    {
    if(listitem == 0)
    {
    SetPVarInt(playerid,"Geschlecht","Männlich"); // 1001
    }
    if(listitem == 1)//wenn er das 2. ausgew�hlt hat
    {
    SetPVarInt(playerid,"Geschlecht","Weiblich"); // 1005
    }
    }
    }


    Und so sehen meine Stockes aus (Register,LoadAccount,AccountSpeichern)


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,Blau,"Erfolgreich registriert.");
    SetPlayerScore(playerid,1);
    SetPlayerSkin(playerid,299);
    SetPVarInt(playerid,"loggedin",1);
    SetPVarInt(playerid,"Fraktion",1);
    SetPVarInt(playerid,"PayDay",0); // dini_IntSet bedeutet ganz einfach, das es in der .txd datei eine neue Zeile anlegt, Da steht dann: Payday= und dann die 0, die wir hier "PayDay",0 gesetzt haben wir wollen ja das er bei 0 Anfängt. Natürlich kann man auch eine andere Zahl setzten ;)
    SetPVarInt(playerid,"Monate",0);
    SetPVarInt(playerid,"Job",0);
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,Blau,"Erfolgreich eingeloggt.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Blau,"Falsches Passwort.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    return 1;
    }
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Wanteds",dini_Int(Spielerdatei,"Wanteds"));
    SetPVarInt(playerid,"PayDay",dini_Int(Spielerdatei,"PayDay"));//Er soll aus der Spielerdatei den PayDay einstellen bzw. die Zahl vergeben (SetPVarInt). Übrigens bedeutet das Int=Integer. Das heißt Zahl. Also wenn ihr was mit Int macht, dann wird es als Zahl gespeichert. Also: SetPVarInt(playerid,"PayDay" heißt das er die Payday Variable einstellen (Set) soll. Danach steht wo er diese Information hernehmen kann, also aus der Spielerdatei, Zeile PayDay.
    SetPVarInt(playerid,"Monate",dini_Int(Spielerdatei,"Monate"));
    SetPVarInt(playerid,"Job",dini_Int(Spielerdatei,"Job"));
    SetPVarInt(playerid,"Geschlecht",dini_Int(Spielerdatei,"Geschlecht"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,Rot,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Wanteds",GetPVarInt(playerid,"Wanteds"));
    dini_IntSet(Spielerdatei,"PayDay",GetPVarInt(playerid,"PayDay")); //dini_IntSet bedeutet das er eine Zahl in die Name.txd datei eintragen soll, in der Zeile PayDay, GetPVar, damit gibt er die Zahl die er dann speichert.
    dini_IntSet(Spielerdatei,"Monate",GetPVarInt(playerid,"Monate"));//hier das selbe für monate
    dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    }
    return 1;
    }



    Hoffe ihr könnt mir Helfen,
    Und ja, ich habe den Dialog Defined oben im Script, und der DIalog wird dann auf gerufen wenn der USer Registriert wird
    also hier

    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,Blau,"Du hast den Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Blau,"Das Passwort war nicht lang genug.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    ShowPlayerDialog(playerid,DIALOG_GESCHLECHT,DIALOG_STYLE_LIST,"Wähle dein geschlecht","Männlich \nWeiblich","Auswählen","Abbrechen");
    return 1;
    }
    }
    }
    return 1;
    }



    Hoffe das ihr mir Helfen könnt,
    Danke im Vorraus
    Gruß Dr.TUrk


    //e Leserlich Gestatet, War alles nur in einer Reihe xD

  • also soll ich das jetzt so machen


    if(dialogid == DIALOG_GESCHLECHT)// wie oben
    {
    if(response)// wie oben
    {
    if(listitem == 0)
    {
    SetPVarString(playerid,"Geschlecht","Männlich"); // 1001
    }
    if(listitem == 1)//wenn er das 2. ausgew�hlt hat
    {
    SetPVarString(playerid,"Geschlecht","Weiblich"); // 1005
    }
    }
    }#


    =???
    habe dies jetzt so gemacht, aber dann steht dieses in meiner .txt datei


    Passwort=123
    Level=1
    Geld=0
    Adminlevel=0
    Fraktion=1
    Baned=0
    Wanteds=0
    PayDay=0
    Monate=0
    Job=0
    Geschlecht=0


    Also bei Geschlecht steht nur ne 0


    //e Eingefügt

  • SetPVarInt(playerid,"Männlich",GetPVarInt(playerid,"Geschlecht"));


    kA ob das funzt, ich kenn mich leider nicht so gut mit SetPvar etc. aus :x

  • PAWN Quelltext
    1
    SetPVarInt(playerid,"Männlich",GetPVarInt(playerid,"Geschlecht"));

    so müsste das doch funktionieren?
    ich habe mir die besagten codeschnipsel mal angeschaut - bei mir funktioniert alles :P
    Also das oben im Zitat schein das richtige zu sein.


    Mit freundlichen Grüßen
    SeasBoy


    Du hast Probleme beim Programmieren oder mit deinem PC?
    Registriere Dich doch auf PC-Rat-Hilfeforum.de.
    Nach dem Registrieren musst du nur deine E-Mail-Adresse bestätigen,
    dann kann es auch schon losgehen. Also worauf wartest du?


    Erreichbar unter folgender E-Mail-Adresse
    support@pc-rat-hilfeforum.de

  • und wie muss ich es dann bei den stocks machen ?
    weil ich habe dies nun bei den Geschlecht Dialog, aber wenn ich mich Registriere, steht trotzdem noch eine 0 bei Geschlecht :(

  • achso, du willst ein String speichern?


    Dann musst du SetPvarString benutzen.

    SetPVarString(playerid,"name vom dem gespeicherten","Stringname den du speichern willst");


    das müsste eig. funzen, hast du auch deine datei gelöscht?

  • also ich habe meine Datei Gelöscht, (ich musste es ja Testenm xD)


    Also muss ich das nun unter den Register Stock machen ?