Hey Leute habe ne frage wie kann ich das so einstellen das wenn der user den zug job nicht hat nicht in den zug rein kommen kann wie macht ihr das ich habe es schon mit RemovePlayerFromVehicle probiert das geht nicht weiß einer da noch was anders MfG Lui
Frage zum Zug
- luiluiboy014
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
@luiluiboy014 du musst eine Abfrage machen ob Spieler A den Job Lockführer hat.
Spieler A besitzt den Job des Lockführers und kann einsteigen.
Spieler B besitzt nicht den Job des Lockführers somit verlässt er das Führerhaus
-
ich habe hier was aber es geht nicht
if(IsVehicleAZug(vehicleid))
{
for(new i=0; i<sizeof(Zug); i++)
{
if(Spieler[playerid][pJob] != 21)
{
RemovePlayerFromVehicle(playerid);
TextDrawShowForPlayer(playerid,InfoSign);
PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Du besitzt nicht den jeweiligen Job.");
PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
SetTimerEx("HideInfoBox",3000,0,"i",playerid);
}
}
}
es kommt immer nur das Du besitzt nicht den jeweiligen Job aber der bleit drine der wird nicht raus geschmissen -
Du musst die abfrage eigentlich so machen
!IsPlayerInJob zumbeispiel wo du gezielt abfragen kannst ob der Spieler den Job hat oder nicht
-
aber wie kann ich die aus den führerhaus schmeißsen MfG
-
-
Beitrag von KnoLe_x3 ()
Dieser Beitrag wurde von Trooper[Y] aus folgendem Grund gelöscht: Spam (). -
-
ich habe ihn in OnPlayerStateChange Drine Passiert aber nix MfG
der schmeist den nicht aus dem zug raus
if(IsVehicleAZug(vehicleid))
{
if(!isPlayerInJob(playerid,21))
{
TextDrawShowForPlayer(playerid,InfoSign);
PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Du besitzt nicht den jeweiligen Job.");
PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
SetTimerEx("HideInfoBox",3000,0,"i",playerid);
return RemovePlayerFromVehicle(playerid);
}
} -
Wie ist "IsVehicleAZug" definiert?
Setzt am besten mal ein Print unter jeden Schritt. So siehst du bis wohin er geht und kannst es eingrenzen. -
-
stock IsVehicleAZug(vehicleid){ for(new i=0;i<sizeof(Zug);i++) { if(vehicleid == Zug[i]) return 1; } return 0;}
habe es so gemacht
printf("Schleife1.");
if(IsVehicleAZug(vehicleid))
{
printf("Schleife2.");
if(!isPlayerInJob(playerid,21))
{
printf("Schleife3.");
TextDrawShowForPlayer(playerid,InfoSign);
PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Du besitzt nicht den jeweiligen Job.");
PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
SetTimerEx("HideInfoBox",3000,0,"i",playerid);
return RemovePlayerFromVehicle(playerid);
}
}Hier die logs
[18:07:01] Schleife1.
[18:07:01] Schleife2.
[18:07:01] Schleife3.
der wird nicht vom zug rausgeschmissen -
der wird nicht vom zug rausgeschmissen
Unter welchem Callback steht der Code?
-
unter
public OnPlayerStateChange(playerid,newstate,oldstate)
{
new vehicleid = GetPlayerVehicleID(playerid),string[256];
if(newstate == PLAYER_STATE_DRIVER)
{
printf("Schleife1.");
if(IsVehicleAZug(vehicleid))
{
printf("Schleife2.");
if(!isPlayerInJob(playerid,21))
{
printf("Schleife3.");
TextDrawShowForPlayer(playerid,InfoSign);
PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Du besitzt nicht den jeweiligen Job.");
PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
SetTimerEx("HideInfoBox",3000,0,"i",playerid);
return RemovePlayerFromVehicle(playerid);
}
}
}
return 1;
} -
Soviel ich weiß, geht das bei Zügen nicht mit RemovePlayerFromVehicle.
Nutze stattdessen:
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(playerid,x+2,y+2,z+2);Alternativ dazu kannst du versuchen, den Code bei OnPlayerEnterVehicle hinzusetzen, und statt RemovePlayerFromVehicle das zu nutzen:
TogglePlayerControllable(playerid, false);
TogglePlayerControllable(playerid, true); -
Dank Dir Geht
-
breadfish.de
Hat das Thema geschlossen.