Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Изменение цвета текста в чате , перевод мода.

, Не получается самому.
Статус пользователя Kamikadze312
сообщение 2.5.2012, 11:19
Сообщение #1
Стаж: 14 лет

Сообщений: 37
Благодарностей: 3
Полезность: 63

Пытался сам . но ошибок много вылезало и не работало .

Первое что я не смог , это перевести Predator мод . Так как при переводе и компиляции плагина все шло хорошо , даже в игре все показывало , но при накопление нужного количества средст предатор покупался , а вот модели рук не поставились и способности предатора не работали.
Вторая причина не могу поменять цвет чата в строчке 255 format(msg,50,"^x01Say ^x04 /predatorhelp ^x01 for more info.")
^x02 ^x03 ^x04 ставил не работает , просто желтым становился чат . Или ток зеленым становился когда писал format(msg,50,"^x04Say /predatorhelp for more info.")

Так же не знаю как поменять цвет чата в моде call of duty . ( покожите на примере или сылку на статью )
Всем кто попытаеться помочь заранее Спасибо

Predator mod
//////////////////////////////////////////
//Predator Mode //
//Created By Haimmaik //
//Released on December 26, 2005 //
//////////////////////////////////////////
// //
//--------------------------------------//
//Modules required: //
//fun //
//engine //
//cstrike //
//--------------------------------------//
//Doesn't work well with: //
//Superhero mode //
//Warcraft3 mode //
//Amx_gore //
// //
//If any of them is on plz turn it off. //
// //
//--------------------------------------//
//Works well with: //
//Surf_tools //
// //
//================================================================================
==========//
//Features: //
//--------- //
//This plugin allow a player to become a predator, but he needs to pay the price of //
//frags and money (the admin decide the price). A predator have 200HP and 500AP, he is //
//invisable and his speed and jump are better than normal. A predator also got a plasma //
//attack.(the admin chooses how many plasma shot the predator will get every round) //
//The predator has a special vision so he can see better. When a predator dies he becomes //
//A normal human again. The admin can set the score the predator will get for each kill and //
//how much money he will get for each kill. //
//headshot will add the predator an extra point (more than the admin decided). A predator //
//can't use any weapon but claws and his plasma gun BUT he can kill in 1 knife strike so be //
//aware :). //
//*NOTE* A predator can change his view mode (normal, 3d person, strategy) //
// //
//================================================================================
====================================================
//Commands(ADMIN): //
//--------- //
//admin_enable_predator 1/0 Turns on and off the predator mode (default 1) *NOTE, ADMIN COMMANDS ARE STILL ACTIVE* //
//admin_everyone_predator 1/0 Gives all the players the predator menu. if u choose not to be a predator.. u die. //
//admin_frags_predator [number
Decide how many frags you need to pay to become a predator (default 20) //
//admin_money_predator [number] Decides how much money you need to pay to become a predator (default 16,000) //
//admin_plasma_predator[number] Decides how many plasma shots a predator will get (default 3) //
//admin_frags_plasma [number] Decides how many frags a predator gets for plasma kill (default 1) //
//admin_frags_knife [number] Decides how many frags a predator gets for knife kill (default 2) //
//admin_kill_money [number] Decides how much money a predator gets for each kill (default 300) //
//admin_predator [name][type][plasma] Change a player into a predator, choose type of predator and amount of plasma //
//admin_predatorteam [team][type][plasma] Same as admin_predaotr just to a full team (T,CT,ALL or 1,2,3) //
//admin_unpredator [name] Change a predator into a human //
//admin_unpredatorteam [team] Same as admin_unpredator just to a full team (T,CT,ALL or 1,2,3) //
//admin_addplasma [name][number] Adds Plasma shoots to a predator (player have to be a predator) //
//admin_predator_custom [name][type] Changes a player's MODEL into a predator model *NOTE, HE IS NOT A PREDATOR* //
//admin_view_predator [number] Changes the speed of the bodyheat (default 0.2) [change map to take effect] //
//admin_hp_predator [number] sets amount of HP the predator gets (default 200) //
// //
// //
//Commands(CLIENT): //
//-------- //
//ppfire Shoot a plasma ball (i suggest u bind it to mouse3) //
//pcview Change the view mode of the predator (i suggest u bind it to P) //
//dbinds Auto bind the client functions into the default keys //
//say /predatorhelp Open the help window explains about other /say commands of the mode //
// //
//================================================================================
====================================================
//Server Installation: //
//Copy the file "predator.amxx" into: addons\amxmodx\plugins\ //
//Copy the file "predhelp.txt" into: addons\amxmodx\plugins\ //
//Open the file addons\amxmodx\config\plugins.ini //
//Add there the line "predator.amxx" //
// //
//Copey Those Files into those places: //
//"predator1.mdl" cstrike\models\player\predator1\ //
//"predator2.mdl" cstrike\models\player\predator2\ //
//"predator3.mdl" cstrike\models\player\predator3\ //
//"predator4.mdl" cstrike\models\player\predator4\ //
//"claws.mdl" cstrike\models\ //
//"v_knife.mdl" cstrike\models\ //
//"crpredator.wav" cstrike\sound\predator\ //
//"scpredator.wav" cstrike\sound\predator\ //
//"depredator.wav" cstrike\sound\predator\ //
//"plasma_shoot.wav" cstrike\sound\predator\ //
//"explosion.wav" cstrike\sound\predator\ //
//"plasma.spr" cstrike\sprites\ //
//"laserbeam.spr" cstrike\sprites\ //
//"plasma_explode.spr" cstrike\sprites\ //
//"blood.spr" cstrike\sprites\ //
//"bloodspray.spr" cstrike\sprites\ //
//"Fleshgibs.mdl" cstrike\models\ //
//"GIB_Skull.mdl" cstrike\models\ //
//"GIB_Legbone.mdl" cstrike\models\ //
//"GIB_Lung.mdl" cstrike\models\ //
//"GIB_B_Gib.mdl" cstrike\models\ //
//"GIB_B_Bone.mdl" cstrike\models\ //
//"rpgrocket.mdl" cstrike\models\ //
//"bc_spithit2.wav" cstrike\sound\predator\ //
//"suitchargeno1.wav" cstrike\sound\predator\ //
//"smallmedkit2.wav" cstrike\sound\predator\ //
//"button3.wav" cstrike\sound\predator\ //
// //
//================================================================
//Code taken from other plugins: //
//amx_gore.sma //
//GHW_speed_hack.sma //
//amx_knivesonly.sma //
//nvx_3rdperson.sma //
// //
// I HOPE I DIDNT FORGET ANY //
// //
//====================================
//Credits: //
//Haimmaik //
//zenith77 //
//Batman/Gorlag //
//v3x //
//XxAvalanchexX //
//Hawk552 //
//Charr //
// //
// SORRY IF I FORGOT SOMEONE sad.gif //
// //
//====================================
//
// AND HERE IS THE FULL CODE!! :)
//
//---------------[INCLUDES]---------------
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>

//---------------[PLASMA STUFF]---------------
new gExplosionModel
new gTrailModel
new msgtext

//---------------[BLOOD STUFF]---------------
new blood_drop
new blood_spray

//---------------[BODYPARTS STUFF]---------------
new mdl_gib_flesh
new mdl_gib_head
new mdl_gib_legbone
new mdl_gib_lung
new mdl_gib_meat
new mdl_gib_spine

//---------------[MSG STUFF]---------------
new MsgSayText

//---------------[PRECATCH SOUNDS]---------------
public plugin_precache()
{
precache_model("models/player/predator1/predator1.mdl")
precache_model("models/player/predator2/predator2.mdl")
precache_model("models/player/predator3/predator3.mdl")
precache_model("models/player/predator4/predator4.mdl")
precache_model("models/claws.mdl")
precache_model("models/rpgrocket.mdl")
precache_model("models/v_knife.mdl")
precache_sound("predator/crpredator.wav")
precache_sound("predator/scpredator.wav")
precache_sound("predator/depredator.wav")
precache_sound("predator/plasma_shoot.wav")
precache_sound("predator/explosion.wav")
precache_sound("predator/bc_spithit2.wav")
precache_sound("predator/suitchargeno1.wav")
precache_sound("predator/smallmedkit2.wav")
precache_sound("predator/button3.wav")
precache_model("sprites/plasma.spr")
gTrailModel = precache_model("sprites/laserbeam.spr")
gExplosionModel = precache_model("sprites/plasma_explode.spr")
blood_drop = precache_model("sprites/blood.spr")
blood_spray = precache_model("sprites/bloodspray.spr")
mdl_gib_flesh = precache_model("models/Fleshgibs.mdl")
mdl_gib_head = precache_model("models/GIB_Skull.mdl")
mdl_gib_legbone = precache_model("models/GIB_Legbone.mdl")
mdl_gib_lung = precache_model("models/GIB_Lung.mdl")
mdl_gib_meat = precache_model("models/GIB_B_Gib.mdl")
mdl_gib_spine = precache_model("models/GIB_B_Bone.mdl")
}

//---------------[PLUGIN INIT]---------------
public plugin_init()
{

register_plugin("Predator_Mode","1.96","Haim")
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5
register_menucmd(register_menuid("Choose Your Predator:"),keys,"func_menu")
register_event("ResetHUD","func_menuspawndelay","be")
register_event("ResetHUD","startround","be")
register_event("DeathMsg","unpredator","a")
register_event("DeathMsg","death_blood","a")
register_event("CurWeapon", "toggleclaws", "be", "1=1")
register_event("Damage", "func_predatorpower", "b", "2!0")
register_event("Damage","dmg_blood","b","2!0","3=0","4!0")
register_cvar("admin_enable_predator","1")
register_cvar("admin_frags_predator","20")
register_cvar("admin_money_predator","16000")
register_cvar("admin_plasma_predator","3")
register_cvar("admin_frags_plasma","1")
register_cvar("admin_frags_knife","2")
register_cvar("admin_kill_money","300")
register_cvar("admin_everyone_predator","0")
register_cvar("admin_view_predator","0.4")
register_cvar("admin_hp_predator","200")
register_concmd("admin_predator","func_adminpredator",ADMIN_LEVEL_A,"[target] [kind] [plasma]")
register_concmd("admin_predatorteam","func_adminpredatorteam",ADMIN_LEVEL_A,"[team] [kind] [plasma]")
register_concmd("admin_addplasma","func_addplasma",ADMIN_LEVEL_A,"[target] [plasma]")
register_concmd("admin_unpredator","func_adminunpredator",ADMIN_LEVEL_A,"[target]")
register_concmd("admin_unpredatorteam","func_adminunpredatorteam",ADMIN_LEVEL_A,"[team]")
register_concmd("admin_predator_custom","custom",ADMIN_LEVEL_A,"[target]")
register_clcmd("ppfire","cmdShoot")
register_clcmd("pcview","func_view")
register_clcmd("dbinds","func_autobind")
register_clcmd("say /predatorhelp","func_predhelp")
register_clcmd("say /predcost","func_predcost")
register_clcmd("say /predfrags","func_predfrags")
register_clcmd("say /predmoney","func_predmoney")
register_clcmd("say /predon","func_predon")
register_clcmd("say /predeveryone","func_predeveryone")
register_touch("PlasmaBall","*","plasma_hit")
msgtext = get_user_msgid("StatusText")
MsgSayText = get_user_msgid("SayText")
set_task(0.85,"lowhp_blood",0,"",0,"b")
set_task(get_cvar_float("admin_view_predator"), "func_bodyheat", 0, "", 0, "b")
}

//---------------[THE PREDATOR GLOBAL VALUE]---------------

new ispredator[33]
new delay[33]
new plasma[33]
new view[33]
new onoroff[33]

//---------------[SPAWN DELAY FOR MENU]---------------
public func_menuspawndelay(id)
{
if(ispredator[id]!=0)
{
set_task(1.0,"func_screen",id)
}
if (get_cvar_num("admin_enable_predator")!=1)
{
set_hudmessage(0,30,200,-1.0,0.4,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"Predator Mode Is Off")
return PLUGIN_HANDLED
}
new msg[51]
format(msg,50,"^x01Say ^x04 /predatorhelp ^x01 for more info.")
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string(msg)
message_end()
if(get_cvar_num("admin_everyone_predator")==0)
{
if((ispredator[id]==0 || ispredator[id]==5) && delay[id]<1 && get_user_frags(id)>=get_cvar_num("admin_frags_predator") && cs_get_user_money(id)>=get_cvar_num("admin_money_predator"))
{
set_task(1.5,"showMenu",id)
server_cmd("sv_maxspeed 100000")
server_cmd("sv_airaccelerate 500")
}
}
if(get_cvar_num("admin_everyone_predator")==1)
{
if(ispredator[id]==0 || ispredator[id]==5)
{
set_task(1.5,"showMenu",id)
server_cmd("sv_maxspeed 100000")
server_cmd("sv_airaccelerate 500")
}
}
return PLUGIN_HANDLED
}


//---------------[PRADATOR GOT KILLED]---------------
public unpredator()
{
new id=read_data(2)
if(ispredator[id]!=0)
{
ispredator[id]=5
plasma[id]=0
onoroff[id]=0
if(get_user_health(id)>100)
{
set_user_health(id,get_user_health(id)-(get_cvar_num("admin_hp_predetor")-100))
}
cs_set_user_armor(id,0,CS_ARMOR_NONE)
set_user_gravity(id,1.0)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
set_user_footsteps(id,0)
set_user_maxspeed(id,350.0)
client_cmd(id,"cl_forwardspeed 400")
client_cmd(id,"cl_backspeed 400")
client_cmd(id,"cl_sidespeed 400")
client_cmd(id,"spk predator/depredator")
message_begin(MSG_ONE, 98, {0,0,0}, id)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(100) // fade red
write_byte(0) // fade green
write_byte(0) // fade blue
write_byte(0) // fade alpha
message_end()
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"You are no longer a predator")
if(view[id]!=0)
{
func_view(id)
}
new HUD[51]
format(HUD,50,"")
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
}
}

//---------------[SHOW PREDATOR MENU]---------------
public showMenu(id)
{
new menu[192]
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5

format(menu,191,"\yChoose Your Predator:^n^n\w1. Forest Predator^n2. Mountain Predator^n3. Desert Predator^n4. Snow Predator^n5. None")
show_menu(id,keys,menu)
return PLUGIN_HANDLED
}

//---------------[PREDATOR CHOOSE]---------------
public func_menu(id,key)
{
if(key==0)
{
if(get_cvar_num("admin_everyone_predator")==0)
{
set_user_frags(id,get_user_frags(id)-get_cvar_num("admin_frags_predator"))
cs_set_user_money(id,cs_get_user_money(id)-get_cvar_num("admin_money_predator"))
}
ispredator[id]=1
plasma[id]=get_cvar_num("admin_plasma_predator")
set_user_health(id,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(id,500,CS_ARMOR_VESTHELM)
set_user_gravity(id,0.5)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(id,1)
cs_set_user_model(id,"predator1")
client_cmd(id,"spk predator/crpredator")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"You are now a forest predator")
cs_set_user_nvg(id,1)
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
}
if(key==1)
{
if(get_cvar_num("admin_everyone_predator")==0)
{
set_user_frags(id,get_user_frags(id)-get_cvar_num("admin_frags_predator"))
cs_set_user_money(id,cs_get_user_money(id)-get_cvar_num("admin_money_predator"))
}
ispredator[id]=2
plasma[id]=get_cvar_num("admin_plasma_predator")
set_user_health(id,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(id,500,CS_ARMOR_VESTHELM)
set_user_gravity(id,0.5)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(id,1)
cs_set_user_model(id,"predator2")
client_cmd(id,"spk predator/crpredator")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"You are now a mountain predator")
cs_set_user_nvg(id,1)
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
}
if(key==2)
{
if(get_cvar_num("admin_everyone_predator")==0)
{
set_user_frags(id,get_user_frags(id)-get_cvar_num("admin_frags_predator"))
cs_set_user_money(id,cs_get_user_money(id)-get_cvar_num("admin_money_predator"))
}
ispredator[id]=3
plasma[id]=get_cvar_num("admin_plasma_predator")
set_user_health(id,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(id,500,CS_ARMOR_VESTHELM)
set_user_gravity(id,0.5)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(id,1)
cs_set_user_model(id,"predator3")
client_cmd(id,"spk predator/crpredator")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"You are now a desert predator")
cs_set_user_nvg(id,1)
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
}
if(key==3)
{
if(get_cvar_num("admin_everyone_predator")==0)
{
set_user_frags(id,get_user_frags(id)-get_cvar_num("admin_frags_predator"))
cs_set_user_money(id,cs_get_user_money(id)-get_cvar_num("admin_money_predator"))
}
ispredator[id]=4
plasma[id]=get_cvar_num("admin_plasma_predator")
set_user_health(id,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(id,500,CS_ARMOR_VESTHELM)
set_user_gravity(id,0.5)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(id,1)
cs_set_user_model(id,"predator4")
client_cmd(id,"spk predator/crpredator")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"You are now a snow predator")
cs_set_user_nvg(id,1)
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
}
if(key==4)
{
if(get_cvar_num("admin_everyone_predator")==0)
{
delay[id]=3
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"You are NOT a predator. U will have to wait 3 rounds to be predator.")
}
if(get_cvar_num("admin_everyone_predator")!=0)
{
client_cmd(id,"kill")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"You have to be a predator so dont fool around.")
}
}
}

//---------------[ADMIN SET PREDATOR]---------------
public func_adminpredator(id,level,cid)
{
if (!cmd_access(id,level,cid,4))
{
console_print(id, "sorry, ur admin level is too low to use that command")
return PLUGIN_HANDLED
}

new arg[32]
new kin[2]
new pla[10]
read_argv(1,arg,31)
read_argv(2,kin,1)
read_argv(3,pla,9)
new kinf=str_to_num(kin)
new plaf=str_to_num(pla)
new player=cmd_target(id,arg,2)
if(ispredator[player]==0)
{
if(kinf==1)
{
ispredator[player]=1
plasma[player]=plaf
set_user_health(player,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(player,500,CS_ARMOR_VESTHELM)
set_user_gravity(player,0.5)
set_user_rendering(player,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(player,1)
client_cmd(player,"spk predator/crpredator")
cs_set_user_model(player,"predator1")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(player,"You are now a predator")
cs_set_user_nvg(player,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[player])
message_begin(MSG_ONE, msgtext, {0,0,0}, player)
write_byte(0)
write_string(HUD)
message_end()
return PLUGIN_HANDLED
}
if(kinf==2)
{
ispredator[player]=2
plasma[player]=plaf
set_user_health(player,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(player,500,CS_ARMOR_VESTHELM)
set_user_gravity(player,0.5)
set_user_rendering(player,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(player,1)
client_cmd(player,"spk predator/crpredator")
cs_set_user_model(player,"predator2")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(player,"You are now a predator")
cs_set_user_nvg(player,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[player])
message_begin(MSG_ONE, msgtext, {0,0,0}, player)
write_byte(0)
write_string(HUD)
message_end()
return PLUGIN_HANDLED
}
if(kinf==3)
{
ispredator[player]=3
plasma[player]=plaf
set_user_health(player,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(player,500,CS_ARMOR_VESTHELM)
set_user_gravity(player,0.5)
set_user_rendering(player,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(player,1)
client_cmd(player,"spk predator/crpredator")
cs_set_user_model(player,"predator3")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(player,"You are now a predator")
cs_set_user_nvg(player,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[player])
message_begin(MSG_ONE, msgtext, {0,0,0}, player)
write_byte(0)
write_string(HUD)
message_end()
return PLUGIN_HANDLED
}
if(kinf==4)
{
ispredator[player]=4
plasma[player]=plaf
set_user_health(player,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(player,500,CS_ARMOR_VESTHELM)
set_user_gravity(player,0.5)
set_user_rendering(player,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(player,1)
client_cmd(player,"spk predator/crpredator")
cs_set_user_model(player,"predator4")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(player,"You are now a predator")
cs_set_user_nvg(player,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[player])
message_begin(MSG_ONE, msgtext, {0,0,0}, player)
write_byte(0)
write_string(HUD)
message_end()
return PLUGIN_HANDLED
}
} else {
console_print(id,"That player is already a predator")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}

//---------------[ADMIN SET PREDATOR FOR TEAM]---------------
public func_adminpredatorteam(id,level,cid)
{
if (!cmd_access(id,level,cid,4))
{
console_print(id, "sorry, ur admin level is too low to use that command")
return PLUGIN_HANDLED
}
new arg[32]
new kin[2]
new pla[10]
read_argv(1,arg,31)
read_argv(2,kin,1)
read_argv(3,pla,9)
new kinf=str_to_num(kin)
new plaf=str_to_num(pla)
if(equali(arg[0],"T") || equali(arg[0],"1"))
{
new team_players[32],nb,i
get_players(team_players,nb,"a")
for(i=0;i<nb;i++)
{
new pid = team_players[i]
if(get_user_team(pid)==1)
{
if(ispredator[pid]==0)
{
if(kinf==1)
{
ispredator[pid]=1
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator1")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==2)
{
ispredator[pid]=2
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator2")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==3)
{
ispredator[pid]=3
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator3")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==4)
{
ispredator[pid]=4
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator4")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
}
}
}
}
if(equali(arg[0],"CT") || equali(arg[0],"2"))
{
new team_players[32],nb,i
get_players(team_players,nb,"a")
for(i=0;i<nb;i++)
{
new pid = team_players[i]
if(get_user_team(pid)==2)
{
if(ispredator[pid]==0)
{
if(kinf==1)
{
ispredator[pid]=1
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator1")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==2)
{
ispredator[pid]=2
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator2")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==3)
{
ispredator[pid]=3
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator3")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==4)
{
ispredator[pid]=4
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator4")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
}
}
}
}
if(equali(arg[0],"ALL") || equali(arg[0],"3"))
{
new team_players[32],nb,i
get_players(team_players,nb,"a")
for(i=0;i<nb;i++)
{
new pid = team_players[i]
if(ispredator[pid]==0)
{
if(kinf==1)
{
ispredator[pid]=1
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator1")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==2)
{
ispredator[pid]=2
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator2")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==3)
{
ispredator[pid]=3
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator3")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
if(kinf==4)
{
ispredator[pid]=4
plasma[pid]=plaf
set_user_health(pid,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(pid,500,CS_ARMOR_VESTHELM)
set_user_gravity(pid,0.5)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(pid,1)
client_cmd(pid,"spk predator/crpredator")
cs_set_user_model(pid,"predator4")
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are now a predator")
cs_set_user_nvg(pid,1)
console_print(id,"Success")
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[pid])
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
}
}
}
return PLUGIN_HANDLED
}

//---------------[ADMIN REMOVE PREDATOR]---------------
public func_adminunpredator(id,level,cid)
{
if (!cmd_access(id,level,cid,2))
{
console_print(id, "sorry, ur admin level is too low to use that command")
return PLUGIN_HANDLED
}

new arg[32]
read_argv(1,arg,31)
new player=cmd_target(id,arg,2)
if(ispredator[player]!=0)
{
ispredator[player]=0
plasma[player]=0
if(get_user_health(player)>100)
{
set_user_health(player,get_user_health(player)-100)
}
cs_set_user_armor(id,0,CS_ARMOR_NONE)
set_user_gravity(player,1.0)
set_user_rendering(player,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
set_user_footsteps(player,0)
set_user_maxspeed(player,250.0)
client_cmd(player,"cl_forwardspeed 400")
client_cmd(player,"cl_backspeed 400")
client_cmd(player,"cl_sidespeed 400")
client_cmd(player,"spk predator/depredator")
cs_reset_user_model(player)
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(player,"You are no longer a predator")
message_begin(MSG_ONE, 98, {0,0,0}, player)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(100) // fade red
write_byte(0) // fade green
write_byte(0) // fade blue
write_byte(0) // fade alpha
message_end()
console_print(id,"Success")
if(view[player]!=0)
{
func_view(player)
}
onoroff[player]=0
cs_set_user_nvg(player,0)
client_cmd(player,"spk predator/smallmedkit2")
new HUD[51]
format(HUD,50,"")
message_begin(MSG_ONE, msgtext, {0,0,0}, player)
write_byte(0)
write_string(HUD)
message_end()

} else {
console_print(id,"That player is not a predator")
}
return PLUGIN_HANDLED
}

//---------------[ADMIN REMOVE PREDATOR FROM TEAM]---------------
public func_adminunpredatorteam(id,level,cid)
{
if (!cmd_access(id,level,cid,2))
{
console_print(id, "sorry, ur admin level is too low to use that command")
return PLUGIN_HANDLED
}
new arg[32]
read_argv(1,arg,31)
if(equali(arg[0],"T") || equali(arg[0],"1"))
{
new team_players[32],nb,i
get_players(team_players,nb,"a")
for(i=0;i<nb;i++)
{
new pid = team_players[i]
if(get_user_team(pid)==1)
{
if(ispredator[pid]!=0)
{
ispredator[pid]=0
plasma[pid]=0
if(get_user_health(pid)>100)
{
set_user_health(pid,get_user_health(pid)-100)
}
cs_set_user_armor(id,0,CS_ARMOR_NONE)
set_user_gravity(pid,1.0)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
set_user_footsteps(pid,0)
set_user_maxspeed(pid,250.0)
client_cmd(pid,"cl_forwardspeed 400")
client_cmd(pid,"cl_backspeed 400")
client_cmd(pid,"cl_sidespeed 400")
client_cmd(pid,"spk predator/depredator")
cs_reset_user_model(pid)
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are no longer a predator")
message_begin(MSG_ONE, 98, {0,0,0}, pid)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(100) // fade red
write_byte(0) // fade green
write_byte(0) // fade blue
write_byte(0) // fade alpha
message_end()
console_print(id,"Success")
if(view[pid]!=0)
{
func_view(pid)
}
onoroff[pid]=0
cs_set_user_nvg(pid,0)
client_cmd(pid,"spk predator/smallmedkit2")
new HUD[51]
format(HUD,50,"")
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
}
}
}
if(equali(arg[0],"CT") || equali(arg[0],"2"))
{
new team_players[32],nb,i
get_players(team_players,nb,"a")
for(i=0;i<nb;i++)
{
new pid = team_players[i]
if(get_user_team(pid)==2)
{
if(ispredator[pid]!=0)
{
ispredator[pid]=0
plasma[pid]=0
if(get_user_health(pid)>100)
{
set_user_health(pid,get_user_health(pid)-100)
}
cs_set_user_armor(id,0,CS_ARMOR_NONE)
set_user_gravity(pid,1.0)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
set_user_footsteps(pid,0)
set_user_maxspeed(pid,250.0)
client_cmd(pid,"cl_forwardspeed 400")
client_cmd(pid,"cl_backspeed 400")
client_cmd(pid,"cl_sidespeed 400")
client_cmd(pid,"spk predator/depredator")
cs_reset_user_model(pid)
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are no longer a predator")
message_begin(MSG_ONE, 98, {0,0,0}, pid)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(100) // fade red
write_byte(0) // fade green
write_byte(0) // fade blue
write_byte(0) // fade alpha
message_end()
console_print(id,"Success")
if(view[pid]!=0)
{
func_view(pid)
}
onoroff[pid]=0
cs_set_user_nvg(pid,0)
client_cmd(pid,"spk predator/smallmedkit2")
new HUD[51]
format(HUD,50,"")
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
}
}
}
if(equali(arg[0],"ALL") || equali(arg[0],"3"))
{
new team_players[32],nb,i
get_players(team_players,nb,"a")
for(i=0;i<nb;i++)
{
new pid = team_players[i]
if(ispredator[pid]!=0)
{
ispredator[pid]=0
plasma[pid]=0
if(get_user_health(pid)>100)
{
set_user_health(pid,get_user_health(pid)-100)
}
cs_set_user_armor(id,0,CS_ARMOR_NONE)
set_user_gravity(pid,1.0)
set_user_rendering(pid,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
set_user_footsteps(pid,0)
set_user_maxspeed(pid,250.0)
client_cmd(pid,"cl_forwardspeed 400")
client_cmd(pid,"cl_backspeed 400")
client_cmd(pid,"cl_sidespeed 400")
client_cmd(pid,"spk predator/depredator")
cs_reset_user_model(pid)
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(pid,"You are no longer a predator")
message_begin(MSG_ONE, 98, {0,0,0}, pid)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(100) // fade red
write_byte(0) // fade green
write_byte(0) // fade blue
write_byte(0) // fade alpha
message_end()
console_print(id,"Success")
if(view[pid]!=0)
{
func_view(pid)
}
onoroff[pid]=0
cs_set_user_nvg(pid,0)
client_cmd(pid,"spk predator/smallmedkit2")
new HUD[51]
format(HUD,50,"")
message_begin(MSG_ONE, msgtext, {0,0,0}, pid)
write_byte(0)
write_string(HUD)
message_end()
}
}
}
return PLUGIN_HANDLED
}

//---------------[START ROUND]---------------
public startround(id)
{
if(ispredator[id]==0)
{
set_user_health(id,100)
set_user_gravity(id,1.0)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
set_user_footsteps(id,0)
onoroff[id]=0
}
if(ispredator[id]==1)
{
plasma[id]=get_cvar_num("admin_plasma_predator")
set_user_health(id,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(id,500,CS_ARMOR_VESTHELM)
set_user_gravity(id,0.5)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(id,1)
cs_set_user_model(id,"predator1")
cs_set_user_nvg(id,1)
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
onoroff[id]=0
}
if(ispredator[id]==2)
{
plasma[id]=get_cvar_num("admin_plasma_predator")
set_user_health(id,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(id,500,CS_ARMOR_VESTHELM)
set_user_gravity(id,0.5)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(id,1)
cs_set_user_model(id,"predator2")
cs_set_user_nvg(id,1)
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
onoroff[id]=0
}
if(ispredator[id]==3)
{
plasma[id]=get_cvar_num("admin_plasma_predator")
set_user_health(id,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(id,500,CS_ARMOR_VESTHELM)
set_user_gravity(id,0.5)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(id,1)
cs_set_user_model(id,"predator3")
cs_set_user_nvg(id,1)
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
onoroff[id]=0
}
if(ispredator[id]==4)
{
plasma[id]=get_cvar_num("admin_plasma_predator")
set_user_health(id,get_cvar_num("admin_hp_predator"))
cs_set_user_armor(id,500,CS_ARMOR_VESTHELM)
set_user_gravity(id,0.5)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,20)
set_user_footsteps(id,1)
cs_set_user_model(id,"predator4")
cs_set_user_nvg(id,1)
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()
onoroff[id]=0
}
if(ispredator[id]==5)
{
ispredator[id]=0
onoroff[id]=0
set_user_health(id,100)
cs_set_user_armor(id,0,CS_ARMOR_VESTHELM)
set_user_gravity(id,1.0)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
set_user_footsteps(id,0)
cs_reset_user_model(id)
func_view(id)
}
if(delay[id]>0)
{
delay[id]= delay[id]-1
}
}


//---------------[PREDATOR SPEED & KNIFE & PLASMACOUNT]---------------
public client_PreThink(id)
{
new clip,ammo
if(ispredator[id]!=0)
{
entity_set_float(id,EV_FL_fuser2,0.0)
set_user_maxspeed(id,475.0)
client_cmd(id,"cl_forwardspeed 475;cl_backspeed 475;cl_sidespeed 475")
if(get_user_weapon(id,clip,ammo)!=CSW_KNIFE && get_user_weapon(id,clip,ammo)!=CSW_C4)
{
client_cmd(id,"weapon_knife")
}
if(get_user_health(id)<101)
{
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,225-(get_user_health(id)*2))
}
}
}

//---------------[PREDATOR POWER]---------------
public func_predatorpower(id)
{
func_screen(id)
new weapon, bodypart, attacker = get_user_attacker(id,weapon,bodypart)
if(ispredator[attacker]!=0 && attacker!=id)
{
new iOrigin[3]
new wpn[32]
get_weaponname(attacker,wpn,31)
new damage
new victimhealth = get_user_health(id)
damage = read_data(2)
if(weapon==CSW_KNIFE)
{
damage = damage*2
}
if (victimhealth - damage<1)
{
user_silentkill(id)
if(ispredator[id]==0)
{
get_user_origin(id,iOrigin)
// Effects
fx_blood_red(iOrigin)
fx_blood_red(iOrigin)
fx_blood_red(iOrigin)
fx_bleed_red(iOrigin)
fx_bleed_red(iOrigin)
fx_headshot_red(iOrigin)
fx_blood_large_red(iOrigin,5)
fx_blood_small_red(iOrigin,15)
fx_trans(id,0)
fx_gib_explode(iOrigin)
// Hide body
iOrigin[2] = iOrigin[2]-20
set_user_origin(id,iOrigin)
}
if(ispredator[id]!=0)
{
get_user_origin(id,iOrigin)
// Effects
fx_blood_green(iOrigin)
fx_blood_green(iOrigin)
fx_blood_green(iOrigin)
fx_bleed_green(iOrigin)
fx_bleed_green(iOrigin)
fx_headshot_green(iOrigin)
fx_blood_large_green(iOrigin,5)
fx_blood_small_green(iOrigin,15)
fx_trans(id,0)
fx_gib_explode(iOrigin)
// Hide body
iOrigin[2] = iOrigin[2]-20
set_user_origin(id,iOrigin)
}
make_deathmsg(attacker,id,bodypart,wpn)
set_user_frags(attacker,get_user_frags(attacker)+get_cvar_num("admin_frags_knife"))
cs_set_user_money(attacker,cs_get_user_money(attacker)+get_cvar_num("admin_kill_money"))
client_cmd(attacker,"spk predator/bc_spithit2")
client_cmd(id,"spk predator/bc_spithit2")
client_cmd(attacker,"spk predator/scpredator")
client_cmd(id,"spk predator/scpredator")
} else {
set_user_health(id, victimhealth-damage)
}
}

return PLUGIN_CONTINUE
}

//---------------[PREDATOR MODEL]---------------
public custom(id,level,cid)
{
new arg[32]
new swi[2]
read_argv(1,arg,31)
read_argv(2,swi,1)
new swit=str_to_num(swi)
new player = cmd_target(id,arg,2)
if(swit==1)
{
cs_set_user_model(player,"predator1")
}
if(swit==2)
{
cs_set_user_model(player,"predator2")
}
if(swit==3)
{
cs_set_user_model(player,"predator3")
}
if(swit==4)
{
cs_set_user_model(player,"predator4")
}
if(swit==0)
{
cs_reset_user_model(player)
}
return PLUGIN_HANDLED
}

//---------------[PLASMA SHOOT]---------------

public cmdShoot(id)
{
if(plasma[id]>0 && ispredator[id]!=0 && ispredator[id]!=5)
{
plasma[id]=plasma[id]-1

new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[id])
message_begin(MSG_ONE, msgtext, {0,0,0}, id)
write_byte(0)
write_string(HUD)
message_end()

new origin[3], Float:fOrigin[3]//player origin... and float origin
new Float:velocity[3] // speed of the entity to move

get_user_origin(id,origin,1)//get user origin - int
IVecFVec(origin, fOrigin)// convert the int into float

new ePlasmaBall = create_entity("info_target") // create the plasma ball
entity_set_string(ePlasmaBall, EV_SZ_classname, "PlasmaBall") //set name of the entity "PlasmaBall"

new Float:posAdjust[3] //Used for adjusting the starting position
velocity_by_aim(id, 70, posAdjust) //You can replace 50 with whatever , get origin of the AIM
fOrigin[0] += posAdjust[0]
fOrigin[1] += posAdjust[1]
fOrigin[2] += posAdjust[2]
entity_set_vector(ePlasmaBall, EV_VEC_origin,fOrigin)//set the shot's direction

new Float:maxs[3] = {0.2,0.2,0.5}
new Float:mins[3] = {-0.2,-0.2,-0.5}
entity_set_size(ePlasmaBall,mins,maxs)//set size
entity_set_int(ePlasmaBall,EV_INT_solid, SOLID_BBOX)//make solid
entity_set_int(ePlasmaBall,EV_INT_movetype,MOVETYPE_FLYMISSILE)//set movetype
entity_set_float(ePlasmaBall,EV_FL_framerate,1.0)//framerate
entity_set_int(ePlasmaBall, EV_INT_rendermode, 5)//randermode
entity_set_float(ePlasmaBall, EV_FL_renderamt, 255.0)//visable
entity_set_float(ePlasmaBall, EV_FL_scale, 1.20)//dunno
entity_set_model(ePlasmaBall, "sprites/plasma.spr")//model
emit_sound(ePlasmaBall, CHAN_AUTO, "predator/plasma_shoot.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)//sound
VelocityByAim(id,1150,velocity)//speed
entity_set_vector(ePlasmaBall,EV_VEC_velocity,velocity)//set the shot's speed
entity_set_edict(ePlasmaBall, EV_ENT_owner, id)

// Create a trail...
/* Broadcast to all players*/
message_begin(MSG_BROADCAST, SVC_TEMPENTITY) // TE_BEAMFOLLOW ( msg #22) create a line of decaying beam segments until entity stops moving
write_byte(22) // msg id
write_short(ePlasmaBall) // short (entity:attachment to follow)
write_short(gTrailModel) // short (sprite index)
write_byte(25) // byte (life in 0.1's)
write_byte(7) // byte (line width in 0.1's)
write_byte(42) // byte (color)
write_byte(170) // byte (color)
write_byte(255) // byte (color)
write_byte(255) // byte (brightness)
message_end()
return PLUGIN_HANDLED
} else {
set_hudmessage(0,30,200,-1.0,0.75,0,3.0,10.0,0.15,0.5,1)
show_hudmessage(id,"You are out of ammo")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}

//---------------[PLASMA HIT]---------------

public plasma_hit(ePlasmaBall,other) {

if(other == 0) {


new Float:fOrigin[3]
new iOrigin[3]
// get origin....
entity_get_vector(ePlasmaBall, EV_VEC_origin, fOrigin)


// changes a Float vector to an interger
FVecIVec(fOrigin, iOrigin)


// this sends out a server message ( from const.h )
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(23) //TE_GLOWSPRITE
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_short(gExplosionModel) // model
write_byte(3) // life 0.x sec
write_byte(12) // size
write_byte(210) // brightness
message_end()

// our explosion sound...
emit_sound(ePlasmaBall, CHAN_AUTO, "predator/explosion.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)

remove_entity(ePlasmaBall) // remove the entity
}
else if(is_user_connected(other)) {

new attacker = entity_get_edict(ePlasmaBall,EV_ENT_owner)
if(get_user_team(other)!=get_user_team(attacker))
{
new bodypart,weapon[32]
new iOriginp[3]
user_silentkill(other)
if(ispredator[other]==0)
{
get_user_origin(other,iOriginp)
// Effects
fx_blood_red(iOriginp)
fx_blood_red(iOriginp)
fx_blood_red(iOriginp)
fx_bleed_red(iOriginp)
fx_bleed_red(iOriginp)
fx_headshot_red(iOriginp)
fx_blood_large_red(iOriginp,10)
fx_blood_small_red(iOriginp,20)
fx_trans(other,0)
fx_gib_explode(iOriginp)
// Hide body
iOriginp[2] = iOriginp[2]-20
set_user_origin(other,iOriginp)
}
if(ispredator[other]!=0)
{
get_user_origin(other,iOriginp)
// Effects
fx_blood_green(iOriginp)
fx_blood_green(iOriginp)
fx_blood_green(iOriginp)
fx_bleed_green(iOriginp)
fx_bleed_green(iOriginp)
fx_headshot_green(iOriginp)
fx_blood_large_green(iOriginp,10)
fx_blood_small_green(iOriginp,20)
fx_trans(other,0)
fx_gib_explode(iOriginp)
// Hide body
iOriginp[2] = iOriginp[2]-20
set_user_origin(other,iOriginp)
}
make_deathmsg(attacker,other,bodypart,weapon)
set_user_frags (attacker,get_user_frags(attacker)+get_cvar_num("admin_frags_plasma"))
cs_set_user_money(attacker,cs_get_user_money(attacker)+get_cvar_num("admin_kill_money"))

new Float:fOrigin[3]
new iOrigin[3]
// get origin....
entity_get_vector(ePlasmaBall, EV_VEC_origin, fOrigin)


// changes a Float vector to an interger
FVecIVec(fOrigin, iOrigin)


// this sends out a server message ( from const.h )
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(23) //TE_GLOWSPRITE
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_short(gExplosionModel) // model
write_byte(3) // life 0.x sec
write_byte(12) // size
write_byte(210) // brightness
message_end()

// our explosion sound...
emit_sound(ePlasmaBall, CHAN_AUTO, "predator/explosion.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
client_cmd(other,"spk predator/bc_spithit2")
client_cmd(attacker,"spk predator/bc_spithit2")

remove_entity(ePlasmaBall)
} else {
new Float:fOrigin[3]
new iOrigin[3]
// get origin....
entity_get_vector(ePlasmaBall, EV_VEC_origin, fOrigin)


// changes a Float vector to an interger
FVecIVec(fOrigin, iOrigin)


// this sends out a server message ( from const.h )
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(23) //TE_GLOWSPRITE
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_short(gExplosionModel) // model
write_byte(3) // life 0.x sec
write_byte(12) // size
write_byte(210) // brightness
message_end()

// our explosion sound...
emit_sound(ePlasmaBall, CHAN_AUTO, "predator/explosion.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
remove_entity(ePlasmaBall)
}
} else {
new Float:fOrigin[3]
new iOrigin[3]
// get origin....
entity_get_vector(ePlasmaBall, EV_VEC_origin, fOrigin)


// changes a Float vector to an interger
FVecIVec(fOrigin, iOrigin)


// this sends out a server message ( from const.h )
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(23) //TE_GLOWSPRITE
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_short(gExplosionModel) // model
write_byte(3) // life 0.x sec
write_byte(12) // size
write_byte(210) // brightness
message_end()

// our explosion sound...
emit_sound(ePlasmaBall, CHAN_AUTO, "predator/explosion.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)

remove_entity(ePlasmaBall) // remove the entity
}
}

public func_addplasma(id,level,cid)
{
if (!cmd_access(id,level,cid,3))
{
console_print(id, "sorry, ur admin level is too low to use that command")
return PLUGIN_HANDLED
}

new arg[32]
new am[10]
read_argv(1,arg,31)
read_argv(2,am,9)
new amf=str_to_num(am)
new player = cmd_target(id,arg,2)
if(ispredator[player]!=0 && ispredator[player]!=5)
{
plasma[player]=plasma[player]+amf
new HUD[51]
format(HUD,50,"You got %i Plasma shots left.",plasma[player])
message_begin(MSG_ONE, msgtext, {0,0,0}, player)
write_byte(0)
write_string(HUD)
message_end()
}
return PLUGIN_HANDLED
}

//---------------[PUBLIC ON CONNECT FUNCTION]---------------
public client_disconnect(id)
{
ispredator[id]=0
plasma[id]=0
onoroff[id]=0
}

//---------------[PREDATOR BLUE SCREEN EVERY NEW ROUND]---------------
public func_screen(id)
{
if(is_user_alive(id))
{
if(view[id]==1 && ispredator[id]!=0)
{
onoroff[id]=1
client_cmd(id,"spk predator/suitchargeno1")
message_begin(MSG_ONE, 98, {0,0,0}, id)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(0) // fade red
write_byte(0) // fade green
write_byte(255) // fade blue
write_byte(130) // fade alpha
message_end()
}
if(view[id]==2 && ispredator[id]!=0)
{
onoroff[id]=2
client_cmd(id,"spk predator/suitchargeno1")
message_begin(MSG_ONE, 98, {0,0,0}, id)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(25) // fade red
write_byte(25) // fade green
write_byte(25) // fade blue
write_byte(210) // fade alpha
message_end()
}
}
}

//---------------[PREDATOR CLAWS]---------------

public toggleclaws(id)
{
new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
new model[32]
entity_get_string(id,EV_SZ_viewmodel,model,31)
if(ispredator[id]!=0 && !equali(model,"models/claws.mdl") && !equali(model,"models/v_c4.mdl"))
{
entity_set_string(id, EV_SZ_viewmodel,"models/claws.mdl")
}
if(ispredator[id]==0 && wpnid == CSW_KNIFE && !equali(model,"models/v_knife.mdl"))
{
entity_set_string(id, EV_SZ_viewmodel,"models/v_knife.mdl")
}
}

//---------------[PREDATOR VIEW]---------------
public func_view(id)
{
if(ispredator[id]!=0 && ispredator[id]!=5)
{
if(view[id]==0)
{
view[id]=1
onoroff[id]=1
client_cmd(id,"spk predator/suitchargeno1")
console_print(id,"view is normal with mask")
message_begin(MSG_ONE, 98, {0,0,0},id)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(0) // fade red
write_byte(0) // fade green
write_byte(255) // fade blue
write_byte(120) // fade alpha
message_end()
return PLUGIN_HANDLED
}
if(view[id]==1)
{
view[id]=2
onoroff[id]=2
client_cmd(id,"spk predator/suitchargeno1")
console_print(id,"predator view mode")
message_begin(MSG_ONE, 98, {0,0,0},id)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(25) // fade red
write_byte(25) // fade green
write_byte(25) // fade blue
write_byte(210) // fade alpha
message_end()
return PLUGIN_HANDLED
}
if(view[id]==2)
{
view[id]=3
client_cmd(id,"spk predator/smallmedkit2")
console_print(id,"view is 3d person mode")
set_view(id,CAMERA_3RDPERSON)
onoroff[id]=0
message_begin(MSG_ONE, 98, {0,0,0},id)
write_short(1<<0) // fade lasts this long duration
write_short(1<<0) // fade lasts this long hold time
write_short(1<<2) // fade type HOLD
write_byte(0) // fade red
write_byte(0) // fade green
write_byte(0) // fade blue
write_byte(0) // fade alpha
message_end()
return PLUGIN_HANDLED
}
if(view[id]==3)
{
view[id]=4
client_cmd(id,"spk predator/button3")
console_print(id,"view is strategy")
set_view(id,CAMERA_TOPDOWN)
return PLUGIN_HANDLED
}
if(view[id]==4)
{
view[id]=0
client_cmd(id,"spk predator/button3")
console_print(id,"view is normal")
set_view(id,CAMERA_NONE)
return PLUGIN_HANDLED
}

}
if(ispredator[id]==0 && view[id]!=0)
{
set_view(id,CAMERA_NONE)
view[id]=0
onoroff[id]=0
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha,255)
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}

//================================================================================
=======
//=====================================[BLOOD STUFF]=====================================
//================================================================================
=======

//---------------[MAKE MODEL INVISABLE IN EXPLOTION]---------------
static fx_trans(player,amount)
{
set_user_rendering(player,kRenderFxNone,0,0,0,kRenderTransAlpha,amount)
return PLUGIN_CONTINUE
}

//---------------[BLOOD EVERY HIT (HUAMN)]---------------
public fx_blood_red(origin[3]) //hit blood human
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(115) //TE_BLOODSPRITE in const.h
write_coord(origin[0]+random_num(-20,20))
write_coord(origin[1]+random_num(-20,20))
write_coord(origin[2]+random_num(-20,20))
write_short(blood_spray)
write_short(blood_drop)
write_byte(248) // color index
write_byte(15) // size
message_end()
}

//---------------[BLOOD EVERY HIT (PREDATOR)]---------------
public fx_blood_green(origin[3]) //hit blood predator
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(115) //TE_BLOODSPRITE in const.h
write_coord(origin[0]+random_num(-20,20))
write_coord(origin[1]+random_num(-20,20))
write_coord(origin[2]+random_num(-20,20))
write_short(blood_spray)
write_short(blood_drop)
write_byte(192) // color index
write_byte(15) // size
message_end()
}

//---------------[DIEING BLEEDING HUMAN]---------------
public fx_bleed_red(origin[3]) //blood sprays on low hp
{
// Blood spray
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(101)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+10)
write_coord(random_num(-100,100)) // x
write_coord(random_num(-100,100)) // y
write_coord(random_num(-10,10)) // z
write_byte(70) // color
write_byte(random_num(50,100)) // speed
message_end()
}

//---------------[DIEING BLEEDING PREDATOR]---------------
public fx_bleed_green(origin[3]) //blood sprays on low hp green
{
// Blood spray
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(101)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+10)
write_coord(random_num(-100,100)) // x
write_coord(random_num(-100,100)) // y
write_coord(random_num(-10,10)) // z
write_byte(192) // color
write_byte(random_num(50,100)) // speed
message_end()
}

//---------------[HEADSHOT BLOOD HUMAN]---------------
public fx_headshot_red(origin[3])
{
// Blood spray, 5 times
for (new i = 0; i < 5; i++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(101)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+30)
write_coord(random_num(-20,20)) // x
write_coord(random_num(-20,20)) // y
write_coord(random_num(50,300)) // z
write_byte(70) // color
write_byte(random_num(100,200)) // speed
message_end()
}
}

//---------------[HEADSHOT BLOOD PREDATOR]---------------
public fx_headshot_green(origin[3])
{
// Blood spray, 8 times
for (new i = 0; i < 8; i++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(101)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+30)
write_coord(random_num(-20,20)) // x
write_coord(random_num(-20,20)) // y
write_coord(random_num(50,300)) // z
write_byte(192) // color
write_byte(random_num(100,200)) // speed
message_end()
}
}

//---------------[BLOOD DECALS SMALL RED]---------------
static fx_blood_small_red(origin[3],num) //red blood decals [small]
{
// Blood decals
static const blood_small[7] = {190,191,192,193,194,195,197}
// Small splash
for (new j = 0; j < num; j++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(116) //TE_WORLDDECAL from const.h
write_coord(origin[0]+random_num(-100,100))
write_coord(origin[1]+random_num(-100,100))
write_coord(origin[2]-36)
write_byte(blood_small[random_num(0,6)]) // index
message_end()
}
}

//---------------[BLOOD DECALS BIG RED]---------------
static fx_blood_large_red(origin[3],num) //red blood decals [ big]
{
// Blood decals
static const blood_large[2] = {204,205}

// Large splash
for (new i = 0; i < num; i++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(116) //TE_WORLDDECAL from const.h
write_coord(origin[0]+random_num(-50,50))
write_coord(origin[1]+random_num(-50,50))
write_coord(origin[2]-36)
write_byte(blood_large[random_num(0,1)]) // index
message_end()
}
}

//---------------[BLOOD DECALS SMALL GREEN]---------------
static fx_blood_small_green(origin[3],num) //green blood decals [small]
{
// Blood decals
static const blood_small[6] = {3,4,5,6,7,8}
// Small splash
for (new j = 0; j < num; j++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(116) //TE_WORLDDECAL from const.h
write_coord(origin[0]+random_num(-65,65))
write_coord(origin[1]+random_num(-65,65))
write_coord(origin[2]-36)
write_byte(blood_small[random_num(0,5)]) // index
message_end()
}
}

//---------------[BLOOD DECALS BIG GREEN]---------------
static fx_blood_large_green(origin[3],num) //green blood decals [ big]
{
// Blood decals
static const blood_large[2] = {26,27}

// Large splash
for (new i = 0; i < num; i++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(116) //TE_WORLDDECAL from const.h
write_coord(origin[0]+random_num(-45,45))
write_coord(origin[1]+random_num(-45,45))
write_coord(origin[2]-36)
write_byte(blood_large[random_num(0,1)]) // index
message_end()
}
}

//---------------[GRANADE EXPLOTION BODYPARTS MODELS]---------------
static fx_gib_explode(origin[3])
{
new flesh[3]
flesh[0] = mdl_gib_flesh
flesh[1] = mdl_gib_meat
flesh[2] = mdl_gib_legbone

// Gib explosion
// Head
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(106) //TR_MODEL
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(random_num(-100,100))
write_coord(random_num(-100,100))
write_coord(random_num(100,200))
write_angle(random_num(0,360))
write_short(mdl_gib_head)
write_byte(0) // bounce
write_byte(500) // life
message_end()

// Spine
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(106)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(random_num(-100,100))
write_coord(random_num(-100,100))
write_coord(random_num(100,200))
write_angle(random_num(0,360))
write_short(mdl_gib_spine)
write_byte(0) // bounce
write_byte(500) // life
message_end()

// Lung
for(new i = 0; i < random_num(1,2); i++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(106)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(random_num(-100,100))
write_coord(random_num(-100,100))
write_coord(random_num(100,200))
write_angle(random_num(0,360))
write_short(mdl_gib_lung)
write_byte(0) // bounce
write_byte(500) // life
message_end()
}

// Parts, 5 times
for(new i = 0; i < 5; i++) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(106)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(random_num(-100,100))
write_coord(random_num(-100,100))
write_coord(random_num(100,200))
write_angle(random_num(0,360))
write_short(flesh[random_num(0,2)])
write_byte(0) // bounce
write_byte(500) // life
message_end()
}
}

//===========================================[FUNCTIONS]==========================
=================

//---------------[PLAYER HIT BLOOD]---------------
public dmg_blood()
{
new id=read_data(0)
if(is_user_alive(id))
{
new origin[3]
get_user_origin(id,origin)
if(ispredator[id]==0)
{
fx_blood_red(origin)
fx_blood_small_red(origin,3)
}
if(ispredator[id]!=0)
{
fx_blood_green(origin)
fx_blood_small_green(origin,3)
}
}
}

//---------------[PLAYER BLEED ON LOW HP]---------------
public lowhp_blood()
{
new iPlayer, iPlayers[32], iNumPlayers, iOrigin[3]
get_players(iPlayers,iNumPlayers,"a")
for (new i = 0; i < iNumPlayers; i++)
{
iPlayer = iPlayers[i]
if(get_user_health(iPlayer)< 20)
{
if (ispredator[iPlayer]==0)
{
get_user_origin(iPlayer,iOrigin)
fx_bleed_red(iOrigin)
fx_blood_small_red(iOrigin,5)
}
if (ispredator[iPlayer]!=0)
{
get_user_origin(iPlayer,iOrigin)
fx_bleed_green(iOrigin)
fx_blood_small_green(iOrigin,5)
}
}
}
}

//---------------[DEATH BLOOD EFFECTS (HEADSHOT/GRANADE EXPLOTION)]---------------
public death_blood()
{
new iOrigin[3]
new sWeapon[32]
new id = read_data(2)
new iHeadshot = read_data(3)

read_data(4,sWeapon,31)

if (iHeadshot)
{
if(ispredator[id]==0)
{
get_user_origin(id,iOrigin)
fx_headshot_red(iOrigin)
fx_blood_large_red(iOrigin,2)
fx_blood_small_red(iOrigin,5)
}
if(ispredator[id]!=0)
{
get_user_origin(id,iOrigin)
fx_headshot_green(iOrigin)
fx_blood_large_green(iOrigin,2)
fx_blood_small_green(iOrigin,5)
}
}
else if (equal(sWeapon,"grenade"))
{
if(ispredator[id]==0)
{
get_user_origin(id,iOrigin)
// Effects
fx_blood_red(iOrigin)
fx_blood_red(iOrigin)
fx_blood_red(iOrigin)
fx_bleed_red(iOrigin)
fx_bleed_red(iOrigin)
fx_headshot_red(iOrigin)
fx_trans(id,0)
fx_gib_explode(iOrigin)
fx_blood_large_red(iOrigin,10)
fx_blood_small_red(iOrigin,25)
// Hide body
iOrigin[2] = iOrigin[2]-20
set_user_origin(id,iOrigin)
}
if(ispredator[id]!=0)
{
get_user_origin(id,iOrigin)
// Effects
fx_blood_green(iOrigin)
fx_blood_green(iOrigin)
fx_blood_green(iOrigin)
fx_bleed_green(iOrigin)
fx_bleed_green(iOrigin)
fx_headshot_green(iOrigin)
fx_trans(id,0)
fx_gib_explode(iOrigin)
fx_blood_large_green(iOrigin,10)
fx_blood_small_green(iOrigin,25)
// Hide body
iOrigin[2] = iOrigin[2]-20
set_user_origin(id,iOrigin)
}
}
if(ispredator[id]==0)
{
fx_blood_small_red(iOrigin,12)
fx_blood_large_red(iOrigin,5)
}
if(ispredator[id]!=0)
{
fx_blood_small_green(iOrigin,12)
fx_blood_large_green(iOrigin,5)
}
}

//---------------[AUTO BIND SYSTEM]---------------

public func_autobind(id)
{
client_cmd(id,"bind p pcview")
client_cmd(id,"bind mouse3 ppfire")
console_print(id,"Key Defaults are bound. ENJOY!")
return PLUGIN_HANDLED
}

//---------------[BODY HEAT SYSTEM CONNECT]---------------
public client_connect(id)
{
onoroff[id] = 0
ispredator[id]=0
plasma[id]=0
}

//---------------[BODY HEAT AND LIGHTSIGHT SYSTEM]---------------
public func_bodyheat()
{
new players[32]
new pnum,origin[3]
new idheat,id
get_players(players,pnum,"a")
for (new i = 0; i < pnum; i++)
{
id = players[i]
if(ispredator[id]!=0 && ispredator[id]!=5)
{
if (onoroff[id]==1 && is_user_alive(id))
{
for (new j = 0; j < pnum; j++)
{
idheat = players[j]
if (idheat != id && ispredator[idheat]==0 && is_user_alive(idheat))
{
get_user_origin(idheat,origin,0)
message_begin(MSG_ONE,SVC_TEMPENTITY,origin,id)
write_byte(21)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+30)
write_short(gTrailModel)
write_byte(0)
write_byte(1)
write_byte(6)
write_byte(60)
write_byte(1)
write_byte(250) // red
write_byte(60) // green
write_byte(0) // blue
write_byte(255) //brightness
write_byte(0)
message_end()
}
}
}
if (onoroff[id]==2 && is_user_alive(id))
{
for (new j = 0; j < pnum; j++)
{
idheat = players[j]
if (idheat != id && ispredator[idheat]!=0 && is_user_alive(idheat))
{
get_user_origin(idheat,origin,0)
message_begin(MSG_ONE,SVC_TEMPENTITY,origin,id)
write_byte(21)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2]+30)
write_short(gTrailModel)
write_byte(0)
write_byte(1)
write_byte(6)
write_byte(60)
write_byte(1)
write_byte(255) // red
write_byte(255) // green
write_byte(255) // blue
write_byte(255) //brightness
write_byte(0)
message_end()
}
}
}
}
}
}

//================================================================================
=======
//======================================[Info Area]======================================
//================================================================================
=======

//---------------[Predator Help]---------------
public func_predhelp(id)
{
show_motd(id,"/addons/amxmodx/plugins/predhelp.txt","Predator Help")
}

//---------------[Predator Cost Check]---------------
public func_predcost(id)
{
new msg[101]
format(msg,100,"^x01You need ^x04%d frags ^x01 and ^x04%d money ^x01 to be a predator.",get_cvar_num("admin_frags_predator"),get_cvar_num("admin_money_predator"))
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string(msg)
message_end()
}

//---------------[Predator Frags Check]---------------
public func_predfrags(id)
{
new msg[101]
format(msg,100,"^x01You get ^x04%d ^x01 frags for ^x03 Knife ^x01 and ^x04%d ^x01 frags for ^x03 Plasma.",get_cvar_num("admin_frags_knife"),get_cvar_num("admin_frags_plasma"))
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string(msg)
message_end()
}

//---------------[Predator Money Check]---------------
public func_predmoney(id)
{
new msg[101]
format(msg,100,"^x01You get ^x04%d ^x01 money for each kill.",get_cvar_num("admin_kill_money"))
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string(msg)
message_end()
}

//---------------[Predator On or Off check]---------------
public func_predon(id)
{
new msg[101]
if(get_cvar_num("admin_enable_predator")==1)
{
format(msg,100,"^x01Predator Mode is ^x03 On.")
}
if(get_cvar_num("admin_enable_predator")==0)
{
format(msg,100,"^x01Predator Mode is ^x03 Off.")
}
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string(msg)
message_end()
}

//---------------[Predator Everyone mode on or off check]---------------
public func_predeveryone(id)
{
new msg[101]
if(get_cvar_num("admin_everyone_predator")==1)
{
format(msg,100,"^x01Predator Everyone Mode is ^x03 On.")
}
if(get_cvar_num("admin_everyone_predator")==0)
{
format(msg,100,"^x01Predator Everyone Mode is ^x03 Off.")
}
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string(msg)
message_end()
}




В 1 пост не влезло.

Call of Duty mod


Call of Duty Mod
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <nvault>


#define PLUGIN "Call of Duty: MW Mod"
#define VERSION "1.0"
#define AUTHOR "QTM_Peyote,johnC,GranTorino"

#define STANDARD_FAST 250.0

#define TASK_SHOW_INFORMATION 672
#define TASK_RAISE 704
#define TASK_TRAINING_SANITARY 736
#define TASK_SHOW_ADVERTISEMENT 768
#define TASK_SET_FAST 832

//#define BOT 1

new SyncHudObj;
new SyncHudObj2;
new SyncHudObj3;
new g_msg_screenfade;

new sprite_white;
new sprite_blast;

new g_vault;

new podkladajacy;
new disarming;

new experience_for_murder;
new experience_for_bomb;

new Clothing_CT[4][]={"sas","gsg9","urban","gign"};
new Clothing_Terro[4][]={"arctic","leet","guerilla","terror"};

new const maxAmmo[31]={0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,3
2,90,120,90,2,35,90,90,0,100};
new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };

new information_item_player[33][2];
new const names_objects[][] =
{
"Нету",
"Assault Boots", //1
"Double Vest", //2
"Reinforced Vest", //3
"Veteran Knife", //4
"Surprise Enemy", //5
"Ninja Cloak", //6
"Morphine", //7
"Commando Knife", //8
"Spy Glasses",
"Mystery Grenade",
"Ninja Feet", //11
"Secret Military", //12
"AWP Sniper",//13
"Adrenaline",//14
"Mystery Rambo",//15
"Training Sanitary",//16
"NASA Vest",//17
"Trained Veteran",//18
"First Aid Kit",//19
"Recoil Eliminator",//20
"Titanium Cartridges",//21
"Colonel Cartridges",//22
"Recoil Limiter",//23
"SWAT Shield",//24
"Trained Recruit",//25
"Relective Armour",//26
"Captain's Notes",//27
"Jet Module"

};

new const descriptions_objects[][] = {"Kill someone to get an item",
"Run silently",
"Уменьшает урон",
"Уменьшает урон",
"Удар с ножа сильнее",
"Атака с зади в 2x сильнее",
"Делает Вас частично невидимым",
"1/3 шанс возрождения, когда вас убили",
"Мнгновенно убивает с ножа",
"У тебя есть 1/3 шанс мгновенно убить Его. Ты выглядишь как враг",
"Мнгновенно убивает людей с гранаты",
"Вы можете сделать двойной прыжок в воздухе",
"Ваши травмы сократилось на 1/3. У вас есть 1/3 шанс ослепления противника",
"Мнгновенно убить АВП",
"За каждый фраг, вы получите +50 HP",
"За каждый фраг, вы получите всю обойму и +20 HP",
"Получить 10 hp каждые 3 секунды",
"+500 Броня",
"Вы получаете 100 hp каждый раунд, работать медленнее",
"Нажмите-E, чтобы получить HP",
"Нет отдачи",
"+15 Ущерб",
"+25 Ущерб",
"Ваша отдача меньше",
"Способности не работают против вас.",
"Вы получите +50 HP в каждом раунде, и ваш бег медленный",
"1/3 шанс рефлекс урон",
"Вы устойчивы к трех выстрелов в каждом раунде",
"Нажмите CTRL + пробел, для Longjump'а, модуль загружает каждые 4 секунды"
};

new g_szAuthID[33][34];
new class_player[33];
new level_player[33] = 1;
new experience_player[33];

new nowa_class_player[33];

new const experience_level[] =
{
0,35,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,1011
5,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,
3
3635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,677
6
0,70875,
74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,1177
40,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,
1
71500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,2296
3
5,235340,241115,246960,252875,258860,
264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336
140,343035,350000,357035,364140
};

new punkty_player[33];
new zdrowie_player[33];
new inteligencja_player[33];
new wytrzymalosc_player[33];
new Float:redukcja_obrazen_player[33];
new kondycja_player[33];
new maksymalne_zdrowie_player[33];
new Float:fast_player[33];

new bool:gracz_resetuje[33];

enum { NONE = 0, Sniper, Commando, Sharpshooter, Protector, Medic, FireSupport, Sapper, Demolitions, Rusher, Rambo };
new const zdrowie_klasy[] = { 0, 120, 130, 110, 250, 150, 100, 100, 130, 100, 130};
new const Float:fast_klasy[] = {0.0, 1.2, 1.35, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.45 , 1.15};
new const pancerz_klasy[] = { 0, 100, 100, 100, 200, 100, 0, 100, 100, 0, 150};
new const names_klas[][] = {"Нету",
"Снайпер",
"Коммандо",
"Стрелок",
"Защитник",
"Медик",
"Огневая поддержка",
"Сапер",
"Подрывник",
"Рушитель",
"Рэмбо"
};

new const descriptions_klas[][] = {"None",
"AWP, Deagle и Scout, 120hp. 1/3 Убить с ножа. 110 Скорости, 100 Брони.",
"Deagle, 130hp. Убивает с ножа (Правая кнопка), 135 Скорости, 100 Брони",
"AK47, M4A1 и 110hp. 80 Скорости, 100 Брони",
"M249, 250hp и все гранаты, Иммунитет к минам, 200 Брони",
"UMP45, 150hp. Аптечка [E], 100 Брони",
"MP5, 100 hp, Две ракеты [E], Дополнительные хитов за урон",
"P90, 100hp, 3 мины, 100 Брони",
"AUG, 130 hp, Все гранаты, Динамит , 100 Брони",
"M3, 100 hp, 145 Скорости",
" Famas, 130 hp, 120 Скорости, 20 HP за убийство, Двойной прыжок, 100 Брони"
};

new ilosc_apteczek_player[33];
new ilosc_rakiet_player[33];
new Float:poprzednia_rakieta_player[33];
new ilosc_min_player[33];
new ilosc_dynamitow_player[33];
new ilosc_skokow_player[33];

new bool:freezetime = true;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

g_vault = nvault_open("CodMod");

register_think("FirstAidKit","FirstAidKitThink");

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);


register_forward(FM_CmdStart, "CmdStart");
register_forward(FM_EmitSound, "EmitSound");

register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");

register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
register_event("BarTime", "RozbrajaBomb", "be", "1=10", "1=5");
register_event("DeathMsg", "Death", "ade");
register_event("Damage", "Damage", "b", "2!=0");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");

register_touch("Rocket", "*" , "DotykRakiety");
register_touch("Mine", "player", "DotykMiny");

register_cvar("cod_killxp", "50");
register_cvar("cod_bombxp", "100");

register_clcmd("say /class", "WybierzKlase");
register_clcmd("say /classinfo", "DescriptionKlasy");
register_clcmd("say /item", "DescriptionItem");
register_clcmd("say /drop", "WyrzucPrzedmiot");
register_clcmd("say /reset", "KomendaResetujPunkty");
register_clcmd("say /help", "userhelp", 0, " - Help Motd ");
register_clcmd("say /save","ZapiszDane")
register_clcmd("fullupdate", "CommandBlock");
register_clcmd("cl_autobuy", "CommandBlock");
register_clcmd("cl_rebuy", "CommandBlock");
register_clcmd("cl_setautobuy","CommandBlock");
register_clcmd("rebuy", "CommandBlock");
register_clcmd("autobuy", "CommandBlock");
register_clcmd("glock", "CommandBlock");
register_clcmd("usp", "CommandBlock");
register_clcmd("p228", "CommandBlock");
register_clcmd("deagle", "CommandBlock");
register_clcmd("elites", "CommandBlock");
register_clcmd("fn57", "CommandBlock");
register_clcmd("m3", "CommandBlock");
register_clcmd("autoshotgun", "CommandBlock");
register_clcmd("mac10", "CommandBlock");
register_clcmd("tmp", "CommandBlock");
register_clcmd("mp5", "CommandBlock");
register_clcmd("ump45", "CommandBlock");
register_clcmd("p90", "CommandBlock");
register_clcmd("galil", "CommandBlock");
register_clcmd("ak47", "CommandBlock");
register_clcmd("scout", "CommandBlock");
register_clcmd("sg552", "CommandBlock");
register_clcmd("awp", "CommandBlock");
register_clcmd("g3sg1", "CommandBlock");
register_clcmd("famas", "CommandBlock");
register_clcmd("m4a1", "CommandBlock");
register_clcmd("bullpup", "CommandBlock");
register_clcmd("sg550", "CommandBlock");
register_clcmd("m249", "CommandBlock");
register_clcmd("shield", "CommandBlock");
register_clcmd("hegren", "CommandBlock");
register_clcmd("sgren", "CommandBlock");
register_clcmd("flash", "CommandBlock");
register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");

g_msg_screenfade = get_user_msgid("ScreenFade");
SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
SyncHudObj3 = CreateHudSyncObj();
experience_for_murder = get_cvar_num("cod_killxp");
experience_for_bomb = get_cvar_num("cod_bombxp");

set_task(60.0, "Pomoc");
}

public plugin_cfg()
{
server_cmd("sv_maxspeed 1600");
}

public plugin_precache()
{
sprite_white = precache_model("sprites/white.spr") ;
sprite_blast = precache_model("sprites/dexplo.spr");

precache_sound("MW/select.wav");
precache_sound("MW/start.wav");
precache_sound("MW/start2.wav");
precache_sound("MW/levelup.wav");

precache_model("models/w_medkit.mdl");
precache_model("models/rpgrocket.mdl");
precache_model("models/mine.mdl");
}

public CmdStart(id, uc_handle)
{
if(!is_user_alive(id))
return FMRES_IGNORED;

new button = get_uc(uc_handle, UC_Buttons);
new oldbutton = get_user_oldbutton(id);
new flags = get_entity_flags(id);

if(information_item_player[id][0] == 11 || class_player[id] == Rambo)
{
if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_player[id] > 0)
{
ilosc_skokow_player[id]--;
new Float:velocity[3];
entity_get_vector(id,EV_VEC_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
entity_set_vector(id,EV_VEC_velocity,velocity);
}
else if(flags & FL_ONGROUND)
{
ilosc_skokow_player[id] = 0;
if(information_item_player[id][0] == 11)
ilosc_skokow_player[id]++;
if(class_player[id] == Rambo)
ilosc_skokow_player[id]++;
}
}

if(button & IN_ATTACK)
{
new Float:punchangle[3];

if(information_item_player[id][0] == 20)
entity_set_vector(id, EV_VEC_punchangle, punchangle);
if(information_item_player[id][0] == 23)
{
entity_get_vector(id, EV_VEC_punchangle, punchangle);
for(new i=0; i<3;i++)
punchangle[i]*=0.9;
entity_set_vector(id, EV_VEC_punchangle, punchangle);
}
}

if(information_item_player[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > information_item_player[id][1]+4.0)
{
information_item_player[id][1] = floatround(get_gametime());
new Float:velocity[3];
VelocityByAim(id, 700, velocity);
velocity[2] = random_float(265.0,285.0);
entity_set_vector(id, EV_VEC_velocity, velocity);
}


return FMRES_IGNORED;
}

public Odrodzenie(id)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;

if(nowa_class_player[id])
{
class_player[id] = nowa_class_player[id];
nowa_class_player[id] = 0;
strip_user_weapons(id);
give_item(id, "weapon_knife");
switch(get_user_team(id))
{
case 1: give_item(id, "weapon_glock18");
case 2: give_item(id, "weapon_usp");
}
WczytajDane(id, class_player[id]);
}

if(!class_player[id])
{
WybierzKlase(id);
return PLUGIN_CONTINUE;
}

switch(class_player[id])
{
case Sniper:
{
give_item(id, "weapon_awp");
give_item(id, "weapon_scout");
give_item(id, "weapon_deagle");
}
case Commando:
{
give_item(id, "weapon_deagle");
}
case Sharpshooter:
{
give_item(id, "weapon_m4a1");
give_item(id, "weapon_ak47");
}
case Protector:
{
give_item(id, "weapon_m249");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
case Medic:
{
give_item(id, "weapon_ump45");
ilosc_apteczek_player[id] = 2;
}
case FireSupport:
{
give_item(id, "weapon_mp5navy");
ilosc_rakiet_player[id] = 2;
}
case Sapper:
{
give_item(id, "weapon_p90");
ilosc_min_player[id] = 3;
}
case Demolitions:
{
give_item(id, "weapon_aug");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
ilosc_dynamitow_player[id] = 1;
}
case Rusher:
{
give_item(id, "weapon_m3");
}
case Rambo:
{
give_item(id, "weapon_famas");
}
}

if(gracz_resetuje[id])
{
ResetujPunkty(id);
gracz_resetuje[id] = false;
}

if(punkty_player[id]>0)
PrzydzielPunkty(id);

if(information_item_player[id][0] == 10 || information_item_player[id][0] == 9)
give_item(id, "weapon_hegrenade");

if(information_item_player[id][0] == 9)
ZmienUbranie(id, 0);

if(information_item_player[id][0] == 1)
set_user_footsteps(id, 1);
else
set_user_footsteps(id, 0);

if(information_item_player[id][0] == 13)
give_item(id, "weapon_awp");

if(information_item_player[id][0] == 19)
information_item_player[id][1] = 1;

if(information_item_player[id][0] == 27)
information_item_player[id][1] = 3;

new weapons[32];
new weaponsnum;
get_user_weapons(id, weapons, weaponsnum);
for(new i=0; i<weaponsnum; i++)
if(is_user_alive(id))
if(maxAmmo[weapons[i]] > 0)
cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);

redukcja_obrazen_player[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_player[id])))/100);
maksymalne_zdrowie_player[id] = zdrowie_klasy[class_player[id]]+zdrowie_player[id]*2;
fast_player[id] = STANDARD_FAST*fast_klasy[class_player[id]]+floatround(kondycja_player[id]*1.3);

if(information_item_player[id][0] == 18)
{
maksymalne_zdrowie_player[id] += 100;
fast_player[id] -= 0.4;
}

if(information_item_player[id][0] == 25)
{
maksymalne_zdrowie_player[id] += 50;
fast_player[id] -= 0.3;
}

set_user_armor(id, pancerz_klasy[class_player[id]]);
set_user_health(id, maksymalne_zdrowie_player[id]);
if(information_item_player[id][0] == 17)
set_user_armor(id, 500);

return PLUGIN_CONTINUE;
}

public PoczatekRundy()
{
freezetime = false;
for(new id=0;id<=32;id++)
{
if(!is_user_alive(id))
continue;

set_task(0.1, "SetFast", id+TASK_SET_FAST);

switch(get_user_team(id))
{
case 1: client_cmd(id, "spk MW/start");
case 2: client_cmd(id, "spk MW/start2");
}
}
}

public NowaRunda()
{
freezetime = true;
new iEnt = find_ent_by_class(-1, "Mine");
while(iEnt > 0)
{
remove_entity(iEnt);
iEnt = find_ent_by_class(iEnt, "Mine");
}
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_alive(this) || !is_user_connected(this) || information_item_player[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !class_player[idattacker])
return HAM_IGNORED;

new health = get_user_health(this);
new weapon = get_user_weapon(idattacker);

if(health < 2)
return HAM_IGNORED;

if(information_item_player[this][0] == 27 && information_item_player[this][1]>0)
{
information_item_player[this][1]--;
return HAM_SUPERCEDE;
}

if(wytrzymalosc_player[this]>0)
damage -= redukcja_obrazen_player[this]*damage;

if(information_item_player[this][0] == 2 || information_item_player[this][0] == 3)
damage-=(float(information_item_player[this][1])<damage)? float(information_item_player[this][1]): damage;

if(information_item_player[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
damage*=2.0;

if(information_item_player[idattacker][0] == 10)
damage+=information_item_player[idattacker][1];

if(information_item_player[this][0] == 12)
damage-=(5.0<damage)? 5.0: damage;

if(weapon == CSW_AWP && information_item_player[idattacker][0] == 13)
damage=float(health);

if(information_item_player[idattacker][0] == 21)
damage+=15;

if(information_item_player[idattacker][0] == 22)
damage+=25;

if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
{
if((information_item_player[idattacker][0] == 9 && random_num(1, information_item_player[idattacker][1]) == 1) || information_item_player[idattacker][0] == 10)
damage = float(health);
}

if(weapon == CSW_KNIFE)
{
if(information_item_player[this][0] == 4)
damage=damage*1.4+inteligencja_player[idattacker];
if(information_item_player[idattacker][0] == 8 || (class_player[idattacker] == Sniper && random(2) == 2) || class_player[idattacker] == Commando && !(get_user_button(idattacker) & IN_ATTACK))
damage = float(health);
}

if(information_item_player[this][0] == 26 && random_num(1, information_item_player[this][1]) == 1)
{
SetHamParamEntity(3, this);
SetHamParamEntity(1, idattacker);
}


SetHamParamFloat(4, damage);
return HAM_IGNORED;
}

public Damage(id)
{
new attacker = get_user_attacker(id);
new damage = read_data(2);
if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !class_player[attacker])
return PLUGIN_CONTINUE;

if(information_item_player[attacker][0] == 12 && random_num(1, information_item_player[id][1]) == 1)
Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);

if(get_user_team(id) != get_user_team(attacker))
{
while(damage>20)
{
damage-=20;
experience_player[attacker]++;
}
}
SprawdzLevel(attacker);
return PLUGIN_CONTINUE;
}

public Death()
{
new id = read_data(2);
new attacker = read_data(1);

if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;

new weapon = get_user_weapon(attacker);
new zdrowie = get_user_health(attacker);

if(get_user_team(id) != get_user_team(attacker) && class_player[attacker])
{
new nowe_experience = 0;

nowe_experience += experience_for_murder;

if(class_player[id] == Rambo && class_player[attacker] != Rambo)
nowe_experience += experience_for_murder*2;

if(level_player[id] > level_player[attacker])
nowe_experience += level_player[id] - level_player[attacker];

if(class_player[attacker] == Rambo || information_item_player[attacker][0] == 15 && maxClip[weapon] != -1)
{

new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_player[attacker])? zdrowie+20: maksymalne_zdrowie_player[attacker];
set_user_clip(attacker, maxClip[weapon]);
set_user_health(attacker, nowe_zdrowie);
}
#if defined BOT
if(is_user_bot2(attacker) && random(9) == 0)
WyrzucPrzedmiot(id);
#endif
if(!information_item_player[attacker][0])
DajPrzedmiot(attacker, random_num(1, sizeof names_objects-1));

if(information_item_player[attacker][0] == 14)
{
new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_player[attacker])? zdrowie+50: maksymalne_zdrowie_player[attacker];
set_user_health(attacker, nowe_zdrowie);
}

set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_experience);

experience_player[attacker] += nowe_experience;
}

SprawdzLevel(attacker);

if(information_item_player[id][0] == 7 && random_num(1, information_item_player[id][1]) == 1)
set_task(0.1, "Raise", id+TASK_RAISE);

return PLUGIN_CONTINUE;
}

public client_connect(id)
{
//resetuje umiejetnosci
class_player[id] = 0;
level_player[id] = 0;
experience_player[id] = 0;
punkty_player[id] = 0;
zdrowie_player[id] = 0;
inteligencja_player[id] = 0;
wytrzymalosc_player[id] = 0;
kondycja_player[id] = 0;
maksymalne_zdrowie_player[id] = 0;
fast_player[id] = 0.0;

get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[] ));

remove_task(id+TASK_SHOW_INFORMATION);
remove_task(id+TASK_SHOW_ADVERTISEMENT);
remove_task(id+TASK_SET_FAST);
remove_task(id+TASK_RAISE);
remove_task(id+TASK_TRAINING_SANITARY);

set_task(10.0, "ShowAdvertisement", id+TASK_SHOW_ADVERTISEMENT);
set_task(3.0, "ShowInformation", id+TASK_SHOW_INFORMATION);

//resetuje przedmioty
UsunPrzedmiot(id);
}

public client_disconnect(id)
{
remove_task(id+TASK_SHOW_INFORMATION);
remove_task(id+TASK_SHOW_ADVERTISEMENT);
remove_task(id+TASK_SET_FAST);
remove_task(id+TASK_RAISE);
remove_task(id+TASK_TRAINING_SANITARY);

ZapiszDane(id);
UsunPrzedmiot(id);
}

public RozbrajaBomb(id)
if(class_player[id])
disarming = id;

public BombaPodlozona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");

if(get_playersnum() > 1)
{
experience_player[podkladajacy] += experience_for_bomb;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
if(!class_player[id])
continue;

if(id != podkladajacy)
{
experience_player[id] += experience_for_murder;
client_print(id, print_chat, "[COD:MW] Вы получили **%i** Опыта за услановленную бомбу.", experience_for_murder);
}
else
{
client_print(id, print_chat, "[COD:MW] Вы получили **%i** Опыта за услановленную бомбу.", experience_for_bomb);
}
SprawdzLevel(id);
}
}
}

public BombaRozbrojona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");

experience_player[disarming] += experience_for_bomb;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
if(!class_player[id])
continue;
if(id != disarming)
{
experience_player[id]+= experience_for_murder;
client_print(id, print_chat, "[COD:MW] Вы получили **%i** Опыта за разменирование бомбы.", experience_for_murder);
}
else
client_print(id, print_chat, "[COD:MW] Вы получили **%i** Опыта за разменирование бомбы.",experience_for_bomb);
SprawdzLevel(id);
}
}

public DescriptionKlasy(id)
{
new menu = menu_create("Select Class:", "DescriptionKlasy_Handle");
for(new i=1; i<sizeof names_klas; i++)
menu_additem(menu, names_klas[i]);
menu_setprop(menu, MPROP_EXITNAME, "Выход");
menu_setprop(menu, MPROP_BACKNAME, "Дальше");
menu_setprop(menu, MPROP_NEXTNAME, "Назад");
menu_display(id, menu);

client_cmd(id, "spk MW/select");
}

public DescriptionKlasy_Handle(id, menu, item)
{
client_cmd(id, "spk MW/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
client_print(id, print_chat, "[COD:MW] %s: %s", names_klas[item+1], descriptions_klas[item+1]);
menu_display(id, menu);

return PLUGIN_CONTINUE;
}

public WybierzKlase(id)
{
new menu = menu_create("Выберите класс:", "WybierzKlase_Handle");
new class[50];
for(new i=1; i<sizeof names_klas; i++)
{
WczytajDane(id, i);
format(class, 49, "%s \yУровень: %i", names_klas[i], level_player[id]);
menu_additem(menu, class);
}

WczytajDane(id, class_player[id]);

menu_setprop(menu, MPROP_EXITNAME, "Выход");
menu_setprop(menu, MPROP_BACKNAME, "Назад");
menu_setprop(menu, MPROP_NEXTNAME, "Дальше");
menu_display(id, menu);

client_cmd(id, "spk MW/select");
#if defined BOT
if(is_user_bot2(id))
WybierzKlase_Handle(id, menu, random(sizeof names_klas-1));
#endif
}

public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk MW/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

item++;

if(item == class_player[id])
return PLUGIN_CONTINUE;

if(class_player[id])
{
nowa_class_player[id] = item;
client_print(id, print_chat, "[COD:MW] Ваш класс сменится в следущем раунде");
}
else
{
class_player[id] = item;
WczytajDane(id, class_player[id]);
Odrodzenie(id);
}
return PLUGIN_CONTINUE;
}

public PrzydzielPunkty(id)
{
new inteligencja[65];
new zdrowie[60];
new wytrzymalosc[60];
new kondycja[60];
new tytul[25];
format(inteligencja, 64, "Интеллект: \r%i \y(Увел.урона способ.)", inteligencja_player[id]);
format(zdrowie, 59, "Жизнь: \r%i \y(Увел.Жизней)", zdrowie_player[id]);
format(wytrzymalosc, 59, "Сила: \r%i \y(Сниж.урона к вам)", wytrzymalosc_player[id]);
format(kondycja, 59, "Состояние: \r%i \y(Увел.скорости)", kondycja_player[id]);
format(tytul, 24, "Assign Points(%i):", punkty_player[id]);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, inteligencja);
menu_additem(menu, zdrowie);
menu_additem(menu, wytrzymalosc);
menu_additem(menu, kondycja);
menu_display(id, menu);
#if defined BOT
if(is_user_bot2(id))
PrzydzielPunkty_Handler(id, menu, random(4));
#endif
}

public PrzydzielPunkty_Handler(id, menu, item)
{
client_cmd(id, "spk MW/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

switch(item)
{
case 0:
{
if(inteligencja_player[id]<100)
inteligencja_player[id]++;
else
client_print(id, print_chat, "[COD:MW] Максимальный уровень интеллекта");

}
case 1:
{
if(zdrowie_player[id]<100)
zdrowie_player[id]++;
else
client_print(id, print_chat, "[COD:MW] Максимальный уровень силы");
}
case 2:
{
if(wytrzymalosc_player[id]<100)
wytrzymalosc_player[id]++;
else
client_print(id, print_chat, "[COD:MW] Максимальный уровень Ловкости");

}
case 3:
{
if(kondycja_player[id]<100)
kondycja_player[id]++;
else
client_print(id, print_chat, "[COD:MW] Максимальный уровень ловкости");
}
}

punkty_player[id]--;

if(punkty_player[id]>0)
PrzydzielPunkty(id);

return PLUGIN_CONTINUE;
}

public ResetujPunkty(id)
{
punkty_player[id] = level_player[id]*2-2;
inteligencja_player[id] = 0;
zdrowie_player[id] = 0;
kondycja_player[id] = 0;
wytrzymalosc_player[id] = 0;
}

public KomendaResetujPunkty(id)
{
client_print(id, print_chat, "[COD:MW] Навыки будут сброшены в следующем раунд.");
client_cmd(id, "spk MW/select");
gracz_resetuje[id] = true;
}

public TrainingSanitary(id)
{
id -= TASK_TRAINING_SANITARY;
if(information_item_player[id][0] != 16)
return PLUGIN_CONTINUE;
set_task(3.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
if(!is_user_alive(id))
return PLUGIN_CONTINUE;
new health = get_user_health(id);
new new_health = (health+10<maksymalne_zdrowie_player[id])?health+10:maksymalne_zdrowie_player[id];
set_user_health(id, new_health);
return PLUGIN_CONTINUE;
}

public StworzApteczke(id)
{
if (!ilosc_apteczek_player[id])
{
client_print(id, print_center, "Вы можете получить только 2 комплекта за раунд!");
return PLUGIN_CONTINUE;
}

if(inteligencja_player[id] < 1)
client_print(id, print_center, "Чтобы укрепить Аптечка, обновить разведки!");

ilosc_apteczek_player[id]--;

new Float:origin[3];
entity_get_vector(id, EV_VEC_origin, origin);

new ent = create_entity("info_target");
entity_set_string(ent, EV_SZ_classname, "FirstAidKit");
entity_set_edict(ent, EV_ENT_owner, id);
entity_set_int(ent, EV_INT_solid, SOLID_NOT);
entity_set_vector(ent, EV_VEC_origin, origin);
entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);


entity_set_model(ent, "models/w_medkit.mdl");
set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
drop_to_floor(ent);

entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);

return PLUGIN_CONTINUE;
}

public FirstAirKitThink(ent)
{
new id = entity_get_edict(ent, EV_ENT_owner);
new totem_dist = 300;
new totem_heal = 5+floatround(inteligencja_player[id]*0.5);
if (entity_get_edict(ent, EV_ENT_euser2) == 1)
{
new Float:forigin[3], origin[3];
entity_get_vector(ent, EV_VEC_origin, forigin);
FVecIVec(forigin,origin);

new entlist[33];
new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (get_user_team(pid) != get_user_team(id))
continue;

new zdrowie = get_user_health(pid);
new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_player[pid])?zdrowie+totem_heal:maksymalne_zdrowie_player[pid];
if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
}

entity_set_edict(ent, EV_ENT_euser2, 0);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);

return PLUGIN_CONTINUE;
}

if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
{
remove_entity(ent);
return PLUGIN_CONTINUE;
}

if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;

new Float:forigin[3], origin[3];
entity_get_vector(ent, EV_VEC_origin, forigin);
FVecIVec(forigin,origin);

//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + totem_dist );
write_coord( origin[2] + totem_dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 );// r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();

entity_set_edict(ent, EV_ENT_euser2 ,1);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);


return PLUGIN_CONTINUE;

}

public StworzRakiete(id)
{
if (!ilosc_rakiet_player[id])
{
client_print(id, print_center, "Вы использовали все свои ракеты!");
return PLUGIN_CONTINUE;
}

if(poprzednia_rakieta_player[id] + 2.0 > get_gametime())
{
client_print(id, print_center, "Вы можете использовать ракеты каждые 2 секунды!");
return PLUGIN_CONTINUE;
}

if (is_user_alive(id))
{
if(inteligencja_player[id] < 1)
client_print(id, print_center, "Чтобы укрепить ракеты, модернизировать разведки!");

poprzednia_rakieta_player[id] = get_gametime();
ilosc_rakiet_player[id]--;

new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];

entity_get_vector(id, EV_VEC_v_angle, vAngle);
entity_get_vector(id, EV_VEC_origin , Origin);

new Ent = create_entity("info_target");

entity_set_string(Ent, EV_SZ_classname, "Rocket");
entity_set_model(Ent, "models/rpgrocket.mdl");

vAngle[0] *= -1.0;

entity_set_origin(Ent, Origin);
entity_set_vector(Ent, EV_VEC_angles, vAngle);

entity_set_int(Ent, EV_INT_effects, 2);
entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
entity_set_edict(Ent, EV_ENT_owner, id);

VelocityByAim(id, 1000 , Velocity);
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
}
return PLUGIN_CONTINUE;
}

public PolozDynamit(id)
{
if(!ilosc_dynamitow_player[id])
{
client_print(id, print_center, "Вы уже использовали свой динамит!");
return PLUGIN_CONTINUE;
}

if(inteligencja_player[id] < 1)
client_print(id, print_center, "Чтобы укрепить свой динамит, обновите свой интеллект!");

ilosc_dynamitow_player[id]--;
new Float:fOrigin[3], iOrigin[3];
entity_get_vector( id, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

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(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();

message_begin( MSG_BROADCAST, 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] + 300 );
write_coord( iOrigin[2] + 300 );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 );// r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 8 ); // speed
message_end();

new entlist[33];
new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || information_item_player[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_player[id]) , 1);
}
return PLUGIN_CONTINUE;
}

public PostawMine(id)
{
if (!ilosc_min_player[id])
{
client_print(id, print_center, "Вы использовали все ваши мины!");
return PLUGIN_CONTINUE;
}

if(inteligencja_player[id] < 1)
client_print(id, print_center, "Чтобы укрепить ваши шахты, модернизируйте свой интеллект!");

ilosc_min_player[id]--;

new Float:origin[3];
entity_get_vector(id, EV_VEC_origin, origin);

new ent = create_entity("info_target");
entity_set_string(ent ,EV_SZ_classname, "Mine");
entity_set_edict(ent ,EV_ENT_owner, id);
entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
entity_set_origin(ent, origin);
entity_set_int(ent, EV_INT_solid, SOLID_BBOX);

entity_set_model(ent, "models/mine.mdl");
entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});

drop_to_floor(ent);

entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;

set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,20) ;


return PLUGIN_CONTINUE;
}

public DotykMiny(ent, id)
{
new attacker = entity_get_edict(ent, EV_ENT_owner);
if (get_user_team(attacker) != get_user_team(id))
{
new Float:fOrigin[3], iOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

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(sprite_blast);
write_byte(32); // scale
write_byte(20); // framerate
write_byte(0);// flags
message_end();
new entlist[33];
new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24 || class_player[id] == Protector)
continue;

ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_player[attacker]) , 1);
}
remove_entity(ent);
}
}

public DotykRakiety(ent)
{
if ( !is_valid_ent(ent))
return;

new attacker = entity_get_edict(ent, EV_ENT_owner);

new Float:fOrigin[3], iOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

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(sprite_blast);
write_byte(32); // scale
write_byte(20); // framerate
write_byte(0);// flags
message_end();

new entlist[33];
new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_player[attacker]) , 1);
}
remove_entity(ent);
}

public CurWeapon(id)
{
if(freezetime || !class_player[id])
return PLUGIN_CONTINUE;

new weapon = read_data(2);

SetFast(id);

if(weapon == CSW_C4)
podkladajacy = id;
return PLUGIN_CONTINUE;
}

public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
{
if(equal(szSound, "common/wpn_denyselect.wav"))
{
UzyjItem(id);
return FMRES_SUPERCEDE;
}

return FMRES_IGNORED;
}

public UzyjItem(id)
{
if(information_item_player[id][0] == 19 && information_item_player[id][1]>0)
{
set_user_health(id, maksymalne_zdrowie_player[id]);
information_item_player[id][1]--;
}

if(ilosc_apteczek_player[id]>0)
StworzApteczke(id);
if(ilosc_rakiet_player[id]>0)
StworzRakiete(id);
if(ilosc_min_player[id]>0)
PostawMine(id);
if(ilosc_dynamitow_player[id]>0)
PolozDynamit(id);

return PLUGIN_HANDLED;
}

public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class_player[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}

public WczytajDane(id, class)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);

replace_all(vaultdata, 255, "#", " ");

new experienceplayer[32], levelplayer[32], inteligencjaplayer[32], silaplayer[32], zrecznoscplayer[32], zwinnoscplayer[32];

parse(vaultdata, experienceplayer, 31, levelplayer, 31, inteligencjaplayer, 31, silaplayer, 31, zrecznoscplayer, 31, zwinnoscplayer, 31);

experience_player[id] = str_to_num(experienceplayer);
level_player[id] = str_to_num(levelplayer)>0?str_to_num(levelplayer):1;
inteligencja_player[id] = str_to_num(inteligencjaplayer);
zdrowie_player[id] = str_to_num(silaplayer);
wytrzymalosc_player[id] = str_to_num(zrecznoscplayer);
kondycja_player[id] = str_to_num(zwinnoscplayer);
punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
}

public WyrzucPrzedmiot(id)
{
if(information_item_player[id][0])
{
client_print(id, print_chat, "[COD:MW] Вы удалили %s.", names_objects[information_item_player[id][0]]);
UsunPrzedmiot(id);
}
else
client_print(id, print_chat, "[COD:MW] У вас нету способностей .", names_objects[information_item_player[id][0]]);
}

public UsunPrzedmiot(id)
{
information_item_player[id][0] = 0;
information_item_player[id][1] = 0;
if(is_user_alive(id))
set_user_footsteps(id, 0);
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
ZmienUbranie(id, 1);
}

public DajPrzedmiot(id, przedmiot)
{
UsunPrzedmiot(id);
information_item_player[id][0] = przedmiot;
client_print(id, print_chat, "[COD:MW] Получил %s.", names_objects[information_item_player[id][0]]);

switch(przedmiot)
{
case 1:
{
set_user_footsteps(id, 1);
}
case 2:
{
information_item_player[id][1] = random_num(3,6);
}
case 3:
{
information_item_player[id][1] = random_num(6, 11);
}
case 5:
{
information_item_player[id][1] = random_num(6, 9);
}
case 6:
{
information_item_player[id][1] = random_num(100, 150);
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
}
case 7:
{
information_item_player[id][1] = random_num(2, 4);
}
case 8:
{
if(class_player[id] == Commando)
DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
}
case 9:
{
information_item_player[id][1] = random_num(1, 3);
ZmienUbranie(id, 0);
give_item(id, "weapon_hegrenade");
}
case 10:
{
information_item_player[id][1] = random_num(4, 98);
give_item(id, "weapon_hegrenade");
}
case 12:
{
information_item_player[id][1] = random_num(1, 99);
}
case 13:
{
give_item(id, "weapon_awp");
}
case 15:
{
if(class_player[id] == Rambo)
DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
}
case 16:
{
set_task(5.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
}
case 19:
{
information_item_player[id][1] = 1;
}
case 26:
{
information_item_player[id][1] = random_num(3, 6);
}
case 27:
{
information_item_player[id][1] = 3;
}
}
}

public DescriptionItem(id)
{
new description_item[128];
new losowa_wartosc[3];
num_to_str(information_item_player[id][1], losowa_wartosc, 2);
format(description_item, 127, descriptions_objects[information_item_player[id][0]]);
replace_all(description_item, 127, "LW", losowa_wartosc);

client_print(id, print_chat, "Item: %s.", names_objects[information_item_player[id][0]]);
client_print(id, print_chat, "Description: %s.", description_item);
}

public Raise(id)
{
id-=TASK_RAISE;
ExecuteHamB(Ham_CS_RoundRespawn, id);
}

public SprawdzLevel(id)
{
if(level_player[id] < 201)
{
while(experience_player[id] >= experience_level[level_player[id]])
{
level_player[id]++;
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj3, "Congratulations you have gained a level!");
client_cmd(id, "spk MW/levelup");
}

punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
}
ZapiszDane(id);
}

public ShowInformation(id)
{
id -= TASK_SHOW_INFORMATION;

set_task(0.1, "ShowInformation", id+TASK_SHOW_INFORMATION);

if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);

if(target == 0)
return PLUGIN_CONTINUE;

set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Класс : %s^nОпыт : %i / %i^nУровень : %i^nСпособность : %s", names_klas[class_player[target]], experience_player[target], experience_level[level_player[target]], level_player[target], names_objects[information_item_player[target][0]]);

return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Класс : %s]^n[Опыт : %i / %i]^n[Уровень : %i]^n[Способность : %s]", names_klas[class_player[id]], experience_player[id], experience_level[level_player[id]], level_player[id], names_objects[information_item_player[id][0]]);
return PLUGIN_CONTINUE;
}

public ShowAdvertisement(id)
{
id-=TASK_SHOW_ADVERTISEMENT;
client_print(id, print_chat, "[COD:MW] Добро пожаловать на Call of Duty Мод.");
}

public SetFast(id)
{
id -= id>32? TASK_SET_FAST: 0;

if(class_player[id])
set_user_maxspeed(id, fast_player[id]);
}

public ZmienUbranie(id,reset)
{
if (id<1 || id>32 || !is_user_connected(id))
return PLUGIN_CONTINUE;

if (reset)
cs_reset_user_model(id);
else
{
new num = random_num(0,3);
switch(get_user_team(id))
{
case 1: cs_set_user_model(id, Clothing_CT[num]);
case 2:cs_set_user_model(id, Clothing_Terro[num]);
}
}

return PLUGIN_CONTINUE;
}

public Pomoc()
{
switch(random(3))
{
case 0: client_print(0, print_chat, "[COD:MW] Напишите /help для вызова меню помощи");
case 1: client_print(0, print_chat, "[COD:MW] Использовать способность клавиша [E]");
case 2: client_print(0, print_chat, "[COD:MW] Чтобы изменить класс напишите /class");
}
set_task(60.0, "Pomoc");
}

public cmd_setlvl(id, level, cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED;
new arg1[33];
new arg2[6];
read_argv(1, arg1, 32);
read_argv(2, arg2, 5);
new player = cmd_target(id, arg1);
new value = str_to_num(arg2)-1;

experience_player[player] = experience_level[value];
level_player[player] = 0;
SprawdzLevel(player);
return PLUGIN_HANDLED;
}

public CommandBlock()
return PLUGIN_HANDLED;

stock bool:UTIL_In_FOV(id,target)
{
if (Find_Angle(id,target,9999.9) > 0.0)
return true;

return false;
}
#if defined BOT
public is_user_bot2(id)
{
new ping, loss
get_user_ping(id, ping, loss)
if(ping > 0 && loss > 0)
return false
return true
}
#endif

stock Float:Find_Angle(Core,Target,Float:dist)
{
new Float:vec2LOS[2];
new Float:flDot;
new Float:CoreOrigin[3];
new Float:TargetOrigin[3];
new Float:CoreAngles[3];

pev(Core,pev_origin,CoreOrigin);
pev(Target,pev_origin,TargetOrigin);

if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
return 0.0;

pev(Core,pev_angles, CoreAngles);

for ( new i = 0; i < 2; i++ )
vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];

new Float:veclength = Vec2DLength(vec2LOS);

//Normalize V2LOS
if (veclength <= 0.0)
{
vec2LOS[0] = 0.0;
vec2LOS[1] = 0.0;
}
else
{
new Float:flLen = 1.0 / veclength;
vec2LOS[0] = vec2LOS[0]*flLen;
vec2LOS[1] = vec2LOS[1]*flLen;
}

//Do a makevector to make v_forward right
engfunc(EngFunc_MakeVectors,CoreAngles);

new Float:v_forward[3];
new Float:v_forward2D[2];
get_global_vector(GL_v_forward, v_forward);

v_forward2D[0] = v_forward[0];
v_forward2D[1] = v_forward[1];

flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];

if ( flDot > 0.5 )
{
return flDot;
}

return 0.0;
}

stock Float:Vec2DLength( Float:Vec[2] )
{
return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
}

stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
write_short( duration ); // Duration of fadeout
write_short( holdtime ); // Hold time of color
write_short( fadetype ); // Fade type
write_byte ( red ); // Red
write_byte ( green ); // Green
write_byte ( blue ); // Blue
write_byte ( alpha ); // Alpha
message_end();
}

stock set_user_clip(id, ammo)
{
new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
get_weaponname(weapon, weaponname, 31);
while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
if(entity_get_edict(weaponid, EV_ENT_owner) == id)
{
set_pdata_int(weaponid, 51, ammo, 4);
return weaponid;
}
return 0;
}
public userhelp(id)
{
//create info/help.txt in your mod folder and put your info there as you add in motd
show_motd(id, "help.txt", "Help Motd")
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/


В 1 пост не влезло.

Call of Duty mod


Call of Duty Mod
]#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <nvault>


#define PLUGIN "Call of Duty: MW Mod"
#define VERSION "1.0"
#define AUTHOR "QTM_Peyote,johnC,GranTorino"

#define STANDARD_FAST 250.0

#define TASK_SHOW_INFORMATION 672
#define TASK_RAISE 704
#define TASK_TRAINING_SANITARY 736
#define TASK_SHOW_ADVERTISEMENT 768
#define TASK_SET_FAST 832

//#define BOT 1

new SyncHudObj;
new SyncHudObj2;
new SyncHudObj3;
new g_msg_screenfade;

new sprite_white;
new sprite_blast;

new g_vault;

new podkladajacy;
new disarming;

new experience_for_murder;
new experience_for_bomb;

new Clothing_CT[4][]={"sas","gsg9","urban","gign"};
new Clothing_Terro[4][]={"arctic","leet","guerilla","terror"};

new const maxAmmo[31]={0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,3
2,90,120,90,2,35,90,90,0,100};
new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };

new information_item_player[33][2];
new const names_objects[][] =
{
"Нету",
"Assault Boots", //1
"Double Vest", //2
"Reinforced Vest", //3
"Veteran Knife", //4
"Surprise Enemy", //5
"Ninja Cloak", //6
"Morphine", //7
"Commando Knife", //8
"Spy Glasses",
"Mystery Grenade",
"Ninja Feet", //11
"Secret Military", //12
"AWP Sniper",//13
"Adrenaline",//14
"Mystery Rambo",//15
"Training Sanitary",//16
"NASA Vest",//17
"Trained Veteran",//18
"First Aid Kit",//19
"Recoil Eliminator",//20
"Titanium Cartridges",//21
"Colonel Cartridges",//22
"Recoil Limiter",//23
"SWAT Shield",//24
"Trained Recruit",//25
"Relective Armour",//26
"Captain's Notes",//27
"Jet Module"

};

new const descriptions_objects[][] = {"Kill someone to get an item",
"Run silently",
"Уменьшает урон",
"Уменьшает урон",
"Удар с ножа сильнее",
"Атака с зади в 2x сильнее",
"Делает Вас частично невидимым",
"1/3 шанс возрождения, когда вас убили",
"Мнгновенно убивает с ножа",
"У тебя есть 1/3 шанс мгновенно убить Его. Ты выглядишь как враг",
"Мнгновенно убивает людей с гранаты",
"Вы можете сделать двойной прыжок в воздухе",
"Ваши травмы сократилось на 1/3. У вас есть 1/3 шанс ослепления противника",
"Мнгновенно убить АВП",
"За каждый фраг, вы получите +50 HP",
"За каждый фраг, вы получите всю обойму и +20 HP",
"Получить 10 hp каждые 3 секунды",
"+500 Броня",
"Вы получаете 100 hp каждый раунд, работать медленнее",
"Нажмите-E, чтобы получить HP",
"Нет отдачи",
"+15 Ущерб",
"+25 Ущерб",
"Ваша отдача меньше",
"Способности не работают против вас.",
"Вы получите +50 HP в каждом раунде, и ваш бег медленный",
"1/3 шанс рефлекс урон",
"Вы устойчивы к трех выстрелов в каждом раунде",
"Нажмите CTRL + пробел, для Longjump'а, модуль загружает каждые 4 секунды"
};

new g_szAuthID[33][34];
new class_player[33];
new level_player[33] = 1;
new experience_player[33];

new nowa_class_player[33];

new const experience_level[] =
{
0,35,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,1011
5,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,
3
3635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,677
6
0,70875,
74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,1177
40,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,
1
71500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,2296
3
5,235340,241115,246960,252875,258860,
264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336
140,343035,350000,357035,364140
};

new punkty_player[33];
new zdrowie_player[33];
new inteligencja_player[33];
new wytrzymalosc_player[33];
new Float:redukcja_obrazen_player[33];
new kondycja_player[33];
new maksymalne_zdrowie_player[33];
new Float:fast_player[33];

new bool:gracz_resetuje[33];

enum { NONE = 0, Sniper, Commando, Sharpshooter, Protector, Medic, FireSupport, Sapper, Demolitions, Rusher, Rambo };
new const zdrowie_klasy[] = { 0, 120, 130, 110, 250, 150, 100, 100, 130, 100, 130};
new const Float:fast_klasy[] = {0.0, 1.2, 1.35, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.45 , 1.15};
new const pancerz_klasy[] = { 0, 100, 100, 100, 200, 100, 0, 100, 100, 0, 150};
new const names_klas[][] = {"Нету",
"Снайпер",
"Коммандо",
"Стрелок",
"Защитник",
"Медик",
"Огневая поддержка",
"Сапер",
"Подрывник",
"Рушитель",
"Рэмбо"
};

new const descriptions_klas[][] = {"None",
"AWP, Deagle и Scout, 120hp. 1/3 Убить с ножа. 110 Скорости, 100 Брони.",
"Deagle, 130hp. Убивает с ножа (Правая кнопка), 135 Скорости, 100 Брони",
"AK47, M4A1 и 110hp. 80 Скорости, 100 Брони",
"M249, 250hp и все гранаты, Иммунитет к минам, 200 Брони",
"UMP45, 150hp. Аптечка [E], 100 Брони",
"MP5, 100 hp, Две ракеты [E], Дополнительные хитов за урон",
"P90, 100hp, 3 мины, 100 Брони",
"AUG, 130 hp, Все гранаты, Динамит , 100 Брони",
"M3, 100 hp, 145 Скорости",
" Famas, 130 hp, 120 Скорости, 20 HP за убийство, Двойной прыжок, 100 Брони"
};

new ilosc_apteczek_player[33];
new ilosc_rakiet_player[33];
new Float:poprzednia_rakieta_player[33];
new ilosc_min_player[33];
new ilosc_dynamitow_player[33];
new ilosc_skokow_player[33];

new bool:freezetime = true;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

g_vault = nvault_open("CodMod");

register_think("FirstAidKit","FirstAidKitThink");

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);


register_forward(FM_CmdStart, "CmdStart");
register_forward(FM_EmitSound, "EmitSound");

register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");

register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
register_event("BarTime", "RozbrajaBomb", "be", "1=10", "1=5");
register_event("DeathMsg", "Death", "ade");
register_event("Damage", "Damage", "b", "2!=0");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");

register_touch("Rocket", "*" , "DotykRakiety");
register_touch("Mine", "player", "DotykMiny");

register_cvar("cod_killxp", "50");
register_cvar("cod_bombxp", "100");

register_clcmd("say /class", "WybierzKlase");
register_clcmd("say /classinfo", "DescriptionKlasy");
register_clcmd("say /item", "DescriptionItem");
register_clcmd("say /drop", "WyrzucPrzedmiot");
register_clcmd("say /reset", "KomendaResetujPunkty");
register_clcmd("say /help", "userhelp", 0, " - Help Motd ");
register_clcmd("say /save","ZapiszDane")
register_clcmd("fullupdate", "CommandBlock");
register_clcmd("cl_autobuy", "CommandBlock");
register_clcmd("cl_rebuy", "CommandBlock");
register_clcmd("cl_setautobuy","CommandBlock");
register_clcmd("rebuy", "CommandBlock");
register_clcmd("autobuy", "CommandBlock");
register_clcmd("glock", "CommandBlock");
register_clcmd("usp", "CommandBlock");
register_clcmd("p228", "CommandBlock");
register_clcmd("deagle", "CommandBlock");
register_clcmd("elites", "CommandBlock");
register_clcmd("fn57", "CommandBlock");
register_clcmd("m3", "CommandBlock");
register_clcmd("autoshotgun", "CommandBlock");
register_clcmd("mac10", "CommandBlock");
register_clcmd("tmp", "CommandBlock");
register_clcmd("mp5", "CommandBlock");
register_clcmd("ump45", "CommandBlock");
register_clcmd("p90", "CommandBlock");
register_clcmd("galil", "CommandBlock");
register_clcmd("ak47", "CommandBlock");
register_clcmd("scout", "CommandBlock");
register_clcmd("sg552", "CommandBlock");
register_clcmd("awp", "CommandBlock");
register_clcmd("g3sg1", "CommandBlock");
register_clcmd("famas", "CommandBlock");
register_clcmd("m4a1", "CommandBlock");
register_clcmd("bullpup", "CommandBlock");
register_clcmd("sg550", "CommandBlock");
register_clcmd("m249", "CommandBlock");
register_clcmd("shield", "CommandBlock");
register_clcmd("hegren", "CommandBlock");
register_clcmd("sgren", "CommandBlock");
register_clcmd("flash", "CommandBlock");
register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");

g_msg_screenfade = get_user_msgid("ScreenFade");
SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
SyncHudObj3 = CreateHudSyncObj();
experience_for_murder = get_cvar_num("cod_killxp");
experience_for_bomb = get_cvar_num("cod_bombxp");

set_task(60.0, "Pomoc");
}

public plugin_cfg()
{
server_cmd("sv_maxspeed 1600");
}

public plugin_precache()
{
sprite_white = precache_model("sprites/white.spr") ;
sprite_blast = precache_model("sprites/dexplo.spr");

precache_sound("MW/select.wav");
precache_sound("MW/start.wav");
precache_sound("MW/start2.wav");
precache_sound("MW/levelup.wav");

precache_model("models/w_medkit.mdl");
precache_model("models/rpgrocket.mdl");
precache_model("models/mine.mdl");
}

public CmdStart(id, uc_handle)
{
if(!is_user_alive(id))
return FMRES_IGNORED;

new button = get_uc(uc_handle, UC_Buttons);
new oldbutton = get_user_oldbutton(id);
new flags = get_entity_flags(id);

if(information_item_player[id][0] == 11 || class_player[id] == Rambo)
{
if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_player[id] > 0)
{
ilosc_skokow_player[id]--;
new Float:velocity[3];
entity_get_vector(id,EV_VEC_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
entity_set_vector(id,EV_VEC_velocity,velocity);
}
else if(flags & FL_ONGROUND)
{
ilosc_skokow_player[id] = 0;
if(information_item_player[id][0] == 11)
ilosc_skokow_player[id]++;
if(class_player[id] == Rambo)
ilosc_skokow_player[id]++;
}
}

if(button & IN_ATTACK)
{
new Float:punchangle[3];

if(information_item_player[id][0] == 20)
entity_set_vector(id, EV_VEC_punchangle, punchangle);
if(information_item_player[id][0] == 23)
{
entity_get_vector(id, EV_VEC_punchangle, punchangle);
for(new i=0; i<3;i++)
punchangle[i]*=0.9;
entity_set_vector(id, EV_VEC_punchangle, punchangle);
}
}

if(information_item_player[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > information_item_player[id][1]+4.0)
{
information_item_player[id][1] = floatround(get_gametime());
new Float:velocity[3];
VelocityByAim(id, 700, velocity);
velocity[2] = random_float(265.0,285.0);
entity_set_vector(id, EV_VEC_velocity, velocity);
}


return FMRES_IGNORED;
}

public Odrodzenie(id)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;

if(nowa_class_player[id])
{
class_player[id] = nowa_class_player[id];
nowa_class_player[id] = 0;
strip_user_weapons(id);
give_item(id, "weapon_knife");
switch(get_user_team(id))
{
case 1: give_item(id, "weapon_glock18");
case 2: give_item(id, "weapon_usp");
}
WczytajDane(id, class_player[id]);
}

if(!class_player[id])
{
WybierzKlase(id);
return PLUGIN_CONTINUE;
}

switch(class_player[id])
{
case Sniper:
{
give_item(id, "weapon_awp");
give_item(id, "weapon_scout");
give_item(id, "weapon_deagle");
}
case Commando:
{
give_item(id, "weapon_deagle");
}
case Sharpshooter:
{
give_item(id, "weapon_m4a1");
give_item(id, "weapon_ak47");
}
case Protector:
{
give_item(id, "weapon_m249");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
case Medic:
{
give_item(id, "weapon_ump45");
ilosc_apteczek_player[id] = 2;
}
case FireSupport:
{
give_item(id, "weapon_mp5navy");
ilosc_rakiet_player[id] = 2;
}
case Sapper:
{
give_item(id, "weapon_p90");
ilosc_min_player[id] = 3;
}
case Demolitions:
{
give_item(id, "weapon_aug");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
ilosc_dynamitow_player[id] = 1;
}
case Rusher:
{
give_item(id, "weapon_m3");
}
case Rambo:
{
give_item(id, "weapon_famas");
}
}

if(gracz_resetuje[id])
{
ResetujPunkty(id);
gracz_resetuje[id] = false;
}

if(punkty_player[id]>0)
PrzydzielPunkty(id);

if(information_item_player[id][0] == 10 || information_item_player[id][0] == 9)
give_item(id, "weapon_hegrenade");

if(information_item_player[id][0] == 9)
ZmienUbranie(id, 0);

if(information_item_player[id][0] == 1)
set_user_footsteps(id, 1);
else
set_user_footsteps(id, 0);

if(information_item_player[id][0] == 13)
give_item(id, "weapon_awp");

if(information_item_player[id][0] == 19)
information_item_player[id][1] = 1;

if(information_item_player[id][0] == 27)
information_item_player[id][1] = 3;

new weapons[32];
new weaponsnum;
get_user_weapons(id, weapons, weaponsnum);
for(new i=0; i<weaponsnum; i++)
if(is_user_alive(id))
if(maxAmmo[weapons[i]] > 0)
cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);

redukcja_obrazen_player[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_player[id])))/100);
maksymalne_zdrowie_player[id] = zdrowie_klasy[class_player[id]]+zdrowie_player[id]*2;
fast_player[id] = STANDARD_FAST*fast_klasy[class_player[id]]+floatround(kondycja_player[id]*1.3);

if(information_item_player[id][0] == 18)
{
maksymalne_zdrowie_player[id] += 100;
fast_player[id] -= 0.4;
}

if(information_item_player[id][0] == 25)
{
maksymalne_zdrowie_player[id] += 50;
fast_player[id] -= 0.3;
}

set_user_armor(id, pancerz_klasy[class_player[id]]);
set_user_health(id, maksymalne_zdrowie_player[id]);
if(information_item_player[id][0] == 17)
set_user_armor(id, 500);

return PLUGIN_CONTINUE;
}

public PoczatekRundy()
{
freezetime = false;
for(new id=0;id<=32;id++)
{
if(!is_user_alive(id))
continue;

set_task(0.1, "SetFast", id+TASK_SET_FAST);

switch(get_user_team(id))
{
case 1: client_cmd(id, "spk MW/start");
case 2: client_cmd(id, "spk MW/start2");
}
}
}

public NowaRunda()
{
freezetime = true;
new iEnt = find_ent_by_class(-1, "Mine");
while(iEnt > 0)
{
remove_entity(iEnt);
iEnt = find_ent_by_class(iEnt, "Mine");
}
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_alive(this) || !is_user_connected(this) || information_item_player[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !class_player[idattacker])
return HAM_IGNORED;

new health = get_user_health(this);
new weapon = get_user_weapon(idattacker);

if(health < 2)
return HAM_IGNORED;

if(information_item_player[this][0] == 27 && information_item_player[this][1]>0)
{
information_item_player[this][1]--;
return HAM_SUPERCEDE;
}

if(wytrzymalosc_player[this]>0)
damage -= redukcja_obrazen_player[this]*damage;

if(information_item_player[this][0] == 2 || information_item_player[this][0] == 3)
damage-=(float(information_item_player[this][1])<damage)? float(information_item_player[this][1]): damage;

if(information_item_player[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
damage*=2.0;

if(information_item_player[idattacker][0] == 10)
damage+=information_item_player[idattacker][1];

if(information_item_player[this][0] == 12)
damage-=(5.0<damage)? 5.0: damage;

if(weapon == CSW_AWP && information_item_player[idattacker][0] == 13)
damage=float(health);

if(information_item_player[idattacker][0] == 21)
damage+=15;

if(information_item_player[idattacker][0] == 22)
damage+=25;

if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
{
if((information_item_player[idattacker][0] == 9 && random_num(1, information_item_player[idattacker][1]) == 1) || information_item_player[idattacker][0] == 10)
damage = float(health);
}

if(weapon == CSW_KNIFE)
{
if(information_item_player[this][0] == 4)
damage=damage*1.4+inteligencja_player[idattacker];
if(information_item_player[idattacker][0] == 8 || (class_player[idattacker] == Sniper && random(2) == 2) || class_player[idattacker] == Commando && !(get_user_button(idattacker) & IN_ATTACK))
damage = float(health);
}

if(information_item_player[this][0] == 26 && random_num(1, information_item_player[this][1]) == 1)
{
SetHamParamEntity(3, this);
SetHamParamEntity(1, idattacker);
}


SetHamParamFloat(4, damage);
return HAM_IGNORED;
}

public Damage(id)
{
new attacker = get_user_attacker(id);
new damage = read_data(2);
if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !class_player[attacker])
return PLUGIN_CONTINUE;

if(information_item_player[attacker][0] == 12 && random_num(1, information_item_player[id][1]) == 1)
Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);

if(get_user_team(id) != get_user_team(attacker))
{
while(damage>20)
{
damage-=20;
experience_player[attacker]++;
}
}
SprawdzLevel(attacker);
return PLUGIN_CONTINUE;
}

public Death()
{
new id = read_data(2);
new attacker = read_data(1);

if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;

new weapon = get_user_weapon(attacker);
new zdrowie = get_user_health(attacker);

if(get_user_team(id) != get_user_team(attacker) && class_player[attacker])
{
new nowe_experience = 0;

nowe_experience += experience_for_murder;

if(class_player[id] == Rambo && class_player[attacker] != Rambo)
nowe_experience += experience_for_murder*2;

if(level_player[id] > level_player[attacker])
nowe_experience += level_player[id] - level_player[attacker];

if(class_player[attacker] == Rambo || information_item_player[attacker][0] == 15 && maxClip[weapon] != -1)
{

new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_player[attacker])? zdrowie+20: maksymalne_zdrowie_player[attacker];
set_user_clip(attacker, maxClip[weapon]);
set_user_health(attacker, nowe_zdrowie);
}
#if defined BOT
if(is_user_bot2(attacker) && random(9) == 0)
WyrzucPrzedmiot(id);
#endif
if(!information_item_player[attacker][0])
DajPrzedmiot(attacker, random_num(1, sizeof names_objects-1));

if(information_item_player[attacker][0] == 14)
{
new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_player[attacker])? zdrowie+50: maksymalne_zdrowie_player[attacker];
set_user_health(attacker, nowe_zdrowie);
}

set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_experience);

experience_player[attacker] += nowe_experience;
}

SprawdzLevel(attacker);

if(information_item_player[id][0] == 7 && random_num(1, information_item_player[id][1]) == 1)
set_task(0.1, "Raise", id+TASK_RAISE);

return PLUGIN_CONTINUE;
}

public client_connect(id)
{
//resetuje umiejetnosci
class_player[id] = 0;
level_player[id] = 0;
experience_player[id] = 0;
punkty_player[id] = 0;
zdrowie_player[id] = 0;
inteligencja_player[id] = 0;
wytrzymalosc_player[id] = 0;
kondycja_player[id] = 0;
maksymalne_zdrowie_player[id] = 0;
fast_player[id] = 0.0;

get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[] ));

remove_task(id+TASK_SHOW_INFORMATION);
remove_task(id+TASK_SHOW_ADVERTISEMENT);
remove_task(id+TASK_SET_FAST);
remove_task(id+TASK_RAISE);
remove_task(id+TASK_TRAINING_SANITARY);

set_task(10.0, "ShowAdvertisement", id+TASK_SHOW_ADVERTISEMENT);
set_task(3.0, "ShowInformation", id+TASK_SHOW_INFORMATION);

//resetuje przedmioty
UsunPrzedmiot(id);
}

public client_disconnect(id)
{
remove_task(id+TASK_SHOW_INFORMATION);
remove_task(id+TASK_SHOW_ADVERTISEMENT);
remove_task(id+TASK_SET_FAST);
remove_task(id+TASK_RAISE);
remove_task(id+TASK_TRAINING_SANITARY);

ZapiszDane(id);
UsunPrzedmiot(id);
}

public RozbrajaBomb(id)
if(class_player[id])
disarming = id;

public BombaPodlozona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");

if(get_playersnum() > 1)
{
experience_player[podkladajacy] += experience_for_bomb;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
if(!class_player[id])
continue;

if(id != podkladajacy)
{
experience_player[id] += experience_for_murder;
client_print(id, print_chat, "[COD:MW] Вы получили **%i** Опыта за услановленную бомбу.", experience_for_murder);
}
else
{
client_print(id, print_chat, "[COD:MW] Вы получили **%i** Опыта за услановленную бомбу.", experience_for_bomb);
}
SprawdzLevel(id);
}
}
}

public BombaRozbrojona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");

experience_player[disarming] += experience_for_bomb;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
if(!class_player[id])
continue;
if(id != disarming)
{
experience_player[id]+= experience_for_murder;
client_print(id, print_chat, "[COD:MW] Вы получили **%i** Опыта за разменирование бомбы.", experience_for_murder);
}
else
client_print(id, print_chat, "[COD:MW] Вы получили **%i** Опыта за разменирование бомбы.",experience_for_bomb);
SprawdzLevel(id);
}
}

public DescriptionKlasy(id)
{
new menu = menu_create("Select Class:", "DescriptionKlasy_Handle");
for(new i=1; i<sizeof names_klas; i++)
menu_additem(menu, names_klas[i]);
menu_setprop(menu, MPROP_EXITNAME, "Выход");
menu_setprop(menu, MPROP_BACKNAME, "Дальше");
menu_setprop(menu, MPROP_NEXTNAME, "Назад");
menu_display(id, menu);

client_cmd(id, "spk MW/select");
}

public DescriptionKlasy_Handle(id, menu, item)
{
client_cmd(id, "spk MW/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
client_print(id, print_chat, "[COD:MW] %s: %s", names_klas[item+1], descriptions_klas[item+1]);
menu_display(id, menu);

return PLUGIN_CONTINUE;
}

public WybierzKlase(id)
{
new menu = menu_create("Выберите класс:", "WybierzKlase_Handle");
new class[50];
for(new i=1; i<sizeof names_klas; i++)
{
WczytajDane(id, i);
format(class, 49, "%s \yУровень: %i", names_klas[i], level_player[id]);
menu_additem(menu, class);
}

WczytajDane(id, class_player[id]);

menu_setprop(menu, MPROP_EXITNAME, "Выход");
menu_setprop(menu, MPROP_BACKNAME, "Назад");
menu_setprop(menu, MPROP_NEXTNAME, "Дальше");
menu_display(id, menu);

client_cmd(id, "spk MW/select");
#if defined BOT
if(is_user_bot2(id))
WybierzKlase_Handle(id, menu, random(sizeof names_klas-1));
#endif
}

public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk MW/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

item++;

if(item == class_player[id])
return PLUGIN_CONTINUE;

if(class_player[id])
{
nowa_class_player[id] = item;
client_print(id, print_chat, "[COD:MW] Ваш класс сменится в следущем раунде");
}
else
{
class_player[id] = item;
WczytajDane(id, class_player[id]);
Odrodzenie(id);
}
return PLUGIN_CONTINUE;
}

public PrzydzielPunkty(id)
{
new inteligencja[65];
new zdrowie[60];
new wytrzymalosc[60];
new kondycja[60];
new tytul[25];
format(inteligencja, 64, "Интеллект: \r%i \y(Увел.урона способ.)", inteligencja_player[id]);
format(zdrowie, 59, "Жизнь: \r%i \y(Увел.Жизней)", zdrowie_player[id]);
format(wytrzymalosc, 59, "Сила: \r%i \y(Сниж.урона к вам)", wytrzymalosc_player[id]);
format(kondycja, 59, "Состояние: \r%i \y(Увел.скорости)", kondycja_player[id]);
format(tytul, 24, "Assign Points(%i):", punkty_player[id]);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, inteligencja);
menu_additem(menu, zdrowie);
menu_additem(menu, wytrzymalosc);
menu_additem(menu, kondycja);
menu_display(id, menu);
#if defined BOT
if(is_user_bot2(id))
PrzydzielPunkty_Handler(id, menu, random(4));
#endif
}

public PrzydzielPunkty_Handler(id, menu, item)
{
client_cmd(id, "spk MW/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

switch(item)
{
case 0:
{
if(inteligencja_player[id]<100)
inteligencja_player[id]++;
else
client_print(id, print_chat, "[COD:MW] Максимальный уровень интеллекта");

}
case 1:
{
if(zdrowie_player[id]<100)
zdrowie_player[id]++;
else
client_print(id, print_chat, "[COD:MW] Максимальный уровень силы");
}
case 2:
{
if(wytrzymalosc_player[id]<100)
wytrzymalosc_player[id]++;
else
client_print(id, print_chat, "[COD:MW] Максимальный уровень Ловкости");

}
case 3:
{
if(kondycja_player[id]<100)
kondycja_player[id]++;
else
client_print(id, print_chat, "[COD:MW] Максимальный уровень ловкости");
}
}

punkty_player[id]--;

if(punkty_player[id]>0)
PrzydzielPunkty(id);

return PLUGIN_CONTINUE;
}

public ResetujPunkty(id)
{
punkty_player[id] = level_player[id]*2-2;
inteligencja_player[id] = 0;
zdrowie_player[id] = 0;
kondycja_player[id] = 0;
wytrzymalosc_player[id] = 0;
}

public KomendaResetujPunkty(id)
{
client_print(id, print_chat, "[COD:MW] Навыки будут сброшены в следующем раунд.");
client_cmd(id, "spk MW/select");
gracz_resetuje[id] = true;
}

public TrainingSanitary(id)
{
id -= TASK_TRAINING_SANITARY;
if(information_item_player[id][0] != 16)
return PLUGIN_CONTINUE;
set_task(3.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
if(!is_user_alive(id))
return PLUGIN_CONTINUE;
new health = get_user_health(id);
new new_health = (health+10<maksymalne_zdrowie_player[id])?health+10:maksymalne_zdrowie_player[id];
set_user_health(id, new_health);
return PLUGIN_CONTINUE;
}

public StworzApteczke(id)
{
if (!ilosc_apteczek_player[id])
{
client_print(id, print_center, "Вы можете получить только 2 комплекта за раунд!");
return PLUGIN_CONTINUE;
}

if(inteligencja_player[id] < 1)
client_print(id, print_center, "Чтобы укрепить Аптечка, обновить разведки!");

ilosc_apteczek_player[id]--;

new Float:origin[3];
entity_get_vector(id, EV_VEC_origin, origin);

new ent = create_entity("info_target");
entity_set_string(ent, EV_SZ_classname, "FirstAidKit");
entity_set_edict(ent, EV_ENT_owner, id);
entity_set_int(ent, EV_INT_solid, SOLID_NOT);
entity_set_vector(ent, EV_VEC_origin, origin);
entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);


entity_set_model(ent, "models/w_medkit.mdl");
set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
drop_to_floor(ent);

entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);

return PLUGIN_CONTINUE;
}

public FirstAirKitThink(ent)
{
new id = entity_get_edict(ent, EV_ENT_owner);
new totem_dist = 300;
new totem_heal = 5+floatround(inteligencja_player[id]*0.5);
if (entity_get_edict(ent, EV_ENT_euser2) == 1)
{
new Float:forigin[3], origin[3];
entity_get_vector(ent, EV_VEC_origin, forigin);
FVecIVec(forigin,origin);

new entlist[33];
new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (get_user_team(pid) != get_user_team(id))
continue;

new zdrowie = get_user_health(pid);
new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_player[pid])?zdrowie+totem_heal:maksymalne_zdrowie_player[pid];
if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
}

entity_set_edict(ent, EV_ENT_euser2, 0);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);

return PLUGIN_CONTINUE;
}

if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
{
remove_entity(ent);
return PLUGIN_CONTINUE;
}

if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;

new Float:forigin[3], origin[3];
entity_get_vector(ent, EV_VEC_origin, forigin);
FVecIVec(forigin,origin);

//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + totem_dist );
write_coord( origin[2] + totem_dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 );// r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();

entity_set_edict(ent, EV_ENT_euser2 ,1);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);


return PLUGIN_CONTINUE;

}

public StworzRakiete(id)
{
if (!ilosc_rakiet_player[id])
{
client_print(id, print_center, "Вы использовали все свои ракеты!");
return PLUGIN_CONTINUE;
}

if(poprzednia_rakieta_player[id] + 2.0 > get_gametime())
{
client_print(id, print_center, "Вы можете использовать ракеты каждые 2 секунды!");
return PLUGIN_CONTINUE;
}

if (is_user_alive(id))
{
if(inteligencja_player[id] < 1)
client_print(id, print_center, "Чтобы укрепить ракеты, модернизировать разведки!");

poprzednia_rakieta_player[id] = get_gametime();
ilosc_rakiet_player[id]--;

new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];

entity_get_vector(id, EV_VEC_v_angle, vAngle);
entity_get_vector(id, EV_VEC_origin , Origin);

new Ent = create_entity("info_target");

entity_set_string(Ent, EV_SZ_classname, "Rocket");
entity_set_model(Ent, "models/rpgrocket.mdl");

vAngle[0] *= -1.0;

entity_set_origin(Ent, Origin);
entity_set_vector(Ent, EV_VEC_angles, vAngle);

entity_set_int(Ent, EV_INT_effects, 2);
entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
entity_set_edict(Ent, EV_ENT_owner, id);

VelocityByAim(id, 1000 , Velocity);
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
}
return PLUGIN_CONTINUE;
}

public PolozDynamit(id)
{
if(!ilosc_dynamitow_player[id])
{
client_print(id, print_center, "Вы уже использовали свой динамит!");
return PLUGIN_CONTINUE;
}

if(inteligencja_player[id] < 1)
client_print(id, print_center, "Чтобы укрепить свой динамит, обновите свой интеллект!");

ilosc_dynamitow_player[id]--;
new Float:fOrigin[3], iOrigin[3];
entity_get_vector( id, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

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(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();

message_begin( MSG_BROADCAST, 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] + 300 );
write_coord( iOrigin[2] + 300 );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 );// r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 8 ); // speed
message_end();

new entlist[33];
new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || information_item_player[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_player[id]) , 1);
}
return PLUGIN_CONTINUE;
}

public PostawMine(id)
{
if (!ilosc_min_player[id])
{
client_print(id, print_center, "Вы использовали все ваши мины!");
return PLUGIN_CONTINUE;
}

if(inteligencja_player[id] < 1)
client_print(id, print_center, "Чтобы укрепить ваши шахты, модернизируйте свой интеллект!");

ilosc_min_player[id]--;

new Float:origin[3];
entity_get_vector(id, EV_VEC_origin, origin);

new ent = create_entity("info_target");
entity_set_string(ent ,EV_SZ_classname, "Mine");
entity_set_edict(ent ,EV_ENT_owner, id);
entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
entity_set_origin(ent, origin);
entity_set_int(ent, EV_INT_solid, SOLID_BBOX);

entity_set_model(ent, "models/mine.mdl");
entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});

drop_to_floor(ent);

entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;

set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,20) ;


return PLUGIN_CONTINUE;
}

public DotykMiny(ent, id)
{
new attacker = entity_get_edict(ent, EV_ENT_owner);
if (get_user_team(attacker) != get_user_team(id))
{
new Float:fOrigin[3], iOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

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(sprite_blast);
write_byte(32); // scale
write_byte(20); // framerate
write_byte(0);// flags
message_end();
new entlist[33];
new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24 || class_player[id] == Protector)
continue;

ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_player[attacker]) , 1);
}
remove_entity(ent);
}
}

public DotykRakiety(ent)
{
if ( !is_valid_ent(ent))
return;

new attacker = entity_get_edict(ent, EV_ENT_owner);

new Float:fOrigin[3], iOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

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(sprite_blast);
write_byte(32); // scale
write_byte(20); // framerate
write_byte(0);// flags
message_end();

new entlist[33];
new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_player[attacker]) , 1);
}
remove_entity(ent);
}

public CurWeapon(id)
{
if(freezetime || !class_player[id])
return PLUGIN_CONTINUE;

new weapon = read_data(2);

SetFast(id);

if(weapon == CSW_C4)
podkladajacy = id;
return PLUGIN_CONTINUE;
}

public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
{
if(equal(szSound, "common/wpn_denyselect.wav"))
{
UzyjItem(id);
return FMRES_SUPERCEDE;
}

return FMRES_IGNORED;
}

public UzyjItem(id)
{
if(information_item_player[id][0] == 19 && information_item_player[id][1]>0)
{
set_user_health(id, maksymalne_zdrowie_player[id]);
information_item_player[id][1]--;
}

if(ilosc_apteczek_player[id]>0)
StworzApteczke(id);
if(ilosc_rakiet_player[id]>0)
StworzRakiete(id);
if(ilosc_min_player[id]>0)
PostawMine(id);
if(ilosc_dynamitow_player[id]>0)
PolozDynamit(id);

return PLUGIN_HANDLED;
}

public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class_player[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}

public WczytajDane(id, class)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);

replace_all(vaultdata, 255, "#", " ");

new experienceplayer[32], levelplayer[32], inteligencjaplayer[32], silaplayer[32], zrecznoscplayer[32], zwinnoscplayer[32];

parse(vaultdata, experienceplayer, 31, levelplayer, 31, inteligencjaplayer, 31, silaplayer, 31, zrecznoscplayer, 31, zwinnoscplayer, 31);

experience_player[id] = str_to_num(experienceplayer);
level_player[id] = str_to_num(levelplayer)>0?str_to_num(levelplayer):1;
inteligencja_player[id] = str_to_num(inteligencjaplayer);
zdrowie_player[id] = str_to_num(silaplayer);
wytrzymalosc_player[id] = str_to_num(zrecznoscplayer);
kondycja_player[id] = str_to_num(zwinnoscplayer);
punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
}

public WyrzucPrzedmiot(id)
{
if(information_item_player[id][0])
{
client_print(id, print_chat, "[COD:MW] Вы удалили %s.", names_objects[information_item_player[id][0]]);
UsunPrzedmiot(id);
}
else
client_print(id, print_chat, "[COD:MW] У вас нету способностей .", names_objects[information_item_player[id][0]]);
}

public UsunPrzedmiot(id)
{
information_item_player[id][0] = 0;
information_item_player[id][1] = 0;
if(is_user_alive(id))
set_user_footsteps(id, 0);
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
ZmienUbranie(id, 1);
}

public DajPrzedmiot(id, przedmiot)
{
UsunPrzedmiot(id);
information_item_player[id][0] = przedmiot;
client_print(id, print_chat, "[COD:MW] Получил %s.", names_objects[information_item_player[id][0]]);

switch(przedmiot)
{
case 1:
{
set_user_footsteps(id, 1);
}
case 2:
{
information_item_player[id][1] = random_num(3,6);
}
case 3:
{
information_item_player[id][1] = random_num(6, 11);
}
case 5:
{
information_item_player[id][1] = random_num(6, 9);
}
case 6:
{
information_item_player[id][1] = random_num(100, 150);
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
}
case 7:
{
information_item_player[id][1] = random_num(2, 4);
}
case 8:
{
if(class_player[id] == Commando)
DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
}
case 9:
{
information_item_player[id][1] = random_num(1, 3);
ZmienUbranie(id, 0);
give_item(id, "weapon_hegrenade");
}
case 10:
{
information_item_player[id][1] = random_num(4, 98);
give_item(id, "weapon_hegrenade");
}
case 12:
{
information_item_player[id][1] = random_num(1, 99);
}
case 13:
{
give_item(id, "weapon_awp");
}
case 15:
{
if(class_player[id] == Rambo)
DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
}
case 16:
{
set_task(5.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
}
case 19:
{
information_item_player[id][1] = 1;
}
case 26:
{
information_item_player[id][1] = random_num(3, 6);
}
case 27:
{
information_item_player[id][1] = 3;
}
}
}

public DescriptionItem(id)
{
new description_item[128];
new losowa_wartosc[3];
num_to_str(information_item_player[id][1], losowa_wartosc, 2);
format(description_item, 127, descriptions_objects[information_item_player[id][0]]);
replace_all(description_item, 127, "LW", losowa_wartosc);

client_print(id, print_chat, "Item: %s.", names_objects[information_item_player[id][0]]);
client_print(id, print_chat, "Description: %s.", description_item);
}

public Raise(id)
{
id-=TASK_RAISE;
ExecuteHamB(Ham_CS_RoundRespawn, id);
}

public SprawdzLevel(id)
{
if(level_player[id] < 201)
{
while(experience_player[id] >= experience_level[level_player[id]])
{
level_player[id]++;
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj3, "Congratulations you have gained a level!");
client_cmd(id, "spk MW/levelup");
}

punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
}
ZapiszDane(id);
}

public ShowInformation(id)
{
id -= TASK_SHOW_INFORMATION;

set_task(0.1, "ShowInformation", id+TASK_SHOW_INFORMATION);

if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);

if(target == 0)
return PLUGIN_CONTINUE;

set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Класс : %s^nОпыт : %i / %i^nУровень : %i^nСпособность : %s", names_klas[class_player[target]], experience_player[target], experience_level[level_player[target]], level_player[target], names_objects[information_item_player[target][0]]);

return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Класс : %s]^n[Опыт : %i / %i]^n[Уровень : %i]^n[Способность : %s]", names_klas[class_player[id]], experience_player[id], experience_level[level_player[id]], level_player[id], names_objects[information_item_player[id][0]]);
return PLUGIN_CONTINUE;
}

public ShowAdvertisement(id)
{
id-=TASK_SHOW_ADVERTISEMENT;
client_print(id, print_chat, "[COD:MW] Добро пожаловать на Call of Duty Мод.");
}

public SetFast(id)
{
id -= id>32? TASK_SET_FAST: 0;

if(class_player[id])
set_user_maxspeed(id, fast_player[id]);
}

public ZmienUbranie(id,reset)
{
if (id<1 || id>32 || !is_user_connected(id))
return PLUGIN_CONTINUE;

if (reset)
cs_reset_user_model(id);
else
{
new num = random_num(0,3);
switch(get_user_team(id))
{
case 1: cs_set_user_model(id, Clothing_CT[num]);
case 2:cs_set_user_model(id, Clothing_Terro[num]);
}
}

return PLUGIN_CONTINUE;
}

public Pomoc()
{
switch(random(3))
{
case 0: client_print(0, print_chat, "[COD:MW] Напишите /help для вызова меню помощи");
case 1: client_print(0, print_chat, "[COD:MW] Использовать способность клавиша [E]");
case 2: client_print(0, print_chat, "[COD:MW] Чтобы изменить класс напишите /class");
}
set_task(60.0, "Pomoc");
}

public cmd_setlvl(id, level, cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED;
new arg1[33];
new arg2[6];
read_argv(1, arg1, 32);
read_argv(2, arg2, 5);
new player = cmd_target(id, arg1);
new value = str_to_num(arg2)-1;

experience_player[player] = experience_level[value];
level_player[player] = 0;
SprawdzLevel(player);
return PLUGIN_HANDLED;
}

public CommandBlock()
return PLUGIN_HANDLED;

stock bool:UTIL_In_FOV(id,target)
{
if (Find_Angle(id,target,9999.9) > 0.0)
return true;

return false;
}
#if defined BOT
public is_user_bot2(id)
{
new ping, loss
get_user_ping(id, ping, loss)
if(ping > 0 && loss > 0)
return false
return true
}
#endif

stock Float:Find_Angle(Core,Target,Float:dist)
{
new Float:vec2LOS[2];
new Float:flDot;
new Float:CoreOrigin[3];
new Float:TargetOrigin[3];
new Float:CoreAngles[3];

pev(Core,pev_origin,CoreOrigin);
pev(Target,pev_origin,TargetOrigin);

if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
return 0.0;

pev(Core,pev_angles, CoreAngles);

for ( new i = 0; i < 2; i++ )
vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];

new Float:veclength = Vec2DLength(vec2LOS);

//Normalize V2LOS
if (veclength <= 0.0)
{
vec2LOS[0] = 0.0;
vec2LOS[1] = 0.0;
}
else
{
new Float:flLen = 1.0 / veclength;
vec2LOS[0] = vec2LOS[0]*flLen;
vec2LOS[1] = vec2LOS[1]*flLen;
}

//Do a makevector to make v_forward right
engfunc(EngFunc_MakeVectors,CoreAngles);

new Float:v_forward[3];
new Float:v_forward2D[2];
get_global_vector(GL_v_forward, v_forward);

v_forward2D[0] = v_forward[0];
v_forward2D[1] = v_forward[1];

flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];

if ( flDot > 0.5 )
{
return flDot;
}

return 0.0;
}

stock Float:Vec2DLength( Float:Vec[2] )
{
return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
}

stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
write_short( duration ); // Duration of fadeout
write_short( holdtime ); // Hold time of color
write_short( fadetype ); // Fade type
write_byte ( red ); // Red
write_byte ( green ); // Green
write_byte ( blue ); // Blue
write_byte ( alpha ); // Alpha
message_end();
}

stock set_user_clip(id, ammo)
{
new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
get_weaponname(weapon, weaponname, 31);
while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
if(entity_get_edict(weaponid, EV_ENT_owner) == id)
{
set_pdata_int(weaponid, 51, ammo, 4);
return weaponid;
}
return 0;
}
public userhelp(id)
{
//create info/help.txt in your mod folder and put your info there as you add in motd
show_motd(id, "help.txt", "Help Motd")
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Rejiser
сообщение 2.5.2012, 12:02
Сообщение #2


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Попробуй это:

Код
new msg[51]
format(msg,50,"^x01Say ^x04 /predatorhelp ^x01 for more info.")
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string(msg)
message_end()

заменить на это:

Код
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string("^x01Say ^x04 /predatorhelp ^x01 for more info.")
message_end()
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: