Beiträge von Tommyx3

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    - Verkauf vom ehemaligen NoLimit GangFight Script -


    Hallo, ich möchte das ehemalige NoLimit GangFight Script verkaufen
    da ich es nicht mehr brauche, und ich Geld für meinem Führerschein brauche :)


    Infos zum Script:
    http://www.gemeinsam-spielen.n…it-gangfight-samp-server/


    Testserver: N/A
    Würd es auch mehrmals verkaufen falls einige möchten.


    Zahlungmöglichkeiten: Nur per Überweisung


    Eine Kopie vom Script bleibt bei mir, werde es aber nicht verkaufen, oder sonstiges.
    Und eine bekommt NoLimit GangFight...


    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.

    Wie würde so eine Überprüfungdenn aussehen?


    So hab ichs:

    new pQuery[MAX_PLAYERS];


    public OnPlayerConnect(playerid)
    {
    pQuery[playerid]++;
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    pQuery[playerid]++;
    return 1;
    }



    //Dann bei Jedem Query:
    mysql_function_query(connection, "SELECT * FROM `accounts`", true, "OnPlayerDataLoad", "ii", playerid, pQuery[playerid]);


    //callback
    public OnPlayerDataLoad(playerid, secure)
    {
    if(!IsPlayerConnected(playerid) || playerid == INVALID_PLAYER_ID) return printf("[secure] Query fehler, Spieler ist nicht Online (OnPlayerDataLoad)");
    if(secure != pQuery[playerid]) return printf("[secure] Query Kollision, das Ergebins ist nicht für den Spieler [%d]%s bestimmt (OnPlayerDataLoad)", playerid, GetName(playerid));
    //...
    return 1;
    }

    Und bevor sich wieder irgendein Neuling deinen Nonsens abguckt, stellen wir hier direkt mal klar, dass man bei sowas kein * benutzt, da * (für Info an die Anfänger) für ALLE FELDER steht und dadurch unnötig große Belastung für das Script entsteht. Da sowieso nur die Zeilen gezählt werden, reicht es ein x-beliebiges Feld zu nehmen.


    Was wenn man "NULL" benutzt? (BSP: "SELECT NULL FROM table")

    new string1[MAX_PLAYERS*256];
    format(string1, sizeof(string1), "Aktuelle Tickets:\n\n");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Ticket[i][TicketStatus] == 1)
    format(string1, sizeof(string1), "%s[TicketID: %d | Ersteller: %s | Status: Offen | Frage: %s ]\n", string1, i, Ticket[i][TicketOwner], Ticket[i][TicketText]);
    if(Ticket[i][TicketStatus] == 2)
    format(string1, sizeof(string1), "%s[TicketID: %d | Ersteller: %s | Status: Bearbeitung | Frage: %s ]\n", string1, i, Ticket[i][TicketOwner], Ticket[i][TicketText]);
    }
    ShowPlayerDialog(playerid, DIALOG_TICKETS, DIALOG_STYLE_MSGBOX, "Tickets: Angzeigen", string1, "Schließen", "");


    Ah jetzt versteh ich es.. danke :thumbup: (Erstell sie in OnPlayerConnect)


    das wird nicht funktionieren ;) Wenn du PlayerTextDraws erstellst während die playerid Offline ist, passiert rein gar nichts :whistling:


    Eine frage, benutze die PlayerTextdraws mit "new PlayerText:tScore" nicht wie im Wiki mit "new PlayerText:tScore[MAX_PLAYERS]" aber alles klappt super ohne fehler, weißt du villeicht wieso?

    liegt daran das du sofort returnst ... so ist es richtig:

    public OnPlayerConnect(...........)
    {
    if(isPlayerWhitList(playerid,0))
    {
    SendClientMessage(playerid,FARBE_ROT,"Du bist nicht auf der Whitelist");
    Kick(playerid);
    return 1;
    }
    }


    //I-wo oben:
    new PlayerDialogSelectBox[MAX_PLAYERS][MAX_PLAYERS];


    //Dialog anzeigen:
    new string[512], name[MAX_PLAYER_NAME], count;
    for(new i=0; i!=MAX_PLAYERS; i++)
    {
    if(IsPlayerNPC(i) || !IsPlayerConnected(i)) continue;
    GetPlayerName(i, name, MAX_PLAYER_NAME);
    format(string, sizeof string, "%s%s\n", string, name);

    PlayerDialogSelectBox[playerid][count] = i, count++;
    }
    ShowPlayerDialog(playerid, DIALOG_ANRUFEN, DIALOG_STYLE_LIST, "Wenn möchtest du anrufen?", string, "Ok", "Abbruch");


    //DialogResponse:
    new pid = PlayerDialogSelectBox[playerid][listitem];
    Versuchs mal damit, müsste eig klappen

    geh mal auf pastebin.com und mach mal deinen OnPlayerDeath Public rein & poste den link hier, denke der fehler muss da drin sein