Beiträge von robbi2304

    Hallo liebe Leute,


    ich bräuchte mal wieder eure Hilfe. Ich würde gerne ein Aduty System erstellen was bis auf eine Kleinigkeit auch geklappt hat.


    Ich bekomme bei diesem Code nun errors



    switch(PlayerInfo[playerid][admin_level])
    {
    case 1: {aduty[playerid] = Create3DTextLabel("Supporter",0x7DFF00C7,30.0,40.0,50.0,20.0,.attachedplayer = playerid,.worldid = GetPlayerVirtualWorld(playerid),.interiorid = GetPlayerInterior(playerid)); SetPlayerColor(playerid,0x7DFF00C7);}
    }



    E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : error 017: undefined symbol "attachedplayer"
    E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : warning 215: expression has no effect
    E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : error 029: invalid expression, assumed zero
    E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : error 017: undefined symbol "worldid"
    E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\22.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn(5069) : fatal error 107: too many error messages on one line



    Wie würde ich in dem Falle attachedplayer & worldid definieren ?

    Hallo liebe Brotfische :D,


    heute brauche ich mal ein paar Informationen wie es am besten sinn machen würde ein Haussystem so zu bearbeiten das ein Spieler sich am Ende einmieten kann.


    Somit ist meine Frage wie speichere ich am besten die Mieter ab ?


    Es sollen unendlich Menschen in das Haus einmieten können.

    Ah warum komm ich nicht selber auf die Idee das zu printen.


    Ich hatte eine Abfrage zuviel in updateHaus(id)


    wodurch der Fehler aufgetreten ist. Nun funktioniert es.


    Danke für deine Mühe und Geduld mit mir @Jeffry



    Eine Frage habe ich allerdings dazu noch, wie setze ich den Wert wieder auf 0 wenn er geupdatet hat ?

    Habs so abgeändert wie von dir beschrieben. Allerdings bleiben die Errors. Ebenfalls updatet nur das erste Haus was er mit der id 1 in update 1 findet



    Ich habe nun ebenfalls nochmal jetzt etwas geändert.


    forward HausUpdate();public HausUpdate(){ mysql_pquery(handle, "SELECT * FROM haus WHERE update='1'","HausUpdat",""); return 1;}


    Errors sind dadurch weg. Aber scheinbar mit der abfrage passt was nicht. Denn nun kann er nicht mehr updaten weil er vermtl die 1 nicht mehr findet.


    Aber vielleicht kriegen wir das ja nochz hin




    forward HausUpdate();
    public HausUpdate()
    {
    mysql_pquery(handle, "SELECT * FROM haus WHERE `update1` = 1", "HausUpdat","");
    return 1;
    }



    [15:40:59] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    [15:40:59] [debug] Stack pointer (STK) is 0xBF5B58, heap pointer (HEA) is 0xBF5C58
    [15:40:59] [debug] AMX backtrace:
    [15:40:59] [debug] #0 ???????? in public HausUpdat ()
    [15:41:00] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    [15:41:00] [debug] Stack pointer (STK) is 0xBF5B58, heap pointer (HEA) is 0xBF5C58
    [15:41:00] [debug] AMX backtrace:
    [15:41:00] [debug] #0 ???????? in public HausUpdat ()


    Beim Compilen läuft alles Richtig. Alles ohne Errors & Warnings

    Ohja gibt er



    [14:23:39] [plugins/mysql] error #1064 while executing query "SELECT * FROM haus WHERE update = 1": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'update = 1' at line 1 (E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\16.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn:2916)


    Die spalte update ist in haus mit sicherheit drin


    // Edit funktioniert fast.


    Die Tabelle update ist für phpmyadmin reserviert wodurch ich diese nicht abrufen kann.


    Nun kann ich die 1 bei den Häusern eintragen. Allerdings updatet er dann nur den ersten den er mit der 1 findet und nicht den 2.


    Das wäre auch schön wenn er alle mal durchfragt und updatet


    Hinzu bekomme ich nun folgendes in der Server.log angezeigt



    [15:10:46] [MySQL] Verbindungsaufbau...
    [15:10:47] [MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: 1
    [15:10:47] Number of vehicle models: 23
    [15:10:49] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    [15:10:49] [debug] Stack pointer (STK) is 0xBF5B50, heap pointer (HEA) is 0xBF5C50
    [15:10:49] [debug] AMX backtrace:
    [15:10:49] [debug] #0 ???????? in public HausUpdat ()
    [15:10:52] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    [15:10:52] [debug] Stack pointer (STK) is 0xBF5B50, heap pointer (HEA) is 0xBF5C50
    [15:10:52] [debug] AMX backtrace:
    [15:10:52] [debug] #0 ???????? in public HausUpdat ()
    [15:10:53] [debug] Server received interrupt signal while executing beispiel.amx
    [15:10:53] [debug] AMX backtrace:
    [15:10:53] [debug] #0 native mysql_pquery () [5e92e710] from mysql.DLL
    [15:10:53] [debug] #1 000388d4 in public HausUpdate () at E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\16.11.2016\mysql-R41-win32\gamemodes\beispiel.pwn:2916
    [15:10:53] [debug] System backtrace:
    [15:10:53] [debug] #0 687108e1 in ?? () from E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\16.11.2016\mysql-R41-win32\plugins\crashdetect.DLL
    [15:10:53] [debug] #1 68712806 in ?? () from E:\Projekte 2016\SAMP-Projekte\crass-gaming.eu\Server\16.11.2016\mysql-R41-win32\plugins\crashdetect.DLL
    [15:10:53] [debug] #2 7790347f in ?? () from C:\WINDOWS\System32\KERNELBASE.dll
    [15:10:53] [debug] #3 77a462c4 in ?? () from C:\WINDOWS\System32\KERNEL32.DLL
    [15:10:53] [debug] #4 77bc0719 in ?? () from C:\WINDOWS\SYSTEM32\ntdll.dll
    [15:10:53] [debug] #5 77bc06e4 in ?? () from C:\WINDOWS\SYSTEM32\ntdll.dll
    [15:10:53] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    [15:10:53] [debug] Stack pointer (STK) is 0xBF5B50, heap pointer (HEA) is 0xBF5C50
    [15:10:53] [debug] AMX backtrace:
    [15:10:53] [debug] #0 ???????? in public HausUpdat ()

    Bleibt alles leider ohne Erfolg.


    OnGameModeInit


    SetTimer("HausUpdate",1000,true); // Häuser updaten


    Code der von Timer abgefragt wird

    forward HausUpdate();
    public HausUpdate()
    {
    mysql_pquery(handle, "SELECT * FROM haus WHERE update = 1", "HausUpdat","");
    return 1;
    }




    forward HausUpdat();
    public HausUpdat()
    {
    new num_rows, hid, tmp_name[MAX_PLAYER_NAME], id;
    cache_get_row_count(num_rows);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    cache_get_value_name_int(i, "id", hid);
    id=getHausID(hid);
    if(id == -1) continue; //Haus existiert nicht
    cache_get_value_name_float(i, "h_x", hInfo[id][h_x]); //Float
    cache_get_value_name_float(i, "h_y", hInfo[id][h_y]); //Float
    cache_get_value_name_float(i, "h_z", hInfo[id][h_z]); //Float
    cache_get_value_name_float(i, "ih_x", hInfo[id][ih_x]); //Float
    cache_get_value_name_float(i, "ih_y", hInfo[id][ih_y]); //Float
    cache_get_value_name_float(i, "ih_z", hInfo[id][ih_z]); //Float
    cache_get_value_name_int(i, "h_interior", hInfo[id][h_interior]); //Float
    cache_get_value_name(i, "besitzer", hInfo[id][h_besitzer]); //Float
    strmid(hInfo[id][h_besitzer], tmp_name, 0, sizeof(tmp_name), sizeof(tmp_name));
    cache_get_value_name_int(i, "h_preis",hInfo[id][h_preis]); //Float
    updateHaus(id);
    }
    return 1;
    }

    Ich hatte einen Fehler im Code den ich hier nicht gepostet hatte der den Fehler verursacht hatte.



    Einmal hier der aktuelle Code



    forward HausUpdate(id);
    public HausUpdate(id)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM haus WHERE update = 1",id);
    mysql_pquery(handle, query, "HausUpdat","",id);
    print(query);
    return 1;



    }

    Würde ich sagen ja. Denn da kommt der Fehler zustande.


    Ich vermute mal weil alle Spieler schon disconnected sind das er dir deswegen einen fehler anzeigt.


    Also löschen und probieren