#include <amxmodx>
#include <csx>
#include <nvault>
#define PLUGIN "Kuldetesek"
#define VERSION "1.0"
#define AUTHOR "DeRoiD"
new kuldetes[32] = "Nincs"
new bool:elso[33]
new bool:masodik[33]
new bool:harmadik[33]
new bool:negyedik[33]
new bool:otodik[33]
new bool:hatodik[33]
new kuldetes_elfogadva[33]
new uj_kuldetes[33]
new befejezett_kuldetes[33]
new oles[33]
new g_vault
new name[33][32]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "ujkor", "a", "1=0", "2=0");
register_logevent("korveg",2,"1=Round_End")
register_event("DeathMsg","death","a")
g_vault = nvault_open("Kuldetesek");
register_clcmd("say /kuldetes","kuldetesek")
register_clcmd("say_team /kuldetes","kuldetesek")
}
public kuldetesek(id) {
if(uj_kuldetes[id] == 0){
new menu_cim[121]
format(menu_cim,charsmax(menu_cim),"A kuldetesed : %s^nBefejezett kuldeteseid : %d", kuldetes,befejezett_kuldetes[id])
new menu = menu_create(menu_cim,"kuldetes_menupontok")
menu_additem(menu,"\dElfogad","4",0)
menu_additem(menu,"Uj kuldetes","2",0)
menu_additem(menu,"\dKuldetes torlese","4",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
if(uj_kuldetes[id] == 1 && kuldetes_elfogadva[id] == 0){
new menu_cim[121]
format(menu_cim,charsmax(menu_cim),"A kuldetesed : %s^nBefejezett kuldeteseid : %d", kuldetes,befejezett_kuldetes[id])
new menu = menu_create(menu_cim,"kuldetes_menupontok")
menu_additem(menu,"Elfogad","1",0)
menu_additem(menu,"Uj kuldetes","2",0)
menu_additem(menu,"Kuldetes torlese","3",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
if(uj_kuldetes[id] == 1 && kuldetes_elfogadva[id] == 1){
new menu_cim[121]
format(menu_cim,charsmax(menu_cim),"A kuldetesed : %s^nBefejezett kuldeteseid : %d", kuldetes,befejezett_kuldetes[id])
new menu = menu_create(menu_cim,"kuldetes_menupontok")
menu_additem(menu,"\dElfogad","5",0)
menu_additem(menu,"Uj kuldetes","2",0)
menu_additem(menu,"Kuldetes torlese","3",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
}
public kuldetes_menupontok(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:{
kuldetes_elfogadva[id] = 1
client_print(id,print_chat,"Elfogadtad a kuldetest : %s",kuldetes)
}
case 2:{
kuldetes_elfogadva[id] = 0
kuldetes_valaszt(id)
}
case 3:{
kuldetes = "Nincs"
kuldetes_elfogadva[id] = 0
uj_kuldetes[id] = 0
elso[id] = false
masodik[id] = false
harmadik[id] = false
negyedik[id] = false
otodik[id] = false
hatodik[id] = false
}
case 4:{
client_print(id,print_chat,"Nincs kuldetesed")
}
case 5:{
client_print(id,print_chat,"Egyszere csak 1 kuldetesed lehet")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public kuldetes_valaszt(id)
{
switch (random_num(1, 6)){
case 1 :{
elso[id] = true
masodik[id] = false
harmadik[id] = false
negyedik[id] = false
otodik[id] = false
hatodik[id] = false
kuldetes = "Olj meg 3 embert USPvel"
}
case 2 :{
elso[id] = false
masodik[id] = true
harmadik[id] = false
negyedik[id] = false
otodik[id] = false
hatodik[id] = false
kuldetes = "Olj meg 1 embert kessel"
}
case 3 :{
elso[id] = false
masodik[id] = false
harmadik[id] = true
negyedik[id] = false
otodik[id] = false
hatodik[id] = false
kuldetes = "Egy korben olj meg 3 embert"
}
case 4 :{
elso[id] = false
masodik[id] = false
harmadik[id] = false
negyedik[id] = true
otodik[id] = false
hatodik[id] = false
kuldetes = "Rakd le a bombat"
}
case 5 :{
elso[id] = false
masodik[id] = false
harmadik[id] = false
negyedik[id] = false
otodik[id] = true
hatodik[id] = false
kuldetes = "Szedd fel a bombat"
}
case 6 :{
elso[id] = false
masodik[id] = false
harmadik[id] = false
negyedik[id] = false
otodik[id] = false
hatodik[id] = true
kuldetes = "Olj meg 20 embert"
}
}
uj_kuldetes[id] = 1
kuldetesek(id)
}
public ujkor(){
new players[32], num, id
get_players(players, num)
for( new i; i<num; i++ )
{
id = players[i]
if(harmadik[id] && kuldetes_elfogadva[id] == 1){
oles[id] = 0
}
}
}
public korveg(){
new players[32], num, id
get_players(players, num)
for( new i; i<num; i++ )
{
id = players[i]
if(oles[id] >= 3 && kuldetes_elfogadva[id] == 1){
befejezett_kuldetes[id]++
client_print(id,print_chat,"Sikeresen befejezted a kuldetesed")
uj_kuldetes[id] = 0
harmadik[id] = false
kuldetes = "Nincs"
kuldetes_elfogadva[id] = 0
oles[id] = 0
}
}
}
public death(){
new killer = read_data(1)
new victim = read_data(2)
if(killer == victim)
{
return PLUGIN_HANDLED
}
if(elso[killer] && oles[killer] >= 3 && kuldetes_elfogadva[killer] == 1){
befejezett_kuldetes[killer]++
client_print(killer,print_chat,"Sikeresen befejezted a kuldetesed")
elso[killer] = false
kuldetes = "Nincs"
uj_kuldetes[killer] = 0
kuldetes_elfogadva[killer] = 0
oles[killer] = 0
}
if(masodik[killer] && get_user_weapon(killer) == CSW_KNIFE && kuldetes_elfogadva[killer] == 1){
befejezett_kuldetes[killer]++
client_print(killer,print_chat,"Sikeresen befejezted a kuldetesed")
masodik[killer] = false
kuldetes = "Nincs"
uj_kuldetes[killer] = 0
kuldetes_elfogadva[killer] = 0
oles[killer] = 0
}
if(hatodik[killer] && kuldetes_elfogadva[killer] == 1){
oles[killer]++
}
if(elso[killer] && kuldetes_elfogadva[killer] == 1){
oles[killer]++
}
if(harmadik[killer] && kuldetes_elfogadva[killer] == 1){
oles[killer]++
}
if(hatodik[killer] && oles[killer] >= 20 && kuldetes_elfogadva[killer] == 1){
befejezett_kuldetes[killer]++
client_print(killer,print_chat,"Sikeresen befejezted a kuldetesed")
hatodik[killer] = false
kuldetes = "Nincs"
uj_kuldetes[killer] = 0
kuldetes_elfogadva[killer] = 0
oles[killer] = 0
}
return PLUGIN_HANDLED
}
public bomb_planted(id){
if(negyedik[id] && kuldetes_elfogadva[id] == 1){
befejezett_kuldetes[id]++
client_print(id,print_chat,"Sikeresen befejezted a kuldetesed")
negyedik[id] = false
kuldetes = "Nincs"
uj_kuldetes[id] = 0
kuldetes_elfogadva[id] = 0
}
}
public bomb_defused(id){
if(otodik[id] && kuldetes_elfogadva[id] == 1){
befejezett_kuldetes[id]++
client_print(id,print_chat,"Sikeresen befejezted a kuldetesed")
otodik[id] = false
kuldetes = "Nincs"
uj_kuldetes[id] = 0
kuldetes_elfogadva[id] = 0
}
}
public mentes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Befejezett kuldetes", name[id])
format(vaultdata,255,"%d", befejezett_kuldetes[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Befejezett kuldetes", name[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
befejezett_kuldetes[id] = str_to_num(vaultdata)
return PLUGIN_CONTINUE;
}
public client_connect(id)
{
betoltes(id)
}
public client_disconnect(id)
{
mentes(id)
}