Alles gute Kones;)
Beiträge von Maximilian
-
-
Ja,
weil ich derzeit nicht viel Zeit habe und stress in rl -
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 GMNun 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önnenDann 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 FarbcodeNun 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
-
Mach das ma so
GetPlayerName(playerid,pName,sizeof pName);
Zu
GetPlayerName(playerid,pName,sizeof (pName)); -
Bei der Vorstellung bekomm ich augenkrebs
Script GF?
Keine TLD0815 Nummer 100
-
ja gut ich auch nur: ich habs im urlaub ohne gta gescriptet.
Desweiteren hab ich noch keinen eerlebt,
Der in seinen credits samp und gta hat.
//Edit Coypright Hinzugefügt -
Ja, morgen komm höchst wahrscheinlich das nächste Update mit neue Features wie einem
Report System
Rcon Commands
Mapping
/stats
Flugzeug das geklaut werden muss damit das gegnerische Team punkte erhält -
Habe das nicht per Rcon gemacht, werde es aber umstellen.
Zurzeit muss du deinen Account bearbeiten.
Der höchste Rank ist Rank 5 -
Ja, dürfen die neuen sein.
wenn nicht hier nochmal der GameMode
http://www.file-upload.net/dow…260989/gamemodes.rar.html -
-
Danke,
aber bitte nicht teile raus kopieren und es verwenden -
Update
-/shop hinzugefügt
-Pro Kill bekommt man 1000 Dollar
-Nach jedem Kill kommt eine Nachricht -
-
Danke, freut mich wenn es euch gefällt,
dann mach ich gleich am Update weiter -
Herzlich Willkommen zu meinem neuen Wbb Design.
Dieses habe ich vor einigen Tagen begonne, aber nur
weil mir der letzte nicht zugesagt hat.http://www7.pic-upload.de/10.04.12/23h2dff75xu.png
Kritik und Verbesserungsvorschläge sind erwünscht.
Mfg
think_good -
Hallo Breadfish,
hiermit möchte ich meinen ersten Gamemode vorstellen.
Dieses Gamemode basiert auf einem alten Lieblingsserver meinserseits der leider umgebaut wurde.
Als ich im Urlaub war kam ich dann auf diese Idee und habe innerhalb von 4 Tagen diesesn Gamemode begonnen.
Er wird von mir des öfteren geupdatet da noch viele dazu kommt.
[tabmenu]
[tab='Screenshots']
Hier ein paar Screenshots von der Map
(Nicht sehr viel gemappt.. kommt noch)
http://www7.pic-upload.de/10.04.12/itw5rlny9x2n.png
http://www7.pic-upload.de/10.04.12/jk557vu7y64.png
http://www7.pic-upload.de/10.04.12/2sqakpme8bx.png
http://www10.pic-upload.de/10.04.12/lvuf68xngjiw.png
http://www7.pic-upload.de/10.04.12/514336avn7z6.png
[tab='Commands']
Normale Personen:
/help
/credits
/team
/afk
/back
/regeln
/admins
/serverinfo
/faq
/shopAdmins:
/ban
/kick
/makeadmin
/teamkill //Zu aktivieren und deaktivieren des Antiteamkills
/ahelp
[tab='Infos']
Dieses Script darf und wird nicht verkauft.
Sollte es jedoch im Marktplatz angeboten werden,
Bitte ich euch, mich zu informieren.
Dies ist ein Teamdeathmatch Script welches zu 80% Selfmade ist.
Ich werde weiterhin daran arbeiten und Updates veröffentlichen,
die neue Commands, Maps oder ähnliches enthalten.
[tab='Download']
Pastebin
Pwn + Amx
Komplettpaket
[tab='Credits']
Credits gehen an -S-...kill.exe<3_ftw für sein Login/Register System
Danke sehr
[tab='Coypright']
Der Name des Servers MUSS verändert werden.
Airport Wars von Maximilian Beck steht unter einer Creative Commons Namensnennung 3.0 Unported Lizenz.
Beruht auf einem Inhalt unter http://www.sa-mp.de.
Über diese Lizenz hinausgehende Erlaubnisse können Sie unter http://www.sa-mp.de erhalten
[/tabmenu]Ich danke euch für eure Aufmerksamkeit
Kritik ist ebenso wie Verbesserungsvorschläge erwünscht
//Edit BITTE COPYRIGHT BEACHTENMr.T
-
-
Hallo Breadfish,
ich habe nun eine Lösung für die Textdraws gefunden.
Jedoch komme ich nicht weiter.
Es sollen die Kills ausgelesen werden und es klappt einfach nicht.
Es wird immer auf 0 gesetzt
public Killer(playerid)
{
new Kills1 = Spieler[playerid][Kills];
new namestr[100], spname[MAX_PLAYER_NAME];
GetPlayerName(playerid, spname, sizeof(spname));
format(namestr, sizeof(namestr), "%s führt mit %i Kills",spname, Kills1);
SendClientMessageToAll(BLAU, namestr);
return 1;
}Errors gibt es keine.
Desweiteren bräuchte ich mal einen Code dafür, das ausgelesen wird wer nun 5 Kills hat.
Dann soll per GameTextForAll ein Text wiedergeben werden wo sein namen angegeben wird. -
Gut gemacht 10/10
Kannst du bitte einen anderen Hoster für das Komplettpaket wählen? Muss man sich registrieren -
ja gut dann is er ja spitze