Beiträge von aytef

    Neues Problem:


    Wenn ich zum ersten mal den Befehl '/friends' eingebe, sehe ich ganz normal die User, die ich als Freunde eingetragen habe. Und nur einmal, wie das so sollte.
    Gebe ich den Befehl aber zum zweiten mal ein, sehe ich die doppelt aufgelistet.


    erste Eingabe:
    Name: User1 (online)
    Name: User2 (offline)


    zweite Eingabe:
    Name: User1 (online)
    Name: User2 (offline)
    Name: User1 (online)
    Name: User2 (offline)


    Und immer so weiter. Das ist echt ein merkwürdiges Problem..


    Aber hier der Code:


    Befehl /friends

    COMMAND:friends(playerid, params[])
    {
    new query[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    mysql_format(MySqlConnection, query, sizeof(query), "SELECT * FROM `"#SQL_TAG"_account_friends` WHERE `UserDBID` = %i", Spieler[playerid][pDBID]);
    mysql_function_query(MySqlConnection, query, true, "OnPlayerRequestFriends", "ii", REQUEST_FRIEND_THREAD, playerid);
    return 1;
    }


    Die Funktion 'OnPlayerRequestFriends

    Spoiler anzeigen

    public OnPlayerRequestFriends(thread, playerid, Friend_ID)
    {
    switch(thread)
    {
    case THREAD_NO_RESULT:
    {
    return 1;
    }
    case ADD_FRIEND_THREAD:
    {
    new rows, fields;
    cache_get_data(rows, fields, MySqlConnection);
    if(rows)
    {
    new
    query[128],
    szResult[64],
    szFriendName[64],
    FriendDBID;

    for(new row; row < rows; row++) {
    cache_get_field_content(row, "Name", szResult, MySqlConnection, sizeof(szResult)); szFriendName = szResult;
    cache_get_field_content(row, "id", szResult, MySqlConnection, sizeof(szResult)); FriendDBID = strval(szResult);
    SetPVarInt(playerid, "New_Friend_DBID", FriendDBID);
    SetPVarString(playerid, "New_Friend_Name", szFriendName);
    mysql_format(MySqlConnection, query, sizeof(query), "SELECT * FROM `"#SQL_TAG"_account_friends` WHERE `UserDBID` = %i AND `FriendDBID` = %i", Spieler[playerid][pDBID], FriendDBID);
    mysql_function_query(MySqlConnection, query, true, "OnPlayerRequestFriends", "ii", FINAL_FRIEND_THREAD, playerid);
    return 1;
    }
    }
    else {
    SendClientMessage(playerid, WEISS, "Der Name existiert nicht.");
    }
    return 1;
    }
    case FINAL_FRIEND_THREAD:
    {
    new rows,
    fields;

    Spoiler anzeigen
    cache_get_data(rows, fields, MySqlConnection);

    Spoiler anzeigen
    if(!rows) {
    new query[128],
    FriendName[MAX_PLAYER_NAME+1];
    mysql_format(MySqlConnection, query, sizeof(query), "INSERT INTO `"#SQL_TAG"_account_friends` (`UserDBID`, `FriendDBID`) VALUES (%i, %i)", Spieler[playerid][pDBID], GetPVarInt(playerid, "New_Friend_DBID"));
    mysql_function_query(MySqlConnection, query, false, "OnPlayerRequestFriends", "i", THREAD_NO_RESULT);
    GetPVarString(playerid, "New_Friend_Name", FriendName, sizeof FriendName);
    format(query, sizeof query, "Du hast %s zum Freund ernannt.", FriendName);
    SendClientMessage(playerid, WEISS, query);
    DeletePVar(playerid, "New_Friend_Name");
    DeletePVar(playerid, "New_Friend_DBID");
    return 1;
    }
    else {
    SendClientMessage(playerid, WEISS, "Du hast bereits einen Freund mit diesem Namen.");
    }
    return 1;
    }
    case REQUEST_FRIEND_THREAD:
    {
    new rows,
    fields;

    Spoiler anzeigen
    cache_get_data(rows, fields, MySqlConnection);

    Spoiler anzeigen
    if(rows) {
    new szResult[64];

    Spoiler anzeigen
    for(new row; row < rows; row++) {
    cache_get_field_content(row, "FriendDBID", szResult, MySqlConnection, sizeof(szResult));
    new query[128];
    mysql_format(MySqlConnection, query, sizeof(query), "SELECT * FROM `"#SQL_TAG"_account_main` WHERE `id` = %i", strval(szResult));
    mysql_function_query(MySqlConnection, query, true, "OnPlayerRequestFriendNames", "ii", playerid, strval(szResult));
    }
    }
    return 1;
    }
    }
    return 1;
    }


    Die Funktion 'OnPlayerRequestFriendNames'

    Spoiler anzeigen

    public OnPlayerRequestFriendNames(playerid, Friend_DBID, thread)
    {
    switch(thread)
    {
    case 0:
    {
    new rows, fields;
    cache_get_data(rows, fields, MySqlConnection);
    if(rows) {
    new
    szPlayerName[MAX_PLAYER_NAME],
    szTitle[64];
    SetPVarInt(playerid, "Friend_DBID", Friend_DBID);
    for(new row; row < rows; row++)
    {
    cache_get_field_content(row, "Name", szPlayerName, MySqlConnection, sizeof(szPlayerName));
    foreach(Player, i) {
    if(Spieler[i][pDBID] == Friend_DBID){
    format(szFriendList, sizeof(szFriendList), "%s\n* {6CBBE3}Name: {FFFFFF}%s | {8BA870}(online)", szFriendList, szPlayerName);
    }
    else {
    format(szFriendList, sizeof(szFriendList), "%s\n* {6CBBE3}Name: {FFFFFF}%s | {FF0000}(offline)", szFriendList, szPlayerName);
    }
    }
    }
    format(szTitle, sizeof szTitle, "%s's Freundesliste", SpielerName(playerid));
    ShowPlayerDialog(playerid, DIALOG_FRIENDLIST, DIALOG_STYLE_LIST, szTitle, szFriendList, "Select", "Cancel");
    }
    }
    case 1:
    {

    Ich kann dir ja die ganze Funktion zeigen:

    public OnPlayerRequestFriendNames(playerid, Friend_DBID, thread)
    {
    switch(thread)
    {
    case 0:
    {
    new rows, fields;
    cache_get_data(rows, fields, MySqlConnection);
    if(rows) {
    #pragma unused szResult
    new
    szPlayerName[MAX_PLAYER_NAME],
    szTitle[64],
    szResult[64];
    SetPVarInt(playerid, "Friend_DBID", Friend_DBID);
    for(new row; row < rows; row++)
    {
    cache_get_field_content(row, "Name", szPlayerName, MySqlConnection, sizeof(szResult));
    foreach(Player, i) {
    if(Spieler[i][pDBID] == Friend_DBID){
    format(szFriendList, sizeof(szFriendList), "%s\n* {6CBBE3}Name: {FFFFFF}%s | {8BA870}(online)", szFriendList, szPlayerName);
    }
    else {
    format(szFriendList, sizeof(szFriendList), "%s\n* {6CBBE3}Name: {FFFFFF}%s | {FF0000}(offline)", szFriendList, szPlayerName);
    }
    }
    }
    format(szTitle, sizeof szTitle, "%s's Freundesliste", SpielerName(playerid));
    ShowPlayerDialog(playerid, DIALOG_FRIENDLIST, DIALOG_STYLE_LIST, szTitle, szFriendList, "Select", "Cancel");
    }
    }
    case 1:
    {


    }
    }
    }


    Kleine Frage:


    Habe ein kleines Warning im Script

    Code
    warning 204: symbol is assigned a value that is never used: "szResult"


    Die Zeile
    cache_get_field_content(row, "Name", szPlayerName, MySqlConnection, sizeof(szResult));


    Ich benutze doch 'szResult' in dieser Zeile.. Woran kann es dann liegen?

    @BlackAce:
    Oh sorry, ich habe das nicht mehr bemerkt, dass du geantwortet hast. Der Thread ist wohl zu schnell untergegangen.
    Aufjedenfall, hier bitte:



    Server.cfg


    Problem behoben! Ich habe die Plugins 'YSF & TDE' mal entfernt und hat dann wunderbar funktioniert. :)

    Jeffry:
    Sorry, für die späte Antwort.
    Also ich kann Befehle benutzen, sehe alle Interaktionen mit und von Spielern. Es gab mal ein Problem, dass ein Kumpel erst Befehle benutzen konnte, dann kurzer Zeit nicht und erst nach einem Relog die Befehle benutzen konnte..


    @CIBERKILLER:
    Ich versuch's mal. :thumbup:
    EDIT: Hat nichts gebracht.. :l

    Ich bin da jetzt echt direkt und ehrlich:
    Ich finde diesen Skin nicht schön. Besser gesagt: Diese weißen "Smoke-Effekte" mit diesem schwarzen Drachen am Griff finde ich nicht schön.
    Es würde zwar nicht zu dem Thema, was du damit ausdrücken willst dazu passen, aber versuch' dich mit den gleichen Farben an einem DDPAT oder Camoflage Pattern. Das würde viel besser aussehen. :)


    EDIT: gerade gelesen, dass es dein erster Skin ist. Ist für den anfang ja auch akzeptabel, aber versuch' trotzdem an bekannte Patterns. :)


    DDPAT:

    Quelle: steamcommunity.com/market


    Camouflage:

    Quelle: pinterest.com (https://s-media-cache-ak0.pini…f8b507575f26824cdc990.jpg)


    Mach neue Kreationen mit diesem Stil. :)

    Server ist an und bin online, aber ich guck mal bei OnPlayerUpdate



    public OnPlayerUpdate(playerid)
    {
    if(IsPlayerNPC(playerid))return 1;


    new
    vehicleid = GetPlayerVehicleID(playerid),
    keys,ud,lr;


    if(IsPlayerInAnyVehicle(playerid))
    {
    for(new i=0;i<MAX_NAGELBAENDER;i++)
    {
    if(NagelBand[i][Erstellt] == 1)
    {
    if(IsVehicleInRangeOfPoint(vehicleid,2.0,NagelBand[i][sperreX],NagelBand[i][sperreY],NagelBand[i][sperreZ]))
    {
    UpdateVehicleDamageStatus(vehicleid,0,0,0,ReifenPlatt(1,1,1,1));
    }
    }
    }
    }


    if(noclipdata[playerid][cameramode] == CAMERA_MODE_FLY)
    {
    GetPlayerKeys(playerid,keys,ud,lr);
    if(noclipdata[playerid][mode] && (GetTickCount() - noclipdata[playerid][lastmove] > 100))
    {
    MoveCamera(playerid);
    }
    if(noclipdata[playerid][udold] != ud || noclipdata[playerid][lrold] != lr)
    {
    if((noclipdata[playerid][udold] != 0 || noclipdata[playerid][lrold] != 0) && ud == 0 && lr == 0)
    {
    StopPlayerObject(playerid,noclipdata[playerid][flyobject]);
    noclipdata[playerid][mode] = 0;
    noclipdata[playerid][accelmul] = 0.0;
    }
    else
    {
    noclipdata[playerid][mode] = GetMoveDirectionFromKeys(ud,lr);
    MoveCamera(playerid);
    }
    }
    noclipdata[playerid][udold] = ud,noclipdata[playerid][lrold] = lr;
    return 0;
    }
    return 1;
    }


    Edit: Hat jemand einen Plan von? Jeffry: ? :love:

    Hey, leute.
    Mir ist aufgefallen, dass im TAB Menü nichts mehr aktualisiert wird. Heißt: Der Ping bleibt bei jedem 0, der Score (im Script das Level) und der Name auch nicht. (z.b. der Adminmodus mit einem TAG)
    Ich kenne da leider kein passenden Code, den ich euch geben könnte, deshalb benötige ich eure Hilfe!


    Hier ein Screenshot:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    NiP ♥