Also wenn der Spieler irgendwo ist, findet in der Nähe eine Explosion statt?
Genau ![]()
Also wenn der Spieler irgendwo ist, findet in der Nähe eine Explosion statt?
Genau ![]()
Habe noch eine kleine Frage hierzu:
for(new i=0;i<GetMaxPlayers();i++)
{
for(new slot = 0;slot<MAX_PLAYER_VEHICLES;slot++)
{
if(vehicleid == PrivateVehicle[i][slot][vehID])
{
if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == false)
{
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = true;
GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", PrivateVehicle[i][slot][vehID]);
return 1;
}
else if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == true)
{
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = false;
GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer]);
return 1;
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
}
}
}
Derzeit kann jeder mit privaten Fahrzeugen fahren. Ist der return falsch gesetzt?
Ist der return falsch gesetzt?
Ja...schon, das macht so keinen Sinn..schreib das mal so:
for(new slot,i=playerid; slot<MAX_PLAYER_VEHICLES; slot++)
{
if(vehicleid != PrivateVehicle[i][slot][vehID]) continue;
GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == false)
{
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = true;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", PrivateVehicle[i][slot][vehID]);
return 1;
}
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = false;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer]);
return 1;
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
Schreibe es mal so ![]()
mfg. ![]()
Kaliber:
Dann gibt er mir den Fehler warning 225: unreachable code bei den returns aus.
Bei den Fraktionsfahrzeugen funktioniert es, nur die anderen Kategorien wollen nicht so recht...
CMD:motor(playerid)
{
if(!IsLoggedIn(playerid))return 1;
new string[128];
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Fahrzeug.");
new vehicleid = GetPlayerVehicleID(playerid);
if(pRefillVehicle[playerid] == 1)return SendClientMessage(playerid, COLOR_GREY, "** Du kannst den Motor nicht anschalten während du das Fahrzeug tankst!");
if(IsAFahrrad(GetVehicleModel(vehicleid)))return SendClientMessage(playerid, COLOR_GREY, "** Dieses Fahrrad hat keinen Motor!");
if(Vehicle[vehicleid][vehFuel] <= 0.0)return SendClientMessage(playerid, COLOR_GREY, "** Das Fahrzeug hat kein Benzin mehr!");
if(!(IsAFraktionsVeh(vehicleid) == INVALID_VEHICLE_ID))
{
if(IsValidVehicle(vehicleid))
{
new fV = IsAFraktionsVeh(vehicleid);
if(Spieler[playerid][pFraktion] == fVehicle[fV][vehFraktion])
{
if(Vehicle[fVehicle[fV][vehID]][vehMotor] == false)
{
Vehicle[fVehicle[fV][vehID]][vehMotor] = true;
GetVehicleParamsEx(fVehicle[fV][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(fVehicle[fV][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[fVehicle[fV][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", fVehicle[fV][vehID]);
return 1;
}
else if(Vehicle[fVehicle[fV][vehID]][vehMotor] == true)
{
Vehicle[fVehicle[fV][vehID]][vehMotor] = false;
GetVehicleParamsEx(fVehicle[fV][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(fVehicle[fV][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[fVehicle[fV][vehID]][VehicleTimer]);
return 1;
}
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
}
}
for(new slot,i=playerid; slot<MAX_PLAYER_VEHICLES; slot++)
{
if(vehicleid != PrivateVehicle[i][slot][vehID]) continue;
GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == false)
{
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = true;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", PrivateVehicle[i][slot][vehID]);
return 1;
}
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = false;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer]);
return 1;
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
if(vehicleid == Spieler[playerid][pBusID])
{
if(Vehicle[Spieler[playerid][pBusID]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pBusID]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pBusID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBusID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pBusID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pBusID]);
return 1;
}
else if(Vehicle[Spieler[playerid][pBusID]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pBusID]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pBusID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBusID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[Spieler[playerid][pBusID]][VehicleTimer]);
return 1;
}
}
//return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
if(vehicleid == Spieler[playerid][pBike])
{
if(Vehicle[Spieler[playerid][pBike]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pBike]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pBike], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBike], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pBike]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pBike]);
return 1;
}
else if(Vehicle[Spieler[playerid][pBike]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pBike]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pBike], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBike], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[Spieler[playerid][pBike]][VehicleTimer]);
return 1;
}
}
//return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
if(vehicleid == Spieler[playerid][pFSVehicle])
{
if(IsValidVehicle(Spieler[playerid][pFSVehicle])){
if(Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pFSVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pFSVehicle], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pFSVehicle]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pFSVehicle]);
return 1;
}
else if(Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pFSVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pFSVehicle], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Spieler[playerid][pFSVehicle]);
return 1;
}
}
}
//return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
}
Schreib es so:
CMD:motor(playerid)
{
if(!IsLoggedIn(playerid))return 1;
new string[128];
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Fahrzeug.");
new vehicleid = GetPlayerVehicleID(playerid);
if(pRefillVehicle[playerid] == 1)return SendClientMessage(playerid, COLOR_GREY, "** Du kannst den Motor nicht anschalten während du das Fahrzeug tankst!");
if(IsAFahrrad(GetVehicleModel(vehicleid)))return SendClientMessage(playerid, COLOR_GREY, "** Dieses Fahrrad hat keinen Motor!");
if(Vehicle[vehicleid][vehFuel] <= 0.0)return SendClientMessage(playerid, COLOR_GREY, "** Das Fahrzeug hat kein Benzin mehr!");
if(!(IsAFraktionsVeh(vehicleid) == INVALID_VEHICLE_ID))
{
if(IsValidVehicle(vehicleid))
{
new fV = IsAFraktionsVeh(vehicleid);
if(Spieler[playerid][pFraktion] == fVehicle[fV][vehFraktion])
{
if(Vehicle[fVehicle[fV][vehID]][vehMotor] == false)
{
Vehicle[fVehicle[fV][vehID]][vehMotor] = true;
GetVehicleParamsEx(fVehicle[fV][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(fVehicle[fV][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[fVehicle[fV][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", fVehicle[fV][vehID]);
return 1;
}
else if(Vehicle[fVehicle[fV][vehID]][vehMotor] == true)
{
Vehicle[fVehicle[fV][vehID]][vehMotor] = false;
GetVehicleParamsEx(fVehicle[fV][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(fVehicle[fV][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[fVehicle[fV][vehID]][VehicleTimer]);
return 1;
}
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
}
}
for(new slot,i=playerid; slot<MAX_PLAYER_VEHICLES; slot++)
{
if(vehicleid != PrivateVehicle[i][slot][vehID]) continue;
GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == false)
{
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = true;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", PrivateVehicle[i][slot][vehID]);
return 1;
}
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = false;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer]);
return 1;
}
if(vehicleid == Spieler[playerid][pBusID])
{
if(Vehicle[Spieler[playerid][pBusID]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pBusID]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pBusID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBusID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pBusID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pBusID]);
return 1;
}
else if(Vehicle[Spieler[playerid][pBusID]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pBusID]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pBusID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBusID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[Spieler[playerid][pBusID]][VehicleTimer]);
return 1;
}
}
if(vehicleid == Spieler[playerid][pBike])
{
if(Vehicle[Spieler[playerid][pBike]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pBike]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pBike], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBike], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pBike]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pBike]);
return 1;
}
else if(Vehicle[Spieler[playerid][pBike]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pBike]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pBike], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBike], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[Spieler[playerid][pBike]][VehicleTimer]);
return 1;
}
}
if(vehicleid == Spieler[playerid][pFSVehicle])
{
if(IsValidVehicle(Spieler[playerid][pFSVehicle])){
if(Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pFSVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pFSVehicle], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pFSVehicle]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pFSVehicle]);
return 1;
}
else if(Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pFSVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pFSVehicle], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Spieler[playerid][pFSVehicle]);
return 1;
}
}
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
}
Genau
Bei mir erstellt er nur 1 Explosion nach 50 Sekunden, dann kommt nichts mehr. Ist da was Falsch? Oder wie mache ich dass, das sich der Timer immer wiederholt?
Děkuju im Vorraus ![]()
Bei mir erstellt er nur 1 Explosion nach 50 Sekunden, dann kommt nichts mehr. Ist da was Falsch? Oder wie mache ich dass, das sich der Timer immer wiederholt?
50 Sekunden? ![]()
//z.B. unter OnPlayerSpawn
SetTimerEx("explode",1000,0,"i",playerid);
forward explode(playerid);
public explode(playerid)
{
if(!IsPlayerConnected(playerid)) return 0;
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
CreateExplosion(x+random(75)+25, y+random(75)+25, z, 12, 10.0); //würde den Spieler zum explodieren bringen xD
return SetTimerEx("explode",1000,0,"i",playerid);
}
Dann erstellt er jede Sekunde eine Explosion ![]()
forward explode(playerid); public explode(playerid) { if(!IsPlayerConnected(playerid)) return 0; new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); CreateExplosion(x+random(75)+25, y+random(75)+25, z, 12, 10.0); //würde den Spieler zum explodieren bringen xD return SetTimerEx("explode",1000,0,"i",playerid); }
Ich hab 50 Sekunden eingestellt, um zu gucken ob er dat wiederholt
Danke!
Wie kriege ich die Nachricht untereinander, wenn mehrere online sind?
CMD:members(playerid,params[])
{
if(!IsLoggedIn(playerid))return 1;
if(Spieler[playerid][pFraktion] == 0)return SendClientMessage(playerid,COLOR_GREY,"** Du bist in keiner Fraktion.");
new string[128];
SendClientMessage(playerid,COLOR_GREEN,"__Members online:__");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Spieler[i][pFraktion] == Spieler[playerid][pFraktion])
{
format(string,sizeof(string),"%s: Rang: %d",GetName(i),Spieler[i][pRank]);
}
}
}
SendClientMessage(playerid,COLOR_DEPARTMENT, string);
return 1;
}
Wird immer nur einer angezeigt, wenn ich den dann umschreibe werden die nur nacheinander angezeigt.
Den Zeilenumbruch kann ich in einer SendClientMessage ja nicht verwenden..
Schreibe das untere SendClientMessage in die Schleife nach dem format.
Genau
Kaliber: Ist es Normal das er nach der 1x Explosion jede Nachricht nach 1 Sekunde wiederholt? Hier ein Screen:

Wenn du es so nicht haben willst, dann nicht.
Wie sieht denn dein Code aus?
Wenn du es so nicht haben willst, dann nicht.
Wie sieht denn dein Code aus?
public Explosion(playerid)
{
if(!IsPlayerConnected(playerid)) return 0;
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
CreateExplosion(x+random(75)+25, y+random(75)+25, z, 12, 10.0);
SendClientMessageToAll(C_RED,"[ACHTUNG]: Es fand eine Explosion statt. Zombies sind möglicherweise Ausgebrochen begib dich in Schutz!");
return SetTimerEx("Explosion",1000,0,"i",playerid);
}
Info:
Schreibe diese Nachricht einfach dort hin, wo du den Timer zum ersten Mal startest:
SendClientMessageToAll(C_RED,"[ACHTUNG]: Es fand eine Explosion statt. Zombies sind möglicherweise Ausgebrochen begib dich in Schutz!");
Und aus dem Timer-Callback nimmst du sie raus.
Zwecks Pawn Code: Der Pawn BB Code - Die richtige Anwendung
SendClientMessageToAll(C_RED,"[ACHTUNG]: Es fand eine Explosion statt. Zombies sind möglicherweise Ausgebrochen begib dich in Schutz!");
Den Timer hab ich unter OnPlayerSpawn, Besteht da auch die Möglichkeit das es Funktioniert?
Hab auch alles getan, wie du es mir sagtest. ![]()
Wenn du den Timer unter OnPlayerSpawn startest, dann erhöht sich die Anzahl der Aufrufe des Timers bei jedem Spawn um 1, sprich wenn du 10 mal stirbst, werden 11 Explosionen pro Sekunde erstellt.
Wann soll denn diese Nachricht überhaupt kommen? Und wann sollen die Explosionen erstellt werden, und wie lange?
Der Code, wie er momentan ist macht keinen Sinn, da er linear wachsend an Aufrufen ist.
(Ich hab dir zu dem Code noch gar nichts gesagt
Von mir kommt sowas nicht.).
Wenn du den Timer unter OnPlayerSpawn startest, dann erhöht sich die Anzahl der Aufrufe des Timers bei jedem Spawn um 1, sprich wenn du 10 mal stirbst, werden 11 Explosionen pro Sekunde erstellt.
Wann soll denn diese Nachricht überhaupt kommen? Und wann sollen die Explosionen erstellt werden, und wie lange?
Der Code, wie er momentan ist macht keinen Sinn, da er linear wachsend an Aufrufen ist.
(Ich hab dir zu dem Code noch gar nichts gesagtVon mir kommt sowas nicht.).
Die Nachricht soll abgesendet werden, wenn eine Explosion stattfindet.
Also wär die beste Position das selbst erstelle Public: Explosion.
Aber da führt es ja nach 50 Sekunden die Nachricht nach dem Ersten mal, mehrmals aus.
und genau das ist ja Falsch
Und wie oft soll eine Explosion stattfinden (Anzahl / Differenz zwischen zwei Explosionen)?
Soll das für jeden Spieler (im jeweiligen Umkreis) erzeugt werden, oder nur für bestimmte? Falls bestimmte, unter welchen Bedingungen?
Und wie oft soll eine Explosion stattfinden (Anzahl / Differenz zwischen zwei Explosionen)?
Soll das für jeden Spieler (im jeweiligen Umkreis) erzeugt werden, oder nur für bestimmte? Falls bestimmte, unter welchen Bedingungen?
Es entsteht immer per 50 Sekunden eine Explosion, also nach 50 Sekunden: 1x Explosion. nochmal 50 Sekunden: 2 Explosion, aber ich werd die Zeit auch erhöhen.
damit es nicht zu Laggs entsteht, Aber das Problem ist nur die Nachricht ![]()
Dann füge das bei OnGameModeInit ein:
SetTimer("CreateZombieExplosions", 50000, true);
Und das ganz unten im Gamemode:
forward CreateZombieExplosions();
public CreateZombieExplosions()
{
new Float:x,Float:y,Float:z;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
GetPlayerPos(i,x,y,z);
CreateExplosion(x+random(75)+25, y+random(75)+25, z, 12, 10.0);
}
}
return SendClientMessageToAll(C_RED,"[ACHTUNG]: Es fand eine Explosion statt. Zombies sind möglicherweise Ausgebrochen begib dich in Schutz!");
}
Das andere Zeug machst du weg.