Hey Leute ich wollte gerade eine Abfrage machen, das nur Beamten diesen
Befehl nutzen können, aber wenn ich auch Cop bin steht da das ich das nicht
machen darf....
Befehl:
if(GetPVarInt(playerid,"Fraktion")!=fPolizei||fArmy||fFBI||fSWAT)return SendClientMessage(playerid, Rot2, "Du bist dazu nicht !");
Habe ich etwas falsch gemacht?
Abfrage falsch?
- [DT]Midoman
- 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
-
-
Die ist falsch ja
denn wenn du verwendest, musst du den PVar neu anfordern
das was du hast wird nie im leben funktionieren -
Und wie soll ich das sonst abfragen?
-
Mit einem "Stock"
-
Mit einem "Stock"
Unnötige Arbeit, wenn es nur einmal verwendet werden soll.if(GetPVarInt(playerid,"Fraktion")!=fPolizei && GetPVarInt(playerid,"Fraktion")!=fArmy && GetPVarInt(playerid,"Fraktion")!=fFBI && GetPVarInt(playerid,"Fraktion")!=fSWAT)
Wenn du überprüfen willst, ob der Spieler ENTWEDER Polizei, Army, FBI oder SWAT ist, musst du mit && arbeiten, nicht mit Oder.Mit freundl. Grüßen
Padarom -
if(GetPVarInt(playerid,"Fraktion") != fPolize && GetPVarInt(playerid,"Fraktion") != fArmy && GetPVarInt(playerid,"Fraktion") != fFBI && GetPVarInt(playerid,"Fraktion") != SWAT) return SendClientMessage(playerid, Rot2, "Du bist dazu nicht !");Warum && und nicht weil die Abfrage immer wahr sein würde wäre er zB Polizist weil er ja dann kein SWAT sein kann. Nun heißt die Abfrage wenn er Kein Polizist, Soldat, FBI und Kein SWAT Officer ist kommt die Aussage das er nicht dazu berechtigt ist
Edit was hinzugefügt
-
Unnötige Arbeit, wenn es nur einmal verwendet werden soll.if(GetPVarInt(playerid,"Fraktion")!=fPolizei||GetPVarInt(playerid,"Fraktion")!=fArmy||GetPVarInt(playerid,"Fraktion")!=fFBI||GetPVarInt(playerid,"Fraktion")!=fSWAT)
Mit freundl. Grüßen
PadaromWenn er es nur 1x verwenden will dann hast du recht
Wenn er es mehrmals verwenden will dann habe ich recht
-
Und dennoch ist es unnötig dafür einen Stock zu erstellen, da das nur eine Zeile ist.
Wenn er keine Lust hat was zu kopieren, dann lohnt es sich, aber vom reinen Arbeitsaufwand passt das so, es sind ja immerhin keine 10 Zeilen, die überall wieder verwendet werden müssten.
Und selbst wenn er einen Stock nutzt, muss die Funktion abgewandelt werden.Xenox:
Wenn Spieler KEIN Polizist UND ZUGLEICH Spieler KEIN Army UND ZUGLEICH Spieler KEIN FBI UND ZUGLEICH Spieler KEIN SWAT ist, dann...
Ansonsten würde auch die Nachricht kommen, wenn du zwar Polizist, aber kein Army-Mitglied bist. -
Ist doch genau das was ich geschrieben habe vielleicht mit anderen Worten aber der Sinn ist der selbe. Bzw ich habe es verkürzt geschrieben. xD
-
Nein, du hast es genau andersrum gesagt. Ansonsten wäre dein Beitrag eine Zustimmung meines Beitrags sein, was ich allerdings nicht daraus lesen kann (Außer deine Wortwahl ist 3x um die Ecke gedacht, was selbst ich nicht verstehe).
Aber egal, der TE soll das einfach mit meiner Version ausprobieren und dann sagen ob das passt oder nicht. -
Und dennoch ist es unnötig dafür einen Stock zu erstellen, da das nur eine Zeile ist.
Wenn er keine Lust hat was zu kopieren, dann lohnt es sich, aber vom reinen Arbeitsaufwand passt das so, es sind ja immerhin keine 10 Zeilen, die überall wieder verwendet werden müssten.
Und selbst wenn er einen Stock nutzt, muss die Funktion abgewandelt werden.Xenox:
Wenn Spieler KEIN Polizist UND ZUGLEICH Spieler KEIN Army UND ZUGLEICH Spieler KEIN FBI UND ZUGLEICH Spieler KEIN SWAT ist, dann...
Ansonsten würde auch die Nachricht kommen, wenn du zwar Polizist, aber kein Army-Mitglied bist.
Wenn ich mich nicht irre kann man es in eine zeile machen den stock:stock polizei(playerid) { new i = deinpvar,if(i == cop i == fbi i == swat | i == army)return 0,else { return 1; }
können fehler bzw. Denkfehler drin sein bin müde und am Handy
Ds
-
Was habe ich beim Stock falsch gemacht?
stock IsPlayerBeamter(playerid)
{
if(GetPVarInt(playerid,"Fraktion")!=fPolizei && GetPVarInt(playerid,"Fraktion")!=fArmy && GetPVarInt(playerid,"Fraktion")!=fFBI && GetPVarInt(playerid,"Fraktion")!=fSWAT) return SendClientMessage(playerid,Rot2,"Dazu bist du nicht berechtigt.");
{
}
return 1;
} -
stock IsPlayerBeamter(playerid)
{
if(GetPVarInt(playerid,"Fraktion") != fPolizei && GetPVarInt(playerid,"Fraktion") != fArmy && GetPVarInt(playerid,"Fraktion") != fFBI && GetPVarInt(playerid,"Fraktion") != fSWAT) return 0;
return 1;
}
Alles andere wäre unlogisch.
Nun nutzt du in deinem Command, bzw. was auch immer
if(!IsPlayerBeamter(playerid)) return SendClientMessage(playerid, COLOR_RED, "NEIN!"); -
stock IstSpielerBeamter(playerid)
{
if(GetPVarInt(playerid,"Fraktion") == 1 || GetPvarInt(playerid,"Fraktion") == 2))// beispiel, ich würde anstatt den Namen lieber Zahlen nehmen :)
{
return true;
}
else
{
return false;
}
}if(!IstSpielerBeamter(playerid))return SendClientMessage(playerid, Rot2, "Du bist dazu nicht !");
Der Code kann ein wenig falsch sein, evtl eine ")" vergessen, bin mir nicht sicher.
Gruß,
-
ro0ling ich glaube so geht das nicht und was machen die Zahlen und die Fraktions Namen für einen
unterschied ich merk mir nicht alle Namen zu den zahlen. -
stock IsPlayerBeamter(playerid)
{
if(GetPVarInt(playerid,"Fraktion") != fPolizei && GetPVarInt(playerid,"Fraktion") != fArmy && GetPVarInt(playerid,"Fraktion") != fFBI && GetPVarInt(playerid,"Fraktion") != fSWAT) return 0;
return 1;
}
Alles andere wäre unlogisch.
Nun nutzt du in deinem Command, bzw. was auch immer
if(!IsPlayerBeamter(playerid)) return SendClientMessage(playerid, COLOR_RED, "NEIN!");Machs so
-
Habe ich gemacht ein danke an Padarom.
-
breadfish.de
Hat das Thema geschlossen.