Gib das mal in PHPMyAdmin ein, mal sehen, was er dann da sagt ![]()
Beiträge von Kaliber
-
-
Printe dir doch mal das ganze query

-
Okay, dann hier mal meine Idee

Wir nutzen einfach hier die Reihenfolge im Enum aus
C
Alles anzeigenenum dtc_PlayerCar { CarId, CarOwner[MAX_PLAYER_NAME], CarModel, Float:CarPos_x, Float:CarPos_y, Float:CarPos_z, Float:CarRotate, CarNitro, CarHyd, CarWheel, CarAusp, CarSideL, CarSideR, CarFB, CarRB, CarSpoiler, CarRoof, CarHood, CarVents, CarLamps, CarPJ, CarC1, CarC2, CarPrice, CarArrest, Plate[15], Float:Fuel, Float:Meters, Neon, BagSpace, //Items BagApple, BagPear }; new PlayerCar[MAX_PLAYERS][MaxVeh][dtc_PlayerCar]; stock const ItemSpace[] = { 1, //BagApple 1 //BagPear };Wichtig hier, sorg nun dafür, dass BagApple immer das oberste Item ist und alle anderen Items hänge einfach unten dran. So wie man es normal auch tun würde.
Dann kannste es nämlich einfach so machen:
Cstock AddItem(playerid, x, dtc_PlayerCar:item, amount) { PlayerCar[playerid][x][item] += amount; PlayerCar[playerid][x][item] += ItemSpace[item-BagApple]; }
Nutzung dann einfach so: -
Also, man kann das so machen, wie Jeffry das gezeigt hat.
Das wäre denke ich mal einer der einfachsten Wege.Man kann das aber auch elegant in O(1) lösen, ohne Strings zu vergleichen.
Alles anzeigenenum ItemSpaceEnum
{
Apple[28],
Pear[28]
}
new ItemSpace[ItemSpaceEnum] =
{
{1},
{1}
};Will das nur mal demonstrieren, allerdings müsste ich dafür noch wissen, wozu du das als String deklariert hast im enum?!
Was soll das, was hat das für einen Sinn? Du willst doch dafür nur sagen, wie viel Raum das einnimmt und das ja immer ein int und kein String

-
Zeig uns mal deine enums zu PlayerCar und ItemSpace

-
Das geht nicht

Aber muss es ja auch nicht, wieso willst du da unbedingt einen String wert benutzen?
Nutz doch einfach direkt BagApple oder mach ein Makro/Enum und Mapp den wert auf z.B. ITEM_APPLE oder sowas

-
Ich hoffe ihr könnt mir bei den letzen fehlern helfen danke im Vorraus!
Du weißt, dass es ein Wiki gibt mit Beispielen, wie man die Funktionen nutzt oder?

Hier mal als Beispiel: http://wiki.sa-mp.com/wiki/MyS…#cache_get_value_name_int
C//Sprich so machen: new EintragID, Money; cache_get_value_name_int(i,"SQLid", EintragID); //39455 cache_get_value_name_int(i,"Money", Money); //39456Und mysql_num_rows gibts nicht mehr, das heißt jetzt: cache_num_rows()

-
Viel zu viele Schleifen überall

Und du solltest keine Variablen in Schleifen deklarieren

Hier, mal etwas effizienter:
C//OnPlayerConnect new text[MAX_PLAYER_NAME + 35]; format(text,sizeof(text),"%s [ID: %d] hat den Server betreten",PlayerName(playerid),playerid); for(new i; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && PlayerInfo[i][togeinlogg] == 1) SendClientMessage(i,COLOR_RED,text); }C//OnPlayerDisconnect new text[MAX_PLAYER_NAME + MAX_ZONE_NAME + 35]; GetPlayer2DZone(playerid, text, MAX_ZONE_NAME); format(text,sizeof(text),"%s [ID: %d] hat den Server in %s verlassen",PlayerName(playerid),playerid,text); for(new i; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && PlayerInfo[i][togeinlogg] == 1) SendClientMessage(i,COLOR_RED,text); } -
Dann liegt es an deinem Dokument bzw dem restlichen CSS...
Kannst du uns evtl einen Link zu der Website schicken oder mir per PN? Dann kann ich das auflösen und hier schreiben, wieso es nicht geklappt hat.
-
Ehh, das funktioniert so

Steht noch mehr in deinem Dokument?
Was ist wenn du F12 drückst, sind in der Konsole Errors?
-
also keine andere zahl
Die x Koordinate ist natürlich gleich.
Das Plugin kümmert sich nur um die Z-Koordinate

-
...das sind schlechte prints

Du musst 3x %f für die einzelnen Werte verwenden, damit man das vergleichen kann

-
Okay, das ist ein bekannter Bug

Der Boden verschwindet nämlich, wenn du im Interior bist und dann fallen die Autos unter die Map und werden dann einfach random wieder hingestellt

Die einfachste Möglichkeit ist es mit CreateObject ein größeres Objekt direkt unter die Grove Street zu packen, damit da nix runter fällt

-
Stehen sie zufällig an der Grove Street?

-
Und es wird UpdateHaus mit dem index 120 aufgerufen.
Entweder du machst MAX_HAUS größer oder schaust in loadHaus nach, was da schief geht

-
Wie ist denn HausInfo deklariert?

Ganz besonders interessiert mich der 1. index, wie groß der ist..also MAX_HOUSES oder so sollte der heißen

-
public UpdateHaus
Das müssten wir sehen

-
Ja, wie du siehst ObjectSlotsUsed ist bei 999.
Sprich du lädst zu viele Objekte

Falls du irgendwo CreateObject nutzt, solltest du überlegen es auf CreateDynamicObject zu ändern, andernfalls ummappen könnte helfen oder die DrawDistance von kleineren Objekten umsetzen (das aber ne ganz schöne fuddel Arbeit)...

-
Das bezieht sich ja nur auf CreateObject und generell kann man das für einzelne Objekte ja umstellen

Egal, wie dem auch sei, drück doch einfach mal F5 wenn du da hin gehst zu deinen Objekten und schau wie viele Slots voll sind, dann weißt du es, woran es liegt

-
Wieviele Objekte dürfen an einen Ort sein?
Das kommt darauf an, es sind nur 1000 möglich an einem Ort.
Allerdings, wenn du viel CreateObject nutzt, sind natürlich viel weniger an einem Ort möglich, da diese Slots verbraucht sind.
In diesem Sinne, behalte das im Hinterkopf.
Es kann aber auch gut sein, dass die Draw/Streamdistance einfach bescheiden eingestellt ist
