#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#define PLUGIN "Kerdezz-Felelek"
#define VERSION "1.0"
#define AUTHOR "DeRoiD"
new Nyertes, Nyeremeny[33], Kepesseg[33]
new Kerdes[512], Megoldas[512]
new ElozoKerdes[512]
new bool:Jatek
new SajatKerdes[512], SajatValasz[512]
new cvar_ido, cvar_kiiras, cvar_esely,
cvar_hp, cvar_hp_ertek, cvar_gyorsasag, cvar_gyorsasag_ertek,
cvar_teleport, cvar_sebzes, cvar_sebzes_ertek,
cvar_halhatatlan, cvar_lathatatlan, cvar_kepesseg_ido, cvar_frag, cvar_frag_ertek, cvar_flash
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say", "UzenetLekerese")
register_clcmd("say_team", "UzenetLekerese")
register_clcmd("KERDES", "UjKerdes")
register_clcmd("VALASZ", "UjValasz")
cvar_esely = register_cvar("cvar_esely", "1")
cvar_ido = register_cvar("cvar_ido", "60.0")
cvar_kiiras = register_cvar("cvar_kiiras", "1")
cvar_hp = register_cvar("cvar_hp", "1")
cvar_hp_ertek = register_cvar("cvar_hp_ertek", "50")
cvar_gyorsasag = register_cvar("cvar_gyorsasag", "1")
cvar_gyorsasag_ertek = register_cvar("cvar_gyorsasag_ertek", "400.0")
cvar_teleport = register_cvar("cvar_teleport", "1")
cvar_sebzes = register_cvar("cvar_sebzes", "1")
cvar_sebzes_ertek = register_cvar("cvar_sebzes_ertek", "10.0")
cvar_halhatatlan = register_cvar("cvar_halhatatlan", "1")
cvar_lathatatlan = register_cvar("cvar_lathatatlan", "1")
cvar_kepesseg_ido = register_cvar("cvar_kepesseg_ido", "20.0")
cvar_frag = register_cvar("cvar_frag", "1")
cvar_frag_ertek = register_cvar("cvar_frag_ertek", "5")
cvar_flash = register_cvar("cvar_flash", "1")
register_event("ScreenFade", "Flash", "be", "4=255", "5=255", "6=255", "7>199")
register_event("CurWeapon", "Fegyverek", "be", "1=1")
register_logevent("KorKezdes", 2, "1=Round_Start")
RegisterHam(Ham_TakeDamage, "player", "Sebzes", 0)
register_impulse(201, "Teleportalas")
set_task(180.0, "Uzenetek")
}
public Sebzes(victim, inflictor, attacker, Float:damage, damage_type)
{
if(Nyeremeny[attacker] == 4 && Nyertes == attacker)
SetHamParamFloat(4, damage * get_pcvar_float(cvar_sebzes_ertek))
return HAM_IGNORED
}
public Uzenetek()
{
print_color(0, "!g[Kerdezz-Felelek]!y Ezen a szerveren !gKerdezz-Felelek!y plugin fut. (by !gDeRoiD!y)!")
set_task(180.0, "Uzenetek")
}
public Fegyverek(id)
{
if(Nyeremeny[id] == 2 && Nyertes == id)
{
set_user_maxspeed(id, get_pcvar_float(cvar_gyorsasag_ertek))
}
}
public KorKezdes()
{
Jatek = false
Nyertes = 0
new Szam = random_num(1, get_pcvar_num(cvar_esely))
if(Szam == get_pcvar_num(cvar_esely))
{
Betoltes()
}
}
public UzenetLekerese(id)
{
new Uzenet[512]
read_args(Uzenet, 512)
remove_quotes(Uzenet)
if(Jatek){
if(equal(Uzenet, Megoldas))
{
new NyertesNev[64]
get_user_name(id, NyertesNev, 63)
Jatek = false
GyoztesKiiras(NyertesNev)
Nyertes = id
NyeremenySorsolasa(id)
}
}
else
{
if(equal(Uzenet, "/kerdes") && get_user_flags(id) & ADMIN_BAN)
{
KerdezzFelelekMenu(id)
}
}
}
public GyoztesKiiras(NyertesNev[64])
{
if(get_pcvar_num(cvar_kiiras) == 0){
client_print(0, print_center, "Helyes valaszt adta %s", NyertesNev)
}
else if(get_pcvar_num(cvar_kiiras) == 1)
{
set_hudmessage(255, 255, 255, -1.0, 0.20, 0, 6.0, 5.0)
show_hudmessage(0, "Helyes valaszt adta %s", NyertesNev)
}
}
public NyeremenySorsolasa(id)
{
switch (random_num(1,8))
{
case 1 :
{
if(get_pcvar_num(cvar_hp) == 1)
{
Nyeremeny[id] = 1
}
else
set_task(0.1, "NyeremenySorsolasa", id)
}
case 2 :
{
if(get_pcvar_num(cvar_gyorsasag) == 1)
{
Nyeremeny[id] = 2
}
else
set_task(0.1, "NyeremenySorsolasa", id)
}
case 3 :
{
if(get_pcvar_num(cvar_teleport) == 1)
{
Nyeremeny[id] = 3
}
else
set_task(0.1, "NyeremenySorsolasa", id)
}
case 4 :
{
if(get_pcvar_num(cvar_sebzes) == 1)
{
Nyeremeny[id] = 4
}
else
set_task(0.1, "NyeremenySorsolasa", id)
}
case 5 :
{
if(get_pcvar_num(cvar_halhatatlan) == 1)
{
Nyeremeny[id] = 5
}
else
set_task(0.1, "NyeremenySorsolasa", id)
}
case 6 :
{
if(get_pcvar_num(cvar_lathatatlan) == 1)
{
Nyeremeny[id] = 6
}
else
set_task(0.1, "NyeremenySorsolasa", id)
}
case 7 :
{
if(get_pcvar_num(cvar_frag) == 1)
{
Nyeremeny[id] = 7
}
else
set_task(0.1, "NyeremenySorsolasa", id)
}
case 8 :
{
if(get_pcvar_num(cvar_flash) == 1)
{
Nyeremeny[id] = 8
}
else
set_task(0.1, "NyeremenySorsolasa", id)
}
}
if(Nyeremeny[id] != 0)
NyeremenyAdas(id, Nyeremeny[id])
}
public NyeremenyAdas(id, Nyeremenyek)
{
new name[32]
get_user_name(id, name, charsmax(name))
if(Nyeremenyek == 1)
{
print_color(0, "!g[Kerdezz-Felelek]!t %s!y nyert %d HPt!", name, get_pcvar_num(cvar_hp_ertek))
set_user_health(id, get_user_health(id)+get_pcvar_num(cvar_hp_ertek))
}
else if(Nyeremenyek == 2)
{
set_task(get_pcvar_float(cvar_kepesseg_ido), "KepessegOff", id)
print_color(0, "!g[Kerdezz-Felelek]!t %s!y nyert %3.0f sebesseget!", name, get_pcvar_float(cvar_gyorsasag_ertek)-250.0)
set_user_maxspeed(id, get_pcvar_float(cvar_gyorsasag_ertek))
}
else if(Nyeremenyek == 3)
{
set_task(get_pcvar_float(cvar_kepesseg_ido), "KepessegOff", id)
print_color(0, "!g[Kerdezz-Felelek]!t %s!y oda teleportalhat ahova nezz!(%3.0f masodpercig)", name, get_pcvar_float(cvar_kepesseg_ido))
}
else if(Nyeremenyek == 4)
{
set_task(get_pcvar_float(cvar_kepesseg_ido), "KepessegOff", id)
print_color(0, "!g[Kerdezz-Felelek]!t %s!y nyert %3.0f sebzest!", name, get_pcvar_float(cvar_sebzes_ertek))
}
else if(Nyeremenyek == 5)
{
set_user_godmode(id, 1)
set_task(get_pcvar_float(cvar_kepesseg_ido), "KepessegOff", id)
print_color(0, "!g[Kerdezz-Felelek]!t %s!y halhatatlan %3.0f masodpercig!", name, get_pcvar_float(cvar_kepesseg_ido))
}
else if(Nyeremenyek == 6)
{
set_task(get_pcvar_float(cvar_kepesseg_ido), "KepessegOff", id)
print_color(0, "!g[Kerdezz-Felelek]!t %s!y lathatatlan %3.0f masodpercig!", name, get_pcvar_float(cvar_kepesseg_ido))
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
}
else if(Nyeremenyek == 7)
{
print_color(0, "!g[Kerdezz-Felelek]!t %s!y kapott %d fraget!", name, get_pcvar_num(cvar_frag_ertek))
set_user_frags(id, get_user_frags(id)+get_pcvar_num(cvar_frag_ertek))
}
else if(Nyeremenyek == 8)
{
print_color(0, "!g[Kerdezz-Felelek]!t %s!y nem lehet flashelni %3.0f masodpercig!", name, get_pcvar_float(cvar_kepesseg_ido))
set_user_frags(id, get_user_frags(id)+get_pcvar_num(cvar_frag_ertek))
}
}
public KepessegOff(id)
{
if(Nyeremeny[id] == 6)
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
Nyeremeny[id] = 0
if(Nyeremeny[id] == 5)
set_user_godmode(id, 0)
print_color(id, "!g[Kerdezz-Felelek]!t Lejart az ido!")
}
public Betoltes()
{
new fajl[192]
formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/kerdesek.ini")
new sor = file_size(fajl, 1)
new buff[256], len
read_file(fajl, (random(sor)), buff, charsmax(buff), len)
parse(buff, Kerdes, 512, Megoldas, 512)
if(equal(Kerdes, ElozoKerdes))
{
Betoltes()
}
else
{
set_task(get_pcvar_float(cvar_ido), "JatekLeallitasa", 0)
Jatek = true
KerdesInditasa()
}
}
public JatekLeallitasa()
Jatek = false
public KerdesInditasa()
{
if(Jatek){
if(get_pcvar_num(cvar_kiiras) == 0){
client_print(0, print_center, "%s", Kerdes)
}
else if(get_pcvar_num(cvar_kiiras) == 1)
{
set_hudmessage(255, 255, 255, -1.0, 0.20, 0, 6.0, 1.0)
show_hudmessage(0, "%s", Kerdes)
}
set_task(1.0, "KerdesInditasa")
}
else
{
remove_task()
}
}
public Teleportalas(id)
{
if(!Kepesseg[id] && id == Nyertes && Nyeremeny[id] == 3)
{
new hely[3], ujhely[3]
get_user_origin(id, hely)
get_user_origin(id, ujhely, 3)
hely[2] += 15;
ujhely[0] += ( ( ujhely[0] - hely[0] > 0 ) ? -50 : 50)
ujhely[1] += ( ( ujhely[1] - hely[1] > 0 ) ? -50 : 50)
ujhely[2] += 40;
set_user_origin(id, ujhely)
new kordi[5]
kordi[0] = id
kordi[1] = hely[0]
kordi[2] = hely[1]
kordi[3] = hely[2]
kordi[4] = ujhely[2]
set_task(0.1, "HelyEllenorzes", 1337 + id, kordi, 5)
Kepesseg[id] = true
return PLUGIN_HANDLED
}
else
return PLUGIN_CONTINUE
return PLUGIN_HANDLED
}
public Ujratoltes(id)
Kepesseg[id] = false
public HelyEllenorzes(kordi[])
{
new id = kordi[0]
new regihely[3], origin[3]
regihely[0] = kordi[1]
regihely[1] = kordi[2]
regihely[2] = kordi[3]
get_user_origin(id, origin)
if(kordi[4] == origin[2])
{
set_user_origin(id, regihely)
}
else
set_task(1.0, "Ujratoltes", id)
}
public Flash(id)
{
if(Nyeremeny[id] == 8 && Nyertes == id)
{
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0},id)
write_short(1)
write_short(1)
write_short(1)
write_byte(0)
write_byte(0)
write_byte(0)
write_byte(255)
message_end()
}
}
public KerdezzFelelekMenu(id) {
if(get_user_flags(id) & ADMIN_BAN){
new elso[64], masodik[64]
format(elso, charsmax(elso), "Kerdes: %s", SajatKerdes)
format(masodik, charsmax(masodik), "Valasz: %s^n", SajatValasz)
new menu = menu_create("Kerdezz-Felelek 1.0", "KerdezzFelelekMenuh" )
menu_additem(menu,elso,"1")
menu_additem(menu,masodik,"2")
if(!equal("", SajatKerdes) && !equal("", SajatValasz))
menu_additem(menu,"Indit","3")
menu_display(id, menu)
}
}
public KerdezzFelelekMenuh(id, menu, item){
if(item == MENU_EXIT)
{
menu_destroy(menu)
return
}
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 : client_cmd(id, "messagemode KERDES")
case 2 : client_cmd(id, "messagemode VALASZ")
case 3 : {
remove_task()
Jatek = true
Kerdes = SajatKerdes
Megoldas = SajatValasz
KerdesInditasa()
}
}
}
public UjKerdes(id)
{
if(get_user_flags(id) & ADMIN_BAN){
read_args(SajatKerdes, charsmax(SajatKerdes))
remove_quotes(SajatKerdes)
KerdezzFelelekMenu(id)
}
}
public UjValasz(id)
{
if(get_user_flags(id) & ADMIN_BAN){
read_args(SajatValasz, charsmax(SajatValasz))
remove_quotes(SajatValasz)
KerdezzFelelekMenu(id)
}
}
stock print_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
if(id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
return PLUGIN_HANDLED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/