Guten Tag ich möchte gerne alle fraks abfragen mit hilfe eines stocks für mein Motor befehl damit man ihn net an machen kann
ist sowas möglich ?
veriable ist PlayerInfo[playerid][pLeader] == 1,2,3,4,5,6 usw
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
-
-
Erläutere deine Frage doch bitte mal, keine Ahnung was du willst.
-
Hallo,
dies ist möglich. Du musst in deinem /motor Befehl einfach mit einer if- Abfrage überprüfen, welcher Fraktion dieses Auto zugeordnet ist und in welcher Fraktion der Spieler ist.
-
Ich will für das Motor starten abfragen ob er grade in ein lspd car zb ist und er net an machen darf nur wie soll ich 24 fraks alle abfragen und ob er dessen car ist hier der befehl
if(strcmp(cmd,"/e",true) == 0)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,F_O,"Du bist nicht der faher");
new vehicleid = GetPlayerVehicleID(playerid);
if(Gas[vehicleid] <= 0.0) return SendClientMessage(playerid,COLOR_RED,"Der Tank ist leer!");
new Float:health;
GetVehicleHealth(vehicleid,health);
if(health >= 400)
{
if(enginebool[vehicleid] == false)
{
SetVehicleEngineOn(vehicleid);
enginebool[vehicleid] = true;
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
}
else
{
SetVehicleEngineOff(vehicleid);
enginebool[vehicleid] = false;
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Das Auto hat einen Motorschaden ruf das Ordnungsamt an!");
}
return 1;
} -
mach doch lieber dass er direkt rausgeworfen wird wenn es nicht sein fraktionscar ist
sonst kann man jedes auto fahren bei dem der motor eingeschaltet ist -
das will ich aber net!
mann soll einsteigen können aber den wagen net starten können! -
Hast du eine Variable bei dem der Wagen einer Fraktion zugewiesen wird?
-
ja
new lspdcars[32];
SetVehicleNumberPlate(lspdcars[1] = AddStaticVehicleEx(523,1603.28503418,-1692.95935059,5.58100271,87.99499512,0,1,-1),"LSPD"); //HPV1000
abfrage normal
for(new j = 0;j<sizeof lspdcars;j++)
{
if(vehicleid == lspdcars[j])
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du bist nicht LSPD");
RemovePlayerFromVehicle(playerid);
wie kann ich so eine abfrage mit vehicle id mit mehren cars machen ? -
das fällt mir auf der stelle ein nach dein Muster im ersten Post
stock DarfErDas(playerid)
{
switch(PlayerInfo[playerid][pLeader])
{
case 1..6:return 1;//1-6 returnt er 1
}
return 0;//return 0 wenn er nix darf
}Anwendung
if(!DarfErDas(playerid))return SendClientMessage(playerid,-1,"Das darfst du nicht");
-
ja das ist aber unrelewand ich muss mehr das mit den cars abfragen ob er grade in ein fraktionscar ist oder net und da frag ich mich wie ich da mehre cars alle abfragen kann bzw mehre schleifen
-
-
Erstmal ist das extrem dumm gelöst (MrMonat eben...).
Ich schlage vor du erstellst deine Autos alle unter OnGameModeInit.
new VehicleOwner[MAX_VEHICLES];
stockAddFactionVehicle(Faction, modelid, Float:x, Float:y, Float:z, Float:a, c1,c2 {
VehicleOwner[AddStaticVehicleEx(modelid, x, y, z, a, c1,c2,-1)] = Faction;
}Dann bei deinem Engine Befehl:
if(VehicleOwner[GetPlayerVehicleID(playerid)] != 0)
{
VehicleOwner[GetPlayerVehicleID(playerid)] != PlayerInfo[playerid][pMember] //Was passiert wenn man nicht in der Fraktion des Wagens ist...
}Sollte so gehen.
-
kann man da nicht was anderes machen da ich sehr viele cars habe und es zu groß wäre
zb getplayervehicle(playerid,[lspdcars]; -
breadfish.de
Hat das Thema geschlossen.