Moin Leute
Ich habe foglendes vor.
Wenn jmd ein User abknallt soll er bei 5Hp stoppen und dann gefreezt werden.
Aber irgendwie funtzt es nicht.
public Todescheck(playerid)
{
new Float:Health;
SetTimer("Health",1000, true);
GetPlayerHealth(playerid, Health);
if(Health >= 5)
{
SendClientMessage(playerid, COLOR_YELLOW, "Hinweis: Du bist gestorben. Rufe ein Artzhelfer mit /medic!");
TogglePlayerControllable(playerid, 0);
}
}
TodesCheck
- Aiden_Havering
- 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
-
-
mach bei Onplayerupdate rein
-
Okay werde es versuchen.
-
Dein Abfrage ist falsch, du überprüfst ob der Health größer oder genauso groß ist wie 5.
So wirst du dann eigentlich so gut wie immer gefreezt. -
WIe müsste die Abfrage den lauten?
Bin noch net so erfahrend -
Probiers mal so:
if(Health <= 5)
-
kannst es aber auch mit einem enum machen sprich
enum pInfo
{
pTot,
}if(PlayerInfo[pInfo][pTot] == 5)
{
//und hier was passieren soll
return 1;
} -
Habe das jetzt so unter OnPlayerUpdate eingefügt {
new Float:Health;
SetTimer("Health",1000, true);
GetPlayerHealth(playerid, Health);
if(Health <= 5)
{
SendClientMessage(playerid, COLOR_YELLOW, "Hinweis: Du bist gestorben. Rufe ein Artzhelfer mit /medic!");
TogglePlayerControllable(playerid, 0);
}
}
return 1;Dabei passiert das:
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(6908) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(10567) : error 055: start of function body without function header
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(10569) : error 021: symbol already defined: "SetTimer"
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(10571) : error 010: invalid function or declaration
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(10577) : error 010: invalid function or declaration
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(12418) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(12438) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(12458) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(12478) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(12507) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(12527) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(12547) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(12567) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(15984) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(16497) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(17086) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(17500) : warning 219: local variable "Health" shadows a variable at a preceding level
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(17516) : warning 203: symbol is never used: "Health"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase4 Errors.
-
new Health;
ganz oben hin unter float
mfg GWG
//sollte vlt helfen
-
Such mal nach "forward Health" und änder es in "forward HealthTimer", dann änder das public Health auch in public HealthTimer und bei SetTimer Health auch in HealthTimer. Dann new Float:Health; zu Float:tHealth; bei GetPlayerHealth auch tHealth und bei der if-Abfrage auch.
-
Ich habe doch schon ein Public...
public OnPlayerUpdate(playerid) -
ich glaube er meint nicht das public was du meinst sonder das hier:
public Health(playerid)
{}
wenn ich mich nicht irre?
vom timer halt her
mfg GWG
-
Genau das mein ich.
Du sollst das:
public Health(playerid)
{}
in das:
public HealthTimer(playerid)
{}
Und halt das ganze andere Zeugs, was ich geschrieben hab.
-
Also ich verstehe jetzt nur Bahnhof...
Ich habe das teil ja fertig mit ein Public dann sagte jmd ich solls unter den public OnPlayerUpdate(playerid) setzen und jetzt hab ich wieder das Problem mit den Errors -
Dann lösch den Timer halt komplett und alles was dazu gehört und mach nur das mit tHealth
-
Okay.
Jetzt habe ich diese Errors (10566) : error 055: start of function body without function header
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(10567) : error 010: invalid function or declaration
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(10573) : error 010: invalid function or declaration
//EDIT Update -
Zeig mal die Zeilen, in der die Errors sind.
-
GetPlayerHealth(playerid, Health);
if(Health <= 5)
{
Problem Zeilen
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(10566) : error 021: symbol already defined: "GetPlayerHealth"
C:\Users\maurice\Desktop\sampd\gamemodes\nlcscript.pwn(10567) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
-
breadfish.de
Hat das Thema geschlossen.