Kann mir jemand ein Tutorial geben wie ich /undercover für Hitman scripten kann ?
Danke im Vorraus.
Kann mir jemand ein Tutorial geben wie ich /undercover für Hitman scripten kann ?
Danke im Vorraus.
Und was soll der Befehl können?
ich glaube das man den namen und so über dem kopf nicht sieht oder ?
ich glaube das man den namen und so über dem kopf nicht sieht oder ?
Jo, glaub der meint das so.
Also man soll nur als Hitman /undercover machen können an einem Punkt.
Dann kann man Zivi Skins wählen. So ca. 6 Zivi Skins.
Und man Sollte den Namen , wenn man den Befehl eingibt nicht sehen können.
Und das man an dem selben punkt einfach /undercover macht und der alte Skin wieder da ist , sowie der Name.
soll man die skins im dialog wählen können ?
Denkt an den Chat, wenn man etwas schreibt sieht man auch den Namen
Nun gut,
Fangen wir erstmal mit der Grundstrucktur an die so aussehen kann:
if(strcmp(cmdtext,"/undercover",true) == 0)
{
return 1;
}
Als erstes müssen wir die Leader bzw. die Fraktionsabfrage vornehmen, denn es soll ja nicht jeder diesen Befehl nutzen können.
Das macht man mit einer if Abfrage:
if(SpielerInfo[playerid][Leader] == Hitman Zahl || SpielerInfo[playerid][Member] == Hitman Zahl)
{
}
Jetzt ist gegeben das nur die Member und der Leader von den Hitman diesen Befehl nutzen können. Jetzt kommt das mit dem ShowPlayerNameTagForPlayer. Das sorgt dafür das der Name eines Spielers nicht angezeigt wird, bzw. verschwindet. Aber es soll ja für jeden nicht angezeigt werden, deswegen wird eine Schleife die durch jeden Spieler geht gemacht.
for(new i = 0; i<MAX_PLAYERS; i++)
{
}
Wofür braucht man die Schleife? Die benötigt man für die showplayerid bei ShowPlayerNameTagForPlayer. Nun kann man ShowPlayerNameTagForPlayer einfügen. Der Befehl sieht dann so aus:
if(strcmp(cmdtext,"/undercover",true) == 0)
{
if(SpielerInfo[playerid][Leader] == Hitman Zahl || SpielerInfo[playerid][Member] == Hitman Zahl)
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(playerid,i,0) //0 = Namen Hiden 1 = Namen Zeigen
}
}
return 1;
}
Nun wird der Name des Spielers, der /undercover eingibt unsichtbar für jeden Spieler auf der Map.
Bei wiederholten Befehlseingabe soll der Name ja wieder angezeigt werden. Das geht so, man erstellt eine neue Variable z. B. so eine:
new HatMaske[MAX_PLAYERS];
Nun kann man HatMaske auf 1 setzten wenn man die Maske aufsetzt.
HatMaske[playerid] = 1;
Nun muss man mit einer if Abfrage erfragen ob die Maske bzw. der Nametag an oder aus ist. Das macht man so:
if(HatMaske[playerid] == 0)
{
//Wenn die Maske nicht auf ist
}
else if(HatMaske[playerid] == 1)
{
//Wenn die Maske auf ist
}
Der Befehl sieht dann so aus:
if(strcmp(cmdtext,"/undercover",true) == 0)
{
if(SpielerInfo[playerid][Leader] == Hitman Zahl || SpielerInfo[playerid][Member] == Hitman Zahl)
{
if(HatMaske[playerid] == 0)
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(playerid,i,0)
}
HatMaske[playerid] = 1;
}
else if(HatMaske[playerid] == 1)
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(playerid,i,1)
}
HatMaske[playerid] = 0;
}
}
return 1;
}
Nun zu dem Text, wenn jemand etwas schreibt aber die Maske auf hat. Das macht man unter OnPlayerText.
if(HatMaske[playerid] == 1)
{
new string[128];
format(string, sizeof(string), "- sagt: %s"text);
//Dann halt deine Sache zum Text verschicken
}
Das mit der Skinauswahl kannst du ja noch selbst ergänzen, aber so geht das mit dem Namenstag hiden.
MfG: T4125Gamer