Wie hast du die beiden jetzt definiert?
Hast du die noch irgendwo definiert? Entferne es dortdort gegebenenfalls.
Beiträge von Jeffry
-
-
Füge VehicleLockedTstamp und VehicleLockedTimer zum enum hinzu.
-
Hast du die drei Angaben im enum von vFahrzeug drin? Poste gegebenenfalls mal das enum dazu.
-
Lädst du die Ammus nach den Gruppen? Wenn nicht, dann musst du das machen.
-
Versuche es so:
if(Ammus[i][Erpresser] < 1) format(bstr,sizeof(bstr),"Keiner");
else if(GetGruppe(Ammus[i][Erpresser]) != -1) format(bstr,sizeof(bstr),"%s", Gruppen[GetGruppe(Ammus[i][Erpresser])][gName]);
else format(bstr,sizeof(bstr),"Keiner"); -
Warum willst du das dort nutzen?
-
@Jeffry geht leichter
Interessante Methode, habe ich so noch nie gesehen, aber geht natürlich. Wem das lieber ist, warum nicht.

Ich finde es ne tolle Variante, aber etwas unübersichtlicher, das ist aber wahrscheinlich nur die Gewohnheit.Nein, geht es nicht.
Doch, so geht es auch, da man nach dem Komma einen Umbruch machen kann, und es dann nicht mehr zusammengefasst wird.
Kann man mit den Parametern im Format ja auch machen, die Strings sind hier entsprechend diese Parameter. -
Um es trotz dass es schon gelöst ist kurz zu erklären:
Die Zeile ist zu lang, daher muss sie geteilt werden. Mit format würde man es so machen:
format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS Clients (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(25),pKey VARCHAR(128),pLevel INT,pAdmin INT,pDonateRank INT,gPupgrade INT,");
format(query, sizeof(query), "%spConnectTime INT,pReg INT,pSex INT,pAge INT,pOrigin INT,pCK INT,pMuted INT,pExp INT,pCash INT,pAccount INT,pCrimes INT,pKills INT,pDeaths INT,pArrested INT,pWantedDeaths INT,pPhoneBook INT,", query);
format(query, sizeof(query), "%spLottoNr INT,pFishes INT,pJob INT,PPayCheck INT,pHeadValue INT,pJailed INT,pJailTime INT,pMats INT,pDrugs INT,pLeader INT,pMember INT,pFMember INT,pRank INT,pChar INT,pContractTime INT,pDetSkill INT,", query);
format(query, sizeof(query), "%spSexSkill INT,pBoxSkill INT,pLawSkill INT,pMechSkill INT,pJackSkill INT,pCarSkill INT,pNewsSkill INT,pDrugsSkill INT,pCookSkill INT,pFishSkill INT,pHealth FLOAT,pSHealth FLOAT,pInt INT,pLocal INT,", query);
format(query, sizeof(query), "%spTeam INT,pModel INT,pPnumber INT,pPhousekey INT,pPbiskey INT,pPos_x FLOAT,pPos_y FLOAT,pPos_z FLOAT,pCarLic INT,pNewLic INT,pFlyLic INT,pBoatLic INT,pFishLic INT,pGunLic INT,pLKWLic INT,pMotoLic INT,", query);
format(query, sizeof(query), "%spZig INT,pZigSucht INT,pGun1 INT,pGun2 INT,pGun3 INT,pGun4 INT,pAmmo1 INT,pAmmo2 INT,pAmmo3 INT,pAmmo4 INT,pCarTime INT,pPayDay INT,pPayDayHad INT,pCDPlayer INT,pWins INT,pLoses INT,pAlcoholPerk INT,", query);
format(query, sizeof(query), "%spDrugPerk INT,pMiserPerk INT,pPainPerk INT,pTraderPerk INT,pTut INT,pWarns INT,pAdjustable INT,pFuel INT,pMarried INT,pMarriedTo VARCHAR(128),pRoadblock INT,pPlayMinutes INT,pGesamtMinutes INT,", query);
format(query, sizeof(query), "%spMinutesSinceLogin INT,pMinutesSinceAn INT,pSFPASS INT,pLVPASS INT,pHandyGeld INT,pHandyVer INT,pUhrID INT,pHandyID INT,pTot INT,pTx FLOAT,pTy FLOAT,pTz FLOAT,pOwnPerso INT,pOwnAntrag INT,", query);
format(query, sizeof(query), "%spPersoStop INT,pFrakSperre INT,PRIMARY KEY (id))", query); -
Also muss ich die Includes wieder einfügen dann klappt alles?
Möglicherweise, ja.
Unter der Bedingung, dass die Funktionen und Konstanten dort definiert sind. -
Kann es an den Includes liegen dass ich die ganz oben gelöscht habe?
Daran wird es liegen, ja. Die undefinierten Funktionen bzw Konstanten waren dort wohl definiert.
-
Du kannst Strings nicht wie in Java zum Beispiel mit dem + verbinden.
Nutze format oder strcat um das Query zu verbinden. -
Du sprengst mit der Schleife das Array, da MAX_PLAYERS größer ist als 16.
for(new i = 0; i < MAX_PLAYERS; i++)
Zu
for(new i = 0; i < sizeof(boden); i++)Gleich bei anderen Schleifen die du gegebenenfalls davor stehen hast.
-
return 1; beendet doch alles wenn ich mich richtig erinnere. Sprich wenn die Schleife bei dem return 1; ankommt wird die komplette Schleife abgebrochen oder nicht?
Genau, ja.
Wenn du weiter springen willst, dann musst du
continue;
nutzen. -
Ahh verstehe, das macht dann Sinn, so könnte man es machen, um einen etwas besseren Objekt-Aufbau zu bekommen.
Der Stream Distanz kann ja für jedes Objekt einzeln angegeben werden.
Mehr als 1000 Objekte zeigt es dann zwar auch nicht an, aber diese 1000 zeigt es dann noch optimierter an. -
Soviel ich weiß gab es mal eine Möglichkeit das Limit etwas zu erhöhen.
Mehr als 1000 Objekte (MAX_OBJECTS) können auf keinen Fall gleichzeitig angezeigt werden, das ist nämlich das Limit von SA-MP, das kann auch der Streamer nicht umgehen.
Ich schätze mal d0 hat 1000 gemeint, da der Streamer irgendwas um die 800 als Standard Maximum eingestellt hat. -
Aber naja,
auf großer Distance sind meistens die gemappten Objekte nicht ganz erkennbar.Dann müsstest du die Stream Distanz höher setzen, allerdings bringt das bei vielen Objekten nichts, denn es werden dann ohnehin nur die nächsten maximal 1000 Objekte angezeigt, unabhängig von der Distanz.
-
Beachte, dass du auch
MoveDynamicObject
nutzen musst, anstatt MoveObject.Wenn du nichts vergisst, dann sollte es klappen.
Poste ansonsten bitte den Code. -
Nein, nicht zwangsläufig.
Die kannst du auch mit CreateDynamicObject erstellen, und mit MoveDynamicObject bewegen. -
Ein Streamer kann auch nicht mehr als die erlaubten 1000 Objekte gleichzeitig anzeigen.
Deine Map hat wahrscheinlich zu viele Objekte in einem zu kleinen Umkreis, sodass das Limit erreicht wird, und nicht mehr Objekte angezeigt werden können.Erstellst du denn in deinem Code noch irgendwo Objekte mit CreateObject? Wenn ja, ändere alle zu CreateDynamicObject.
-
Jetzt habe ich aber immer noch denselben Fehler wie eben:
Benenne die Variable "tmp" im Befehl um zu "tmp2", da du "tmp" irgendwo schonmal deklariert hast, auf vorheriger Ebene.
Zwecks dem "Server closed the Connection", das sollte nicht am Befehl liegen.