Hallo
Hab da ein kleines Problem und zwar mit Ranklabels ingame überschneiden sie sich irgent wie halt da steht zB Idiot und Newcomer zusammen , der Code ist eingetlich logisch und durchdacht , deswegen wundere ich mich was da falsch ist :<
//bei on playerspawn
if(Spieler[playerid][Kills] >= 0 && Spieler[playerid][Kills] <= 24){
RankLabel[playerid] = Create3DTextLabel("Idiot",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >= 25 && Spieler[playerid][Kills] <= 49){
RankLabel[playerid] = Create3DTextLabel("Outlaw",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >= 50 && Spieler[playerid][Kills] <= 99){
RankLabel[playerid] = Create3DTextLabel("Newcomer",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >= 100 && Spieler[playerid][Kills] <= 149){
RankLabel[playerid] = Create3DTextLabel("Associate",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >= 150 && Spieler[playerid][Kills] <= 249){
RankLabel[playerid] = Create3DTextLabel("Soldier",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >= 250 && Spieler[playerid][Kills] <= 399){
RankLabel[playerid] = Create3DTextLabel("Killer",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >= 400 && Spieler[playerid][Kills] <= 599){
RankLabel[playerid] = Create3DTextLabel("Capo",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >= 600 && Spieler[playerid][Kills] <= 899){
RankLabel[playerid] = Create3DTextLabel("StreetBoss",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >= 900 && Spieler[playerid][Kills] <= 1499){
RankLabel[playerid] = Create3DTextLabel("UnderBoss",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
if(Spieler[playerid][Kills] >=1500){
RankLabel[playerid] = Create3DTextLabel("Godfather",COLOR_LIGHTBLUE,0,0,0,70.5,1);
Attach3DTextLabelToPlayer(RankLabel[playerid], playerid, 0.0, 0.0, 0.45);
}
[HELP]3D TextLabels
- LSTNE
- Geschlossen
- Erledigt
-
-
hast du auch schonmal mit else if gemacht also
so
if....
{
BLA!
}
else if....
{
bla
}
else if....usw.
? -
Ja , if und else if ist fast immer das gleiche eigentlich ....
-
Nein if ist eine abfrage
else if ist auch eine abfrage aber dies wird zur selben variable benutzt wie in deinem fall dort wird eine variable ka 10mal hinter einander abgefragt also else if -
Wie gesagt am Anfang war es else if dann hat mir ein guter Scripter geraten mit if zu machen , naja aber allen beiden Lösungen kommt das gleiche raus
-
Mach mal bei OnPlayerDisconnect,Delete3DTextLabel oder so
Also ich seh den fehler grad nicht. -
Mach mal bei OnPlayerDisconnect,Delete3DTextLabel oder so
Also ich seh den fehler grad nicht.Ne sowas ähnliches habe ich schon voher versucht , aber auch nich geschafft
-
Warum :
//bei on playerspawn
So kommt ja bei jedem Spawn des Players ein 3D Text Label über seinem Kopf und das alte geht nicht weg?
Machs lieber bei OnPlayerConnect und benutze dazu noch else if anstatt immer if. Hoffe es klappt^^ -
Deine Logik könnte stimmen , daran habe ich auch gedacht , aber ich versteh es nicht wieso zB einer der weniger als 25 Kills nen anderen rank stehen als den ersten ... weil es kann sich gar nicht vermischen wenn der Spieler weniger als 25 Kills hat verstehst du ?
-
Deine Logik könnte stimmen , daran habe ich auch gedacht , aber ich versteh es nicht wieso zB einer der weniger als 25 Kills nen anderen rank stehen als den ersten ... weil es kann sich gar nicht vermischen wenn der Spieler weniger als 25 Kills hat verstehst du ?
Max ID 1 geht Offline, Tom mit ID 1 kommt Online
Max war "Starkiller", Tom ist "Hodenkrampfkiller" nun ist er "Starkiller" und "Hodenkrampfkiller" gemischt.So denke ich das da du kein Destroy drine hast.
-
-
Ahsoo Joa die Logik könnte stimmen :> hab mir das mit den Ids nicht einmal vorgestellt aber ich probiers morgen , geh jz frühzeitig ins Bett
/edit ich danke allen die versucht haben mir zu helfen -
Achja nun fällt mir nochmal was ein auf die schnelle:
Wenn du kein else if benutzt kommt halt das:Du hast 20 Kills > Anfänger
Du hast 50 Kills > Scharfschütze
Du hast 75 Kills > Owner
Du hast 100 Kills > MasterWenn du es mit if machst wird alles benutzt bis 100 Kills = Du bist
Anfänger, Scharfschütze, Owner und Master zusammen falls du 100 Kills hast. -
Ne eigentlich nicht und zwar deswegen ...
if(Spieler[playerid][Kills] >= 0 && Spieler[playerid][Kills] <= 24){
das bedeutet wenn der Spieler weniger oder gleicht 0 Kills hat und wenn er mehr oder gleicht 24 kills hat dann wird der rang zugefugt und beim nächsten Rang gehts weiter
if(Spieler[playerid][Kills] >= 25 && Spieler[playerid][Kills] <= 49){wenn der Spiler mehr als oder gleich 25 kills hat und .... -
breadfish.de
Hat das Thema geschlossen.