Vergiss es habs Selber gelöst
Ich deute die stellen jetzt mal mit Auskommentieren hin, ist im Script natürlich nicht so
Bei diesem Aufbau kommt immer wieder die Nachricht ob ich bei einer Tanke bin oder nicht bin ist egal immer die gleiche nachricht
if(strcmp(cmd, "/tanken", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
for(new f = 0; f <= MAX_FIRMEN; f++)
{
if(PTP(playerid, 20.0,Firma[f][fExitX], Firma[f][fExitY], Firma[f][fExitZ]))
{
if(Firma[f][fTankstelle] == 1)
{
if(VehicleStarted[vehicleid] == 0)
{
if(Firma[f][fBenzinT] == 1)
{
ShowPlayerDialog(playerid,TANKEN,DIALOG_STYLE_LIST,"Tankstelle","Benzin $1 pro Liter\nDiesel $1 pro Liter\nSuper $2 pro Liter\nSuper Plus $2 pro Liter","Tanken","Abbrechen");
SetPVarInt(playerid,"Betanken",1);
return 1;
}
else if((Firma[f][fKeroT]==1) && Heli(playerid) || Flug(playerid))
{
ShowPlayerDialog(playerid,TANKEN+5,DIALOG_STYLE_INPUT,"Kerosin","Guten Tag\n\nBitte geben sie die Liter menge an\nPreis: $3 pro Liter","Tanken","Abbrechen");
SetPVarInt(playerid,"Betanken",1);
return 1;
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Der Motor muss abgeschaltet sein");
return 1;
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Du bist an keiner Tankstelle");
return 1;
}
}
/*else
{
SCM(playerid,COLOR_ASKQ,"Du bist an keiner Tankstelle");
return 1;
}*/
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Du musst in einem Fahrzeug sitzen");
return 1;
}
return 1;
}
Mit dem Aufbau kommt die Nachricht wenn ich an KEINER Tankstelle bin 4x und dann Server Unknown Command
und wenn ich bei einer TANKSTELLE bin kommt sie nur 3x und statt das 4. mal kommt der vorgesehene Dialog
if(strcmp(cmd, "/tanken", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
for(new f = 0; f <= MAX_FIRMEN; f++)
{
if(PTP(playerid, 20.0,Firma[f][fExitX], Firma[f][fExitY], Firma[f][fExitZ]))
{
if(Firma[f][fTankstelle] == 1)
{
if(VehicleStarted[vehicleid] == 0)
{
if(Firma[f][fBenzinT] == 1)
{
ShowPlayerDialog(playerid,TANKEN,DIALOG_STYLE_LIST,"Tankstelle","Benzin $1 pro Liter\nDiesel $1 pro Liter\nSuper $2 pro Liter\nSuper Plus $2 pro Liter","Tanken","Abbrechen");
SetPVarInt(playerid,"Betanken",1);
return 1;
}
else if((Firma[f][fKeroT]==1) && Heli(playerid) || Flug(playerid))
{
ShowPlayerDialog(playerid,TANKEN+5,DIALOG_STYLE_INPUT,"Kerosin","Guten Tag\n\nBitte geben sie die Liter menge an\nPreis: $3 pro Liter","Tanken","Abbrechen");
SetPVarInt(playerid,"Betanken",1);
return 1;
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Der Motor muss abgeschaltet sein");
return 1;
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Du bist an keiner Tankstelle");
return 1;
}
}
/*else
{
SCM(playerid,COLOR_ASKQ,"Du bist an keiner Tankstelle");
}*/
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Du musst in einem Fahrzeug sitzen");
return 1;
}
return 1;
}
Mit diesem Aufbau funktionierts aber kommt nach jeder funktion Server Unkown Command (ohne returns)
if(strcmp(cmd, "/tanken", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
for(new f = 0; f <= MAX_FIRMEN; f++)
{
if(PTP(playerid, 20.0,Firma[f][fExitX], Firma[f][fExitY], Firma[f][fExitZ]))
{
if(Firma[f][fTankstelle] == 1)
{
if(VehicleStarted[vehicleid] == 0)
{
if(Firma[f][fBenzinT] == 1)
{
ShowPlayerDialog(playerid,TANKEN,DIALOG_STYLE_LIST,"Tankstelle","Benzin $1 pro Liter\nDiesel $1 pro Liter\nSuper $2 pro Liter\nSuper Plus $2 pro Liter","Tanken","Abbrechen");
SetPVarInt(playerid,"Betanken",1);
}
else if((Firma[f][fKeroT]==1) && Heli(playerid) || Flug(playerid))
{
ShowPlayerDialog(playerid,TANKEN+5,DIALOG_STYLE_INPUT,"Kerosin","Guten Tag\n\nBitte geben sie die Liter menge an\nPreis: $3 pro Liter","Tanken","Abbrechen");
SetPVarInt(playerid,"Betanken",1);
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Der Motor muss abgeschaltet sein");
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Du bist an keiner Tankstelle");
}
}
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Du musst in einem Fahrzeug sitzen");
}
return 1;
}
Und mit diesem Aufbau funzt endlich alles so wie es soll (mit returns)
if(strcmp(cmd, "/tanken", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
for(new f = 0; f <= MAX_FIRMEN; f++)
{
if(PTP(playerid, 20.0,Firma[f][fExitX], Firma[f][fExitY], Firma[f][fExitZ]))
{
if(Firma[f][fTankstelle] == 1)
{
if(VehicleStarted[vehicleid] == 0)
{
if(Firma[f][fBenzinT] == 1)
{
ShowPlayerDialog(playerid,TANKEN,DIALOG_STYLE_LIST,"Tankstelle","Benzin $1 pro Liter\nDiesel $1 pro Liter\nSuper $2 pro Liter\nSuper Plus $2 pro Liter","Tanken","Abbrechen");
SetPVarInt(playerid,"Betanken",1);
return 1;
}
else if((Firma[f][fKeroT]==1) && Heli(playerid) || Flug(playerid))
{
ShowPlayerDialog(playerid,TANKEN+5,DIALOG_STYLE_INPUT,"Kerosin","Guten Tag\n\nBitte geben sie die Liter menge an\nPreis: $3 pro Liter","Tanken","Abbrechen");
SetPVarInt(playerid,"Betanken",1);
return 1;
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Der Motor muss abgeschaltet sein");
return 1;
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Du bist an keiner Tankstelle");
return 1;
}
}
}
}
else
{
SCM(playerid,COLOR_ASKQ,"Du musst in einem Fahrzeug sitzen");
return 1;
}
return 1;
}
Ja bissel viel Text aber ich hoffe ihr kapiert nun jetzt worauf ich hinaus wollte^^
Und bei den letzen beiden habe ich die auskommentierte stelle komplett raus gelöscht weil die sinnlose war