Beiträge von datgame

    Code
    [11:56:14] playerid:0: i=2 / 1==2 / 1==3


    Das kommt im Server_log.txt


    Die Pickups werden so erstellt:



    for(new i = 0; i < sizeof(CopSkinChange); i++)
    {
    CopSkinChange[i][skin_icon_id] = CreatePickup(1275, 2, CopSkinChange[i][skin_x], CopSkinChange[i][skin_y], CopSkinChange[i][skin_z], CopSkinChange[i][skin_vw]);
    }

    Hallo!


    Ich habe ein kleines Problem im Bezug auf einen Dialog, bei dem Cops ihren Skin Changen können. Beim LVPD (Frak ID: 3) funktioniert alles, doch beim SFPD (Frak ID: 2) und LSPD (Frak ID: 1) wird kein Dialog angezeigt.


    Hier alle Codes (OnPlayerPickup, Enum und Array und OnPlayerDialogResponse)


    [pwn=280]
    enum CopSkinChangeEnum {
    skin_icon_id,
    skin1,
    skin2,
    skin3,
    skin4,
    skin5,
    skinn1[24],
    skinn2[24],
    skinn3[24],
    skinn4[24],
    skinn5[24],
    Float:skin_x,
    Float:skin_y,
    Float:skin_z,
    skin_f_id,
    skin_vw
    };
    new CopSkinChange[][CopSkinChangeEnum] = {
    {0, 280, 281, 282, 283, 284, "LSPD Cop", "SFPD Cop", "LVPD Cop", "Sheriff", "Bike Police", 317.8099,-160.1672,999.5938, 1, 1},
    {0, 280, 281, 282, 285, 284, "LSPD Cop", "SFPD Cop", "LVPD Cop", "S.W.A.T", "Bike Police", 317.8099,-160.1672,999.5938, 2, 2},
    {0, 250, 170, 286, 285, 283, "Undercover 1", "Undercover 2", "FBI Agent", "S.W.A.T", "LVPD Cop", 317.8099,-160.1672,999.5938, 3, 3}
    };
    [/pwn]


    [pwn=951]
    for(new i = 0; i < sizeof(CopSkinChange); i++)
    {
    if(pickupid == CopSkinChange[i][skin_icon_id] && Spieler[playerid][fraktion] == CopSkinChange[i][skin_f_id])
    {
    new dialog[256];
    format(dialog, sizeof(dialog), "%s\n%s\n%s\n%s\n%s", CopSkinChange[i][skinn1],CopSkinChange[i][skinn2],CopSkinChange[i][skinn3],CopSkinChange[i][skinn4],CopSkinChange[i][skinn5]);
    ShowPlayerDialog(playerid, DIALOG_COP_SKINCHANGE, DIALOG_STYLE_LIST, "Skinchange", dialog, "Wechseln", "Abbrechen");
    }
    }
    [/pwn]


    [pwn=1081]
    if(dialogid == DIALOG_COP_SKINCHANGE)
    {
    if(!response) return 1;
    if(response)
    {
    if(listitem == 0) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin1]);
    if(listitem == 1) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin2]);
    if(listitem == 2) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin3]);
    if(listitem == 3) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin4]);
    if(listitem == 4) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin5]);
    }
    }
    [/pwn]


    Es kommen keine Fehler in der server_log.txt


    Ich hoffe auf helfende antworten. Danke :)

    Hallo!


    Ich habe ein Problem mit der Wantedvergabe. Da ich diese Vergabe öfters brauche, habe ich dafür eine Funktion erstellt.



    GiveWanteds(playerid, gwanteds, const reporter[], const reason[])
    {
    new o_w = Spieler[playerid][wanteds];
    new n_w = o_w+gwanteds;
    Spieler[playerid][wanteds] = n_w;
    SetPlayerWantedLevel(playerid, n_w);
    format(s, sizeof(s), "Du hast ein Verbrechen begangen: %s Zeuge: %s", reason, reporter);
    SCM(playerid, C_DCHAT, s);
    format(s, sizeof(s), "Dein Aktuelles Wanted Level: %d", n_w);
    SCM(playerid, C_YELLOW, s);
    new s1[128];
    format(s, sizeof(s), "HQ: Neues Verbrechen: %s", reason);
    format(s1, sizeof(s1), "HQ: Verdächtiger: %s Wantedlevel: %d", GetName(playerid), n_w);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || !IsCop(i)) continue;
    SCM(i, 0x5B7AFFFF, s);
    SCM(i, 0x5B7AFFFF, s1);
    }
    return 1;
    }


    Aber wenn ich dies in meinen /su(spect [ID] [Wanteds] [Grund] Befehl einbaue, bleibt meine Wantedanzahl immer bei 0. Aber im Chat stehen die Nachrichten



    ocmd@2:su,suspect(playerid, params[])
    {
    if(!IsCop(playerid)) return SCM(playerid, C_DRED, "Du bist kein Polizist");
    new pID, g_wanteds, reason[64];
    if(sscanf(params, "uis", pID, wanteds, reason)) return Using(playerid, "su(spect) [ID] [Wanteds] [Grund]");
    if(!IsPlayerConnected(pID)) return Offline(playerid);
    if(IsCop(pID) && !IsAdmin(playerid, 5)) return SCM(playerid, C_DRED, "Du kannst einem Cop keine Wanteds geben");
    if(g_wanteds > 1) return SCM(playerid, C_DRED, "Du musst mindestens 1 Wanted vergeben");
    GiveWanteds(pID, g_wanteds, GetName(playerid), reason);
    return 1;
    }

    Hallo!


    Ich habe ein kleines Problem im Bezug auf einen Dialog, bei dem Cops ihren Skin Changen können. Beim LVPD (Frak ID: 3) funktioniert alles, doch beim SFPD (Frak ID: 2) und LSPD (Frak ID: 1) wird kein Dialog angezeigt.


    Hier alle Codes (OnPlayerPickup, Enum und Array und OnPlayerDialogResponse)


    [pwn=280]
    enum CopSkinChangeEnum {
    skin_icon_id,
    skin1,
    skin2,
    skin3,
    skin4,
    skin5,
    skinn1[24],
    skinn2[24],
    skinn3[24],
    skinn4[24],
    skinn5[24],
    Float:skin_x,
    Float:skin_y,
    Float:skin_z,
    skin_f_id,
    skin_vw
    };
    new CopSkinChange[][CopSkinChangeEnum] = {
    {0, 280, 281, 282, 283, 284, "LSPD Cop", "SFPD Cop", "LVPD Cop", "Sheriff", "Bike Police", 317.8099,-160.1672,999.5938, 1, 1},
    {0, 280, 281, 282, 285, 284, "LSPD Cop", "SFPD Cop", "LVPD Cop", "S.W.A.T", "Bike Police", 317.8099,-160.1672,999.5938, 2, 2},
    {0, 250, 170, 286, 285, 283, "Undercover 1", "Undercover 2", "FBI Agent", "S.W.A.T", "LVPD Cop", 317.8099,-160.1672,999.5938, 3, 3}
    };
    [/pwn]


    [pwn=951]
    for(new i = 0; i < sizeof(CopSkinChange); i++)
    {
    if(pickupid == CopSkinChange[i][skin_icon_id] && Spieler[playerid][fraktion] == CopSkinChange[i][skin_f_id])
    {
    new dialog[256];
    format(dialog, sizeof(dialog), "%s\n%s\n%s\n%s\n%s", CopSkinChange[i][skinn1],CopSkinChange[i][skinn2],CopSkinChange[i][skinn3],CopSkinChange[i][skinn4],CopSkinChange[i][skinn5]);
    ShowPlayerDialog(playerid, DIALOG_COP_SKINCHANGE, DIALOG_STYLE_LIST, "Skinchange", dialog, "Wechseln", "Abbrechen");
    }
    }
    [/pwn]


    [pwn=1081]
    if(dialogid == DIALOG_COP_SKINCHANGE)
    {
    if(!response) return 1;
    if(response)
    {
    if(listitem == 0) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin1]);
    if(listitem == 1) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin2]);
    if(listitem == 2) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin3]);
    if(listitem == 3) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin4]);
    if(listitem == 4) return SetPlayerSkin(playerid, CopSkinChange[Spieler[playerid][fraktion]-1][skin5]);
    }
    }
    [/pwn]


    Es kommen keine Fehler in der server_log.txt


    Ich hoffe auf helfende antworten. Danke :)

    Wenn er es so macht, ist das recht sinnlos, da er an der Position 1 sowie an der 2 und an der 3 und an der 4 sein müsste.


    Wenn dann so:


    if(!IsPlayerInRangeOfPoint(playerid,X,Y,Z) || !IsPlayerInRangeOfPoint(playerid,X,Y,Z))



    Wenn du den Anfang lesen würdest, will er damit bezwecken, dass er eine Nachricht bekommt, wenn er an keinem der Punkte steht...

    ich hab dir doch gezeigt wie es geht? Mit einem ";" schließt du eine unktion ab. Wenn du aber eine "lange" kette an Funktionen in einer If Abfrage hat, darfst du in dieser Abfrage Kein Einziges ";" verwenden. vergleich mal deins mit meinem. du wirst den Fehler wohl finden

    Hi!


    Ich habe folgendes Script!



    if(dialogid == DIALOG_REGISTER)
    {
    if(!response) return Kick(playerid);
    if(response)
    {
    if(strlen(inputtext) <= 5)
    {
    SCM(playerid, C_DRED, "Das Passwort muss mindestens 6 Zeichen lang sein!");
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registrierung", "Dieser Name wurde nicht in der Datenbank gefunden.\nBitte gib nun dein gewünschtes Passwort ein.", "Registrieren", "Abbrechen");
    return 1;
    }
    format(s, sizeof(s), "Du hast dich erfolgreich registriert");
    SCM(playerid, C_HGREEN, s);
    format(s, sizeof(s), "[SPIELER] %s hat sich soeben registriert");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || !IsAdmin(i, 1)) continue;
    SCM(i, C_RED, s);
    }
    SCM(playerid, -1, "Wenn du Hilfe brauchst, melde dich im /a mit "Ich benötige eine Einweisung"");
    format(query, sizeof(query), "INSERT INTO users (name, password, adminlevel, level, money_hand, money_bank, carlic, bikelic, boatlic, planelic, jailtime, banned, ban_admin, ban_cause, warns, fraktion, rang, job, weaponlic)");
    new query2[128];
    format(query2, sizeof(query2), "VALUES ('%s', MD5('%s'), '0', '1', '20000', '50000', '0', '0', '0', '0', '0', '0', 'Niemand', 'n/A', '0', '0', '0', '0', '0')", GetName(playerid), inputtext);
    new query3[512];
    format(query3, sizeof(query3), "%s %s", query, query2);
    mysql_function_query(dbhandle, query3, true, "OnPlayerRegister", "i", playerid);
    }
    }


    Aber wenn ich mich registrieren möchte, erscheint nichts in der Datenbank


    Die MySQL Error Log gibt folgende Zeile aus:

    Code
    [11:40:36] [ERROR] CMySQLQuery::Execute[OnPlayerRegister(i)] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0' at line 1

    Hi!



    ich würde gerne wissen, wie man alle Befehle loggt, die man eingibt!


    Ich habe im moment das:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    return printf("Spieler %s [%d] => Command: %s", getName(playerid), playerid, cmdtext);
    }


    Doch in der Konsole steht nur etwas, wenn der Spieler einen Command eingibt, den es nicht gibt.


    ((Ich benutze OCMD))