Beiträge von Jeffry

    Wenn du das mehrmals ausführen lässt, dann erklärt sich der Fehler, da die Spalten ja bereits existieren.
    Schreibe die Erstellung der Tabelle am besten etwas um, und zwar so:
    strcat(query,"CREATE TABLE IF NOT EXISTS `"#SQLTAG"_account_main` (");
    strcat(query,"`id` int(11) NOT NULL AUTO_INCREMENT,");
    strcat(query,"`Name` varchar(24) NOT NULL,");
    strcat(query,"`Online` int(2) NOT NULL,");
    strcat(query,"`Email` varchar(128) NOT NULL,");
    /*
    ...
    */
    strcat(query,"`HohlenforscherSkill` int(10) NOT NULL,");
    strcat(query,"PRIMARY KEY (`id`))");


    Dann sparst du dir das ALTER TABLE und es sieht wesentlich übersichtlicher aus.

    Versuche es so:
    printf("Team playerid: %d / paintball: %d", Spieler[playerid][Team], Spieler[playerid][Paintball]);
    if(Spieler[playerid][Team] == 8 || Spieler[playerid][Team] == 9 || Spieler[playerid][Team] == 10 || Spieler[playerid][Team] == 11 || Spieler[playerid][Team] == 12 || Spieler[playerid][Team] == 16 || Spieler[playerid][Team] == 17 || Spieler[playerid][Team] == 18 || Spieler[playerid][Team] == 19 || Spieler[playerid][Team] == 20)//Abfrage ob "playerid" (der wo gekillt wurde) in einer Gang ist muss hier hin
    {
    SendClientMessage(killerid,0xFFFFFF00,"Du hast einen Gang Member gekillt (+2 Wanteds)");
    SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid)+2);
    }
    else if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    SendClientMessage(killerid,0xFFFFFF00,"Du hast einen Verbrecher gekillt");
    }
    else if(Spieler[playerid][Team] == 0)
    {
    if(Spieler[playerid][Paintball] == 0)
    {
    SendClientMessage(killerid,0xFFFFFF00,"Du hast einen Zivi gekillt (+1 Wanted)");
    SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid)+1);
    Spieler[playerid][Wanteds] += 1;
    printf("Zivi getötet.");
    }
    }
    else if(Spieler[playerid][Wanteds] < 1)
    {
    GetPlayerPos(playerid, Spieler[playerid][dx], Spieler[playerid][dy], Spieler[playerid][dz]);
    }
    Falls es nicht klappt, poste bitte was im Server Log steht.

    Wie sind dialog_geldverwaltung, dialog_jailcashfuercops und dialogid==dialog_jailcashrobber definiert?
    Versuche es eventuell mal so:
    //Und zu guter letzt die dialoge
    if(dialogid==dialog_geldverwaltung)
    {
    if(!response) return 1;
    if(listitem==0)//Jailcash für Cops
    {
    ShowPlayerDialog(playerid,dialog_jailcashfuercops,DIALOG_STYLE_INPUT,"Gelvergabe-Ändern","In welchen Wert willst du diese Geldvergabe ändern?","Ändern","Abbrechen");
    }
    else if(listitem==1)//Jailcash- für Robber
    {
    ShowPlayerDialog(playerid,dialog_jailcashrobber,DIALOG_STYLE_INPUT,"Gelvergabe-Ändern","In welchen Wert willst du diese Geldvergabe ändern?","Ändern","Abbrechen");
    }
    return 1;
    }
    if(dialogid==dialog_jailcashfuercops)
    {
    if(!response) return 1;
    if(!IsNumeric(inputtext)) return SendClientMessage(playerid,COLOR_GRAD2,"** Dieser Wert darf keine Buchstaben enthalten!");
    Geld[Jailcashcop] = strval(inputtext);
    format(string,sizeof(string),"* Du hast diese Geldvergabe erfolgreich in $%d geändert.",strval(inputtext));
    SendClientMessage(playerid,COLOR_GREEN,string);
    return 1;
    }
    if(dialogid==dialog_jailcashrobber)
    {
    if(!response) return 1;
    if(!IsNumeric(inputtext)) return SendClientMessage(playerid,COLOR_GRAD2,"** Dieser Wert darf keine Buchstaben enthalten!");
    Geld[Jailcashrobber] = strval(inputtext);
    format(string,sizeof(string),"* Du hast diese Geldvergabe erfolgreich in $%d geändert.",strval(inputtext));
    SendClientMessage(playerid,COLOR_GREEN,string);
    return 1;
    }


    Ich habe ein sehr langen /motor Befehl und möchte ihn auf die Taste "N" setzen zb.

    Wie sieht denn der Befehl aus?

    ocmd:enter(playerid, params[])
    {
    for(new i = 0; i < sizeof(iPickupSys); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, enterDistanz, iPickupSys[i][pickX], iPickupSys[i][pickY], iPickupSys[i][pickZ]))
    {
    SendClientMessage(playerid, -1, "Interior betreten.");
    SetPlayerPos(playerid, iPickupSys[i][esX], iPickupSys[i][esY], iPickupSys[i][esZ]);
    SetPlayerInterior(playerid, iPickupSys[i][pinteriorid]);
    SetPlayerVirtualWorld(playerid, iPickupSys[i][entervworld]);
    return 1;
    }
    }
    return 1;
    }

    Unter den Includes:
    bool:AFK[MAX_PLAYERS], lastUpdate[MAX_PLAYERS];


    Unter OnGameModeInit:
    SetTimer("AFKCheck", 1000, true);


    Unter OnPlayerUpdate:
    lastUpdate[playerid] = GetTickCount();
    if(AFK[playerid])
    {
    AFK[playerid] = false;
    }


    Unten im Gamemode:
    forward AFKCheck();
    public AFKCheck()
    {
    new tick = GetTickCount() - 1000;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i) && !AFK[i])
    {
    if(lastUpdate[i] < tick)
    {
    AFK[i] = true;
    }
    }
    }
    return 1;
    }


    Wenn OnPlayerUpdate eine Sekunde lang nicht aufgerufen wurde, dann ist der Spieler AFK (Menü / Desktop).

    Habe dort schon überall probiert sie zu kürzen bzw. zu schneiden, leider erfolgslos, deswegen so.

    Du kannst zwei Strings so miteinander verbinden, dann hast du nur ein Query, was performanter ist:
    stock SaveUserStats(playerid)
    {
    if(!Spieler[playerid][Eingeloggt]) return 1;
    new query[700];
    mysql_format(handle, query, sizeof(query), "UPDATE users SET registriert = '%d', skin = '%d', money = '%d', adminlevel = '%d', fraktion = '%d', spawnchange = '%d', rang = '%d', wanteds = '%d', wantedgrund = '%e', muted = '%d', mutetime = '%d', level = '%d', spielzeit = '%d', email = '%e',",
    Spieler[playerid][Registriert],
    Spieler[playerid][Skin],
    Spieler[playerid][Money],
    Spieler[playerid][Adminlevel],
    Spieler[playerid][Fraktion],
    Spieler[playerid][Spawnchange],
    Spieler[playerid][Rang],
    Spieler[playerid][Wanteds],
    Spieler[playerid][WantedGrund],
    Spieler[playerid][Muted],
    Spieler[playerid][MuteTime],
    Spieler[playerid][Level],
    Spieler[playerid][Spielzeit],
    Spieler[playerid][Email]);
    mysql_format(handle, query, sizeof(query), "%s jailtime = '%d', jailed = '%d', jailtype = '%d', lottozahl = '%d', klasse = '%d', morde = '%d', tode = '%d', verbrechen = '%d', kh = '%d', ap = '%d', premium = '%d', donator = '%d', contractgeld = '%d' WHERE id = '%d'",
    query,
    Spieler[playerid][JailTime],
    Spieler[playerid][Jailed],
    Spieler[playerid][JailType],
    Spieler[playerid][LottoZahl],
    Spieler[playerid][Klasse],
    Spieler[playerid][Morde],
    Spieler[playerid][Tode],
    Spieler[playerid][Verbrechen],
    Spieler[playerid][KH],
    Spieler[playerid][AP],
    Spieler[playerid][Premium],
    Spieler[playerid][Donator],
    Spieler[playerid][ContractGeld],
    Spieler[playerid][p_id]);
    mysql_pquery(handle, query);
    return 1;
    }