Du verteilst ja ganz schön harte Strafen.
Die Version von Hexler sollte eigentlich funktionieren, bis auf dass return 1, sollte return 0 sein aber das hat er ja gesagt.
Zeig doch mal das gesamte OnPlayerText, so wie es jetzt gerade ist.
Du verteilst ja ganz schön harte Strafen.
Die Version von Hexler sollte eigentlich funktionieren, bis auf dass return 1, sollte return 0 sein aber das hat er ja gesagt.
Zeig doch mal das gesamte OnPlayerText, so wie es jetzt gerade ist.
Problem 1:
Ich kann gar kein MySQL sehen.
Problem 2:
Zeig mal wie du TutTimer deklariert hast.
Problem 3:
Wie sieht denn die "forward" Version aus? Die sollte gleich aussehen, ansonsten gibts Ärger mit dem Compiler.
Zu deinem enum "FCarID" hinzufügen.
Dann:
Fraktionscars[i][FCarID] = CreateVehicle(Fraktionscars[i][FCarModel], Fraktionscars[i][FCarX], Fraktionscars[i][FCarY], Fraktionscars[i][FCarZ], Fraktionscars[i][FCarA], Fraktionscars[i][FCarCol1], Fraktionscars[i][FCarCol2], -1);
Und OnPlayerEnterVehicle:
for(new i=0;i<sizeof(Fraktionscars);i++)
{
if(vehicleid == Fraktionscars[i][FCarID] && Spieler[playerid][sFraktion] != Fraktionscars[i][FCarFrak])return SendClientMessage(playerid, -1, "Test");
}
Um zu verhindern, dass der Spieler ins Auto kommt:
TogglePlayerControlable(playerid, false);
TogglePlayerControlable(playerid, true);
bei OnPlayerEnterVehicle.
Naja, für das erste Problem könntest du ja einfach deine Fraktionen als ID's definieren:
#define LSPD 0
#define SFPD 1
#define LVPD 2
(...)
Und eben:
new FrakInfos[3][FraktionsInformationen]; //Je nach dem wie viele Fraktionen.
Für das zweite Problem:
Tabelle erstellen, eine Reihe für jede Fraktion machen, und dann über deren ID die jeweilige Spalte aufrufen. Dürfte kein Problem sein.
Aber nur im GameMode!! Weil das das letzte ist was aufgerufen wird. Wenn du es in einem FilterScript machst, werden die Commands im GM nicht mehr aufgerufen.
Es wäre auch ganz einfach, das mit nem Checkpoint zu machen?!
![]()
Wie denn bitte das? SA-MP kann immer nur einen Checkpoint anzeigen, wie willst du damit FahrzeugE anzeigen?
Ja stimmt, mit mapicons wäre es auch eine Möglichkeit. Ob das aber eine so gute Idee ist weiß ich nicht, weil die dürfte es ja nur anzeigen, wenn der Spieler weiter weg ist als die Stream distance ist. Das wäre doch etwas aufwendig zu machen.
Das kann ich dir nicht sicher sagen, aber es kann gut sein, es müssen ja mehr Fahrzeuge geladen sein. Probiers aus, dann wirste es sehen. Ich denke mal nicht dass du einen Unterschied merkst, die heutigen Server und PCs sind so leistungsfähig (wer das in 10 Jahren liest wird lachen ^^), da dürften ein paar Autos mehr nicht die Welt sein.
Geht nicht.
Das da:
format(string7, sizeof string7, "Premium Rang: [%s]\nWantedlevel: [%d]\nKrankheit [%s]\nKills & Deaths\n: [%d] / [%d]\nWarns: [%d]", drank,wanted,dtext,kills,deaths,pWarns);
mit dem da:
format(string7, sizeof string7, "Premium Rang: [%s]\nWantedlevel: [%d]\nKrankheit [%s]\nKills & Deaths\n: [%d] / [%d]\nWarns: [%d]", drank,wanted,dtext,kills,deaths,PlayerInfo[targetid][pWarns]);
ersetzen.
Logischerweise:
PlayerTextDrawAlignment(statsdraw[playerid],3);
PlayerTextDrawHideForPlayer(playerid,statsdraw[playerid]);
Und natürlich solltest du dem PlayerTextDraw eine Font und deren Größe zuweisen, sonst wird nichts angezeigt.
Wenn du keine Ahnung von TextDraws hast, dann nimm dir doch einen TextDraw Creator/Editor, mit dem du die TextDraws im server erstellen kannst, und speicher, dann weißt du was in die Felder kommt, damit es auch richtig angezeigt wird.
stream_distance in der server.cfg größer machen.
Nein, das nicht, aber das hat auch geholfen.
In deinem Stats, dort wo pWarns steht (string7 ganz hinten), ändere das zu:
PlayerInfo[targetid][pWarns]
Du kannst nicht direkt das enum aufrufen, du musst es über die Variable machen.
new TextStats:statsdraw[MAX_PLAYERS];
zu
new PlayerText:statsdraw[MAX_PLAYERS];
Zeig doch bitte mal die ganze
Stats(playerid,playerid);
Funktion, und nicht nur ein Teil davon.
TextDrawLetterSize(statsbox, 0.000000, 20.424076);
Die X Größe (also Breite) der Buchstaben beträgt 0. Du kannst gar nichts sehen.
Mach mal:
TextDrawLetterSize(statsbox, 1.0, 0.4);
Wie biste denn auf dieses TextDraw gekommen, bzw. die Werte?
Das bringt rein garnichts. PAWN überspringt die Leertasten & es kommt das gleiche bei rum
Haste Recht. Danke für die Korrektur
So, aber ich hab das Problem gefunden. Und zwar versuchst du Modulo eines Floats zu machen, das geht nicht.
format(string,sizeof(string),"~r~Km:~n~~w~%i.%iKM",vFahrzeug[vehicleid][Kilometer]/1000,floatround(vFahrzeug[vehicleid][Kilometer])%1000);
So gehts. Die Frage ist nur was dir das bringt, du hast ja schon ein Float.
Bist auf jeden Fall den ERROR los.
Also du benutzt hier den Modulo Operator. Der macht beispielsweise das da:
0 % 3 = 0
1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
(...)
Verstanden?
Warum der ERROR kommt kann ich dir nicht sagen. Probier doch mal, eine lücke rechts und links neben den Operator zu setzen, also so:
...]%1... zu ...] % 1...
Gut. Habs dir zurückgschickt. Probiers mal aus.
So?
Durch das Benutzen des Tabulators: \t
Noch ein Tipp: Die Fontgröße kann variieren, daher kann es vorkommen, dass es aufm dem einen PC richtig aussieht, und auf dem anderen nicht.