#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <amxmisc>
#include <colorchat>
#include <cstrike>
#include <hamsandwich>
#define ice_model "models/jegkocka.mdl"
const PEV_NADE_TYPE = pev_flTimeStepSound
const NADE_TYPE_CRB = 9987
const Float:NADE_EXPLOSION_RADIUS = 240.0
new bool:fagyva[33]
static Float:o[3]
static ent[33]
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
new cvar_dmg, cvar_range, cvar_speed
new SW_MODEL[64] = "models/crb/minden.mdl"
new SW_SOUND[64] = "weapons/swfire1.wav"
new explosion, trail, white
new bool:lohet[33] = true
public fm_startFrame(){
static id
for (id = 1; id <= 32; id++)
{
if(is_user_connected(id))
wp_forward(id)
}
}
public wp_forward(player)
{
new wpnid = get_user_weapon(player)
if(wpnid == CSW_MP5NAVY)
{
if((pev(player,pev_button)&IN_ATTACK2)){
if(lohet[player] == true) {
attack2(player)
lohet[player]=false
set_task(3.0, "ujralohet", player)
}
else client_print(player, print_center, "A fegyver újratölt kérlek várj!")
}
}
}
public ujralohet(id){
lohet[id] = true;
client_print(id, print_center, "A fegyver készen áll!")
}
public attack2(player) {
new sw = create_entity("info_target")
if(sw == 0) return PLUGIN_CONTINUE
entity_set_string(sw, EV_SZ_classname, "sw_entityname")
entity_set_model(sw, SW_MODEL)
entity_set_size(sw, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0})
entity_set_int(sw, EV_INT_movetype, MOVETYPE_FLY)
entity_set_int(sw, EV_INT_solid, SOLID_BBOX)
new Float:vSrc[3]
entity_get_vector(player, EV_VEC_origin, vSrc)
new Float:Aim[3],Float:origin[3]
VelocityByAim(player, 64, Aim)
entity_get_vector(player,EV_VEC_origin,origin)
vSrc[0] += Aim[0]
vSrc[1] += Aim[1]
entity_set_origin(sw, vSrc)
new Float:velocity[3], Float:angles[3]
VelocityByAim(player, get_pcvar_num(cvar_speed), velocity)
entity_set_vector(sw, EV_VEC_velocity, velocity)
vector_to_angle(velocity, angles)
entity_set_vector(sw, EV_VEC_angles, angles)
entity_set_edict(sw,EV_ENT_owner,player)
entity_set_float(sw, EV_FL_takedamage, 1.0)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMFOLLOW)
write_short(sw)
write_short(trail)
write_byte(25)
write_byte(5)
write_byte(224)
write_byte(224)
write_byte(255)
write_byte(255)
message_end()
emit_sound(sw, CHAN_WEAPON, SW_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM)
return PLUGIN_CONTINUE
}
public pfn_touch(ptr, ptd) {
if(is_valid_ent(ptr)) {
new classname[32]
entity_get_string(ptr,EV_SZ_classname,classname,31)
if(equal(classname, "sw_entityname")) {
new Float:fOrigin[3]
new iOrigin[3]
entity_get_vector(ptr, EV_VEC_origin, fOrigin)
FVecIVec(fOrigin,iOrigin)
sw_radius_damage(ptr)
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin)
write_byte(TE_EXPLOSION)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_short(explosion)
write_byte(30)
write_byte(15)
write_byte(0)
message_end()
message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin)
write_byte(TE_BEAMCYLINDER)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2]+200)
write_short(white)
write_byte(0)
write_byte(1)
write_byte(6)
write_byte(8)
write_byte(1)
write_byte(255)
write_byte(255)
write_byte(192)
write_byte(128)
write_byte(5)
message_end()
if(is_valid_ent(ptd)) {
new classname2[32]
entity_get_string(ptd,EV_SZ_classname,classname2,31)
if(equal(classname2,"func_breakable"))
force_use(ptr,ptd)
}
remove_entity(ptr)
}
}
}
new const g_szPageSprite[] = "sprites/crb/papir.spr"
new const SZEROPREF[] = "CrB"
new const MODEL[ ] = "models/crb/santa_hat.mdl";
new const iSound[] = "sound/crb/hohoho.mp3"
new const szSound[] = "sound/crb/szel.mp3"
new const csSound[] = "sound/crb/csengo.mp3"
new bool:lehet[33] = true
new spr, cvar, counter = 0, papirszam, talaltpapir[33], ajandekszam[33], voltszam[33], hocvar, szelzaj
new bool:megvan
new bool:generalva
new bool:vanmodell[33]
/* ajdandekok */
new const ajandekleiras[][] = {
"+100HP",
"+100AP",
"M4A1",
"AK47",
"AWP",
"Makker",
"Mikulás sapka",
"Mikulás modell"
}
new const parancs[][] = {
"", //100hp
"", // 100ap
"weapon_m4a1",
"weapon_ak47",
"weapon_awp",
"", //makker
"", //miki spai
"" //miki modell
}
new const ammoname[] = {
"", //100hp
"", // 100ap
CSW_M4A1, //m4
CSW_AK47, //ak
CSW_AWP, //awp
"", //makker
"", //miki spai
"" //miki modell
}
public papirbevalt(id)
{
if(talaltpapir[id] > 0)
{
switch(random_num(1,2))
{
case 1: {
parancsfut(id)
ColorChat(id, GREEN, "^4[^3%s^4] ^3Megkaptad az ajándékod <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
case 2: {
talaltpapir[id] = 0;
ColorChat(id, GREEN, "^4[^3%s^4] ^3Ez most nem jott be <!-- s:D --><img src=\"{SMILIES_PATH}/icon_e_biggrin.gif\" alt=\":D\" title=\"nagyon boldog\" /><!-- s:D -->", SZEROPREF)
}
}
}
else {
ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
return PLUGIN_CONTINUE
}
public papireldob(id) {
if(talaltpapir[id] > 0) {
talaltpapir[id] = 0;
ColorChat(id, GREEN, "^4[^3%s^4] ^3Eldobtad a papírod reméljük a következő nem ilyen sorsra jut <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
else {
ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
}
public szelsound()
{
if(get_pcvar_num(szelzaj) == 1)
{
client_cmd(0, "mp3 play %s", szSound)
}
}
public fw_PlayerSpawn(id)
{
if(vanmodell[id] == true)
{
switch(cs_get_user_team(id))
{
case CS_TEAM_CT: {
cs_set_user_model(id, "crb_santa_ct")
}
case CS_TEAM_T: {
cs_set_user_model(id, "crb_santa_t")
}
}
}
torol(id)
}
public szamlalo(id)
{
if(generalva == true) {
counter++
}
if(megvan == true) {
counter = 0
}
if(counter > 30 && generalva == true)
{
new target = find_ent_by_class(target, "papirka")
engfunc(EngFunc_RemoveEntity, target)
papirszam--
counter = 0
generalva = false
}
}
public papircreate(id)
{
if(papirszam < 1) {
new inifile[192], map[32]
get_mapname(map, 31)
new Float:papiro[3]
formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
new elsopoz[8], masodikpoz[8], harmadikpoz[8]
new lines = file_size(inifile, 1)
if(lines > 0)
{
new randomLine = random(lines);
new lineBuffer[256], len;
read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
papiro[0] = str_to_float(elsopoz)
papiro[1] = str_to_float(masodikpoz)
papiro[2] = str_to_float(harmadikpoz)
}
new ent = create_entity("info_target")
set_pev(ent, pev_classname, "papirka")
entity_set_model(ent, g_szPageSprite)
set_pev(ent,pev_solid, SOLID_BBOX)
set_pev(ent, pev_movetype, MOVETYPE_TOSS)
engfunc(EngFunc_SetOrigin, ent, papiro)
engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
engfunc(EngFunc_DropToFloor, ent)
fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
client_cmd(id, "mp3 play %s", csSound)
papirszam++
megvan = false
generalva = true
}
}
public client_disconnect(id) torol(id)
public client_putinserver(id)
{
lehet[id] = true
lohet[id] = true
fagyva[id] = false
}
public plugin_precache()
{
spr = precache_model("sprites/crb/ho.spr")
precache_generic(iSound);
precache_generic(szSound);
precache_generic(csSound);
precache_model("models/crb/slander.mdl")
precache_model(g_szPageSprite);
precache_model( "models/crb/santa_hat.mdl" );
precache_model("models/player/crb_santa_ct/crb_santa_ct.mdl")
precache_model("models/player/crb_santa_t/crb_santa_t.mdl")
precache_model(SW_MODEL)
precache_sound(SW_SOUND)
explosion = precache_model("sprites/crb/explo.spr")
trail = precache_model("sprites/smoke.spr")
white = precache_model("sprites/white.spr")
engfunc(EngFunc_PrecacheModel, ice_model)
RegisterHam(Ham_Think, "grenade", "granateldobas")
}
public keszit(id)
{
if(get_pcvar_num(hocvar) == 1)
{
new origin[3]
new map[64]
get_mapname(map,63)
new fajl[192]
formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/hopoz.ini")
if (file_exists(fajl))
{
new line
new linetext[255]
new len
new mapnev[32], maxcoord[8]
while(read_file(fajl, line, linetext, 256, len))
{
parse(linetext, mapnev, 31, maxcoord, 7)
if(equal(map, mapnev))
{
origin[2] = str_to_num(maxcoord)
}
line++
}
}
for(new i=0; i < get_pcvar_num(cvar); i++) {
origin[0] = random_num(-2999,2999)
origin[1] = random_num(-2999,2999)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(15)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_short(spr)
write_byte(10)
write_byte(0)
write_byte(5)
write_byte(random_num(30,70))
write_byte(40)
message_end()
}
}
}
public fw_EvTeamInfo( )
{
static id; id = read_data( 1 );
new nev[32]
get_user_name(id, nev, charsmax(nev))
static szTeam[ 2 ]; read_data( 2 , szTeam , 1 );
if(lehet[id] == true)
{
switch( szTeam[ 0 ] )
{
case 'T':
{
lehet[id] = false
client_cmd(id, "mp3 play %s", iSound)
ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Terroristakhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
}
case 'C':
{
lehet[id] = false
client_cmd(id, "mp3 play %s", iSound)
ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Terrorista Elharitokhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
}
case 'S':
{
lehet[id] = false
ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Nezokhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
client_cmd(id, "mp3 play %s", iSound)
}
}
}
}
public csavokanpc()
{
new Float:origin[3]
new map[64]
get_mapname(map,63)
new fajl[192]
formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/csavokapoz.ini")
if (file_exists(fajl))
{
new line
new linetext[255]
new len
new mapnev[32], elsopoz[8], masodikpoz[8], harmadikpoz[8]
while(read_file(fajl, line, linetext, 256, len))
{
parse(linetext, mapnev, 31, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
if(equal(map, mapnev))
{
origin[0] = str_to_float(elsopoz);
origin[1] = str_to_float(masodikpoz);
origin[2] = str_to_float(harmadikpoz);
}
line++
}
}
new ent = create_entity("info_target")
set_pev(ent, pev_classname, "csavoka")
entity_set_model(ent, "models/crb/slander.mdl")
set_pev(ent,pev_solid, SOLID_BBOX)
set_pev(ent, pev_movetype, MOVETYPE_TOSS)
engfunc(EngFunc_SetOrigin, ent, origin)
engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
}
public remove(ent, id)
{
if(is_user_alive(id) && !is_user_bot(id) && is_user_connected(id)) {
engfunc(EngFunc_RemoveEntity, ent)
set_task(2.0, "csavokanpc")
ajandekmenu(id)
}
}
public papirtorol(ent, id)
{
if(is_user_alive(id) && !is_user_bot(id) && is_user_connected(id)) {
engfunc(EngFunc_RemoveEntity, ent)
papirszam--
megvan = true
generalva = false
if(talaltpapir[id] > 0)
{
ColorChat(id, GREEN, "^4[^3%s^4] ^3Már találtál egy papírt váltsd be <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
else {
talaltpapir[id]++
sorsol(id)
}
}
}
public sorsol(id)
{
new rnd = random(sizeof(ajandekleiras))
if(voltszam[id] != rnd)
{
ColorChat(id, GREEN, "^4[^3%s^4] ^3Erre a papirra %s ajándék volt írva.",SZEROPREF, ajandekleiras[rnd])
ajandekszam[id] = rnd
voltszam[id] = rnd
}
else sorsol(id)
}
public parancsfut(id)
{
if(ajandekszam[id] == 0)
{
set_user_health(id, get_user_health(id)+100)
}
else if(ajandekszam[id] == 1)
{
set_user_armor(id, get_user_armor(id)+100)
}
else if(ajandekszam[id] == 5)
{
new halal = cs_get_user_deaths(id)
new frag = halal*2
set_user_frags(id, get_user_frags(id)+frag)
cs_set_user_deaths(id, 0)
}
else if(ajandekszam[id] == 6)
{
new iEntity
new iInfoTarget
iInfoTarget = engfunc( EngFunc_AllocString, "info_target" );
iEntity = engfunc( EngFunc_CreateNamedEntity, iInfoTarget );
if( pev_valid( iEntity ) )
{
engfunc( EngFunc_SetModel, iEntity, MODEL );
set_pev( iEntity, pev_movetype, MOVETYPE_FOLLOW );
set_pev( iEntity, pev_aiment, id );
set_pev( iEntity, pev_owner, id );
}
}
else if(ajandekszam[id] == 7)
{
vanmodell[id] = true
}
else {
give_item(id, parancs[ajandekszam[id]])
cs_set_user_bpammo(id, ammoname[ajandekszam[id]], 120)
}
talaltpapir[id] = 0
}
public ajandekmenu(id)
{
new menuamne[512]
formatex(menuamne, charsmax(menuamne), "\y[%s] \rÜnnepi menü \w[\yPapir szám: \r%d\w]", SZEROPREF, talaltpapir[id])
new menu = menu_create(menuamne, "menu_handler");
menu_additem(menu, "Beváltom a papírt", "", 0); // case 0
menu_additem(menu, "Nem kell az ajándék", "", 0); // case 1
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Következő");
menu_setprop(menu, MPROP_EXITNAME, "Kilpés");
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id);
return PLUGIN_HANDLED;
}
new command[6], name[64], access, callback;
menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
switch(item)
{
case 0: {
if(talaltpapir[id] > 0)
{
parancsfut(id)
talaltpapir[id] = 0
ColorChat(id, GREEN, "^4[^3%s^4] ^3Megkaptad az ajándékod <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
else ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
case 1: {
if(talaltpapir[id] > 0) {
talaltpapir[id] = 0;
ColorChat(id, GREEN, "^4[^3%s^4] ^3Eldobtad a papírod reméljük a következő nem ilyen sorsra jut <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
else ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public korvege()
{
new players[32], num
get_players(players, num)
for(new a=0; a<num; a++)
{
torol(players[a])
}
}
public halal()
{
new victim = read_data(2)
if(fagyva[victim])
{
torol(victim)
}
}
public fw_SetModel(entity, const model[])
{
if (strlen(model) < 8)
return;
if (model[7] != 'w' || model[8] != '_')
return;
static Float:dmgtime
pev(entity, pev_dmgtime, dmgtime)
if (dmgtime == 0.0)
return;
if (model[9] == 'f' && model[10] == 'l')
{
set_pev(entity, PEV_NADE_TYPE, NADE_TYPE_CRB)
}
}
public granateldobas(entity)
{
if (!pev_valid(entity)) return HAM_IGNORED;
static Float:dmgtime
pev(entity, pev_dmgtime, dmgtime)
if (dmgtime > get_gametime())
return HAM_IGNORED;
switch (pev(entity, PEV_NADE_TYPE))
{
case NADE_TYPE_CRB:
{
robbanas(entity)
return HAM_SUPERCEDE;
}
}
return HAM_IGNORED;
}
public robbanas(ent)
{
static Float:origin[3]
pev(ent, pev_origin, origin)
new victim = -1
while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, origin, NADE_EXPLOSION_RADIUS)) != 0)
{
set_task(0.1, "befagyaszt", victim)
}
engfunc(EngFunc_RemoveEntity, ent)
}
public befagyaszt(id)
{
fagyaszt(id)
set_task(15.0, "torold", id)
}
public torold(id)
{
torol(id)
}
public FM_PreThink(id)
{
if(fagyva[id] == true)
{
set_pev(id, pev_maxspeed, 1.0)
set_pev( id, pev_button, pev(id,pev_button) & ~IN_ATTACK );
set_pev( id, pev_button, pev(id,pev_button) & ~IN_ATTACK2 );
pev( id, pev_origin, o )
if( pev( id, pev_flags ) & FL_DUCKING ) o[2] -= 15.0
else o[2] -= 35.0
entity_set_origin(ent[id], o)
}
}
public Player_Duck(id)
{
static iOldbuttons ; iOldbuttons = entity_get_int(id, EV_INT_oldbuttons)
if(fagyva[id] == true)
{
if( !(iOldbuttons & IN_DUCK) )
{
entity_set_int(id, EV_INT_oldbuttons, iOldbuttons | IN_DUCK)
return HAM_HANDLED
}
}
return HAM_IGNORED
}
public Player_Jump(id)
{
static iOldbuttons ; iOldbuttons = entity_get_int(id, EV_INT_oldbuttons)
if(fagyva[id] == true)
{
if( !(iOldbuttons & IN_JUMP) )
{
entity_set_int(id, EV_INT_oldbuttons, iOldbuttons | IN_JUMP)
return HAM_HANDLED
}
}
return HAM_IGNORED
}
public fagyaszt(id)
{
if(is_user_alive(id) && is_user_connected(id))
{
fagyva[id] = true
set_pev(id, pev_maxspeed, 1.0)
set_rendering(ent[id], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255)
}
}
public torol(id)
{
if(fagyva[id] == true)
{
fagyva[id] = false
ExecuteHamB( Ham_Player_ResetMaxSpeed, id );
set_rendering(ent[id], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 0)
}
}
public EntityCreate()
{
for(new i=0;i<get_maxplayers();i++)
{
ent[i] = create_entity("info_target")
set_pev( ent[i], pev_classname, "CrB" )
entity_set_model(ent[i], ice_model)
dllfunc(DLLFunc_Spawn, ent[i])
set_pev(ent[i], pev_solid, SOLID_NOT)
set_pev(ent[i], pev_movetype, MOVETYPE_FLY)
entity_set_size(ent[i], Float:{ -3.0, -3.0, -3.0 }, Float:{ 3.0, 3.0, 3.0 } )
set_pev( ent[i], pev_iuser3, i )
set_pev( ent[i], pev_team, 6969 )
set_rendering(ent[i], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 0)
}
}
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
static Float:color[3]
color[0] = float(r)
color[1] = float(g)
color[2] = float(b)
set_pev(entity, pev_renderfx, fx)
set_pev(entity, pev_rendercolor, color)
set_pev(entity, pev_rendermode, render)
set_pev(entity, pev_renderamt, float(amount))
}
stock sw_radius_damage(entity) {
new id = entity_get_edict(entity,EV_ENT_owner)
for(new i = 1; i < 33; i++) {
if(is_user_alive(i)) {
new dist = floatround(entity_range(entity,i))
if(dist <= get_pcvar_num(cvar_range)) {
new hp = get_user_health(i)
new Float:damage = get_pcvar_float(cvar_dmg)-(get_pcvar_float(cvar_dmg)/get_pcvar_float(cvar_range))*float(dist)
new Origin[3]
get_user_origin(i,Origin)
if(cs_get_user_team(id) != cs_get_user_team(i)) {
if(hp > damage)
sw_sebzes_msg(i,floatround(damage),Origin,DMG_BLAST)
else
logolas(id,i,"Rak?",0)
}
}
}
}
}
stock logolas(killer, victim, weapon[], headshot)
{
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
ExecuteHamB(Ham_Killed, victim, killer, 2)
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)
message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg"))
write_byte(killer)
write_byte(victim)
write_byte(headshot)
write_string(weapon)
message_end()
if(get_user_team(killer)!=get_user_team(victim))
set_user_frags(killer,get_user_frags(killer) +1)
if(get_user_team(killer)==get_user_team(victim))
set_user_frags(killer,get_user_frags(killer) -1)
new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]
get_user_name(killer, kname, 31)
get_user_team(killer, kteam, 9)
get_user_authid(killer, kauthid, 31)
get_user_name(victim, vname, 31)
get_user_team(victim, vteam, 9)
get_user_authid(victim, vauthid, 31)
log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"",
kname, get_user_userid(killer), kauthid, kteam,
vname, get_user_userid(victim), vauthid, vteam, weapon)
return PLUGIN_CONTINUE;
}
stock sw_sebzes_msg(victim,damage,origin[3],bit) {
message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim)
write_byte(21)
write_byte(20)
write_long(bit)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
message_end()
set_user_health(victim,get_user_health(victim)-damage)
}
#define PLUGIN "Teli Plugin"
#define VERSION "1.0"
#define AUTHOR "crazyboy"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
/* CVAR */
hocvar = register_cvar("crb_essen", "1")
cvar = register_cvar("crb_pehely", "32")
szelzaj = register_cvar("crb_szel", "1")
cvar_dmg=register_cvar("sw_damage","155")
cvar_range=register_cvar("sw_radius","350")
cvar_speed=register_cvar("sw_speed","1500")
/* TASK */
set_task(0.1, "keszit", 0, _, _, "b")
set_task(1.0, "csavokanpc")
set_task(30.0, "papircreate",0,_,_,"b")
set_task(1.0, "szamlalo",0,_,_,"b")
set_task(random_float(10.0, 100.0), "szelsound", 0,_,_,"b")
/* EVENT */
register_event( "TeamInfo" , "fw_EvTeamInfo" , "a" );
register_logevent("korvege", 2, "1=Round_End")
register_event("DeathMsg", "halal", "a")
/* TOUCH */
register_touch("csavoka","player","remove")
register_touch("papirka","player","papirtorol")
/* EGYEB */
set_lights("g")
/* HAM */
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn")
RegisterHam(Ham_Player_Duck, "player", "Player_Duck")
RegisterHam(Ham_Player_Jump, "player", "Player_Jump")
/* CMD */
register_clcmd("say /bevalt", "papirbevalt")
register_clcmd("say /eldob", "papireldob")
/* FM */
register_forward(FM_StartFrame, "fm_startFrame")
register_forward(FM_SetModel, "fw_SetModel")
register_forward(FM_PlayerPreThink,"FM_PreThink")
EntityCreate()
}