SetTimerEx("TimerOrten",100,1,"VARIABLENTYPEN",VARIABLEN);
Typen:
http://wiki.sa-mp.com/wiki/SetTimerEx
Die Variablen, die du benötigst.
Beiträge von danfai
-
-
Dann musst du die Variablen als Globale Variable definieren (außerhalb einer Funktion) oder du überträgst die Parameter an die Funktin (TimerOrten(playerid,giveplayerid,cmdtext....)
-
Habe noch einen Fehler entdeckt:
In einer Funktion kann man nicht die Variablen einer anderen Funktion benutzen.
Das bedeutet, dass du in der Funktion TimerOrten nicht cmdtext, giveplayerid etc. benutzen kannst.
Ich empfehle dir, dass du die Funktion TimerOrten auflöst und stattdessen den Code in deinen Befehl bei OnPlayerCommandText hinzufügst.
Ansonsten müsstest du alle Variablen dem Timer übermitteln. -
Du musst Variablen erst deklarieren.
Also vor "giveplayerid =" bzw. die anderen Variablen ein "new" setzen.
Dies muss nur einmal gemacht werden!EDIT: Zu früh abgeschickt.
-
Wenn du ein paar Zeilen schickst, wie du die Positionen setzt und eine genauere Beschreibung lieferst, dann können wir dir helfen.
-
Deine Anzahl an Spalten passt nicht zu der Anzahl an Werten.
EDIT: Du hast 17 Werte für 16 Spalten. -
SetTimerEx("ToggleSpawn", 60000, false,"i",playerid); //Da darf kein "e" stehen, sondern ein "i"
idx = GetVehicleModelIDFromName(params); //Ich kenne mich mit dcmd nicht aus, aber ich denke hier müsste statt params[1] params stehen.Ansonsten ist mir kein Fehler aufgefalen
-
Wie musst du die Einzeln setzen?
In verschiedenen Funktionen?
Ansonsten mache mal aus Help[5]
HelpOne, HelpTwo,...
Ist zwar nicht elegant, könnte aber helfen. -
Hast du auch versucht, dass Ausrufezeichen (!) beim Passwort wegzumachen?
-
Hast du nun den "return" und die for-Schleife drinnen?
-
Bitte, immer wieder gerne.
-
Das er sofort den Rest der gerade laufenden Schleife überspringt und die Nächste "reihe" anfängt.
-
Genau. Deshalb versuche mal folgendes:
Ersetze die stock durch diese:
//Das fügst du dann ganz unten ein:
stock GetPlayerNearestCarID(playerid,Float:radius)
{
//Credits to InternetInk aka Benjamin, edited by danfai
new Float:vx,Float:vy,Float:vz,carid=INVALID_VEHICLE_ID;
for(new v = 1; v <= MAX_VEHICLES; v++)
{
if(GetVehicleModel(vid) == 0) continue;
GetVehiclePos(v,vx,vy,vz);
if(IsPlayerInRangeOfPoint(playerid,radius,vx,vy,vz) )
{
carid = v;
}
}
return carid;
} -
Versuch mal folgendes:
public GamemodeColorAender(playerid)
{
if(ColorChanger == 1)
{
TextDrawHideForPlayer(playerid,ModeName);
TextDrawShowForPlayer(playerid,ModeName);
TextDrawColor(ModeName, COLOR_GFR_BLUE);
ColorChanger = 2;
return;
}
else if(ColorChanger == 2)
{
TextDrawHideForPlayer(playerid,ModeName);
TextDrawShowForPlayer(playerid,ModeName);
TextDrawColor(ModeName, COLOR_GREEN);
ColorChanger = 1;
return;
}
} -
Wenn das Semikolon weg ist, gibt es immer noch den selben Error vom Kompilierer?
-
Greift ihr mit "file://C:..." auf die PHP Dateien zu oder benutzt ihr den Webserver: "http://..."?
Ihr müsst schon den Webserver drüber laufen lassen, damit PHP das auch interpretiert. -
Was daran geht nicht?
Schicke bitte entweder einen Ausschnitt deines Server Logs oder die Errors des Kompilierer. -
ja, nur leider sehe ich darin keinen Fehler.
mach bitte mal nach
if(vid == ...)
//folgendes:
printf("FahrzeugID ist %d",vid);
Schreib bitte, was der Server ausgegeben hat. -
Nein ich meinte die Variable.
-
Wenn du schon etwas angefangen hast, dann poste das hier bitte mal, dann können wir deine Fehler suchen.