Ne, das würde nicht helfen, da ich soeben bemerkt habe das es auf die Reihenfolge ankommt wann man die Textdraws erstellt.
Sprich Lösung: Reihenfolge ändern wann die Textdraws erstellt werden.
Jetzt habe ich noch eine andere Frage:
Ich habe kürzlich mit Hilfe von @Jeffry ein "Skill System erstellt, womit es 6 verschiedene Level gibt (0 dazugezählt). Jetzt würde ich die gerne alle in einem Textdraw anzeigen lassen, aber ich habe das viel zu umständlich gemacht (es funktioniert, aber es geht definitiv einfacher), nur die Frage ist wie
So schaut der Befehl aus:
CMD:skills(playerid,params[])
{
if(SkillShowing[playerid] == 1)
{
SkillShowing[playerid] = 0;
HideSkillTextDraw(playerid);
HideSkillBar(playerid);
}
else
{
SkillShowing[playerid] = 1;
ShowSkillBar(playerid);
ShowSkillTextDraw(playerid);
if(pData[playerid][P_DoubleEXP] == 5)
{
SetPlayerProgressBarValue(playerid, Bar0[playerid], 100);
SetPlayerProgressBarColour(playerid, Bar0[playerid], 0x008000FF);
ShowSkillBar(playerid);
}
if(pData[playerid][P_DoubleEXP] == 4)
{
SetPlayerProgressBarValue(playerid, Bar0[playerid], 80);
SetPlayerProgressBarColour(playerid, Bar0[playerid], 0x80FF00FF);
ShowSkillBar(playerid);
}
if(pData[playerid][P_DoubleEXP] == 3)
{
SetPlayerProgressBarValue(playerid, Bar0[playerid], 60);
SetPlayerProgressBarColour(playerid, Bar0[playerid], 0xFFFF00FF);
ShowSkillBar(playerid);
}
if(pData[playerid][P_DoubleEXP] == 2)
{
SetPlayerProgressBarValue(playerid, Bar0[playerid], 40);
SetPlayerProgressBarColour(playerid, Bar0[playerid], 0xFF8000FF);
ShowSkillBar(playerid);
}
if(pData[playerid][P_DoubleEXP] == 1)
{
SetPlayerProgressBarValue(playerid, Bar0[playerid], 20);
SetPlayerProgressBarColour(playerid, Bar0[playerid], 0xFF0000FF);
ShowSkillBar(playerid);
}
if(pData[playerid][P_DoubleEXP] == 0)
{
SetPlayerProgressBarValue(playerid, Bar0[playerid], 0);
SetPlayerProgressBarColour(playerid, Bar0[playerid], 0xC0C0C0FF);
ShowSkillBar(playerid);
}
}
return 1;
}
Für jedes Level wird eine andere Farbe & eine andere Größe verwendet, wie könnte ich das einfacher, zeilensparender schreiben?
Info:
Beispiel Skill Code:
if(pData[playerid][P_DeathExplosion] >= 1 && random(10) < pData[playerid][P_DeathExplosion])
{
//Player is Skill Level 1+ and Deathexplosion appeared
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
CreateExplosion(x, y, z, 10, 2.5);
}
if(pData[playerid][P_ArmourSpawn] >= 1 && random(10) < pData[playerid][P_ArmourSpawn])
{
//Player is Skill Level 1+ and Deathexplosion appeared
SetPlayerArmour(playerid, 30);
}