Abkürtzung

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
  • Guten Abend,
    Ich würde gerne folgenge Abfrage verkürtzen ohne das die Abfrage so viele Zeilen von dem Script beansprucht...
    Habt ihr da eine Idee?


    Code
    public OnPlayerStateChange(playerid, newstate, oldstate){	if(newstate==PLAYER_STATE_DRIVER)  	{        for(new i=0; i<sizeof(polizeicar); i++)        {            if(GetPlayerVehicleID(playerid)==polizeicar[i])            {                if(GetPVarInt(playerid,"Fraktion")==1 || GetPVarInt(playerid,"Adminlevel")==1)                {					if(GetPVarInt(playerid,"Adminlevel")==1)					{					  	return 1;					}                    if(i == 0 && GetPVarInt(playerid,"Rang") < 2)                    {                      	RemovePlayerFromVehicle(playerid);                    }                    else if(i == 1 && GetPVarInt(playerid,"Rang") < 2)                    {                      	RemovePlayerFromVehicle(playerid);                    }                    else if(i == 2 && GetPVarInt(playerid,"Rang") < 3)                    {                  	 	RemovePlayerFromVehicle(playerid);                    }                    else if(i == 3 && GetPVarInt(playerid,"Rang") < 5)                    {                      	RemovePlayerFromVehicle(playerid);                    }                }                else                {				  	RemovePlayerFromVehicle(playerid);                }            }        }    }	return 1;}
  • Also, du kannst if Abfragen kombinieren.
    Zum Beispiel:
    Wenn du Abfragen möchtest, ob eine Zahl < als 300 ist und > 150,
    dann kann man das so machen:
    if(Zahl < 300) { if(Zahl > 150) { } }


    oder (verkürzt und besser) so:
    if(Zahl < 300 && Zahl > 150) { }


    Verstehst du was ich meine?
    Das kannst du so auch auf deine If Abfragen anwenden und mehrere kombinieren.
    && = ein logisches UND
    || = ein logisches ODER


    Aber achte darauf, dass du beim verwenden von ODER unter Umständen Klammern verwenden musst.

  • Ich wollte an der Abfrage nichts ändern, ich wollte eigendlich nur das 1x geschrieben wird RemovePlayerFromVehicle(playerid); und dann halt nur immer mit if(.... else if(... usw.
    Verstehst du wie ich das meine?

  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(polizeicar); i++)
    {
    if(GetPlayerVehicleID(playerid)==polizeicar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")==1 || GetPVarInt(playerid,"Adminlevel")==1)
    {
    if(GetPVarInt(playerid,"Adminlevel")==1) return 1;
    if((i==0 || i==1 || i==2 || i==3) && (GetPVarInt(playerid,"Rang") < 2 || GetPVarInt(playerid,"Rang") < 3 || GetPVarInt(playerid,"Rang") < 5))
    RemovePlayerFromVehicle(playerid);
    }
    else RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }


    so vielleicht ?