Hallo Breadfish
und herzlich Willkommen zu meinem zweiten Tutorial!
In diesem Tutorial werde ich euch zeigen, wie man in einem
TDM/DM Gamemode eine Nachricht einbindet, die
anzeigt das ein Spieler einen Kill gemacht hat.
Was benötigen wir dafür?
-Grundkenntnisse
-Geduld
-Einen DM GM
Nun geht es auch schon los!
Als erstes müssen wir ganz oben im Script folgendes definieren
new PlayerTotalKills[MAX_PLAYERS] = 0;
PlayerTotalKills = Damit die Kills später auch ausgelesen werden können
Dann können wir direkt in den Public OnPlayerDeath gehen und dort
zwei string erstellen, einen für den Namen und einen zum auslesen
new Name[128], string[128]
Name = Der Name des Spielers denn wir gleich herausfinden
string = Der eigentliche string für die Wiedergabe des ganzen
Nun müssen wir noch den Namen herausfinden:
new Name[128], string133[32];
GetPlayerName(killerid, Name, sizeof(Name));
GetPlayerName = Um den Namen herauszufinden bzw, auszulesen
killerid = Steht für den Spieler der dann später in dem GamText erscheint.
Name = Unser definierter Name
sizeof(Name) = liest die Größe des Namnes aus
Dann , damit die Nachricht wieder von vorn beginnt wenn der Spieler gestorben ist,
müssen wir folgendes hinzufügen:
new Name[128], string133[32];
GetPlayerName(killerid, Name, sizeof(Name));
PlayerTotalKills[killerid]++;
PlayerTotalKills[playerid] = 0;
PlayerTotalKills[killerid]++ = Damit die Kills ausgelesen werden und er nicht immer die selbe Nachricht bekommt
PlayerTotalKills[playerid] = 0 = Damit die Nachricht des gekillten Spielers wieder von vorn beginnt.
Gut, nun sind wir schon einen großen schritt weiter.
Nun müssen wir abfragen wie viele Kills der Spieler hat, damit die Nachricht abgesendet wird.
Das machten wir mit einer einfachen if Schleife:
new Name[128], string133[32];
GetPlayerName(killerid, Name, sizeof(Name));
PlayerTotalKills[killerid]++;
PlayerTotalKills[playerid] = 0;
if(PlayerTotalKills[killerid] == 1) {
}
if(PlayerTotalKills[killer] == 1) { = Er fragt ab ob der Spieler einen Kill hat.
Wenn dies so ist, wird der Gametext versendet.
Im Inhalt enthalten ist der string für die Nachricht
und diesen setzen wir nun ein
new Name[128], string133[32];
GetPlayerName(killerid, Name, sizeof(Name));
PlayerTotalKills[killerid]++;
PlayerTotalKills[playerid] = 0;
if(PlayerTotalKills[killerid] == 1) {
format(string, sizeof(string), "~r~%s `s erster Kill", Name);
}
format = Formatiert den string
string = Das ist der oben definierte string der nun ausgelesen werden muss
sizeof(string) = Die Größe des strings
%s = Der String , in diesem fall der Name
%i = Ein Integer, gilt für Namen und Zahlen
%d = Dezimalzahl
Gut, damit dies nun auch wiedergeben wird,
brauchen wir den GameTextForAll.
Dies wenden wir wie folgt an:
new Name[128], string133[32];
GetPlayerName(killerid, Name, sizeof(Name));
PlayerTotalKills[killerid]++;
PlayerTotalKills[playerid] = 0;
if(PlayerTotalKills[killerid] == 1) {
format(string, sizeof(string), "~r~%s `s erster Kill", name);
GameTextForAll(string, 6000,3);
}
GameTextForAll = Dieser Text wird wie ein Textdraw angezeigt nur immer mittig
und in einer bestimmten Zeit, in diesem Fall 6 Sekunden.
string = Der string den wir oben definiert haben
3 = Die Schriftart, diese kannst du hier aussuchen
Nun, sind wir mit dem ersten fertig und könne als Feinheit noch folgendes hinzufügen
new Name[128], string133[32];
GetPlayerName(killerid, Name, sizeof(Name));
PlayerTotalKills[killerid]++;
PlayerTotalKills[playerid] = 0;
if(PlayerTotalKills[killerid] == 1) {
format(string, sizeof(string), "~r~%s `s erster Kill", name);
GameTextForAll(string, 6000,3);
GivePlayerMoney(killerid,1000);
format(string, sizeof(string), "Du hast nun %d Dollar.", GetPlayerMoney(killerid));
SendClientMessage(killerid, 0xFFFFFFFF, string);
}
GivePlayerMoney = Diesem Spieler eine bestimmte Menge geld geben
killerid = Die ID/Name des Killers der das Geld bekommt
1000 = Die Menge an Geld die er bekommt
GetPlayerMoney = Um das Geld des Spielers abzufragen
SendClientMessage = Dem Spieler eine Nachricht senden
0xFFFFFFFF = Der Farbcode
Nun zum Pastebin
da es sonst zu lang werden würde.
Der Rest ist sowieso das selbe.
Ich hoffe das Tutorial hat euch geholfen.
Kritik und Verbesserungsvorschläge sind erwünscht.
Mfg
think_good
//Edit Pastebin aktualisiert