Beiträge von Kaliber

    Kaliber, in der Zeile 'if(rows)', wo soll ich dort dann die Dialoge hinschreiben? Also wenn ein Account existiert soll sein Loginfenster kommen, wenn er ein Account hat, soll ein Registerfenster kommen
    irgendwie blick ich grad nicht durch, was du gepostet hast.


    Achso :D Das wolltest du einfach nur...dann einfach so:


    public SpielerVorhanden(playerid)
    {
    new rows, fields;
    cache_get_data(rows, fields);
    if(rows) return ShowPlayerDialog(playerid,DIALOG_EINLOGGEN,DIALOG_STYLE_PASSWORD,"login",string,"Spielen"," ");
    return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"regist",string,"Anmelden"," ");
    }


    mfg. :thumbup:


    Schreib das mal so:


    public SpielerVorhanden(playerid)
    {
    new rows, fields;
    cache_get_data(rows, fields);
    if(rows)
    {
    //Wenn der Account existiert
    new fetch[11],id;
    cache_get_row(0, 0, fetch), id = strval(fetch);
    //fetch holt den String aus dem cache und da id ein Integer ist, muss es dann nochmal umgewandelt werden.
    //Du fragst ja nur die id ab in deinem Query, deshalb sind alle anderen Felder leer, wenn du mehr abfragen würdest, machst du das einfach so:
    //cache_get_row(0, 1, fetch); hier hättest du dann den nächsten Eintrag
    }
    return 1;
    }


    mfg. :thumbup:

    Also heißt das jetzt genau, dass was in dem listitem steht wird mit info[listitem] ausgegeben`?


    Ja, genau so ist es ;)


    Allerdings hat mich BlackAce gerade darüber aufgeklärt, dass inputtext...schon diese Information enthält...jedoch kann man damit ja aber auch noch mehr machen, die davor und dahinter abfragen und bei ner MSGBox den String rausholen, wenn man ihn braucht...


    Mhm...ich lass es einfach mal drinnen ;)


    mfg. :thumbup:

    Guten Abend liebe Breadfisher,


    ich habe in den letzten Tagen einige Threads gelesen, dass sie den Text den sie eingeben auch beim Callback wieder abrufen wollen. Dies war leider nicht möglich, bis jetzt :)
    Ich habe mir mal kurz die Zeit genommen und ein Include geschrieben, der das macht.


    1. Wie nutze ich sie und was bringt sie jetzt genau?
    Also, ich verdeutliche das mal alles an einem Beispiel:


    //Irgendwo rufen wir einen Dialog auf...
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_LIST,"Test","Peter\nHans","Bestätigen","");


    //Und dann fragen wir ab:
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[], info[][]) //info[][] ist mein Zusatz-Parameter diesen nicht vergessen! Darüber werden die Sachen übergeben!
    {
    if(dialogid==0) {
    printf("%s",info[listitem]); //Zum Beispiel so, wenn wir jetzt Peter angeklickt hätten, würde hier Peter stehen, wenn wir Hans angeklickt hätten, halt Hans
    }
    return 1;
    }


    2. Source-Code:
    Source-Code: Pastebin
    Direkter-Download: Mediafire


    3. Schlusswort:
    Ich würde mich über eine kleine Rückmeldung freuen :)


    mfg. :thumbup:

    #define OnDuty
    #define IsACop
    #define IsPlayerConnected
    #define cmd


    Nette Idee, aber so funktioniert das nicht :D


    Schließlich definierst du hier nur einen Begriff, jedoch ohne Wert...bzw ohne Anweisung, IsACop, weiß doch jetzt gar nicht, was er tun soll ^^


    Du musst dir die Funktionen suchen, die du verwenden willst oder selbst schreiben und lösch das bitte alles...macht alles keinen Sinn! :rolleyes:


    mfg. :thumbup:

    Ah habs auch gesehen, jetzt kommt noch folgendes:


    Schreib das mal so:


    if(listitem == 0) {
    new string[128],dini[15 + MAX_PLAYER_NAME],name[MAX_PLAYER_NAME],Float:health;
    GetPlayerName(playerid,name,MAX_PLAYER_NAME),format(dini,sizeof dini,"/Accounts/%s.ini",name),GetPlayerHealth(playerid, health);
    format(string,sizeof string,"Name: %s\nGeld: %d\nLeben: %f\nScore: %d\nAdminlevel: %d\nWarns: %d", name, GetPlayerMoney(playerid), health, GetPlayerScore(playerid), dini_Int(dini,"Admin"), dini_Int(dini,"Warns"));
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Statistiken",string,"Bestätigen","");
    }


    mfg. :thumbup:

    Schreib den Code mal so:


    public minute() {
    new i,string[64];
    for(; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !GetPVarInt(i,"loggedin"))continue;
    SetPVarInt(i,"Paytime",GetPVarInt(i,"Paytime")+1);
    if(GetPVarInt(i,"Paytime")==60) {
    new paydaygeld;
    switch(GetPVarInt(i,"Fraktionsrang")) {
    case 0:paydaygeld = 750; //zivi
    case 1:paydaygeld = 1500;// pd
    case 2:paydaygeld = 1000;// gang 1
    case 3:paydaygeld = 2000;// medic
    case 4:paydaygeld = 1000;// gang 2
    case 5:paydaygeld = 1000;// gang 3
    }
    //was alle 60 minuten ausgeführt werden soll
    SetPVarInt(i,"Paytime",0), format(string,64,"Payday. Du erhältst %d$.",paydaygeld),SendClientMessage(i,BLAU,string);
    GivePlayerMoney(i,paydaygeld), SetPlayerScore(i,GetPlayerScore(i)+1);
    }
    }
    return 1;
    }


    mfg. :thumbup:

    Du musst es so schreiben:


    if (strcmp("/maske", cmdtext, true) == 0)
    {
    if(Spieler[playerid][Team] != 4) return SendClientMessage(playerid, COLOR_RED, "Sie können keinen Maske aufsetzen.");
    for(new i; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, false);
    return 1;
    }


    mfg. :thumbup:

    Zudem wird in C# die "Zugriffsattribute" nicht nach einem Doppelpunkt geschrieben.


    In C++ verwendet man -> und in C# . ;)


    So kann man das eigentlich ziemlich schnell sehen ^^


    Weiß jemand, wo der Fehler liegt? :/


    Du solltest nochmal alle deine Projekte löschen und dann ein neues erstellen...da sind die Klassen durcheinander gekommen...und der namespace ;)


    mfg. :thumbup: