Problem mit Pickup erstellen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hei also ich hab das Problem das meine Pickups für das Haussystem nicht erstellt werden


    for(new i; i < MAX_HOUSES; i++)
    {
    CreatePickup(1318, 1, HouseInfo[i][HX], HouseInfo[i][HY], HouseInfo[i][HZ],0);


    }


    ich hab schon getestet und in HX,HY,HZ befinden sich die Koordinaten
    //edit: der sinn ist das er bei jedem haus ein pickup erstellen soll


    mfg

    Einmal editiert, zuletzt von nehlinator ()

  • hi


    Ist es nicht so, dass jedes Pickup ein einzelnes Objekt ist? Versuch es mal so.



    for(new i; i < MAX_HOUSES; i++)
    {
    new house[MAX_HOUSES];
    house[i] = CreatePickup(1318, 1, HouseInfo[i][HX], HouseInfo[i][HY], HouseInfo[i][HZ],0);
    }

  • FlyinRhino:
    Dümmster Hilfebeitrag heute, glückwunsch.


    @nehl:
    Was genau ist jetzt das Problem,
    und hast du dir die Werte mal alle printen lassen ?


    (Anm. d. Autors: Natürlich nicht, und da du jede Hilfe exklusive dem fertigen Code eh nicht verstehst,
    werde ich dir ohne niveauvollen und konstruktiven Einsatz deinerseits nicht helfen)

  • ok hab grad gemerkt das er in dem enum falsch herausgelesen hat...


    kann mir da einer weiter helfen??
    enum
    enum HausInfo
    {
    ID,
    nummer,
    besitzer[MAX_PLAYER_NAME],
    key,
    prize,
    Float:HX,
    Float:HY,
    Float:HZ,
    Float:IX,
    Float:IY,
    Float:IZ,
    InteriorID
    }


    new HouseInfo[MAX_HOUSES][HausInfo];


    loadhouse
    while (idx <MAX_HOUSES)
    {


    new sql[256];
    format(sql,sizeof(sql),"SELECT * FROM `Häuser` WHERE `ID` = '%d' ", idx);
    mysql_query(sql);
    mysql_store_result();
    mysql_fetch_row_format(sql,"|");
    if(sscanf(sql,"p<|>e<dds[20]ddffffffd>", HouseInfo[idx])){ //Achtung dein Enum muss genau in der Reihenfolge wie mysql deklariert sein!
    print("Error: Could Not Read from Mysql Database");
    }
    idx++;
    }
    Im HX,Y,Z steht das was in der Datenbank IY,IZ,Int eig ist


    was ist da falsch?


    mfg

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hat's ohne floatstr denn jetzt geklappt ?
    Sollte ja ;)


    Die Parameter für den Befehl sind wiefolgt:

    Code
    native mysql_fetch_field(const fieldname[], dest[], MySQL:handle = (MySQL:0));


    Du kannst also als optionalen dritten Parameter die Verbindung angeben.

  • ne ich bekomm noch immer diese Errors:
    error 035: argument type mismatch (argument 1)
    : error 006: must be assigned to an array
    hier Code:
    stock LoadHouse()
    {


    new data[128],hquery[128];
    new idx;
    mysql_debug(1);
    for(idx = 0;idx <MAX_HOUSES;idx++)
    {
    format(hquery, sizeof(hquery), "SELECT * FROM `Häuser` WHERE `ID` = '%d'",idx);
    mysql_query(hquery);
    mysql_store_result();
    mysql_fetch_field("nummer",data); HouseInfo[idx][nummer] = strval(data);
    mysql_fetch_field("besitzer",data); strmid(HouseInfo[idx][besitzer], data, 0, sizeof(data), 255);
    mysql_fetch_field("int",data); HouseInfo[idx][InteriorID] = strval(data);
    mysql_fetch_field("HX",data); HouseInfo[idx][IX] = data;
    mysql_fetch_field("HY",data); HouseInfo[idx][IY] = data;
    mysql_fetch_field("HZ",data); HouseInfo[idx][IZ] = data;
    mysql_fetch_field("IX",data); HouseInfo[idx][IX] = data;
    mysql_fetch_field("IY",data); HouseInfo[idx][IY] = data;
    mysql_fetch_field("IZ",data); HouseInfo[idx][IZ] = data;
    }
    mysql_debug(0);
    return 1;
    }
    soll ich überall das vor data weg machen oder was??


    mfg

  • Mit "Mach das floatstr weg" meinte ich,
    dass du zum Testen des Errors die komplette Stelle wegmachst.
    floatstr muss (error 006) da natürlich hin,
    wenn du das Ergebnis (String) in die Variable packen willst (Float).


    Beachte auch, dass du da etwas falsch machst mit den Koordinaten.
    Zeile 18 überschreibt die Variable vn Zeile 15.


    In welcher Zeile ist der error 035 denn ?
    Mir springts grade nicht ins Auge und ich bin zu faul zum genauen Suchen ;)

  • asou ^^ sry


    also die argument fehler sind :
    mysql_fetch_field("nummer",data); HouseInfo[idx][nummer] = strval(data);
    mysql_fetch_field("besitzer",data); strmid(HouseInfo[idx][besitzer], data, 0, sizeof(data), 255);
    mysql_fetch_field("int",data); HouseInfo[idx][InteriorID] = strval(data);
    mysql_fetch_field("HX",data); HouseInfo[idx][IX] = floatstr(data);
    mysql_fetch_field("HY",data); HouseInfo[idx][IY] = floatstr(data);
    mysql_fetch_field("HZ",data); HouseInfo[idx][IZ] = floatstr(data);
    mysql_fetch_field("IX",data); HouseInfo[idx][IX] = floatstr(data);
    mysql_fetch_field("IY",data); HouseInfo[idx][IY] = floatstr(data);
    mysql_fetch_field("IZ",data); HouseInfo[idx][IZ] = floatstr(data);



    alle sind der Error error 035: argument type mismatch (argument 1)


    wenn ich sie wegmache die ganzen dann sagt er halt das data nicht verwendet wird aber das wars


    wenn ich die zeilen mysql_fetch_field("IY",data); HouseInfo[idx][IY] = floatstr(data); 
    auf 2 aufteile dann ist der fehler in:
    mysql_fetch_field("IY",data);


    hoffe das du mit dem was anfangen kannst


    mfg

  • Warte, bevor ich mich verzettel -
    welches Plugin für MySQL benutzt du?


    Weil die Befehle ähnlich wie bei mir heißen,
    war ich von Strickenkid's ausgegangen.
    Offensichtlich nutzt du ein anderes,
    daher musst du dich nach der Syntax (und Beispielen)
    zu deinem Plugin umsehen.


    Der Fehler mit dem Überschreiben ist übrigens immernoch da.