Warst du nicht bis gestern noch Supporter?
Das ist korrekt, ich habe mich als erstes nur als Supporter beworben, habe mich dann aber kurze Zeit später auch als Scripter beworben.
Warst du nicht bis gestern noch Supporter?
Das ist korrekt, ich habe mich als erstes nur als Supporter beworben, habe mich dann aber kurze Zeit später auch als Scripter beworben.
Bei der Projektleitung nicht oderwas?
![]()
Du bist 15 Jahre und machst ein SA:MP Projekt oder möchtest eins starten.
Naja ich seh darin keinerlei Zukunft sowie das das ein 08/15 Projekt wird. Trotzalledem viel Glück.
Mit freundlichen Grüßen,
Notice
Guten Tag,
ich bin mir ziemlich sicher dass dieses Projekt kein 0815 Projekt wird, der Scripter (Ich) arbeitet täglich mehrere Stunden am Script und entwickelt dieses weiter, auf Userideen wird natürlich auch geachtet. Wir haben ein nettes Adminteam mit dem niemand Probleme haben sollte; und wenn doch, meldet man sich bei mir oder Syntation.
LG
Hallo,
ich versuche grad über OnPlayerClickPlayer ein Admin Menü für Admins zu machen, aber bei meinem Versuch damit jemanden ins CP Prison zu stecken scheitert es.
Wenn ich im Admin Menü "Spieler ins CP Prison stecken" gewählt habe erscheint das richtige Textfenster in dem nach den CPs gefragt wird, aber nachdem ich dort egal was eingebe schließt sich der Dialog und nichts passiert. In der Serverlog steht nichts.
Admin Menü:
if(dialogid == 1337)
{
if(!response) return SendClientMessage(playerid, 0xFF0C29FF,"Auswahl abgebrochen.");
else
{
if(listitem == 0) return ShowPlayerDialog(playerid, 1338, DIALOG_STYLE_INPUT, "Spieler kicken", "Gib den Kickgrund ein", "Kicken", "Abbrechen");
if(listitem == 1) return ShowPlayerDialog(playerid, 1339, DIALOG_STYLE_INPUT, "Spieler muten", "Gib den Mutegrund ein", "Muten", "Abbrechen");
if(listitem == 2) return ShowPlayerDialog(playerid, 1444, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib die gewünschten Checkpoints ein", "CPs setzen", "Abbrechen");
if(listitem == 3) return ShowPlayerDialog(playerid, 1343, DIALOG_STYLE_INPUT, "Nachricht versenden", "Gib deine Nachricht ein", "Versenden", "Abbrechen");
if(listitem == 4) return ShowPlayerDialog(playerid, 1340, DIALOG_STYLE_INPUT, "Spieler bannen", "Gib den Banngrund ein", "Bannen", "Abbrechen");
if(listitem == 5) return ShowPlayerDialog(playerid, 1341, DIALOG_STYLE_INPUT, "Spieler IP bannen", "Gib den IP Banngrund ein", "IP bannen", "Abbrechen");
if(listitem == 6) return ShowPlayerDialog(playerid, 1342, DIALOG_STYLE_INPUT, "Rang ändern", "Gib den gewünschten Rang ein", "Rang setzen", "Abbrechen");
}
}
Dialog 1344 (CP Prison):
if(dialogid == 1344)
{
SavedText[playerid] = inputtext[playerid];
if(SavedText[playerid] > 99 || SavedText[playerid] < 5) return ShowPlayerDialog(playerid, 1444, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib die gewünschten Checkpoints ein", "CPs setzen", "Abbrechen");
if(!response) return SendClientMessage(playerid, 0xff0c29ff, "Auswahl abgebrochen.");
else
{
ShowPlayerDialog(playerid, -1, 0, "", "", "","");
ShowPlayerDialog(playerid, 1345, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib den gewünschten Grund ein", "Grund angeben", "Abbrechen");
return 1;
}
}
Dialog 1345(Grund):
if(dialogid == 1345)
{
new target,str[140], reason[64], cps;
target = ClickedPlayer[playerid];
reason[playerid] = inputtext[playerid];
cps = SavedText[playerid];
if(!response) return SendClientMessage(playerid, 0xff0c29ff, "Auswahl abgebrochen.");
else
{
if(pJailed[target] == true)
{
return SendErrorMessage(playerid, "Der Spieler befindet sich bereits im CP Prison.");
}
MaxCheckPoints[target] = cps;
//Save Old Data
SaveOldData(target);
//Let's Jail
ResetPlayerWeapons(target);
ShowCPTextDraws(target);
format(str, sizeof(str), "PRISON: {FFFFFF}%s {FFFF00}hat {FFFFFF}%s {FFFF00}mit CP Jail(%d CPs) bestraft. [Grund: {FFFFFF}%s{FFFF00}]", GetName(playerid), GetName(target), cps,reason);
SendClientMessageToAll(COLOR_YELLOW, str);
SetPlayerPos(target, -1398.103515,937.631164,1036.479125);
SetPlayerInterior(target, 15);
SetPlayerVirtualWorld(target, 77);
pJailed[target] = true;
RandomCheckPointCreate(target);
printf("[warning] %s hat %s für %d CP's ins CP Prison gesteckt.",GetName(playerid),GetName(target),cps);
return 1;
}
}
Wird schwer wenn der User was eingeben muss
Eine ganze Tastatur als Textdraw machen?
welcher Code wird denn abgerufen wenn du dich einloggst?
Hallo,
ich erstelle momentan eine Liste bei OnPlayerClickPlayer wenn ein Teamitglied ein Spieler anklickt kriegt er ein Dialog indem er den Spieler bestrafen kann etc. Wenn man das Adminlevel 4 hat kriegt man die Auswahlmöglichkeit "Räng ändern" hinzu, diese funktioniert aber nicht, weil die in der Textbox eingegebene Zahl als 0 ausgegeben wird egal was man reinschreibt.
OnPlayerClickPlayer:
if(Player[playerid][Level] == 4)
{
ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_LIST, "{FFFF00}Admin Menü", "{FFFF00}Spieler kicken\n{15ff00}Spieler muten\n{FF0000}Spieler bannen\n{ff7400}Spieler IP bannen\n{FFCC00}Rang ändern", "Auswählen", "Abbrechen");
ClickedPlayer[playerid] = clickedplayerid;
}
OnDialogResponse:
if(dialogid == 1337)
{
if(!response) return SendClientMessage(playerid, 0xFF0C29FF,"Auswahl abgebrochen.");
else
{
if(listitem == 0) return ShowPlayerDialog(playerid, 1338, DIALOG_STYLE_INPUT, "Spieler kicken", "Gib den Kickgrund ein", "Kicken", "Abbrechen");
if(listitem == 1) return ShowPlayerDialog(playerid, 1339, DIALOG_STYLE_INPUT, "Spieler muten", "Gib den Mutegrund ein", "Muten", "Abbrechen");
if(listitem == 2) return ShowPlayerDialog(playerid, 1340, DIALOG_STYLE_INPUT, "Spieler bannen", "Gib den Banngrund ein", "Bannen", "Abbrechen");
if(listitem == 3) return ShowPlayerDialog(playerid, 1341, DIALOG_STYLE_INPUT, "Spieler IP bannen", "Gib den IP Banngrund ein", "IP bannen", "Abbrechen");
if(listitem == 4) return ShowPlayerDialog(playerid, 1342, DIALOG_STYLE_INPUT, "Rang ändern", "Gib den gewünschten Rang ein", "Rang setzen", "Abbrechen");
}
}
if(dialogid == 1342)
{
new string[128], target, level;
ClickedPlayer[playerid] = target;
inputtext[playerid] = level;
if(!response) return SendClientMessage(playerid, 0xff0c29ff,"Auswahl abgebrochen.");
if(isnull(inputtext) || !IsNumeric(inputtext) || level > 4) return ShowPlayerDialog(playerid, 1342, DIALOG_STYLE_INPUT, "Rang ändern", "Gib den gewünschten Rang ein", "Rang setzen", "Abbrechen");
else
{
Player[target][Level] = level;
SavePlayer(target);
format(string,sizeof(string),"%s hat %s's Rang geändert zu: %s",GetName(playerid),GetName(target),GetRang(target));
SendAdminMessage(1,string);
printf("[warning] %s ändert das Adminlevel von %s auf %s(%d)",GetName(playerid),GetName(target),GetRang(target),level);
return 1;
}
}
Wo ist der Fehler?
Hast du /prisonlist auch mal mit mehr als 1 Spieler im Prison ausprobiert? Wird nämlich nicht korrekt funktionieren.
Mit meiner Methode funktionierts.
Benutze das Script jetzt auch auf meinem Server, funktioniert wirklich gut, danke!
EDIT:
Ich hätte noch eine Idee fürs Script, undzwar wenn niemand im CP Prison ist und man /prisonlist eingibt passiert nichts, wie wäre es wenn man da eine Nachricht im Chat kriegt dass niemand im CP Prison ist?
EDIT2:
Hier mal ne Idee wie man das umsetzen könnte:
CMD:prisonlist(playerid)
{
new cQuery[1024];
if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein Supporter sein um diesen Befehl zu benutzen.");
foreach(new i: Player)
{
if(pJailed[i] == true)
{
format(cQuery, sizeof(cQuery),"{FFFF00}%s {FFFFFF}|| Verbleibende CP's: {FFFF00}%d\n", GetName(i), MaxCheckPoints[i]-CheckPointCounter[i]);
ShowPlayerDialog(playerid, D_PRISONLIST, DIALOG_STYLE_MSGBOX, "Spieler im CP Prison", cQuery, "Schliessen", "");
}
}
if(strlen(cQuery) < 1) ShowPlayerDialog(playerid,D_PRISONLIST,DIALOG_STYLE_MSGBOX,"{FFFF00}Spieler im CP Prison", "Es ist niemand im CP Prison.","Schliessen","");
return 1;
}
Vielleicht hilft dir das Tutorial: Timeban System
Ist alles soweit richtig.
Ja, Player[i][Level] ist die Admin Rang Abfrage.
Was bringt mir der Case 0? Wenn man kein Admin ist brauch man GetRang auch nicht.
EDIT:
@Akino Kiritani Danke, ich habs grad selbst gesehen, was ein dummer Fehler.
Ööh.. Schön gehört, dass ihr Origin Access für 7 Tage ausprobieren könnt?
Aber dafür muss man es auch für 1 Monat kaufen und dann kriegt man 7 Tage dazu.
Hallo,
wenn ich bei meinem /duty Befehl "GetRang(playerid)" benutze um den Rang anzeigen zu lassen funktioniert das, aber wenn ich es in einem Dialog nutzen will für /admins funktioniert es nicht. Es zeigt mir nur "83" im Dialog als Rang an.
GetRang:
stock GetRang(playerid)
{
new string[36];
switch(Player[playerid][Level]) {
case 1: string = "Supporter";
case 2: string = "Sr. Supporter";
case 3: string = "Administrator";
case 4: string = "Serverleiter";
}
return string;
}
/admins Befehl:
CMD:admins(playerid, params[])
{
new iString[512] = '\0';
foreach(new i : Player)
{
if (Player[i][Level] > 0)
{
format(iString, sizeof(iString), "%s{00c5ff}%s {FFFFFF}|| {FFFF00}Rang: %d{00c5ff}\n", iString, Player[i][Name], GetRang(i));
}
}
if(strlen(iString) < 1) ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Teammitglieder Online", "Keine Teammitglieder Online","Ok","");
else ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Teammitglieder Online", iString,"Ok","");
return 1;
}
Funktioniert leider auch nicht^^
Villeicht die String grössen im Befehl als auch im stock erhöhen?
Ich habs genauso gemacht wie du und bei mir funktionierts...
Achso ok aber das ist trotzdem ziemlich komisch... könntest du eventuell den Code posten damit es höher wird? Ich selbst habe davon keine Ahnung.
Bei /cpunjail steht wenn man es falsch benutzt hat "Use: /cpjail <Name/ID>" sonst habe ich noch keinen Fehler gefunden.
EDIT:
Ich weiß nicht ob das nur bei mir so ist aber bei mir steht wenn ich im CP Prison bin "05/05 Checkpoints abgelaufen" und wenn ich in einen Checkpoint reingehe wird daraus "04/05 Checkpoints abgelaufen" Also statt es hochzuzählen zählt es runter...
Kann ein simples erstellen wenn du magst, habe gerade langeweile, gib mir ~15 Minuten
Ich könnte sowas auch gebrauchen. Wäre nett wenn du das bereitstellst.
Ich finde deine Meinung gut.Jedoch war es einfach eine schnelle Verlosung, weil ich noch Keys rumliegen habe.
Ob da jetzt Leute hängen bleiben oder nicht, ist die andere Frage.
Es gibt sicherlich auch ehrliche Leute so wie Pascal VegaZ, die schreiben das es ihnen nicht gefällt o.Ä.
Hauptsache die Keys sind weg und die Leute können mir Ihre Meinung zum Projekt geigen.
Es gibt noch 3+ Keys !!!
Habs mir auch schonmal vorher angeguckt aber hatte nicht wirklich Lust was dazu zu schreiben, aber wenn man dafür halt noch was kriegen kann geb ich dann halt doch mal meine Meinung dazu.
Sieht cool aus!
Bin gespannt was es als nächstes gibt.
public OnPlayerDeath(playerid, killerid, reason)
{
if(reason == 255) reason = 53;
new iString[180];
//antide
if(reason == 54 && Player[playerid][LastHitWith] != -1 && Player[playerid][LastHitBy] != -1)
{
new weap, killahid;
weap = Player[playerid][LastHitWith];
killahid = Player[playerid][LastHitBy];
SendDeathMessage(killahid, playerid, weap);
GiveDeath(playerid);
GiveScore(killahid, 1 * Player[killerid][Spree]);
GiveKill(killahid);
GiveWKill(killahid, weap);
CheckRewards(killahid);
Player[killahid][Spree]++;
Player[playerid][LastHitWith] = -1;
Player[playerid][LastHitBy] = -1;
Player[killahid][LastKilled] = playerid;
}
//antide
if(killerid == INVALID_PLAYER_ID)
{
SendDeathMessage(INVALID_PLAYER_ID, playerid, reason);
GiveDeath(playerid);
}
else if(killerid != INVALID_PLAYER_ID && IsPlayerConnected(killerid))
{
format(iString, sizeof(iString), "%sDu hast %s%s gekillt", TDColor[Player[killerid][Team]], TDColor[Player[playerid][Team]], Player[playerid][Name]);
PlayerTextDrawSetString(killerid, DeathText[0], iString);
PlayerTextDrawShow(killerid, DeathText[0]);
format(iString, sizeof(iString), "%sDu wurdest von %s%s gekillt", TDColor[Player[playerid][Team]], TDColor[Player[killerid][Team]], Player[killerid][Name]);
PlayerTextDrawSetString(playerid, DeathText[1], iString);
PlayerTextDrawShow(playerid, DeathText[1]);
SetTimerEx("DeathMessage", 4000, false, "ii", killerid, playerid);
SendDeathMessage(killerid, playerid, reason);
if(reason == 0 || reason == 24 || reason == 25 || reason == 27 || reason == 29 || reason == 30 || reason == 31 || reason == 33 || reason == 34 || reason == 51) GiveWKill(killerid, reason);
GiveKill(killerid);
GiveDeath(playerid);
Player[killerid][Spree]++;
GiveScore(killerid, 1 * Player[killerid][Spree]);
switch(Player[killerid][Spree])
{
case 2: ShowAnn2(killerid, "DOPPEL KILL!");
case 3: ShowAnn2(killerid, "DREIFACH KILL!");
case 4: ShowAnn2(killerid, "VIERFACH KILL!");
case 5: ShowAnn2(killerid, "PENTA KILL!");
case 6: ShowAnn2(killerid, "MEGA KILL!");
case 7: ShowAnn2(killerid, "ULTRA KILL!");
case 8: ShowAnn2(killerid, "UNAUFHALTSAM!");
case 9: ShowAnn2(killerid, "GOETTLICH!");
case 10 .. 200:
{
format(iString, sizeof(iString), "HEILIGE SCHEIßE!~n~%s%s %d KILLS!", TDColor[Player[killerid][Team]], Player[killerid][Name], Player[killerid][Spree]);
ShowAnn2(killerid, iString);
}
}
switch(Player[killerid][Team])
{
case GREENTEAM: GKills++;
case BLUETEAM: BKills++;
}
if( Player[killerid][SniperK] == 5 || Player[killerid][SniperK] == 25 || Player[killerid][SniperK] == 50 ||
Player[killerid][SniperK] == 100 || Player[killerid][SniperK] == 150 || Player[killerid][SniperK] == 200 ||
Player[killerid][SniperK] == 250 || Player[killerid][SniperK] == 300 || Player[killerid][SniperK] == 350 ||
Player[killerid][SniperK] == 400 || Player[killerid][SniperK] == 450 || Player[killerid][SniperK] == 499 )
{
format(iString, sizeof(iString), "Scharfschuetze~n~~n~%d / 500 Sniper Kills", Player[killerid][DeagleK]);
ShowAch(killerid, iString, Player[killerid][SniperK], 500);
}
if( Player[killerid][DeagleK] == 5 || Player[killerid][DeagleK] == 25 || Player[killerid][DeagleK] == 50 ||
Player[killerid][DeagleK] == 75 || Player[killerid][DeagleK] == 100 || Player[killerid][DeagleK] == 125 ||
Player[killerid][DeagleK] == 150 || Player[killerid][DeagleK] == 175 || Player[killerid][DeagleK] == 200 ||
Player[killerid][DeagleK] == 225 || Player[killerid][DeagleK] == 249 )
{
format(iString, sizeof(iString), "Deagle Experte~n~~n~%d / 250 Deagle Kills", Player[killerid][DeagleK]);
ShowAch(killerid, iString, Player[killerid][DeagleK], 250);
}
if( Player[killerid][ShotgunK] == 5 || Player[killerid][ShotgunK] == 50 || Player[killerid][ShotgunK] == 100 ||
Player[killerid][ShotgunK] == 150 || Player[killerid][ShotgunK] == 200 || Player[killerid][ShotgunK] == 250 ||
Player[killerid][ShotgunK] == 300 || Player[killerid][ShotgunK] == 350 || Player[killerid][ShotgunK] == 400 ||
Player[killerid][ShotgunK] == 450 || Player[killerid][ShotgunK] == 500 || Player[killerid][ShotgunK] == 550 ||
Player[killerid][ShotgunK] == 600 || Player[killerid][ShotgunK] == 650 || Player[killerid][ShotgunK] == 700 ||
Player[killerid][ShotgunK] == 750 || Player[killerid][ShotgunK] == 800 || Player[killerid][ShotgunK] == 850 ||
Player[killerid][ShotgunK] == 900 || Player[killerid][ShotgunK] == 950 || Player[killerid][ShotgunK] == 999 )
{
format(iString, sizeof(iString), "Shotgun Experte~n~~n~%d / 1000 Shotgun Kills", Player[killerid][ShotgunK]);
ShowAch(killerid, iString, Player[killerid][ShotgunK], 1000);
}
if( Player[killerid][RifleK] == 5 || Player[killerid][RifleK] == 25 || Player[killerid][RifleK] == 50 ||
Player[killerid][RifleK] == 75 || Player[killerid][RifleK] == 100 || Player[killerid][RifleK] == 125 ||
Player[killerid][RifleK] == 150 || Player[killerid][RifleK] == 175 || Player[killerid][RifleK] == 200 ||
Player[killerid][RifleK] == 225 || Player[killerid][RifleK] == 249 )
{
format(iString, sizeof(iString), "Rilfe Experte~n~~n~%d / 250 Rifle Kills", Player[killerid][RifleK]);
ShowAch(killerid, iString, Player[killerid][RifleK], 250);
}
if( Player[killerid][MP5K] == 5 || Player[killerid][MP5K] == 10 || Player[killerid][MP5K] == 15 ||
Player[killerid][MP5K] == 20 || Player[killerid][MP5K] == 25 || Player[killerid][MP5K] == 30 ||
Player[killerid][MP5K] == 35 || Player[killerid][MP5K] == 40 || Player[killerid][MP5K] == 45 ||
Player[killerid][MP5K] == 49 )
{
format(iString, sizeof(iString), "MP5 Experte~n~~n~%d / 50 MP5 Kills", Player[killerid][MP5K]);
ShowAch(killerid, iString, Player[killerid][MP5K], 50);
}
if( Player[killerid][AK47K] == 5 || Player[killerid][AK47K] == 10 || Player[killerid][AK47K] == 20 ||
Player[killerid][AK47K] == 30 || Player[killerid][AK47K] == 40 || Player[killerid][AK47K] == 50 ||
Player[killerid][AK47K] == 60 || Player[killerid][AK47K] == 70 || Player[killerid][AK47K] == 80 ||
Player[killerid][AK47K] == 90 || Player[killerid][AK47K] == 99 )
{
format(iString, sizeof(iString), "AK47 Experte~n~~n~%d / 100 AK47 Kills", Player[killerid][AK47K]);
ShowAch(killerid, iString, Player[killerid][AK47K], 100);
}
if( Player[killerid][M4K] == 5 || Player[killerid][M4K] == 25 || Player[killerid][M4K] == 50 ||
Player[killerid][M4K] == 75 || Player[killerid][M4K] == 100 || Player[killerid][M4K] == 125 ||
Player[killerid][M4K] == 150 || Player[killerid][M4K] == 175 || Player[killerid][M4K] == 200 ||
Player[killerid][M4K] == 225 || Player[killerid][M4K] == 249 )
{
format(iString, sizeof(iString), "M4 Experte~n~~n~%d / 250 M4 Kills", Player[killerid][M4K]);
ShowAch(killerid, iString, Player[killerid][M4K], 250);
}
if( Player[killerid][Headshots] == 5 || Player[killerid][Headshots] == 10 || Player[killerid][Headshots] == 15 ||
Player[killerid][Headshots] == 20 || Player[killerid][Headshots] == 25 || Player[killerid][Headshots] == 30 ||
Player[killerid][Headshots] == 35 || Player[killerid][Headshots] == 40 || Player[killerid][Headshots] == 45 ||
Player[killerid][Headshots] == 49 )
{
format(iString, sizeof(iString), "Der Kopfsucher~n~~n~%d / 50 Headshots", Player[killerid][Headshots]);
ShowAch(killerid, iString, Player[killerid][Headshots], 50);
}
if( Player[killerid][GrenadeK] == 5 || Player[killerid][GrenadeK] == 10 || Player[killerid][GrenadeK] == 15 ||
Player[killerid][GrenadeK] == 20 || Player[killerid][GrenadeK] == 25 || Player[killerid][GrenadeK] == 30 ||
Player[killerid][GrenadeK] == 35 || Player[killerid][GrenadeK] == 40 || Player[killerid][GrenadeK] == 45 ||
Player[killerid][GrenadeK] == 49 )
{
format(iString, sizeof(iString), "BOOM~n~~n~%d / 50 Grenade Kills", Player[killerid][MP5K]);
ShowAch(killerid, iString, Player[killerid][GrenadeK], 50);
}
if(Player[killerid][SniperK] == 500 && Player[killerid][UnlockedEagleEye] == false)
{
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Scharfschuetze~n~%d / 500 Sniper Kills", Player[killerid][SniperK]);
ShowAch(killerid, iString, Player[killerid][SniperK], 500);
}
if(Player[killerid][DeagleK] == 250 && Player[killerid][UnlockedMP5] == false)
{
SendClientMessage(killerid, YELLOW_COLOR, "MP5 freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Deagle Experte~n~%d / 250 Deagle Kills~n~MP5 freigeschaltet! Du kannst sie mit /guns ausruesten.", Player[killerid][DeagleK]);
ShowAch(killerid, iString, Player[killerid][DeagleK], 250);
}
if(Player[killerid][ShotgunK] == 1000 && Player[killerid][UnlockedSpas] == false)
{
SendClientMessage(killerid, YELLOW_COLOR, "Spas freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Shotgun Experte~n~%d / 1000 Shotgun Kills~n~Spas freigeschaltet! Du kannst sie mit /guns ausruesten.", Player[killerid][ShotgunK]);
ShowAch(killerid, iString, Player[killerid][ShotgunK], 1000);
}
if(Player[killerid][RifleK] == 250 && Player[killerid][UnlockedSniper] == false)
{
SendClientMessage(killerid, YELLOW_COLOR, "Sniper freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Riflee Experte~n~%d / 250 Rifle Kills~n~Sniper freigeschaltet! Du kannst sie mit /guns ausruesten.", Player[killerid][RifleK]);
ShowAch(killerid, iString, Player[killerid][RifleK], 250);
}
if(Player[killerid][MP5K] == 50 && Player[killerid][UnlockedAK47] == false)
{
SendClientMessage(killerid, YELLOW_COLOR, "AK47 freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~MP5 Experte~n~%d / 50 MP5 Kills~n~AK47 freigeschaltet! Du kannst sie mit /guns ausruesten.", Player[killerid][MP5K]);
ShowAch(killerid, iString, Player[killerid][MP5K], 50);
}
if(Player[killerid][AK47K] == 100 && Player[killerid][UnlockedM4] == false)
{
SendClientMessage(killerid, YELLOW_COLOR, "M4 freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~AK47 Experte~n~%d / 100 AK47 Kills~n~M4 freigeschaltet! Du kannst sie in /guns ausruesten.", Player[killerid][AK47K]);
ShowAch(killerid, iString, Player[killerid][AK47K], 100);
}
if(Player[killerid][M4K] == 250 && Player[killerid][UnlockedGrenade] == false)
{
SendClientMessage(killerid, YELLOW_COLOR, "Granate freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~M4 Experte~n~%d / 250 M4 Kills~n~Granate freigeschaltet! Du kannst sie in /guns ausruesten.", Player[killerid][M4K]);
ShowAch(killerid, iString, Player[killerid][M4K], 250);
}
if(Player[killerid][Headshots] == 50 && Player[killerid][UnlockedCigar] == false)
{
SendClientMessage(killerid, YELLOW_COLOR, "Zigarre freigeschaltet! Du wirst mit einer Zigarre das nächste mal spawnen");
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Der Kopfsucher~n~%d / 50 Headshots~n~Du spawnst jetzt mit einer Zigarre!", Player[killerid][Headshots]);
ShowAch(killerid, iString, Player[killerid][Headshots], 50);
}
if(Player[killerid][GrenadeK] == 50 && Player[killerid][UnlockedFlame] == false)
{
SendClientMessage(killerid, YELLOW_COLOR, "Flammen Schädel freigeschaltet! Du wirst mit einem Flammenschädel das nächste mal spawnen");
PlayerPlaySound(killerid, 1133, 0, 0, 0);
format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~BOOM~n~%d / 50 Grenade Kills~n~Du spawnst jetzt mit einem Flammenschädel!", Player[killerid][MP5K]);
ShowAch(killerid, iString, Player[killerid][GrenadeK], 50);
}
CheckRewards(killerid);
}
Player[playerid][LastHitWith] = -1; //antide
Player[playerid][LastHitBy] = -1; //antide
Player[playerid][Spree] = 0;
Player[killerid][LastKilled] = playerid;
return 1;
}