Ich brauch hilfe bei mein Maskensystem, mit meinen Dialog.
Wie ist dein Maskensystem ?
1. Befehl /maske eingeben.
2. Inputtdialog kommt, in dem ich irgendwas eingebe.
3. Was ich eingegeben habe, steht nun über mir. (Deckname).
4. Deckname ist da und funktioniert alles.
5. Ich öffne /help Dialog.
6. Wähle Fraktionshilfe und schon ist mein Deckname Fraktionshilfe.
7. Wähle ich vllt Allgemeine Hilfe ist mein Deckname Allgemeine Hilfe.
8. Nehme ich zb auch im Bomben Dialog einen Draht Rot Gelb oder Grün, dann heiss ich Rot Grün oder Gelb.
9. Alles was ich im Dialog auswähle bekomme ich als Deckname.
10. Nur wenn ich Maske aufgesetzt habe.
11. Woran liegt das ?
if(dialogid == DIALOG_TNAME)
{
if(response)
{
if(strlen(inputtext) < 3)
{
return SendClientMessage(playerid,grau,"Zu wenig Tabs");
}
new string[128], Float:health, Float:armour;
GetPlayerHealth(playerid, health);
GetPlayerArmour(playerid, armour);
new rhealth = floatround(health, floatround_round);
new rarmour = floatround(armour, floatround_round);
format(string, 128, "{FFFFFF}%s\n{FF0000}L: %i R: %i", inputtext, rhealth, rarmour);
maskenlabel[playerid] = Create3DTextLabel(string, 0xFFFFFFFF, 0.0, 0.0, 0.0, 35.0, 0, 1);
Attach3DTextLabelToPlayer(maskenlabel[playerid], playerid, 0.0, 0.0, 0.6);
Maske[playerid] = 1;
SetPlayerAttachedObject(playerid,2,19036,2,0.073, 0.029, 0, 88, 75, 0);
for(new i=0; i<MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(i,playerid,false);
}
}
}
ocmd:maske(playerid,params[])
{
if(tod[playerid]==1)return ErrorMsg(playerid,"Du bist zu schwer verletzt");
if(IsPlayerInFrak(playerid,6)||IsPlayerLeader(playerid,6)||IsPlayerInFrak(playerid,13)||IsPlayerLeader(playerid,13))
{
if(Maske[playerid]==1)
{
SendClientMessage(playerid,grün,"Du hast dir deine Maske abgesetzt...");
Delete3DTextLabel(maskenlabel[playerid]);
Maske[playerid] = 0;
RemovePlayerAttachedObject(playerid, 2);
for(new i=0; i<MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(i,playerid,true);
}
}
else if(Maske[playerid]==0)
{
SendClientMessage(playerid,grün,"Du hast dir eine Maske aufgesetzt.");
ShowPlayerDialog(playerid,DIALOG_TNAME,DIALOG_STYLE_INPUT,"<<Deckname>>","Bitte gib hier einen Deckname ein\nAlles du hier eingibst steht über dir als Name\nBitte Wählen:","Ja","Nein");
}
}
else
{
SendClientMessage(playerid,weiss,"Du darfst diesen Befehl nicht nutzen");
}
return 1;
}
OnPlayerUpdate
if(Maske[playerid] == 1)
{
new string[128], Float:health, Float:armour, mname[MAX_PLAYER_NAME];
GetPlayerHealth(playerid, health);
GetPlayerArmour(playerid, armour);
new rhealth = floatround(health, floatround_round);
new rarmour = floatround(armour, floatround_round);
GetPVarString(playerid, "maskname", mname, MAX_PLAYER_NAME);
format(string, 128, "{FFFFFF}%s\n{FF0000}L: %i R: %i", mname, rhealth, rarmour);
Update3DTextLabelText(maskenlabel[playerid], 0xFFFFFFFF, string);
}
Warum ?