PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "or" Statements...



Lucid
08.05.2008, 11:56
Folgende Situation:

Spieler "Ralf" hat 100 Health und es wird folgende Funktion an ihm ausgefuehrt:

function Beispiel(target)
if (_PlayerInfo(target, "health") < 25) or (MyFunction(target, 85) == true) then
Msg(target .. " hat mehr als 25 Health, es wird nichts unternommen\n")
else
_PlayerKill(target)
end
end

Wird die funktion "MyFunction" überhaupt noch ausgeführt, wenn Ralf mehr als 25 Health hat?

Ja, ihr habt richtig gesehen, es geht um GMod9 :S

BennyG
08.05.2008, 12:49
Ja,da steht ja nicht and(und)

Pac_187
08.05.2008, 14:19
Du hast < verwendet was bedeutet das der Spieler weniger als 25 Health haben
muss damit die Funktion ausgeführt wird ;)

< = Kleiner als
> = größer als

Lucid
08.05.2008, 19:37
Dann hat Ralf meinetwegen 10 Health :lol:
Also wenn das erste statement true ist, wird dann ueberhaupt noch das zweite geprüft?

Pac_187
08.05.2008, 20:30
Theoretisch ja.

Praktisch hm....

Warum verwendest du nicht einfach ein "and" ?

Dann kannst du sichergehen das beides true ist ;)

Lucid
08.05.2008, 20:43
Hab's jetzt selber rausgefunden, kann sein das ich mich auch vllt. zu doof ausgedrueckt hab :gmod:

_Msg("Test START\n")

function TestEins()
_Msg("1\n")
return true
end

function TestZwei()
_Msg("2\n")
return true
end

if (TestEins() == true) or (TestZwei() == true) then
_Msg("Test ENDE\n")
end

Test START
1
Test ENDE

Ich brauchte den kram fuer performance-optimierungen... hat aber auch nichts geholfen :gmod:

Scarecrow
08.05.2008, 21:27
Dann hat Ralf meinetwegen 10 Health :lol:
Also wenn das erste statement true ist, wird dann ueberhaupt noch das zweite geprüft?

Wozu denn? Macht das eigentlich Sinn die Zweite zu prüfen, wenn nur Eine davon richtig sein muss?

Lucid
08.05.2008, 21:35
Wozu denn? Macht das eigentlich Sinn die Zweite zu prüfen, wenn nur Eine davon richtig sein muss?

In einem Loop kann man z.b. erst überprüfen ob er Spieler überhaupt lebt...
Wenn nicht, kann man sich die "ist-im-noclip-modus"-überprüfung ja sparen, darum ging es hauptsächlich ;)

edit:
nvm... ich verwechsel das gerade mit "and"...
Naja, ich hab ja jetzt was ich will D: