Moin, der gute public hier soll in Verbindung mit einen bei OnGameModeInit gestarteten, sich alle 2 Min Wiederholenden Timer diesen Code ausführen.
Mir wird dennoch keine Energie abgezogen, warum?
public SubHealthTimer()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
new Float:health,save[40],pName[MAX_PLAYER_NAME];
GetPlayerName(i,pName,sizeof pName);
format(save,sizeof(save),"/Spieler/%d.ini",pName);
GetPlayerHealth(i,health);
SetPlayerHealth(i,health-5);
dini_FloatSet(save,"pHealth",GetPlayerHealth(i,health));
}
}
}
SubHealth Timer
- Addickted
- 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
-
-
Ich bin neu in Sachen scripten , aber fehlt da nicht ein return ?
-
Kann geschlossen werden. Ich bin nicht mehr der hellste um diese Uhrzeit. Es lag anfangs daran das ich floatround und floatset vergaß.
Vielleicht kann man das ganze als Tutorial umbauen?
public SubHealthTimer()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
new Float:Health,save[40],pName[MAX_PLAYER_NAME]; // Erstellt unsere Variablen
GetPlayerName(i,pName,sizeof pName); // Ermittelt den Spielernamen und packt ihn in die Variable pName
format(save,sizeof(save),"/Spieler/%d.ini",pName); // Formatiert unsere Zeichenkette mit dem Dateipfad.
GetPlayerHealth(i,Health); // Ermittelt die aktuelle Energie und speichert sie in der Variable Health
SetPlayerHealth(i,Health-5); // Setzt die Energie auf den ermittelten Wert in der Variable Health und zieht -5 ab
GetPlayerHealth(i,Health); // Wir ermitteln nun nochmals die aktuelle Energie
sInfo[i][pHealth] = floatround(Health, floatround_round); // Wir weisen unseren Variablen an, dass sie den Wert abrunden sollen
dini_FloatSet(save,"pHealth", sInfo[i][pHealth]); // Schlussendlich tragen wir gleich den Wert in die Userdatei ein.
}
}Edit: Kann mir jemand erklären warum er die aktuellen Energie nicht in die Datei schreibt? Erst bei meinem Disconnect schreibt er die Health rein. In Health verwende ich ganz normal playerid statt i.
-
breadfish.de
Hat das Thema geschlossen.