Hallo
Wie ihr schon mitbekommen habt, ich habe ein maskensystem gescriptet und möchte es nun etwas Erweitern.
D.h mit was coolen, Namen selbstschreibbar.
Maskensystem bei mir
ocmd:maske(playerid,params[])
{
if(IsPlayerInFrak(playerid,6))
{
if(Maske[playerid]==1)
{
GameTextForPlayer(playerid,"~r~Du setzt deine Maske ab.",100,0);
Maske[playerid] = 0;
RemovePlayerAttachedObject(playerid, 1);
for(new i=0; i<MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(i,playerid,true);
}
}
else if(Maske[playerid]==0)
{
new Float:health, Float:armour, string[128];
GetPlayerHealth(playerid,health);
GetPlayerArmour(playerid,armour);
floatround(health,floatround_tozero);
floatround(armour,floatround_tozero);
format(string,128,"Unbekannter\nL:%.0f R:%.0f",health,armour);
SetPlayerChatBubble(playerid,string,rot,40.0,10000);
GameTextForPlayer(playerid,"~w~Du setzt deine Maske auf.",100,0);
Maske[playerid] = 1;
SetPlayerAttachedObject(playerid,1,19036,2,0.107,0.035,0.0,90,90,0);
for(new i=0; i<MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(i,playerid,false);
}
}
}
else
{
SendClientMessage(playerid,weiss,"Du bist kein Terrorist");
}
}
Was willst du genau John_Kramer ?
Ich möchte mein Maskensystem verändern.
Ich möchte das wenn der Spieler den Befehl eingibt ein Dialog gezeigt wird,
wo man was Eintragen kann. Genau gesagt ein INPUT Dialog, in den man nun sein Namen eintragen muss.
Und den Namen den Man eingetragen hat soll nun über den Spieler erscheinen, wo nun Unbekannter steht.
format(string,128,"Unbekannter\nL:%.0f R:%.0f",health,armour);
Wenn ich die Maske nun wieder absetzte soll der Name weggehen und der richtige wieder erscheinen, wenn man die Maske wieder aufstetzt ist der Name wieder änderbar. Habt ihr alles verstanden ? Wenn nicht könnt ihr gerne die Screens im Anhang sehen.
Was brauchst du deiner Meinung ?
Ich brauche meiner meinung nach erstmal den Dialog...
ShowPlayerDialog(playerid,DIALOG_TNAME,DIALOG_STYLE_INPUT,"Wie willst du heissen","Trage bitte unten dein gewünschten Namen ein","Ok","Abbruch");
Dann unter ONDIALOGRESPONSE
Das weiss ich leider nicht wie und was ich da machen soll
Dann gehe ich zur Maske
also zu den Befehl.
new Float:health, Float:armour, string[128],text;
format(string,128,"%s\nL:%.0f R:%.0f"text,health,armour);
So sollte das eigentlich gehen habe ich Recht ?
Dann muss ich noch hier nichts machen xD
public OnPlayerStreamIn(playerid, forplayerid)
{
if(Maske[forplayerid]==1)
{
SetPlayerAttachedObject(forplayerid, 1, 19036, 2, 0.107, 0.035, 0.0, 90, 90, 0);//Object wird auf den Character gesetzt
ShowPlayerNameTagForPlayer(playerid,forplayerid,false);//Der Name verschwindet
}
return 1;
}
Aber Unter OnPlayerUpdate
public OnPlayerUpdate(playerid)
{
if(Maske[playerid] == 1)
{
new string[128], Float:hp, Float:am,text; //Wie brauchen diese Zeile, damit das HP ausgegeben und abgefragt werden kann!
GetPlayerHealth(playerid,hp);//Hier fragen wir das Leben ab
GetPlayerArmour(playerid,am);//Hier wird die Rüstung abgefragt
floatround(hp,floatround_tozero);//Das ganze wird gerundet
floatround(am,floatround_tozero);//Erneut gerundet
format(string,sizeof(string),"{FFFFFF}%s\n{FF1400}L:%.0f R:%.0f",text,hp,am);//Der Name undbekannt wird gesetzt, Leben & Rüstung wird eingesetzt
SetPlayerChatBubble(playerid,string,rot,40.0,10000);//Das ganze steht über dem Namen
return 1;
}
So war das
public OnPlayerUpdate(playerid)
{
if(Maske[playerid] == 1)
{
new string[128], Float:hp, Float:am; //Wie brauchen diese Zeile, damit das HP ausgegeben und abgefragt werden kann!
GetPlayerHealth(playerid,hp);//Hier fragen wir das Leben ab
GetPlayerArmour(playerid,am);//Hier wird die Rüstung abgefragt
floatround(hp,floatround_tozero);//Das ganze wird gerundet
floatround(am,floatround_tozero);//Erneut gerundet
format(string,sizeof(string),"{FFFFFF}Unbekannter\n{FF1400}L:%.0f R:%.0f",hp,am);//Der Name undbekannt wird gesetzt, Leben & Rüstung wird eingesetzt
SetPlayerChatBubble(playerid,string,rot,40.0,10000);//Das ganze steht über dem Namen
return 1;
}
Dann wars das glaube ich.
Wie könnt ihr mir helfen ?
Ihr könnt mir über Skype helfen (pro_gamer38)
Oder den Coder hier einfach als Antwort posten.
Das Script gebe ich keinen weiter.
Ich erwarte nun hilfreiche antworten.
SREENS