Beiträge von NicoAiko


    Ganz einfach eine Rechenaufgabe schreiben:
    new lohn = 1000;
    new steuern = 25;
    new netto = lohn\100*75; // ganz einfacher Dreisatz. Bei dieser Aufgabe werden zB. von den 1000$ Lohn 25% Steuern abgezogen.



    Naya in seinem Fall nicht :D


    10*75 = 750 -> ne Integer xD


    Aber im Regelfall hast du Recht.
    Hier mal meine Version



    new Float:Var = ???;


    Var -= Var*0.schießmichtot;

    MfG NicoAiko :D

    Eines ist komisch...


    Der Compiler des Pawnfox meckert bei der UC Include von Inteligent, der PAWNO Compiler aber nicht..
    Hab schon versucht den Compiler zu tauschen, bringt nix...


    UC.inc(10) : error 010: invalid function or declaration


    Außerdem sollte man einstellen können wie die Extras verwaltet werden, sprich DIALOG auch zu Dialog, und COLORS zu Color, das es halt Case-sensitive nicht beachtet


    Außerdem sind die Statuszeilen ganz unten scheinbar buggy, denn Fold all ist im Vordergrund also über der Statuszeile, der Rest im hintergrund...
    Sieht nicht sehr schön aus, außerdem wozu das Logo?


    Naya alles in allem 5/10, Unsaubere Arbeit bei der Erstellung der Form, z.B. bei Open kommt noch openFileDialog
    Der Compiler hat sie nicht mehr alle
    und die Extra-Verwaltung ist eingeschränkt.


    Ich denke trotz der Auto-Complete Funktion bleibe ich bei PAWNO.


    MfG NicoAiko

    du hast wohl die Funktion nicht ganz verstanden ^^


    noch dazu ist da ein fehler im query ^^


    mach es so

    new query[128],pIP[16];
    GetPlayerIp(playerid,pIP,16); // die 3. Variable wird überhaupt nicht gebraucht!
    format(query, sizeof query, "UPDATE `player` SET `IP` = '%s' WHERE `Name` = '%s'",pIP,SpielerName(playerid)); // %s ist ein String, demnach muss auch ein String reingesetzt werden ;)
    mysql_query(query);
    mysql_free_result();


    MfG NicoAiko

    boa woher soll ich denn wissen, wie du die Teams zuweist? ich habe dir nur den Weg genannt, wie du es machen kannst!!!


    Ich habe niemals behauptet, dass du ein GF hast!


    und das Unsinn² kannste auch lassen, so müsste es nämlich funktionieren!


    MfG NicoAiko


    PS: Wenns dir nicht passt, machs besser und schreibe hier keinen Thread!

    achso, naya



    public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
    {
    if(Sinfo[issuerid][Team] == Sinfo[playerid][Team])
    {
    new Float:hp;
    GetPlayerHealth(playerid,hp);
    SetPlayerHealth(playerid,hp+amount);
    }
    return 1;
    }


    fertig (ungetestet)

    Das muss dann ja ganz normal zu mysql_ReturnPassword richtig?
    Muss dann noch was zu OnDailogResponse?


    Ne ne ^^


    Das läuft anders, nix mit ReturnPasswort ;)
    Ungefähr so

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case Dialog_Login:
    {
    if(!response) return Kick(playerid);
    new query[150];
    format(query,150,"SELECT COUNT(*) FROM `Accounts` WHERE `Name` = '%s' AND `Passwort` = '%s'",getName(playerid),inputtext);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(query);
    new count = strval(query);
    mysql_free_result();
    if(count)
    {
    SendClientMessage(playerid,Color_Green,"Du hast dich erfolgreich eingeloggt!");
    SetPVarInt(playerid,"LoggedIn",1);
    }
    else
    {
    ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_PASSWORD,"Login fehlgeschlagen","{FF0000}Das Passwort ist falsch!\nGebe es erneut ein!","Okay", "Beenden");
    }
    return 1;
    }
    usw...



    Wie du siehst, gibt es kein ReturnPasswort, denn es muss nichts returnt werden,
    es werden nur die Anzahl der Einträge gezählt, die auf den Namen + Passwort passen!

    Hää jetzt verwirrst du mich...


    Ich benutz eh keine Select Passwort Geschichte ^^


    Ich benutze die Count Methode ;)


    Aber wenn du meinst ^^


    Optional noch für die, die wissen wollen, wie die Count-Methode funktioniert:

    Spoiler anzeigen


    new query[150];
    format(query,150,"SELECT COUNT(*) FROM `Accounts` WHERE `Name` = '%s' AND `Passwort` = '%s'",getName(playerid),MD5_Hash(inputtext));
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(query);
    new count = strval(query);
    mysql_free_result();
    if(count)
    {
    SendClientMessage(playerid,Color_Green,"Du hast dich erfolgreich eingeloggt!");
    SetPVarInt(playerid,"LoggedIn",1);
    }
    else
    {
    ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_PASSWORD,"Login fehlgeschlagen","{FF0000}Das Passwort ist falsch!\nGebe es erneut ein!","Okay", "Beenden");
    }

    Ich glaube eigentlich, dass es beim Stock egal ist, aber wo steht denn die Funktion? Ganz oben, oder ganz unten?


    Edit: Nebenbei ist es "bescheuert" query[130] zu machen, wenn du nur 128 verwendest ;)


    Wenn du das Passwort per MD5 verschlüsselst reichen auch 50 denke ich, so viel zu benutzen ist verschwendung ^^

    Guck dir mal die Parameter an, dann findest du den Fehler

    mysql_ReturnPassword(SpielerName,playerid)


    mysql_ReturnPasswort(Name[])


    Edit:


    Und wenn ich dir einen Tipp geben darf:


    Mach es lieber so:

    else if(!strcmp(inputtext,mysql_ReturnPassword(getName(playerid))))
    {
    LoadAccount(playerid);
    }


    stock getName(playerid)
    {
    new gN_Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,gN_Name,sizeof(gN_Name));
    return gN_Name;
    }


    Indem du das "true" weglässt, wird die Case-sensitive beachtet!
    D.h. HALLO != hallo


    ;)


    MfG