Kod:
#include <amxmodx>
#include <reapi>
#define YETKI ADMIN_BAN
new const iTag[] = "PRO-F?TEROL";
new const iChatTag[] = "^3PRO-F?TEROL^1: ^4";
enum _: Cvars
{
iFurienOldur,
iAntiFurienOldur,
iHsGorevi,
iOynamaGorevi,
iAdminOldurGorevi,
iKillst,
iTs3Baglan
};
new cvar[Cvars];
enum _: Ints
{
iFurienKill,
iAntiFurienKill,
iHeadShotKill,
iOynamaSuresi,
iAdminKill,
iKillStreak,
iKillSayisi
};
new int[MAX_CLIENTS+1][Ints], bool:MissionCompleted[MAX_CLIENTS+1][8];
public plugin_init()
{
register_plugin("Missions", "0.1", "LyNcH");
register_clcmd("say /gorev", "@Missions");
register_clcmd("say /gorevmenu", "@Missions");
register_clcmd("say /gorevler", "@Missions");
RegisterHookChain(RG_RoundEnd, "@RoundEnd", .post = true);
RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post = true);
bind_pcvar_num(create_cvar("gorevmenu_furienoldur", "10000"), cvar[iFurienOldur]);
bind_pcvar_num(create_cvar("gorevmenu_antifurienoldur", "10000"), cvar[iAntiFurienOldur]);
bind_pcvar_num(create_cvar("gorevmenu_headshotgorevi", "7000"), cvar[iHsGorevi]);
bind_pcvar_num(create_cvar("gorevmenu_oynamasuresi", "12000"), cvar[iOynamaGorevi]);
bind_pcvar_num(create_cvar("gorevmenu_adminkill", "15000"), cvar[iAdminOldurGorevi]);
bind_pcvar_num(create_cvar("gorevmenu_killstreak", "16000"), cvar[iKillst]);
bind_pcvar_num(create_cvar("gorevmenu_ts3baglan", "6000"), cvar[iTs3Baglan]);
}
@Missions(const id)
{
int[id][iOynamaSuresi] = get_user_time(id, 1) / 60;
new menu = menu_create(fmt("\y%s \d~> \yGorev Menusu^n\d-\yTS3 IP\d: \rProfGaming", iTag), "@_Missions");
if(MissionCompleted[id][0]) menu_additem(menu, fmt("\d|~ \y25 Furien Oldur \d[\r%i/25\d] -> \d[\rTAMAMLANDI\d]", int[id][iFurienKill]), "1");
else if(!MissionCompleted[id][0] && int[id][iFurienKill] >= 25) menu_additem(menu, fmt("\d|~ \y25 Furien Oldur \d[\r%i/25\d] -> \d[\rODULU AL\d]", int[id][iFurienKill]), "1");
else menu_additem(menu, fmt("\d|~ \y25 Furien Oldur \d[\r%i/25\d] -> \d[\r%i$\d]", int[id][iFurienKill], cvar[iFurienOldur]), "1");
if(MissionCompleted[id][1]) menu_additem(menu, fmt("25 \yAnti-Furien Oldur \d[\r%i/25\d] -> \d[\rTAMAMLANDI\d]", int[id][iAntiFurienKill]), "2");
else if(!MissionCompleted[id][1] && int[id][iAntiFurienKill] >= 25) menu_additem(menu, fmt("\d|~ \y25 Anti-Furien Oldur \d[\r%i/25\d] -> \d[\rODULU AL\d]", int[id][iAntiFurienKill]), "2");
else menu_additem(menu, fmt("\d|~ \y25 Anti-Furien Oldur \d[\y%i/25\d] -> \d[\r%i$\d]", int[id][iAntiFurienKill], cvar[iAntiFurienOldur]), "2");
if(MissionCompleted[id][2]) menu_additem(menu, fmt("\d|~ \y15 Kez Kafadan Oldur \d[\r%i/15\d] -> \d[\rTAMAMLANDI\d]", int[id][iHeadShotKill]), "3");
else if(!MissionCompleted[id][2] && int[id][iHeadShotKill] >= 15) menu_additem(menu, fmt("\d|~ \y15 Kez Kafadan Oldur \d[\y%i/15\d] -> \d[\rODULU AL\d]", int[id][iHeadShotKill]), "3");
else menu_additem(menu, fmt("\d|~ \y15 Kez Kafadan Oldur \d[\y%i/15\d] -> \d[\r%i$\d]", int[id][iHeadShotKill], cvar[iHsGorevi]), "3");
if(MissionCompleted[id][3]) menu_additem(menu, fmt("\d|~ \y20 Dakika Sunucuda Takil \d[\r%i/20\d] -> \d[\rTAMAMLANDI\d]", int[id][iOynamaSuresi]), "4");
else if(!MissionCompleted[id][3] && int[id][iOynamaSuresi] >= 20) menu_additem(menu, fmt("\d|~ \y20 Dakika Sunucuda Takil \d[\r%i/20\d] -> \d[\rODULU AL\d]", int[id][iOynamaSuresi]), "4");
else menu_additem(menu, fmt("\d|~ \y20 Dakika Sunucuda Takil \d[\r%i/20\d] -> \d[\r%i$\d]", int[id][iOynamaSuresi], cvar[iOynamaGorevi]), "4");
if(MissionCompleted[id][4]) menu_additem(menu, fmt("\d|~ \y10 Admin Oldur \d[\r%i/10\d] -> \d[\rTAMAMLANDI\d]", int[id][iAdminKill]), "5");
else if(!MissionCompleted[id][4] && int[id][iAdminKill] >= 10) menu_additem(menu, fmt("\d|~ \y10 Admin Oldur \d[\y%i/10\d] -> \d[\rODULU AL\d]", int[id][iAdminKill]), "5");
else menu_additem(menu, fmt("\d|~ 10 \yAdmin Oldur \d[\r%i/10\d] -> \d[\r%i$\d]", int[id][iAdminKill], cvar[iAdminOldurGorevi]), "5");
if(MissionCompleted[id][5]) menu_additem(menu, fmt("\d|~ \yOlmeden 4 Oyuncu Oldur \d[\r%i/4\d] -> \d[\rTAMAMLANDI\d]", int[id][iKillStreak]), "6");
else if(!MissionCompleted[id][5] && int[id][iKillStreak] >= 4) menu_additem(menu, fmt("\d|~ \yOlmeden 4 Oyuncu Oldur \d[\y%i/4\d] -> \d[\rODULU AL\d]", int[id][iKillStreak]), "6");
else menu_additem(menu, fmt("\d|~ \yOlmeden 4 Oyuncu Oldur \d[\r%i/4\d] -> \d[\r%i$\d]", int[id][iKillStreak], cvar[iKillst]), "6");
if(MissionCompleted[id][6]) menu_additem(menu, fmt("\d|~ \rTs3e Baglan \d[\rTAMAMLANDI\d]"), "7");
else menu_additem(menu, fmt("\d|~ \rTs3e Baglan \d[\r%i$\d]", cvar[iTs3Baglan]), "7");
menu_setprop(menu, MPROP_EXITNAME, fmt("\wCikis"));
menu_setprop(menu, MPROP_NUMBER_COLOR, fmt("\y"));
menu_display(id, menu);
}
@_Missions(const id, const menu, const item)
{
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(data));
key = str_to_num(data);
switch(key)
{
case 1:
{
if(MissionCompleted[id][0]) client_print_color(id,id,"%s Zaten bu gorevi tamamlamissin !", iChatTag);
else if(int[id][iFurienKill] >= 25) {
MissionCompleted[id][0] = true;
rg_add_account(id, cvar[iFurienOldur], AS_ADD);
client_print_color(id,id,"%s Basariyla gorevi tamamladin !", iChatTag);
}
else client_print_color(id,id,"%s Henuz gorevi tamamlamamissin !", iChatTag);
}
case 2:
{
if(MissionCompleted[id][1]) client_print_color(id,id,"%s Zaten bu gorevi tamamlamissin !", iChatTag);
else if(int[id][iAntiFurienKill] >= 25) {
MissionCompleted[id][1] = true;
rg_add_account(id, cvar[iAntiFurienOldur], AS_ADD);
client_print_color(id,id,"%s Basariyla gorevi tamamladin !", iChatTag);
}
else client_print_color(id,id,"%s Henuz gorevi tamamlamamissin !", iChatTag);
}
case 3:
{
if(MissionCompleted[id][2]) client_print_color(id,id,"%s Zaten bu gorevi tamamlamissin !", iChatTag);
else if(int[id][iHeadShotKill] >= 15) {
MissionCompleted[id][2] = true;
rg_add_account(id, cvar[iHsGorevi], AS_ADD);
client_print_color(id,id,"%s Basariyla gorevi tamamladin !", iChatTag);
}
else client_print_color(id,id,"%s Henuz gorevi tamamlamamissin !", iChatTag);
}
case 4:
{
if(MissionCompleted[id][3]) client_print_color(id,id,"%s Zaten bu gorevi tamamlamissin !", iChatTag);
else if(int[id][iOynamaSuresi] >= 20) {
MissionCompleted[id][3] = true;
rg_add_account(id, cvar[iOynamaGorevi], AS_ADD);
client_print_color(id,id,"%s Basariyla gorevi tamamladin !", iChatTag);
}
else client_print_color(id,id,"%s Henuz gorevi tamamlamamissin !", iChatTag);
}
case 5:
{
if(MissionCompleted[id][4]) client_print_color(id,id,"%s Zaten bu gorevi tamamlamissin !", iChatTag);
else if(int[id][iAdminKill] >= 10) {
MissionCompleted[id][4] = true;
rg_add_account(id, cvar[iAdminOldurGorevi], AS_ADD);
client_print_color(id,id,"%s Basariyla gorevi tamamladin !", iChatTag);
}
else client_print_color(id,id,"%s Henuz gorevi tamamlamamissin !", iChatTag);
}
case 6:
{
if(MissionCompleted[id][5]) client_print_color(id,id,"%s Zaten bu gorevi tamamlamissin !", iChatTag);
else if(int[id][iKillStreak] >= 4) {
MissionCompleted[id][5] = true;
rg_add_account(id, cvar[iKillst], AS_ADD);
client_print_color(id,id,"%s Basariyla gorevi tamamladin !", iChatTag);
}
else client_print_color(id,id,"%s Henuz gorevi tamamlamamissin !", iChatTag);
}
case 7:
{
if(MissionCompleted[id][6]) client_print_color(id,id,"%s Zaten bu gorevi tamamlamissin !", iChatTag);
else {
client_cmd(id, "say /ts3");
MissionCompleted[id][6] = true;
rg_add_account(id, cvar[iTs3Baglan], AS_ADD);
client_print_color(id,id,"%s Basariyla gorevi tamamladin !", iChatTag);
}
}
}
@Missions(id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
@CBasePlayer_Killed(const this, pevAttacker)
{
if(this == pevAttacker || !is_user_connected(pevAttacker))
{
return;
}
if(bool:(get_member(this, m_LastHitGroup) == HIT_HEAD))
{
int[pevAttacker][iHeadShotKill]++;
}
if(get_user_flags(this) == YETKI)
{
int[pevAttacker][iAdminKill]++;
}
int[pevAttacker][iKillSayisi]++;
new TeamName:team1 = get_member(this, m_iTeam), TeamName:team2 = get_member(pevAttacker, m_iTeam);
// Olen T & Olduren CT
if(team1 == TEAM_TERRORIST && team2 == TEAM_CT)
{
int[pevAttacker][iFurienKill]++;
}
// Olen CT & Olduren T
else if(team1 == TEAM_CT && team2 == TEAM_TERRORIST)
{
int[pevAttacker][iAntiFurienKill]++;
}
}
@RoundEnd()
{
for(new i = 1; i <= MaxClients; i++)
{
if(is_user_connected(i))
{
if(int[i][iKillStreak] < int[i][iKillSayisi]) {
int[i][iKillStreak] = int[i][iKillSayisi];
}
int[i][iKillSayisi] = 0;
}
}
}