Beiträge von ENEF

    Hi,


    nun funktioniert es. Danke :)
    Nächstes Problem :wacko:


    Vorhin hab ich dir ja gesagt, dass wenn ich in Haus1 rein gehe, komme ich bei Haus2 wieder raus.
    Wenn ich bei Haus2 rein gehe, komme ich bei Haus1 raus.


    Ich verstehe es nicht, vorhin wars irgendwie weg wo du das return 1; gemacht hast, jetzt ist es wieder da :whistling:


    Spoiler anzeigen
    ocmd:enter(playerid, params[])
    {
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(hInfo[i][Gekauft] != 1) return SendClientMessage(playerid, error, "Dieses Haus kannst du nicht betreten!");
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ]))
    {
    SetPlayerPos(playerid, hInfo[i][IntX],hInfo[i][IntY],hInfo[i][IntZ]);
    SetPlayerInterior(playerid, hInfo[i][IntID]);
    SetPlayerVirtualWorld(playerid, hInfo[i][VID]);
    return 1;
    }
    }
    }
    return SendClientMessage(playerid, error, "Du bist nicht in der Nähe deines Hauses!");
    }
    ocmd:exit(playerid, params[])
    {
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][IntX],hInfo[i][IntY],hInfo[i][IntZ]))
    {
    SetPlayerPos(playerid, hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ]);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    return 1;
    }
    }
    return SendClientMessage(playerid, error, "Du bist nicht in der Nähe eines Hauses!");
    }


    Sorry wenn ich zuviel Frage ^^


    //Edit:
    Was mir aufgefallen ist(ich weiß aber nicht ob es dauerhaft so ist)
    Wenn ich in das Haus1 gehe, und es wieder verlasse funktioniert es.
    Jedoch gehe ich bei Haus2 rein komme ich bei Haus1 raus.


    Ich hab es auch noch nicht mit mehreren Häusern versucht, jedoch buggt es und das soll nicht so sein :D


    Jeffry:


    Mit freundlichen Grüßen

    Tut mir leid ^^


    Also:
    Ich erstelle mit Spieler1 zwei Häuser und kaufe Haus1 mit Spieler1.
    Spieler2 kann sich einmieten, bekommt das Geld jetzt abgezogen so wie es sein soll.


    Jedoch, wenn ich mit Spieler2 nicht irgendwo eingemietet bin, kann ich mir das Haus2 nicht kaufen, da kommt dann immer "Dieses Haus steht nicht zum Verkauf!"


    Code:

    Spoiler anzeigen
    ocmd:buyhouse(playerid, params[])
    {
    new string[64];
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(hInfo[i][Gekauft] != 0) return SendClientMessage(playerid, error, "Dieses Haus steht nicht zum verkauf!");//hier
    if(hInfo[i][Level] > SpielerInfo[playerid][pLevel]) return SendClientMessage(playerid, error, "Dein Level ist zu gering!");
    if(hInfo[i][Kaufpreis] > SpielerInfo[playerid][pGeld]) return SendClientMessage(playerid, error, "Dein Geld ist zu gering!");
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ]))
    {
    hInfo[i][Gekauft] = 1;
    format(hInfo[i][Besitzer], 34, "%s",SpielerName(playerid));
    format(string, sizeof(string), "Besitzer: %s\nMiete: %d\nLevel: %d",hInfo[i][Besitzer],hInfo[i][Mietpreis],hInfo[i][Level]);
    Update3DTextLabelText(hInfo[i][Houselable], 0xB90000FF, string);
    GivePlayerMoney(playerid, -hInfo[i][Kaufpreis]);
    return 1;
    }
    }
    }
    return SendClientMessage(playerid, error, "Du bist nicht in der Nähe eines Hauses!");
    }


    Ich hab jetzt Angst, dass da noch mehr Probleme auftreten könnten ^^


    Jeffry:


    Mit freundlichen Grüßen

    Okey, danke schonmal.


    Aber wenn mehrere Häuser existieren und ich bsp mit 2 PCs on bin, und jeweils eins Kaufen mit einem Account, kann man nur eins Kaufen/Betreten/Verlassen


    Woran kann das liegen?


    Jeffry:

    Mal wieder übersehen ^^
    Danke Jeffry :)


    Nein man soll sich nur in 1 einmieten dürfen :D


    Mit freundlichen Grüßen


    /Edit:
    Jeffry:


    Gibt ein kleines Problem, wenn 2 Spieler Online sind, bekommt der 2te Spieler(Der nicht eingemietet ist, oder kein Haus besitzt) trotzdem die Miete meines Hauses abgezogen?
    2tens kann er sich nicht einmieten, obwohl die Tabelle leer ist bzw Spalte?


    Mein kompletter Payday:

    Spoiler anzeigen
    public PayDay(playerid)
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new string[128],string1[128], gehalt = GiveFrakGehalt(playerid);
    SendClientMessage(playerid,info,"|____________Zahltag___________|");
    format(string, sizeof(string), "Gehalt: %i$",gehalt);
    SendClientMessage(playerid,hinweis,string);
    SpielerInfo[playerid][pPayday] = 0;
    SpielerInfo[playerid][Kontostand] += gehalt;
    for(new i=0; i<MAX_HOUSE; i++) {
    format(string1,sizeof(string1),"Deine Miete beträgt: %d",hInfo[i][Mietpreis]);
    if(!strcmp(SpielerName(playerid), hInfo[i][Mieter1]) || !strcmp(SpielerName(playerid), hInfo[i][Mieter2]) || !strcmp(SpielerName(playerid), hInfo[i][Mieter3]))
    {
    return GivePlayerMoney(playerid, -hInfo[i][Mietpreis]), SendClientMessage(playerid, info, string1);
    }
    }
    SetPVarInt(playerid, "pLevelPunkte", GetPVarInt(playerid, "pLevelPunkte")+1);
    if(GetPVarInt(playerid, "pLevelPunkte") == RequiredPoints(playerid))
    {
    GivePlayerScore(playerid,1);
    SetPVarInt(playerid, "pLevelPunkte", 0);
    SpielerInfo[playerid][pLevel] ++;
    SendClientMessage(playerid,erfolg,"Herzlichen Glückwunsch, du bist ein Level gestiegen!");
    }
    }
    return 1;
    }


    Und der Mietebefehl:

    Spoiler anzeigen
    ocmd:mieten(playerid, params[])
    {
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(hInfo[i][Gekauft] != 1) return SendClientMessage(playerid, error, "Dieses Haus kannst du nicht Mieten!");
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ]))
    {
    if(!strcmp(SpielerName(playerid), hInfo[i][Mieter1]) || !strcmp(SpielerName(playerid), hInfo[i][Mieter2]) || !strcmp(SpielerName(playerid), hInfo[i][Mieter3]) || !strcmp(SpielerName(playerid), hInfo[i][Besitzer]))
    {
    return SendClientMessage(playerid, error, "Du bist bereits Mieter oder Besitzer dieses Hauses.");
    }
    if(!strlen(hInfo[i][Mieter1])) return format(hInfo[i][Mieter1], 24, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 1"), SaveAllHouses();
    else if(!strlen(hInfo[i][Mieter2])) return format(hInfo[i][Mieter2], 24, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 2"), SaveAllHouses();
    else if(!strlen(hInfo[i][Mieter3])) return format(hInfo[i][Mieter3], 24, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 3"), SaveAllHouses();
    else {
    SendClientMessage(playerid, error, "Du kannst hier nicht Mieten! Dieses Haus ist voll.");
    return 1;
    }
    }
    }
    }
    return SendClientMessage(playerid, error, "Du bist nicht in der Nähe eines Hauses!");
    }


    Echt komisch.. Ich kann auch nur 1 Haus kaufen, egal mit welchem Account?
    Mieten kann ich komischerweise gar keins mehr...

    Achso, dachte das muss nur beim Command so sein^^


    Also so wäre es dann richtig, stimmts ?


    Payday
    for(new i=0; i<MAX_HOUSE; i++) {
    if(!strcmp(SpielerName(playerid), hInfo[i][Mieter1]) || !strcmp(SpielerName(playerid), hInfo[i][Mieter2]) || !strcmp(SpielerName(playerid), hInfo[i][Mieter3]))
    {
    return GivePlayerMoney(playerid, -hInfo[playerid][Mietpreis]);
    }
    }


    Spoiler anzeigen
    ocmd:mieten(playerid, params[])
    {
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(hInfo[i][Gekauft] != 1) return SendClientMessage(playerid, error, "Dieses Haus kannst du nicht Mieten!");
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ]))
    {
    if(!strcmp(SpielerName(playerid), hInfo[i][Mieter1]) || !strcmp(SpielerName(playerid), hInfo[i][Mieter2]) || !strcmp(SpielerName(playerid), hInfo[i][Mieter3]) || !strcmp(SpielerName(playerid), hInfo[i][Besitzer]))
    {
    return SendClientMessage(playerid, error, "Du bist bereits Mieter oder Besitzer dieses Hauses.");
    }
    if(!strlen(hInfo[i][Mieter1])) return format(hInfo[i][Mieter1], 24, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 1"), SaveAllHouses();
    else if(!strlen(hInfo[i][Mieter2])) return format(hInfo[i][Mieter2], 24, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 2"), SaveAllHouses();
    else if(!strlen(hInfo[i][Mieter3])) return format(hInfo[i][Mieter3], 24, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 3"), SaveAllHouses();
    else {
    SendClientMessage(playerid, error, "Du kannst hier nicht Mieten! Dieses Haus ist voll.");
    return 1;
    }
    }
    }
    }
    return SendClientMessage(playerid, error, "Du bist nicht in der Nähe eines Hauses!");
    }


    Es ist ja möglich, dem Haus noch eine Kasse zu geben und einfach beim Payday das abgezogene Geld vom Spieler in die Kasse einzahlen zu lassen, oder?

    Hi,


    habe es so:
    for(new i=0; i<MAX_HOUSE; i++) {
    if(SpielerName(playerid), hInfo[i][Mieter1] || hInfo[i][Mieter2] || hInfo[i][Mieter3])
    {
    GivePlayerMoney(playerid, -hInfo[i][Mietpreis]); }
    }


    Ist das richtig? kanns gerade nicht Testen da ich keinen 2ten PC habe ^^


    Mit freundlichen Grüßen

    Jap, ich hatte bei Createhouse den Besitzer zu 'Niemand' gemacht ^^
    Habs raus nun geht es.


    Aber wie gesagt, ich kann mich jetzt 3 mal einmieten und auch als Besitzer eines Hauses mieten, das soll ja nicht sein :/


    Und die Sache mit Payday, damit er bei dem Haus wo er wohnt das Geld(Miete) abgezogen bekommt :?


    Jeffry:


    Mit freundlichen Grüßen

    Hi Jeffry,


    wahrscheinlich bin ich wieder zu doof :D


    Aber wenn ich Mieten will, sagt er mir das dieses Haus voll ist also damit alle Mieter schon belegt sind.


    ocmd:mieten(playerid, params[])
    {
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(hInfo[i][Gekauft] != 1) return SendClientMessage(playerid, error, "Dieses Haus kannst du nicht Mieten!");
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ]))
    {
    if(!strlen(hInfo[i][Mieter1])) return format(hInfo[i][Mieter1], 34, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 1");
    else if(!strlen(hInfo[i][Mieter2])) return format(hInfo[i][Mieter2], 34, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 2");
    else if(!strlen(hInfo[i][Mieter3])) return format(hInfo[i][Mieter3], 34, "%s",SpielerName(playerid)), SendClientMessage(playerid, erfolg, "Mieter 3");
    else {
    SendClientMessage(playerid, error, "Du kannst hier nicht Mieten! Dieses Haus ist voll.");
    return 1;
    }
    }
    }
    }
    return SendClientMessage(playerid, error, "Du bist nicht in der Nähe eines Hauses!");
    }


    PS:
    Wie kann ich abfragen ob der Spieler schon besitzer eines Hauses ist, oder ob er schon irgendwo mietet?
    Das er halt davor /kündigen muss ?
    Und beim Payday noch so ne Sache, damit der Spieler die Miete abgezogen bekommt?


    Jeffry:
    Mit freundlichen Grüßen

    Okey, hab ich jetzt so gemacht.


    Beim Command hab ich eine Frage.
    Wie mache ich es, wenn erstens alle Mieter schon belegt sind?
    Und wenn Mieter1 Belegt ist, dass er den Name dann bei Mieter 2 einträgt?



    Mit freundlichen Grüßen


    Jeffry:

    Hört sich alles ziemlich kompliziert an ^^



    Also ich habs jetzt mal so versucht:
    #define MAX_MIETER 3
    new Mieter[MAX_HOUSE][MAX_MIETER][24];


    Und dann das mit der Tabelle erstellen wie beim Haus

    Spoiler anzeigen
    CreateMieterTable()
    {
    new query[256];
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `Mieter` (");
    format(query, sizeof(query), "%s`ID` int(11) NOT NULL PRIMARY KEY,", query);
    format(query, sizeof(query), "%s `Mieter` varchar(24) NOT NULL DEFAULT '0',", query);
    return 1;
    }

    LoadMieter
    Spoiler anzeigen
    LoadMieter()
    {
    CreateMieterTable();
    mysql_tquery(handle, "SELECT * FROM Mieter ORDER BY ID ASC", "LoadMieter_Data");
    return 1;
    }


    Und hier gibt es schon Probleme :D

    Spoiler anzeigen
    forward LoadMieter_Data();
    public LoadMieter_Data()
    {
    new rows;
    rows = cache_num_rows();
    for(new i=0; i<rows; i++)
    {
    cache_get_field_content(i, "Mieter", Mieter[MAX_HOUSE][MAX_MIETER][24],handle);
    }
    return 1;
    }

    Ist das alles bis jetzt richtig? Nein oder :D
    Ich bekomme nämlich schon hier:
    cache_get_field_content(i, "Mieter", Mieter[MAX_HOUSE][MAX_MIETER][24],handle);
    error 032: array index out of bounds (variable "Mieter")
    Diesen Error :x


    Nunja, irgendwie check ich es dann auch nicht beim Mieten Befehl, ist wohl etwas zu kompliziert grad für mich ^^


    Mit freundlichen Grüßen


    Jeffry:

    Okey.


    Soll ich dann in das Enum der Häuser noch
    Mieter[34]
    hinzufügen?
    Dann eine neue Tabelle erstellen und die dann dort speichern lassen?

    Hm auf einmal geht es so wie du es geschrieben hast :D


    Lag es an dem Return 1?



    Kleine Frage zum Thema mieten.
    Muss ich jetzt eine neue Spalte erstellen?
    ich denk mal mit varchar oder? aber kann man da nicht immer nur 1 name rein speichern :o?



    MfG

    Perfekt!


    Danke dir Jeffry:


    Kleines Problem, bei meinem Exit befehl.
    ocmd:exit(playerid, params[])
    {
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][IntX],hInfo[i][IntY],hInfo[i][IntZ]))
    {
    SetPlayerPos(playerid, hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ]);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    }
    }
    return SendClientMessage(playerid, error, "Du bist nicht in der Nähe eines Hauses!");
    }


    Ich geh in mein Haus rein, mache /exit und komme an einem anderen Haus raus, wieso :D?


    //edit:
    Zweites Problem behoben, hatte immer "Besitzer" leer beim erstellen, jedoch besteht das Problem mit dem Spawn immer noch.
    Mit freundlichen Grüßen
    Jeffry:

    Oh ja das stimmt, hat mich jetzt voll gewundert dass ich das übersehen habe ^^


    Wie kann ich abfragen, ob der Spieler der in der Nähe eines Hauses steht, auch der Besitzer davon ist?
    Wegen meinem Sellhouse :o


    ocmd:sellhouse(playerid, params[])
    {
    new string[64];
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(hInfo[i][Gekauft] != 1) return SendClientMessage(playerid, error, "Dieses Haus kannst du nicht verkaufen!");
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ]))
    {
    hInfo[i][Gekauft] = 0;
    format(hInfo[i][Besitzer], 34, "%s",SpielerName(playerid));
    format(string, sizeof(string), "Besitzer: Niemand\nPreis: %d\nLevel: %d",hInfo[i][Kaufpreis],hInfo[i][Level]);
    Update3DTextLabelText(hInfo[i][Houselable], 0xB90000FF, string);
    GivePlayerMoney(playerid, hInfo[i][Kaufpreis]);
    }
    return SendClientMessage(playerid, error, "Du bist nicht in der Nähe deines Hauses!");
    }
    }
    return 1;
    }


    Mit freundlichen Grüßen



    Waren die Kord. vertauscht ^^
    Es war YXZ, hab dann einfach XYZ gemacht :p
    Nun funktioniert es :)


    Danke!


    Beim Enter und /Buy befehl, einfach abfragen bei welchem Haus er steht und dann meine Sachen hinschreiben oder?
    Jeffry:


    Mit freundlichen Grüßen

    Leider kommt immer "Du bist nicht in der Nähe eines Hauses" (Dieses Problem hatte ich davor schon ^^)


    Und das Pickup lösche ich so oder?:


    DestroyPickup(i);


    Jeffry:


    Mit freundlichen Grüßen

    Hi,


    nun geht es. Wieso war ich so doof und schreibe dort den Enum Namen rein :D


    Kannst du mir vielleicht noch erklären wie ich das mit dem /Deletehouse mache?
    Wie beschrieben, das Haus, dass in der Nähe von mir ist(3.0 Radius) soll gelöscht werden.


    Spoiler anzeigen
    ocmd:deletehouse(playerid, params[])
    {
    new Float:dPos[3];
    GetPlayerPos(playerid, dPos[0],dPos[1],dPos[2]);
    if(SpielerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, error, "Du bist kein Admin!");
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[i][PosY],hInfo[i][PosX],hInfo[i][PosZ]))
    {

    hInfo[i][PosX] = 0;
    hInfo[i][PosY] = 0;
    hInfo[i][PosZ] = 0;
    hInfo[i][IntX] = 0;
    hInfo[i][IntY] = 0;
    hInfo[i][IntZ] = 0;
    hInfo[i][IntID] = 0;
    hInfo[i][VID] = 0;
    hInfo[i][Level] = 0;
    hInfo[i][Kaufpreis] = 0;
    hInfo[i][Mietpreis] = 0;
    hInfo[i][Gekauft] = 0;
    hInfo[i][Lock] = 0;

    Spoiler anzeigen
    new query[128];
    format(query, sizeof(query), "DELETE FROM House WHERE ID = '%d'", i);
    mysql_tquery(handle, query);
    return SendClientMessage(playerid, erfolg, "Haus wurde erfolgreich gelöscht.");
    }
    else {
    SendClientMessage(playerid, error, "Du bist nicht in der Nähe eines Hauses!");
    }
    }
    return 1;
    }


    Mit freundlichen Grüßen


    Jeffry:

    Hi,


    MySQL Log:

    SQL
    [14:14:46] [DEBUG] mysql_option - option: 1, value: 0[14:14:46] [DEBUG] mysql_connect - host: "127.0.0.1", user: "root", database: "new_rl", password: "****", port: 3306, autoreconnect: true, pool_size: 2[14:14:46] [DEBUG] CMySQLHandle::Create - creating new connection..[14:14:46] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called[14:14:46] [DEBUG] CMySQLHandle::Create - connection created (id: 1)[14:14:46] [DEBUG] CMySQLConnection::Connect - establishing connection to database...[14:14:46] [DEBUG] CMySQLConnection::Connect - connection was successful[14:14:46] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled[14:14:46] [DEBUG] mysql_errno - connection: 1[14:14:46] [DEBUG] CMySQLConnection::Connect - establishing connection to database...[14:14:46] [DEBUG] CMySQLConnection::Connect - connection was successful[14:14:46] [DEBUG] CMySQLConnection::Connect - connection was successful[14:14:46] [DEBUG] CMySQLConnection::Connect - connection was successful[14:14:46] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled[14:14:47] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM Kassen ORDER BY ID ASC", callback: "LoadKassen", format: "d"[14:14:47] [DEBUG] mysql_tquery - connection: 1, query: "CREATE TABLE IF NOT EXISTS `House` (`ID` int(11) NOT NULL PRIMARY KEY,  `Besitzer` varchar(24) NOT NULL DEFAULT '0',  `Level` int(11) NOT NULL DEFAULT '0',  `PosX` float NOT NULL DEFAULT '0',  `PosY` float NOT NULL DEFAULT '0',  `PosZ` float NOT NULL DEFAULT '0',  `IntX` float NOT NULL DEFAULT '0',  `IntY` float NOT NULL DEFAULT '0',  `IntZ` float NOT NULL DEFAULT '0',  `IntID` int(11) NOT NULL DEFAULT '0',  `VID` int(11) NOT NULL DEFAULT '0',  `Locked` int(11) NOT NULL DEFAULT '0',  `Mietpreis` int(11) NOT NULL DEFAULT '0',  `Kaufpreis` int(11) NOT NULL DEFAULT '0',  `Gekauft` int(11) NOT NULL DEFAULT '0') ENGINE=InnoDB DEFAULT CHARSET=latin1;", callback: "(null)", format: "(null)"[14:14:47] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM Hausdaten ORDER BY ID ASC", callback: "LoadHouse_Data", format: "(null)"[14:14:47] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM Auto", callback: "LoadVehicles_Data", format: "(null)"[14:14:47] [DEBUG] CMySQLQuery::Execute[LoadKassen] - starting query execution[14:14:47] [DEBUG] CMySQLQuery::Execute[LoadKassen] - query was successfully executed within 0.591 milliseconds[14:14:47] [DEBUG] CMySQLResult::CMySQLResult() - constructor called[14:14:47] [DEBUG] CMySQLQuery::Execute[] - starting query execution[14:14:47] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.635 milliseconds[14:14:47] [DEBUG] Calling callback "LoadKassen"..[14:14:47] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving[14:14:47] [DEBUG] cache_get_row_count - connection: 1[14:14:47] [DEBUG] CMySQLQuery::Execute[LoadHouse_Data] - starting query executionn: 1[14:14:47] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "0"[14:14:47] [ERROR] CMySQLQuery::Execute[LoadHouse_Data] - (error #1146) Table 'new_rl.hausdaten' doesn't exist[14:14:47] [DEBUG] CMySQLQuery::Execute[LoadHouse_Data] - error will be triggered in OnQueryError[14:14:47] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO Kassen (ID, Name) VALUES ('1', 'Staatskasse')", callback: "(null)", format: "(null)"[14:14:47] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1[14:14:47] [DEBUG] CMySQLQuery::Execute[LoadVehicles_Data] - starting query execution[14:14:47] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "0"[14:14:47] [DEBUG] CMySQLQuery::Execute[LoadVehicles_Data] - query was successfully executed within 0.795 milliseconds[14:14:47] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO Kassen (ID, Name) VALUES ('2', 'Test1')", callback: "(null)", format: "(null)"[14:14:47] [DEBUG] CMySQLResult::CMySQLResult() - constructor called[14:14:47] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1[14:14:47] [DEBUG] CMySQLQuery::Execute[] - starting query execution[14:14:47] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "0"[14:14:47] [ERROR] CMySQLQuery::Execute[] - (error #1062) Duplicate entry '1' for key 'PRIMARY'[14:14:47] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO Kassen (ID, Name) VALUES ('3', 'Fahrschule')", callback: "(null)", format: "(null)"[14:14:47] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError[14:14:47] [DEBUG] CMySQLQuery::Execute[] - starting query execution[14:14:47] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1[14:14:47] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "0"[14:14:47] [ERROR] CMySQLQuery::Execute[] - (error #1062) Duplicate entry '2' for key 'PRIMARY'[14:14:47] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO Kassen (ID, Name) VALUES ('4', 'News')", callback: "(null)", format: "(null)"[14:14:47] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1[14:14:47] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "0"[14:14:47] [ERROR] CMySQLQuery::Execute[] - (error #1062) Duplicate entry '3' for key 'PRIMARY'[14:14:47] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError) VALUES ('5', 'ADAC')", callback: "(null)", format: "(null)"[14:14:47] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called[14:14:47] [DEBUG] Calling callback "OnQueryError"..[14:14:47] [ERROR] CMySQLQuery::Execute[] - (error #1062) Duplicate entry '4' for key 'PRIMARY'[14:14:47] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError


    Serverlog:

    SQL
    [14:14:46] MySQL: Die Verbindung wurde erfolgreich hergestellt.[14:14:47] query: CREATE TABLE IF NOT EXISTS `House` (`ID` int(11) NOT NULL PRIMARY KEY,  `Besitzer` varchar(24) NOT NULL DEFAULT '0',  `Level` int(11) NOT NULL DEFAULT '0',  `PosX` float NOT NULL DEFAULT '0',  `PosY` float NOT NULL DEFAULT '0',  `PosZ` float NOT NULL DEFAULT '0',  `IntX` float NOT NULL DEFAULT '0',  `IntY` float NOT NULL DEFAULT '0',  `IntZ` float NOT NULL DEFAULT '0',  `IntID` int(11) NOT NULL DEFAULT '0',  `VID` int(11) NOT NULL DEFAULT '0',  `Locked` int(11) NOT NULL DEFAULT '0',  `Mietpreis` int(11) NOT NULL DEFAULT '0',  `Kaufpreis` int(11) NOT NULL DEFAULT '0',  `Gekauft` int(11) NOT NULL DEFAULT '0') ENGINE=InnoDB DEFAULT CHARSET=latin1;[14:14:47]


    Die Pickups erstelle ich unter OnGameModeInit nach dem die Häuser geladen werden, soll ich den Code:

    Spoiler anzeigen
    for(new i=0; i<MAX_HOUSE; i++)
    {
    if(hInfo[i][Gekauft] == 0)
    {
    new text[128];
    format(text, sizeof(text), "Besitzer: Niemand\nPreis: %d\nLevel: %d",hInfo[i][Kaufpreis],hInfo[i][Level]);
    Create3DTextLabel(text,0x0FFF00FF,hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ],20.0,0,1);
    CreatePickup(1273,1,hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ],1);
    }
    else if(hInfo[i][Gekauft] == 1)
    {
    new text[128];
    format(text, sizeof(text), "Besitzer: %s\nMiete: %d\nLevel: %d",hInfo[i][Besitzer],hInfo[i][Mietpreis],hInfo[i][Level]);
    Create3DTextLabel(text,0xB90000FF,hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ],20.0,0,1);
    CreatePickup(1273,1,hInfo[i][PosX],hInfo[i][PosY],hInfo[i][PosZ],1);
    }
    }


    Bei LoadHouse_Data hinzufügen?



    Jeffry:


    Mit freundlichen Grüßen