Beiträge von Goldkiller

    Wieso bannt man überhaupt Jemanden über die PVar ? Es bringt nichts,denn die Werte werden sowieso beim Verlassen des Servers gelöscht.
    PVars sind nur so lange gültig,wie ein Spieler mit dieser ID online ist.Verlässt er den Server,sind die Werte alle ungültig.
    Auch beim Serverrestart wären die Daten weg.


    Zitat

    Danke, zumindest der Grund wird nun angezeigt, leider bleibt die Variable nachwievor 0..


    Wie prüfst du das ?
    Du solltest in das Userprofil schreiben,dass er gebannt ist.Denn sowieso,die ID kann ja von irgendeinem Namen belegt werden,oder nicht ;) ?

    Kannst auch direkt Abfragen,ob ein Wert zwischen zwei Werten steckt ohne UND && oder ODER ||.
    new hour, minute;
    gettime(hour, minute);
    if( <UNTERGRENZE> <= hour <= <OBERGRENZE> ) {
    }
    In deinem Fall müsstewäre so richtig
    if( 0 <= hour < 4 )
    Achtung,dass dort 0 <= und < 4 ist. Es soll ja wohl von 0:00 bis 3:59 funktionieren.

    Ich meine es so,wie ich es geschrieben habe. Hast dich nicht wirklich an den Post gehalten,schade :/.


    Wunderbares Beispiel,wieso man sizeof benutzen sollte.
    [...]
    Ich weiss nicht wie lang der String ist,den du von gpci bekommst.Probier mal 400 aus,als größe für mysqlquery. Reicht bestimmt aus, kannst es aber ja selber herrausfinden ob es reicht indem du mal mit strlen() die länge vom String ausgeben lässt.
    Ansonsten, füg nach jeder Zeile mal print("1") , print("2") usw ein, falls du immernoch

    erhälst.

    GetPlayerAdmin(playerid) <= NEEDED_ADMINLEVEL
    Sieht verdächtig aus. Wenn das Adminlevel kleiner ist als NEEDED_ADMINLEVEL :-O ?
    Sowieso, deine Namensbezeichung ist "komisch".
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
    Vehid ... Modid wäre wohl vom Namen her besser.Denn Vehicleid kann ja alles zwischen 1 und (MAX_VEHICLES - 1) sein.

    Für MySQL Fragen ist das Forum nicht gedacht, vorallem nicht bei Syntax Fehlern ...

    Zitat

    - An error has occured. (Error ID: 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 '' at line 1)


    `Radio` int(11) NOT NULL,)
    Das Letzte Komma ( , ) ist falsch.Es gehört dort nicht hin.
    Wieso testest du die Befehle nicht in irgendeinen MySQL Umgebung ? Du testest doch mit Sicherheit auch lokal, phpMyAdmin zum Beispiel.

    Wunderbares Beispiel,wieso man sizeof benutzen sollte.
    forward banplayerhdwid(playerid,const grund[]);
    public banplayerhdwid(playerid,const grund[])
    {
    new mysqlquery[128],string[255];
    gpci(playerid,string,255);
    GetPlayerName(playerid,mysqlquery,24);
    format(mysqlquery,256,"INSERT INTO `bans` (`hdwid`,`reason`,`banned_player`) VALUES ('%s','%s','%s')",string,grund,mysqlquery);
    // ^-- buffer overflow... du hast als größe 256 angegeben,möglich wäre aber nur 128.Nimm lieber sizeof(mysqlquery) ... damit verhinderst du sowas.
    mysql_query(mysqlquery);
    new kmsg2[256];
    format(kmsg2,256,"Du wurdest gebannt, Grund: %s",grund);
    SendClientMessage(playerid,0xFF0000FF,kmsg2);
    Kick(playerid);
    mysql_free_result();
    return 1;
    }
    Ich weiss nicht wie lang der String ist,den du von gpci bekommst.Probier mal 400 aus,als größe für mysqlquery. Reicht bestimmt aus, kannst es aber ja selber herrausfinden ob es reicht indem du mal mit strlen() die länge vom String ausgeben lässt.
    Ansonsten, füg nach jeder Zeile mal print("1") , print("2") usw ein, falls du immernoch

    Zitat

    Unknow command

    erhälst.

    public OnPlayerDisconnect(playerid, reason)
    {
    new SQuery[1024];
    format(SQuery, sizeof(SQuery), "UPDATE User FROM `users`, `Money` = '%d', `Score` = '%d', `Kills` = '%d', `Deaths` = '%d', `Admin` = '%d', `Warns` = '%d' WHERE `User` = '%s' LIMIT 1", GetPlayerMoney(playerid), GetPlayerScore(playerid), PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pWarns], mysql_get_name(playerid));
    mysql_query(SQuery);


    return 1;
    }
    Das ist zum Beispiel totaler Blödsinn. UPDATE und FROM sind Gegensätze. Das eine schreibt ( SET ) , das Andere ließt ( GET ).
    UPDATE <TABELLE>
    SET <FELD> = <WERT>
    ( WHERE <FELD> = <WERT> )
    Auf dem Bild rechts neben "Struktur" steht doch SQL.Da kannst du doch die Querys ausprobieren.

    Naja, ich weiss weder was "racuni" ist noch "Korisnik" ist.Sicher, dass Query groß genug ist für den kompletten String ?
    Du kannst ja mal den String mit print ausgeben lassen und einfach in XAMPP ausführen ( Hast doch sicherlich lokal einen MySQL Server installiert, da sollte es sicherlich gehen ) lassen.
    Da bekommst du eine genauere Fehlerbeschreibung.

    Die Funktion "HouseExist" ist ja mal völlig [...] :wacko: .
    Ist die wirklich so in deinem Script ? Falls ja, würde man auch Abfragen ob das Haus exisitiert über " 0 <= HAUSID < MAX_HOUSES"
    Das Haus würde deiner Funktion nach immer existieren,wenn die Zahl hinter o größer / gleich 0 ist und kleiner als MAX_HOUSES
    Was hast du denn wirklich vor ?

    Schau mal dieses Video hier bei ~3:36, das Problem gibts schon lange und hatte ich auch.
    http://www.youtube.com/watch?v=mI2kHMVpv1s
    Wenn du dieses abfallen der Lichter meinst,dass ist ein GTA Problem. Bin mir auch gar nicht mehr so sicher wodurch es alles hervorgerufen wurde. Ein Fall müsste aber die Kollision mit irgendetwas gewesen sein.Die fallen ab, sind dann aber wieder an der richtigen Stelle. Kann sein,dass du die Lichter zu weit im LKW drin hast und es deswegen als eine Kollision erkannt wird.

    Kommt drauf an was du verwendest.


    dcmd wäre so:
    dcmd_waffenkaufen(...) {
    // Befehl.
    dcmd_buygun( ... ){
    return dcmd_waffenkaufen( ... );
    }
    ZCMD wäre so:
    COMMAND:waffenkaufen(...) {
    // Befehl
    }
    COMMAND:buygun( ... ) {
    return cmd_waffenkaufen( ... );
    }
    Normales strcmp.
    if(!strcmp(cmdtext[1],"buygun",true) || !strcmp(cmdtext[1],"waffenkaufen",true) ) {
    // Befehl
    }