Beiträge von Jeffry

    Ich schätze dem Code mal nach, dass es so sein müsste:
    public OnPlayerSpawn(playerid)
    {
    pTimer[playerid] = SetTimerEx("PayDay", (1000*60), true, "i", playerid);
    spielzeitTimer[playerid] = SetTimerEx("SpielZeitTimer", (1000*60), true, "i", playerid);
    switch(sInfo[playerid][pSpawn])
    {
    case 0: //Neulingsspawn
    {
    // Was passieren soll
    }
    case 1: //Fraktion
    {
    new fID = sInfo[playerid][pFraktion];
    SetPlayerPos(playerid, fInfo[fID][f_x], fInfo[fID][f_y], fInfo[fID][f_z]);
    SetPlayerFacingAngle(playerid, fInfo[fID][f_r]);
    }
    case 2: //Haus
    {
    // Was passieren soll
    }
    }
    return 1;
    }

    Also ich zähle 15 geladene Fraktionen, und in der Tabelle sind ebensoviele. Ich kann da jetzt kein Problem erkennen, was ist denn das Problem?

    Dann poste bitte den Code mit dem print vom Laden, das was im Server Log ausgegeben wird und einen Screenshot der Daten in der Tabelle.

    Setze die Spalte "id" in deiner Tabelle auf "AUTO_INCREMENT" (A_I) und ändere das Query zu:
    format(sql, sizeof(sql), "INSERT INTO biz (name,besitzer,x,y,z,kostet) VALUES ('%s','Niemand',%f,%f,%f,%d)",result,spx,spy,spz,player1);


    Dann leere die Tabelle und versuche es erneut.

    Ja, dann beim "#define MAX_FRAKS" die Zahl erhöhen, entsprechend der der Anzahl an Fraktionen.
    Du weißt ja wie viele Fraktionen du angelegt hast, ich weiß das nicht.

    Woran kiegt das?

    Kannst du bitte von der Meldung im Spiel einen Screenshot machen?



    PS: Wie schaffe ich es den Pawn code richtig einzufügen?

    Über den Quellcode-Editor (Kästchen neben den beiden Pfeilen).



    Und bei dem Frakload lass ich die Fraktionen Printen die geladen wurden... die letzten 3 fehlen, Warum?

    Möglicherweise ist dein fInfo Array zu klein, sprich für zu wenige Fraktionen vorgesehen.

    Ist ja kein Problem, dafür gibt es die Scripting Base ja.
    Nur musst du sagen, wenn du etwas nicht verstehst, dann erklärt man dir das gerne (ich zumindest) - da kommt auf jeden Fall nicht der Eindruck auf, dass jemand nur alles vorgemacht haben will, hauptsache es funktioniert, sondern man weiß, dass derjenige auch etwas dabei lernen will. Da investiere ich auch gerne etwas mehr Zeit in eine Erklärung.


    Für's nächste mal dann, falls du etwas nicht verstehst, Bescheid sagen. :)


    Das Prinzip der drei Funktionen (für String, Integer und Float) ist dir nun aber klar, oder?

    ich scripte noch nicht lange und habe diese Wiki nicht verstanden.
    Entschuldigung

    Das ist ja dann kein Problem, dann musst du aber auch sagen, dass du es nicht verstehst, dann kann man es dir erklären. ;)
    Deine Posts haben allerdings den Eindruck gemacht, dass du es dir gar nicht angeschaut hast, da du keine zwei Minuten später wieder gepostet hast.


    Das Wichtigste am ganzen Prozess ist ja, dass du ihn verstehst und etwas dabei lernst, um es auch in Zukunft korrekt machen zu können.

    Du solltest wirklich mehr Eigeninitiative zeigen und wenigstens mal einen Blick in das Wiki schauen, dort sind die Funktionen jeweils mit einem Beispiel erklärt, das kann man eigentlich dann nicht mehr falsch machen.
    Wenn ich dir das alles vorschreibe lernst du gar nichts dabei.


    forward OnFraktionLaden();
    public OnFraktionLaden()
    {
    new rows, fields;
    cache_get_data(rows, fields);
    for(new i = 0; i < rows; i++)
    {
    fInfo[i][f_id] = cache_get_field_content_int(i,"fid",Handle);
    cache_get_field_content(i,"fname", fInfo[i][f_name],Handle,32);
    //Cords
    fInfo[i][f_x] = cache_get_field_content_float(i,"f_x", Handle);
    fInfo[i][f_interior] = cache_get_field_content_int(i,"f_interoir",Handle);
    fInfo[i][f_world] = cache_get_field_content_int(i,"f_world", Handle);
    fInfo[i][f_color] = cache_get_field_content_int(i,"f_color", Handle);
    fInfo[i][f_kasse] = cache_get_field_content_int(i,"f_kasse", Handle);
    //Rangnamen
    cache_get_field_content(i,"f_rang1", fInfo[i][f_rang1],Handle);
    cache_get_field_content(i,"f_rang2", fInfo[i][f_rang2],Handle);
    cache_get_field_content(i,"f_rang3", fInfo[i][f_rang3],Handle);
    cache_get_field_content(i,"f_rang4", fInfo[i][f_rang4],Handle);
    cache_get_field_content(i,"f_rang5", fInfo[i][f_rang5],Handle);
    cache_get_field_content(i,"f_rang6", fInfo[i][f_rang6],Handle);
    printf("Fraktionen geladen");
    }
    return 1;
    }

    stock FraktionLaden()
    {
    mysql_function_query(Handle, "SELECT * FROM `fraktionen`", true, "OnFraktionLaden", "");
    return 1;
    }


    forward OnFraktionLaden();
    public OnFraktionLaden()
    {
    new rows, fields;
    cache_get_data(rows, fields);
    for(new i = 0; i < rows; i++)
    {
    cache_get_field_content(i,"fname", fInfo[i][f_name],Handle,32);
    //Rows hier auslesen
    }
    return 1;
    }

    stock FraktionLaden()
    {
    mysql_function_query(Handle, "SELECT * FROM `fraktionen`", true, "OnFraktionLaden", "");
    return 1;
    }


    forward OnFraktionLaden();
    public OnFraktionLaden()
    {
    new rows = cache_num_rows();
    for(new i = 0; i < rows; i++)
    {
    cache_get_field_content(i,"fname", fInfo[i][f_name],Handle,32);
    //Rest hier auslesen...
    }
    return 1;
    }

    Jein, da würde dann noch das Cache-Auslesen fehlen, und ein Query reicht eigentlich, man kann dann durch den Cache loopen.


    stock FraktionLaden()
    {
    mysql_function_query(Handle, "SELECT * FROM `fraktionen`", true, "OnFraktionLaden", "");
    return 1;
    }


    Wenn du das OnFraktionLaden noch anlegst, dann passt es.
    Dort musst du dann durch den Cache loopen.

    Ja, aber natürlich nicht alles.
    Schau dir bitte den Wiki-Beispiel-Code an, und versuche deinen Code anhand dessen aufzubauen.


    Wenn du nicht mehr weiter kommst, poste den Code den du bis dahin hast.