Ist dein MAX_PLAYERS noch auf 500? Wenn ja setz das auf 50 und kompiliere erneut. Dein Tachometer alleine überschreitet ja wie gesagt schon das Limit.
Beiträge von Jeffry
-
-
[ SCRIPTING ] Wie erstelle ich ein Dynamisches Car System? (Basis)
Das sollte dir ein grobes Gerüst bilden.
-
Gleiches Spiel wie vorhin. Was passiert bzw. was passiert nicht? Kannst du ein Bild machen wie es aussieht?
-
So lernt er es aber auch. Egal wie viele Fehler, so lernt er es.
Auf jeden Fall, dagegen sagte ich nichts, aus Fehlern lernt man. War eher eine Art Eigenkritik, weil ich drei mal drüberschauen musste, bis ich alles gefunden hatte.Passt, erledigt und es tut ja.
Bitte, gerne. -
Ach ja, verdammt:
format(string, 128, "%s",VehicleNames[GetPlayerVehicleID(playerid)-400]);
zu:format(string, 128, "%s",VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
Du hast ja aber auch extrem viele Fehler da rein gehauen.
Jetzt sollte es gehen. -
Ja, das kannste genau so verwenden wie ich es dir gesagt habe.
Vergiss strcat. -
format(langezeile, sizeof(langezeile), "viel viel viel hier....");
format(langezeile, sizeof(langezeile), "%s noch viel viel viel viel mehr hier....", langezeile);
format(langezeile, sizeof(langezeile), "%s noch viel viel viel viel mehr hier....", langezeile);
format(langezeile, sizeof(langezeile), "%s noch viel viel viel viel mehr hier....", langezeile);
format(langezeile, sizeof(langezeile), "%s noch viel viel viel viel mehr hier....", langezeile);
So mache ich es, hatte noch nie Probleme damit. Ich traue strcat nicht so ganz, und es ist umständlicher wenn du noch Platzhalter einfügst. Obiges ist angenehmer, finde ich. -
Meinst du das Typ & Zustand nicht angezeigt wird?
Ich hab den Code oben nochmal verbessert, da waren noch 2 Fehler auf die ich nicht geachtet habe. Probiers jetzt nochmal. -
Meinst du das Typ & Zustand nicht angezeigt wird?
1.) 500x5 Textdraws = 2500 Textdraws, da Limit liegt bei 2000. Am besten du erstellst die Textdraws bei OnPlayerConnect und löschst sie wieder bei OnPlayerDisconnect, bzw. setzt MAX_PLAYERS auf 50. Zudem brauchst du die zwei Hintergründe, die bei jedem gleich sind, nicht als [playerid] Textdraw machen, so sparst du schonmal (2xMAX_PLAYERS)-2 Textdraws.
2.)
public UpdateTacho(playerid)
{
new string[128];
format(string, 128, "KM/H: %d", floatround(GetVehicleSpeed(GetPlayerVehicleID(playerid),0)));
TextDrawSetString(Tacho4[playerid],string);
format(string, 128, "%s",VehicleNames[GetPlayerVehicleID(playerid)-400]);
TextDrawSetString(Tacho3[playerid],string);
new Float:VHealth;
GetVehicleHealth(GetPlayerVehicleID(playerid),VHealth);
format(string, 128,"Zustand: %d",floatround(VHealth));
TextDrawSetString(Tacho5[playerid],string);
return 1;
}
Die Schleife hat da nichts zu suchen gehabt. -
Er wäre gut wenn du uns sagst was nicht geht.
Frage: Welchen Wert hat MAX_PLAYERS (siehe /pawno/includes/a_samp.inc)?
-
Bitte noch:
new Flame ...
new PlayerFlame...
AddFlame(...) FunktionDamit ich es selbst testen kann ohne den ganzen Code umzuschreiben.
-
Der Fehler ist mir nicht bekannt. Kannst du bitte mal allen Code der dazugehört posten, möglicherweise ist es einfach ein Fehler in deinem Code. Allerdings kann es auch ein Fehler mit den neuen Objekten von SA:MP sein, müsste man testen.
-
Dann ist es irgendwo anders verbockt. Du hast gesagt du hast noch andere Textdraws, was ist mit denen?
Sollten bei denen auch Fehler sein, dann entferne doch mal alle deine Textdraws und füge eins nach dem anderen, jeweils testen, wieder ein. Dann wirst du bald merken wo der Fehler liegt.Bekommst du sonst irgendwelche Meldungen vom Compiler?
-
Würde dann dies gehen?:
Oder wie ware das richtig?
Nein!! Das stimmt so nicht, da wirst du errors bekommen.Richtig:
new data[MAX_PLAYERS];
data[playerid]++;//z.B. bei OnPlayerDeath
playerid entspricht einem Integer zwischen 0 und MAX_PLAYERS-1. -
Deinen ganzen Gamemode (die. pwn Datei).
Anhand der paar Zeilen lässt sich so nichts zu dem Problem entsprechendes erkennen.
Entweder per Anhang oder über http://www.pastebin.com (kostenlos, ohne Registrierung). -
Also ich habe PAWN gelernt, indem ich mir den LAdmin4v2 (damals sehr neu) genommen habe, und versucht habe, die einzelnen Teile zu verstehen. Dann habe ich einfach losgelegt, und überlegt, welcher Teil das tut, was ich will. Den Code hab ich mir dann angeschaut, und so für den neuen Code verändert, dass er seinen Zweck erfüllt hat.
Wichtig: Fang klein an, jeder tut das. Ich arbeite nun fast 4 Jahre mit PAWN und mein Wissen ist noch lange nicht komplett, im Gegenteil.
Falls dir jemand sagt, du sollst dir die PAWN Doc durchlesen, lass es, genauso rate ich dir davon ab das wiki in allen Einzelteilen durchzulesen. Du wirst es nicht verstehen. Das kannst du in 3 Jahren machen, wenn du es verstehst, und selbst dann wirst du den Großteil in der Pawn Doc nicht auf Anhieb verstehen.Noch was: Ausprobieren. Du kannst nichts kaputt machen. Das einzige was passieren kann, ist dass du Errors bekommst. Na und? Für was gibt es STRG+Z. Einfach probieren, wenn du nicht weiter kommst, lass es, oder frag nach Hilfe, sofern es im kleinen Bereich ist.
Learning By Doing nennt sich das. Nicht aufgeben, einfach machen machen machen. Das muss nicht immer perfekt sein, und muss auch nicht immer Sinn ergeben, hauptsache du machst was. Zum Anfang kannst du dir z.B. vornehmen, einen FilterScript der hier im Forum veröffentlicht wurde (einen einfachen) nachzumachen. Musst ihn ja nicht auch veröffentlichen, aber nur zur Übung einfach nachmachen. Wenn du hängst, kannst du ja nachsehen, was falsch ist.
Meiner Meinung nach besser als alles andere.
Wie machst du das?
Du suchst dir einen Filterscript der irgendwas macht, sei es ein Auto Spawn Menu.
Schau dir zuerst mal an, was der FilterScript denn machst (z.B. ein Auto-Menu, um Auto's zu spawnen). Dann überlegst du, was du denn alles dafür brauchst, suchst dir die Funktionen zusammen (Google, SAMP Wiki) und legst los so ein Menu zu erstellen. Wenn du irgendwo hängst, kannst du einen Blick in den Code werfen, und ein paar Zeilen, die du denkst zu verstehen abschreiben, dann siehst du ja was passiert.
Am Besten ist es aber, wenn du es ganz ohne in den Code zu schauen hin bekommst, deshalb fang mit leichten Dingen an.
Bis du erst mal richtig rein findest vergehen mit Sicherheit 1-3 Monate! Also nicht verzagen, du wirst am Anfang ziemlich oft stecken bleiben und auf die Nase fallen (ist wie laufen lernen). Ich weiß das von mir. Wenn du einmal drinne bist, dann gehts jeden Tag besser.PS: Ich hab es ganz alleine gelernt. Die einzige Hilfestellung die ich damals hatte war ein /kill Command aus 6 Zeilen code, den mir jemand gemacht hat. Den gebe ich dir auch:
if(strcmp(cmdtext, "/kill", true) == 0)
{
SetPlayerHealth(playerid, 0.0);
SendClientMessage(playerid, 0xFF0000FF, "Du hast dich selbst getötet.");
return 1;
}Das fügst du im callback OnPlayerCommandText ein. Dann auf den Compiler drücken, und Server neu starten.
Viel Erfolg! Dranbleiben!
-
Davon hast du nichts gesagt
Dann scheint das Problem irgendwo versteckt zu sein. Wenn du willst kannst du mir deinen Code so wie ist er grade ist mal in PN schicken, dann such ich mal danach, ob ich was finde kann ich aber nicht garantieren.
Aber so kann ich dir jetzt nicht weiterhelfen, weil es durch die paar Zeilen nicht passiert.Pablo_Escobar96:
Das hat er schon auskommentiert, so zumindest stehts im ersten Post. -
Komisch, kommt eigentlich so nicht vor.
TextDrawBackgroundColor(Time,255);
zu
TextDrawBackgroundColor(Time,0x00000000);dann sollte es weg sein.
0x00000000 ist transparent. -
Meines Wissens nach nicht. Probiers aus, wenn's nicht tut musste halt erklären was passiert. Zur Not kannst du es noch immer mit Variablen machen, ist aber nicht so schick.
-
Benutze http://wiki.sa-mp.com/wiki/SetSpawnInfo nach (oder anstatt) SetPlayerSkin.