Ja wie gesagt, du musst das natürlich selbst anpassen, ich kenne ja deine Ordnerstruktur und deine Variablen nicht. Da solltest du aber in der Lage sein, diese entsprechend zu ersetzen. Ich kann sie ja schlecht erraten. ![]()
Beiträge von Jeffry
-
-
Ändere mal:
Gas[veh] -= vehgas[GetVehicleModel(veh)-400];
zu:
Gas[veh] = Gas[veh] - vehgas[GetVehicleModel(veh)-400];
printf("Gas: %0.1f", Gas[veh]);Was wird geprintet? Oder geht es schon?
Ist "Gas" und "vehgas" beides ein Float jetzt?PS: Sowas ist nächstes mal ein neuer Thread, da das keine kleine Scripting Frage ist.
-
Du machst eine Schleife in deinen Befehl, etwa so:
new string[1024];
for(new i=0; i<MAX_FRAKTIONEN; i++)
{
//Pfad zur Datei:
new path[128];
format(path, sizeof(path), "fraktionen/%s.txt", FrakName[i]);
if(fexist(path))
{
//dann den Leader-Name auslesen:
new leader[24];
format(leader, sizeof(leader), dini_Get(path, "Leader"));
//und dann zum string hinzufügen:
format(string, sizeof(string), "%s%s: Leader: %s\n", string, FrakName[i], leader);
}
}
//hier dann...
ShowPlayerDialog... -
Ok.
Wie kommt der Wert von CarKey[playerid] zustande? In dem Befehl wird CarKey[playerid] ja kein Wert zugewiesen.
Soll das Auto, in dem du bist, verkauft werden, oder wie kann ich den Befehl verstehen? -
Das kommt darauf an, wie dein System aufgebaut ist.
Generell musst du einen Loop durch alle Fraktionen machen, die Datei öffnen und den Leader auslesen. An sich nicht schwer. Probiere es einfach mal aus, wie du klar kommst. -
Nutzt du die Standard-Class-Selection, oder hast du eine eigene gemacht?
Bist du möglicherweise in einer anderen Virtuellen Welt, oder in einem Interior? -
Naja, du kannst ja in dem Timer der die Werte aktualisiert prüfen, ob der Spieler noch in einem Fahrzeug ist, und wenn nicht, dann machst du TextDrawHideForPlayer.
Ansonsten, wo hidest du die Textdraws? -
if(PlayerCar[carowner][slot][CarArrest] == 1)
zu:
if(PlayerCar[playerid][mv][CarArrest] == 1) -
Ok, dann:
format(string2,sizeof(string2),"~r~Tank:~g~ %0.1f ", Tank, Gas[VID]);
zu:
format(string2,sizeof(string2),"~r~Tank:%s %0.1f ", Tank, Gas[VID]);Und
new Gas[MAX_VEHICLES];
zu:
new Float:Gas[MAX_VEHICLES]; -
Nein, das zu der Zeile:
format(string2,sizeof(string2),"~r~Tank:~g~ %0.1f ", Gas[VID]);
bzw, falls du es geändert hast eben zu der neuen Version.
Wie du auf "Tank" kommst, und wie "Gas" deklariert ist, so wie das aussieht ist das nämlich ein Integer. Das muss auch ein Float sein. -
Kannst du die ganze Berechnung zu dieser Zeile mal posten?
-
Das müssen alles Floats sein. Oder du musst die Integers casten, das würde ich aber nicht empfehlen.
-
Würdet ihr das mit denn Vollzitaten bitte unterlassen? Danke.
Schreibe es so:
stock OnlineByName(string[])
{
for(new i; i < MAX_PLAYERS ; ++i) if(IsPlayerConnected(i) && !strcmp(string,f_pName(i),false)) return 1;
return 0;
}stock f_pName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}Das solltest du noch nicht deklariert haben.
-
Der Wert in der server-cfg ist eigentlich dafür zuständig.
(...)
Nein, das stimmt nicht. Mit der server.cfg hat MAX_PLAYERS in a_samp.inc gar nichts zu tun. -
So muss es sein:
format(string2,sizeof(string2),"~r~Tank:~g~ %0.1f ", Tank, Gas[VID]); -
Ich habe es bei mir mal so geschrieben, da klappt es:
stock OnlineByName(string[])
{
for(new i; i < MAX_PLAYERS ; ++i) if(IsPlayerConnected(i) && !strcmp(string,pName(i),false)) return 1;
return 0;
}stock pName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}Teste es mal so. Ich hab es halt ohne die Variable geschrieben, da ich die ja nicht habe, aber vom Prinzip her ist es das gleiche.
-
Hast du das MAX_PLAYERS in der a_samp.inc geändert, oder wo?
Hast du danach deinen Code über /pawno/pawno.exe -> Öffnen geöffnet und kompiliert? Auch wieder hochgeladen, falls du es auf einem Server liegen hast? -
Kannst du dann nochmal den Code aktualisieren, zu dem was jetzt nicht klappt, und das Problem nochmal erklären, ich weiß jetzt nämlich gerade nicht mehr was genau funktioniert und/oder was du jetzt vor hast.
EDIT:
Pascal.: Alles klar. Wenn was ist, einfach melden.
-
Poste bitte den Code mit dem du dem Spieler das Textdraw anzeigst und wieder entfernst.
Am besten alles was dazu gehört. -
Die musst du zu .0 ändern, also zum Beispiel
1
zu:
1.0