GK System

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
  • Hallo,


    ich bin gerade an der Überlegung wie ich es struktuierer das jedes Gebäude eine eigene ID hat mit der man über das /find System herausfinden kann welche ID es ist.


    Sollte man die ID kennen ist es möglich direkt dort hinzufinden. Allerdings ist die frage wie ich das Abfrage in welchen GK er sich befindet und das jeder Shop ein anderes GK hat.


    @Jeffry

    Einmal editiert, zuletzt von robbi2304 ()

  • Steht GK für Gebäudekomplex? Jenachdem, wie du derzeit deine Gebäude im Skript handhabst. Sollten beispielsweise sämtliche Gebäude in einem Array sein, kannst du einfach deren jeweiligen Index im Array nehmen oder falls diese in einer SQL - Datenbank gespeichert werden, nimmst du einfach den jeweiligen primary key.


    Du könntest auch theoretisch <INTERIORID>.<VIRTUALID> vom jeweiligen Shop nehmen, vorausgesetzt natürlich, dass hier wirklich eine Eindeutigkeit vorliegt.

  • Es sind alle Gebäude in der Datenbank gespeichert und sollen daraus auch geladen werden.



    public OnHausesLoad()
    {
    new num_rows;
    cache_get_row_count(num_rows);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id=getFreeHausID();
    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
    new tmp_name[MAX_PLAYER_NAME];
    cache_get_value_name(i, "besitzer", tmp_name); //String
    strmid(hInfo[id][h_besitzer], tmp_name, 0, sizeof(tmp_name), sizeof(tmp_name));
    cache_get_value_name_int(i, "id",hInfo[id][h_id]); //Float
    cache_get_value_name_int(i, "h_preis",hInfo[id][h_preis]); //Float
    new string[128];
    if(!strlen(hInfo[id][h_besitzer]))
    {
    hInfo[id][h_pickup]=CreatePickup(1273, 1, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], -1);
    format(string,sizeof(string), "Dieses Haus steht zum Verkauf\n\nKosten: %i$\nTippe /hauskaufen", hInfo[id][h_preis]);
    hInfo[id][h_text]=Create3DTextLabel(string,-1, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], 10, 0, 1);
    }
    else
    {
    hInfo[id][h_pickup]=CreatePickup(1239, 1, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], -1);
    format(string,sizeof(string), "Besitzer: %s\n/enter", hInfo[id][h_besitzer]);
    hInfo[id][h_text]=Create3DTextLabel(string,-1, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], 10, 0, 1);
    }
    }
    return 1;
    }


    So lade ich meine Häuser auf dem Server.