Beiträge von varrez

    Würde gerne die Hitrate, die gesamten Schüsse und alle Treffer berechnen und Speichern - würde mich freuen wenn da mal jemand drüber schauen und mir sagen könnte, ob ich was falsch gemacht habe. In meiner Tabelle erhalte ich bei Shots und Hits Einträge wie "1318930000"..


    Zuallererst


    SendClientMessage(0x00489184,handle,string);


    zu


    SendClientMessageToAll(0x00489184, string);


    Außedem gibst du string in deinem mysql_format an, welcher mit der Kick Meldung gefüllt ist.
    Nutz am besten query (new query[256];)

    Die für mich einfachste aber nicht beste Methode:



    stock PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
    }


    Dann kannst du immer PlayerName(playerid) bzw. PlayerName(pid) benutzen.

    So sollte es jetzt eigentlich erstmal funktionieren:



    ocmd:makeadmin(playerid,params[])
    {
    if(!isAdmin(playerid,4))return SendClientMessage(playerid,color_rot,"Dazu bist du nicht befugt!");
    new pid,level;
    if(sscanf(params,"ui",pid,level))return SendClientMessage(playerid,color_rot,"Verwendung: /makeadmin [ID/NAME] [LEVEL]");
    new aname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, sizeof(aname));
    GetPlayerName(pid, pname, sizeof(pname));
    new string[128];
    format(string, sizeof(string), "Admin %s hat dir das Adminlevel %d gegeben.", aname, level);
    SendClientMessage(pid,color_rot,string);
    format(string, sizeof(string), "Du hast %s das Adminlevel %d gegeben.", pname, level);
    SendClientMessage(playerid,color_rot,string);
    sInfo[pid][pAdmin]=level;
    return 1;
    }

    ocmd:makeadmin(playerid,params[])
    {
    if(!isAdmin(playerid,4))return SendClientMessage(playerid,color_rot,"Dazu bist du nicht befugt!");
    new pid,level;
    if(sscanf(params,"ui",pid,level))return SendClientMessage(playerid,color_rot,"Verwendung: /makeadmin [ID/NAME] [LEVEL]");
    new string[128];
    format(string, sizeof(string), "Admin %s hat dir das Adminlevel %d gegeben.", SpielerName(playerid), level);
    SendClientMessage(pid,color_rot,string);
    format(string, sizeof(string), "Du hast %s das Adminlevel %d gegeben.", SpielerName(pid), level);
    SendClientMessage(playerid,color_rot,string);
    sInfo[pid][pAdmin]=level;
    return 1;
    }


    Jenachdem ob du SpielerName() verwendest, anpassen an das was du nutzt.

    Ich werfe ein Osterei in den Pott und nehme damit teil,
    hoffentlich kommt der Osterhase noch mal zu mir, denn sonst fehlt mir ein Ei. 8o
    Ich würde mich sehr freuen über ein Webspace Ares,
    wenn's das gäbe, gerne auch was Bares.
    Gut, ich sehs ein, Bares wär dann schon zuviel,
    deswegen würde ich mich auch freuen, über nen Spiel.
    "Ich nehme Teil" oder "bin dabei" zu schreiben find ich zu wenig,
    die meistens die Teilnehmen, kriegen eh nichts.
    Ich hoffe das ich mich mit meinen Reimen nicht blamier,
    dafür aber ordentlich was kassier.
    Ich wünsche jedem der hier teilnimmt Glück,
    aber auch nur ein kleines Stück :P


    :thumbup:

    Hallo, ich seh wahrscheinlich mal den Wald vor lauter Bäumen nicht.. Jedenfalls wird die IP nicht gespeichert:


    PlayerInfo:
    IP[32],


    OnPlayerConnect
    new playerip[32];
    GetPlayerIp(playerid, playerip, sizeof(playerip));
    strmid(PlayerInfo[playerid][IP], playerip, 0, strlen(playerip), 255);


    Save public:
    new pIP = PlayerInfo[playerid][IP];


    im mysql_format
    ip = '%s' //anschließender Parameter "pIP"


    Datenbank:
    Name: ip
    Typ: varchar(32)
    Kollation: latin1_swedish_ci
    Null: Ja
    Standart: 0


    Sieht jemand mein Fehler?

    Hattest du meine Korrektur aus Post #6 auch probiert?


    mysql_format(Handle, Query, sizeof(Query), "UPDATE `Spieler` SET `IP`='%s', `Admin`='%d', `VIP`='%d', `Morde`='%d', `Tode`='%d', `Level`='%d', `Geld`='%d' WHERE `ID`='%d'", IP[playerid], SpielerInfo[playerid][Admin], SpielerInfo[playerid][VIP], SpielerInfo[playerid][Morde], SpielerInfo[playerid][Tode], GetPlayerScore(playerid), SpielerInfo[playerid][Geld], SpielerInfo[playerid][ID]);

    Der Fehler bleibt weiterhin bestehen er soll in Folgender Zeile sitzen
    mysql_format(Handle, Query, sizeof(Query), "UPDATE `Spieler` SET `IP`='%s', `Admin`=%d, `VIP`=%d, `Morde`=%d, `Tode`=%d, `Level`=%d, `Geld`=%d WHERE `ID`=%d",\ IP[playerid], SpielerInfo[playerid][Admin], SpielerInfo[playerid][VIP], SpielerInfo[playerid][Morde], SpielerInfo[playerid][Tode], GetPlayerScore(playerid), SpielerInfo[playerid][Geld], SpielerInfo[playerid][ID]);

    Du hast ein "\" nach `ID`="%d", schätze das gehört nicht dort hin


    Gruß

    mysql_tquery(Handle, Query, "", "");


    zu


    mysql_tquery(Handle, Query, "OnAccountCheck", "i", playerid);


    Edit: bzw probier das auch mal:


    mysql_format(Handle, Query, sizeof(Query), "UPDATE `Spieler` SET `IP`='%s', `Admin`=%d, `VIP`=%d, `Morde`=%d, `Tode`=%d, `Level`=%d, `Geld`=%d WHERE `ID`=%d",
    IP[playerid], SpielerInfo[playerid][Admin], SpielerInfo[playerid][VIP], SpielerInfo[playerid][Morde], SpielerInfo[playerid][Tode], GetPlayerScore(playerid), SpielerInfo[playerid][Geld], SpielerInfo[playerid][ID]);


    Da ich 2 Domains besitze, welche ich nicht benötige, "verschenke" ich diese. Die Domains werden nicht übertragen, bleiben also in meinem Besitz. Sie können am Ende der Laufzeit von euch übernommen werden, oder ich übergebe Sie an euch, wenn ich denke das die Domain bei euch in den richtigen Händen liegt. Das heißt, ihr "erhaltet" erstmal eine Weiterleitung. Beide Domains habe ich bei Nitrado registriert.


    Domain 1: vailya.de
    Restliche Laufzeit: 246 Tage


    Domain 2: hardwaregeneral.de
    Restliche Laufzeit: 201 Tage


    Wer Interesse hat, kann mich Privat kontaktieren, oder hier im Thread einen Beitrag hinterlassen, warum und wofür er die jeweilige Domain gerne hätte.


    Gruß
    varrez

    Vielleicht nen Login und Register System schreiben?

    Damit meine ich, was das "format(query, sizeof(query), "..", ..);" für einen Nutzen haben soll, da es mit ".." gefüllt ist und er ja etwas weiter unten mysql_format nutzt.

    Sobald ich OnPlayerUpdate nutze (sonst ausgeklammert), sehen Spieler die anderen nicht mehr bewegen und alle Spieler bekommen das ESC/Desktop Symbol vor den Namen. Hat jemand eine Idee, was der Fehler sein könnte?


    /*public OnPlayerUpdate(playerid) {
    new drunknew;
    drunknew = GetPlayerDrunkLevel(playerid);


    if (drunknew < 100) {
    SetPlayerDrunkLevel(playerid, 2000);
    } else {
    if (pDrunkLevelLast[playerid] != drunknew) {
    new wfps = pDrunkLevelLast[playerid] - drunknew;
    if ((wfps > 0) && (wfps < 200))
    pFPS[playerid] = wfps;
    pDrunkLevelLast[playerid] = drunknew;
    }}
    }*/


    Gruß