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

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

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

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

Помогите со скриптом sma

Статус пользователя FleR666
сообщение 20.3.2010, 23:12
Сообщение #1
Стаж: 14 лет

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

Доброго времени суток! Имеется плагин для лазеров, но нужно сделать так, что бы ставить его могли только люди т.е CT существует ли доработка этого плугина?


"-=LaserMine Entity=- "
/*
-=LaserMine Entity=-

Each player can set LaserMine on the wall.

================================================

-=VERSIONS=-

Releaseed(Time in JP) Version comment
------------------------------------------------
2006/03/21 1.0 FirstRelease
================================================

-=INSTALLATION=-

Compile and install plugin. (configs/plugins.ini)

================================================

-=USAGE=-

Client command / +setlaser
- ex) bind v +setlaser
- can set lasermine on the wall

Server command(CVAR SETTING)
- amx_lasermine_ammo //The setup of ammo (default 2 max 10)
- amx_lasermine_fragmoney //A setup for the reward (default 300 min 100)
- amx_lasermine_cost //The settlement of the cost (default 500 min 100 max 16000)
- amx_lasermine_health //The settlement of the degree of durability (default 500 min 1 max 800)
- amx_lasermine_dmg //The setup of the damage (default 10000 min 1)

================================================

-=SpecialThanks=-
Tester justice
snake21jpn

================================================
*/
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>

#define TASK_PLANT 15100
#define TASK_NOTICE 15300

#define LASERMINE_INT_TEAM EV_INT_iuser1
#define LASERMINE_OWNER EV_INT_iuser3
#define DMG_BULLET (1<<1)
#define MAX_MINES 10

new MINE_COST
new FRAGMONEY
new LASER_HIT_DMG
new MINE_HEALTH
new MAX_MINES_CVAR

new beam, boom
new player_mines_ent[33][MAX_MINES]
new player_mines_count[33]
new bool:g_settinglaser[33]
new g_msgDeathMsg
new g_msgScoreInfo
new g_msgDamage
new g_msgStatusText
new Float:plspeed[33]
new plsetting[33]

public plugin_modules() {
require_module("engine")
require_module("cstrike")
require_module("fun")
}

detonate_mine(iCurrent, iHit) {

new Float:vOrigin[3]
entity_get_vector(iCurrent, EV_VEC_origin, vOrigin)

message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(99) //99 = KillBeam
write_short(iCurrent)
message_end()

message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(3)
write_coord(floatround(vOrigin[0]))
write_coord(floatround(vOrigin[1]))
write_coord(floatround(vOrigin[2]))
write_short(boom)
write_byte(50)
write_byte(15)
write_byte(0)
message_end()

radius_damage(vOrigin, 1, 50)

new id,slot

//id = Entvars_Get_Edict(iCurrent, EV_ENT_owner)
remove_entity(iCurrent)





// clear this from the list of live lasermines
for (id=1;id<33;id++) {
for (slot=0;slot<MAX_MINES;slot++) {
if (player_mines_ent[id][slot] == iCurrent) {
player_mines_ent[id][slot] = -1
player_mines_count[id] = player_mines_count[id] - 1

if (iHit == -1){
client_print(id, print_chat, "[LaserMines] Your mine has detonated.")
} else {
new szNetName[32]
entity_get_string(iHit, EV_SZ_netname, szNetName, 32)
client_print(id, print_chat, "[LaserMines] %s detonated your mine.",szNetName)
}
break
}
}
}

}

public CreateLaserMine_Progress(id){


if (!CreateCheck(id))
return PLUGIN_HANDLED
g_settinglaser[id] = true
//
// Progress Bar (Activate) -- This was taken almost directly from xeroblood!
//
message_begin( MSG_ONE, 108, {0,0,0}, id )
write_byte(1) // duration
write_byte(0) // duration
message_end()


new PID[1]
PID[0] = id
set_task(1.0, "CreateLaserMine", (TASK_PLANT + id), PID, 1)

return PLUGIN_HANDLED;
}

public StopCreateLaserMine(id)
{
if (task_exists((TASK_PLANT + id)))
{
remove_task((TASK_PLANT + id))
}
g_settinglaser[id] = false
//
// Progress Bar (Terminate)
//
message_begin(MSG_ONE, 108, {0,0,0}, id)
write_byte(0) // duration
write_byte(0) // duration
message_end()

return PLUGIN_HANDLED
}

public bool:CreateCheck(id){
new Status = get_cvar_num( "amx_lasermine" )
if( Status != 1 ){
client_print(id, print_chat, "[Lasermines] Lasermines are not currently active.")
return false
}

if(entity_get_int(id, EV_INT_deadflag) != 0)
return false

if(is_user_alive(id) == 0)
return false

if(player_mines_count[id] >= MAX_MINES_CVAR) {
client_print(id, print_chat, "[Lasermines] Maximum mines have been deployed.")
return false
}
if (cs_get_user_money(id) < MINE_COST) {
client_print(id, print_chat, "[Lasermines] You don't have enough money to set a lasermine! ($%d needed)", MINE_COST)
return false
}
new Float:vOrigin[3]
new Float:vAngles[3]
new NewEnt
new Float:MinBox[3]
new Float:MaxBox[3]
new Float:vNormal[3]
new Float:vTraceDirection[3]
new Float:vTraceEnd[3]
new Float:vTraceResult[3]

entity_get_vector(id, EV_VEC_origin, vOrigin)
entity_get_vector(id, EV_VEC_v_angle, vAngles)

NewEnt = create_entity("info_target")

if(NewEnt == 0) {
return false
}

entity_set_string(NewEnt, EV_SZ_classname, "lasermine")

entity_set_int(NewEnt, EV_INT_movetype, 5) //5 = movetype_fly, No grav, but collides.
entity_set_int(NewEnt, EV_INT_solid, 0)

entity_set_model(NewEnt, "models/v_tripmine.mdl")

entity_set_float(NewEnt, EV_FL_frame, 0.0)
entity_set_int(NewEnt, EV_INT_body, 3)
entity_set_int(NewEnt, EV_INT_sequence, 7) // 7 = TRIPMINE_WORLD
entity_set_float(NewEnt, EV_FL_framerate, 0.0)

entity_set_float(NewEnt, EV_FL_takedamage, 1.0)
entity_set_float(NewEnt, EV_FL_dmg, 100.0)
entity_set_float(NewEnt, EV_FL_health, float(MINE_HEALTH))

entity_set_int(NewEnt, EV_INT_iuser2, 0) //0 Will be for inactive.


MinBox[0] = -8.0
MinBox[1] = -8.0
MinBox[2] = -8.0
MaxBox[0] = 8.0
MaxBox[1] = 8.0
MaxBox[2] = 8.0

entity_set_vector(NewEnt, EV_VEC_mins, MinBox)
entity_set_vector(NewEnt, EV_VEC_maxs, MaxBox)


velocity_by_aim(id, 64, vTraceDirection)

vTraceEnd[0] = vTraceDirection[0] + vOrigin[0]
vTraceEnd[1] = vTraceDirection[1] + vOrigin[1]
vTraceEnd[2] = vTraceDirection[2] + vOrigin[2]

trace_line(id, vOrigin, vTraceEnd, vTraceResult)

if(trace_normal(id, vOrigin, vTraceEnd, vNormal) == 0) {
remove_entity(NewEnt)
client_print(id, print_chat, "[Lasermines] You must plant the lasermine on a wall!")
g_settinglaser[id] = false
return false
}
remove_entity(NewEnt)

return true
}

public CreateLaserMine(PID[]){
new id = PID[0]
new Float:vOrigin[3]
new Float:vAngles[3]
entity_get_vector(id, EV_VEC_origin, vOrigin)
entity_get_vector(id, EV_VEC_v_angle, vAngles)

new NewEnt
NewEnt = create_entity("func_breakable"/*"info_target"*/)

if(NewEnt == 0) {
return PLUGIN_HANDLED_MAIN
}

entity_set_string(NewEnt, EV_SZ_classname, "lasermine")

entity_set_int(NewEnt, EV_INT_movetype, 5) //5 = movetype_fly, No grav, but collides.
entity_set_int(NewEnt, EV_INT_solid, 0)

entity_set_model(NewEnt, "models/v_tripmine.mdl")

entity_set_float(NewEnt, EV_FL_frame, 0.0)
entity_set_int(NewEnt, EV_INT_body, 3)
entity_set_int(NewEnt, EV_INT_sequence, 7) // 7 = TRIPMINE_WORLD
entity_set_float(NewEnt, EV_FL_framerate, 0.0)

entity_set_float(NewEnt, EV_FL_takedamage, 1.0)
entity_set_float(NewEnt, EV_FL_dmg, 100.0)
entity_set_float(NewEnt, EV_FL_health, float(MINE_HEALTH))

entity_set_int(NewEnt, EV_INT_iuser2, 0) //0 Will be for inactive.

new Float:MinBox[3]
new Float:MaxBox[3]

MinBox[0] = -8.0
MinBox[1] = -8.0
MinBox[2] = -8.0
MaxBox[0] = 8.0
MaxBox[1] = 8.0
MaxBox[2] = 8.0

entity_set_vector(NewEnt, EV_VEC_mins, MinBox)
entity_set_vector(NewEnt, EV_VEC_maxs, MaxBox)

new Float:vNewOrigin[3]
new Float:vNormal[3]
new Float:vTraceDirection[3]
new Float:vTraceEnd[3]
new Float:vTraceResult[3]
new Float:vEntAngles[3]

velocity_by_aim(id, 64, vTraceDirection)

vTraceEnd[0] = vTraceDirection[0] + vOrigin[0]
vTraceEnd[1] = vTraceDirection[1] + vOrigin[1]
vTraceEnd[2] = vTraceDirection[2] + vOrigin[2]

trace_line(id, vOrigin, vTraceEnd, vTraceResult)

if(trace_normal(id, vOrigin, vTraceEnd, vNormal) == 0) {
remove_entity(NewEnt)
g_settinglaser[id] = false
client_print(id, print_chat, "[Lasermines] You must plant the lasermine on a wall!")
return PLUGIN_HANDLED_MAIN
}


new slot = 0;
for (slot = 0; slot < MAX_MINES; slot++) {
if (player_mines_ent[id][slot] == -1)
break;
}
if (slot >= MAX_MINES) //unhandled error
return PLUGIN_HANDLED_MAIN

player_mines_ent[id][slot] = NewEnt
player_mines_count[id] = player_mines_count[id] + 1

vNewOrigin[0] = vTraceResult[0] + (vNormal[0] * 8.0)
vNewOrigin[1] = vTraceResult[1] + (vNormal[1] * 8.0)
vNewOrigin[2] = vTraceResult[2] + (vNormal[2] * 8.0)

entity_set_origin(NewEnt, vNewOrigin)
vector_to_angle(vNormal, vEntAngles)

entity_set_vector(NewEnt, EV_VEC_angles, vEntAngles)

new Float:vBeamEnd[3]
new Float:vTracedBeamEnd[3]
vBeamEnd[0] = vNewOrigin[0] + (vNormal[0] * 8192)
vBeamEnd[1] = vNewOrigin[1] + (vNormal[1] * 8192)
vBeamEnd[2] = vNewOrigin[2] + (vNormal[2] * 8192)
trace_line(-1, vNewOrigin, vBeamEnd, vTracedBeamEnd)
entity_set_vector(NewEnt, EV_VEC_vuser1, vTracedBeamEnd)

emit_sound(NewEnt, CHAN_WEAPON, "weapons/mine_deploy.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
emit_sound(NewEnt, CHAN_VOICE, "weapons/mine_charge.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)

new args[4]
num_to_str(NewEnt,args,4)

entity_set_int(NewEnt, LASERMINE_INT_TEAM, int:cs_get_user_team(id))
entity_set_int(NewEnt, LASERMINE_OWNER,id)
g_settinglaser[id] = false
cs_set_user_money(id,cs_get_user_money(id) - MINE_COST)
ShowAmmo(id)
set_task(3.0, "LaserMine_Activate", 0, args, 4)

return PLUGIN_HANDLED_MAIN
}

ShowAmmo(id)
{
new ammo[51]
format(ammo, 50, "LaserMines: %i", MAX_MINES_CVAR - player_mines_count[id])

message_begin(MSG_ONE, g_msgStatusText, {0,0,0}, id)
write_byte(0)
write_string(ammo)
message_end()
}

public LaserMine_Activate(MineID[]) {

new EntID = str_to_num(MineID)
new iCurrent = find_ent_by_model(-1,"lasermine","models/v_tripmine.mdl")
if(iCurrent == 0)
return PLUGIN_CONTINUE

new Float:vOrigin[3]
entity_get_vector(EntID, EV_VEC_origin, vOrigin)

new Float:vEnd[3]
entity_get_vector(EntID, EV_VEC_vuser1, vEnd)
new teamid = entity_get_int(EntID, LASERMINE_INT_TEAM)
if(teamid == 1){
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(0)
write_coord(floatround(vOrigin[0]))
write_coord(floatround(vOrigin[1]))
write_coord(floatround(vOrigin[2]))
write_coord(floatround(vEnd[0])) //Random
write_coord(floatround(vEnd[1])) //Random
write_coord(floatround(vEnd[2])) //Random
write_short(beam)
write_byte(0)
write_byte(0)
write_byte(3) //Life
write_byte(5) //Width
write_byte(0)//wave
write_byte(255) // r
write_byte(0) // g
write_byte(0) // b
write_byte(255)
write_byte(0)
message_end()
}else{

message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(0)
write_coord(floatround(vOrigin[0]))
write_coord(floatround(vOrigin[1]))
write_coord(floatround(vOrigin[2]))
write_coord(floatround(vEnd[0])) //Random
write_coord(floatround(vEnd[1])) //Random
write_coord(floatround(vEnd[2])) //Random
write_short(beam)
write_byte(0)
write_byte(0)
write_byte(3) //Life
write_byte(5) //Width
write_byte(0)//wave
write_byte(0) // r
write_byte(0) // g
write_byte(255) // b
write_byte(255)
write_byte(0)
message_end()
}
entity_set_int(EntID, EV_INT_iuser2, 1) //1 Will be for active.
entity_set_int(EntID, EV_INT_solid, 2) //1 Will be for active.

emit_sound(EntID, CHAN_VOICE, "weapons/mine_activate.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
return PLUGIN_CONTINUE
}

public LaserMineThink() {
if(get_cvar_num( "amx_lasermine" ) != 1 )
return PLUGIN_HANDLED

new iCurrent
iCurrent = find_ent_by_class(-1, "lasermine")
while(iCurrent != 0) {
if(entity_get_int(iCurrent, EV_INT_iuser2) == 1) {
new Float:vOrigin[3]
entity_get_vector(iCurrent, EV_VEC_origin, vOrigin)

new Float:vEnd[3]
entity_get_vector(iCurrent, EV_VEC_vuser1, vEnd)

new Float:vTrace[3]
new iHit
iHit = trace_line(iCurrent, vOrigin, vEnd, vTrace)

new Float:health[1]
health[0] = entity_get_float(iCurrent, EV_FL_health)

new teamid = entity_get_int(iCurrent, LASERMINE_INT_TEAM)

if (health[0] <= 0) {
detonate_mine(iCurrent,-1)
}else{
if(iHit > 0 ) {
new szClassName[32]
entity_get_string(iHit, EV_SZ_classname, szClassName, 32)
if(equal(szClassName, "player")){
if(is_user_alive(iHit) && !get_user_godmode(iHit)){
new iHitTeam = int:cs_get_user_team(iHit)
new iHitHP = get_user_health(iHit) - LASER_HIT_DMG
new id = entity_get_int(iCurrent,LASERMINE_OWNER)//, szNetName[32]

if(iHitHP <= 0){
new hitscore
if (get_cvar_num("mp_friendlyfire") == 0){
if(iHitTeam != teamid){
hitscore = 1
cs_set_user_money(id,cs_get_user_money(id) + FRAGMONEY)
//set_user_health(iHit, 0)
//entity_set_float(iHit, EV_FL_health,0.0)
emit_sound(iHit, CHAN_WEAPON, "debris/beamstart9.wav", 1.0, ATTN_NORM, 0, PITCH_NORM )
set_score(id,iHit,hitscore,iHitHP)
//entity_get_string(iHit, EV_SZ_netname, szNetName, 32)
//client_print(id, print_chat, "[LaserMines] %s killed your mine.",szNetName)
}
}else{
if(iHitTeam != teamid){
hitscore = 1
cs_set_user_money(id,cs_get_user_money(id) + FRAGMONEY)
}else{
hitscore = -1
cs_set_user_money(id,cs_get_user_money(id) - FRAGMONEY)
}
//set_user_health(iHit, 0)
//entity_set_float(iHit, EV_FL_health, 0.0)
emit_sound(iHit, CHAN_WEAPON, "debris/beamstart9.wav", 1.0, ATTN_NORM, 0, PITCH_NORM )
set_score(id,iHit,hitscore,iHitHP)
//entity_get_string(iHit, EV_SZ_netname, szNetName, 32)
//client_print(id, print_chat, "[LaserMines] %s killed your mine.",szNetName)
}
}else{
set_user_health(iHit, iHitHP)
message_begin(MSG_ONE_UNRELIABLE, g_msgDamage, {0,0,0}, iHit)
write_byte(LASER_HIT_DMG)
write_byte(LASER_HIT_DMG)
write_long(DMG_BULLET)
write_coord(floatround(vOrigin[0]))
write_coord(floatround(vOrigin[1]))
write_coord(floatround(vOrigin[2]))
message_end()
}
}
}
}
}
}

iCurrent = find_ent_by_class(iCurrent, "lasermine")
}
return PLUGIN_CONTINUE
}

public LaserMine_LaserThink() {
if(get_cvar_num( "amx_lasermine" ) != 1 )
return PLUGIN_HANDLED

new iCurrent
iCurrent = find_ent_by_class(-1, "lasermine")
while(iCurrent != 0){
if(entity_get_int(iCurrent, EV_INT_iuser2) == 1){
new Float:vOrigin[3]
entity_get_vector(iCurrent, EV_VEC_origin, vOrigin)

new Float:vEnd[3]
entity_get_vector(iCurrent, EV_VEC_vuser1, vEnd)

new teamid = entity_get_int(iCurrent, LASERMINE_INT_TEAM)

if(teamid == 1){
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(0)
write_coord(floatround(vOrigin[0]))
write_coord(floatround(vOrigin[1]))
write_coord(floatround(vOrigin[2]))
write_coord(floatround(vEnd[0])) //Random
write_coord(floatround(vEnd[1])) //Random
write_coord(floatround(vEnd[2])) //Random
write_short(beam)
write_byte(0)
write_byte(0)
write_byte(3) //Life
write_byte(5) //Width
write_byte(0)//wave
write_byte(255) // r
write_byte(0) // g
write_byte(0) // b
write_byte(255)
write_byte(0)
message_end()
}else{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(0)
write_coord(floatround(vOrigin[0]))
write_coord(floatround(vOrigin[1]))
write_coord(floatround(vOrigin[2]))
write_coord(floatround(vEnd[0])) //Random
write_coord(floatround(vEnd[1])) //Random
write_coord(floatround(vEnd[2])) //Random
write_short(beam)
write_byte(0)
write_byte(0)
write_byte(3) //Life
write_byte(5) //Width
write_byte(0)//wave
write_byte(0) // r
write_byte(0) // g
write_byte(255) // b
write_byte(255)
write_byte(0)
message_end()
}
}
iCurrent = find_ent_by_class(iCurrent, "lasermine")
}
return PLUGIN_CONTINUE
}

public set_score(id,target,hitscore,HP){

// entity_set_float(id, EV_FL_frags, entity_get_float(id, EV_FL_frags) + hitscore)
// entity_set_float(target, EV_FL_frags, entity_get_float(target, EV_FL_frags) + 1.0)

new idfrags = get_user_frags(id) + hitscore
set_user_frags(id, idfrags)

new tarfrags = get_user_frags(target) + 1
set_user_frags(target,tarfrags)

new idteam = int:cs_get_user_team(id)
new iddeaths = get_user_deaths(id)


message_begin(MSG_ALL, g_msgDeathMsg, {0, 0, 0} ,0)
write_byte(id)
write_byte(target)
write_byte(0)
write_string("lasermine")
message_end()

message_begin(MSG_ALL, g_msgScoreInfo)
write_byte(id)
write_short(idfrags)
write_short(iddeaths)
write_short(0)
write_short(idteam)
message_end()

set_msg_block(g_msgDeathMsg, BLOCK_ONCE)

//entity_set_float(target, EV_FL_health,float(HP))
set_user_health(target, HP)

}

public standing(id) {
if (!g_settinglaser[id])
return PLUGIN_CONTINUE

entity_set_float(id, EV_FL_maxspeed, 1.0)
// ShowAmmo(id)

return PLUGIN_CONTINUE
}

public client_PostThink(id) {
if (!g_settinglaser[id] && plsetting[id]){
resetspeed(id)
}
else if (g_settinglaser[id] && !plsetting[id]) {
plspeed[id] = entity_get_float(id, EV_FL_maxspeed)
entity_set_float(id, EV_FL_maxspeed, 1.0)
}
plsetting[id] = g_settinglaser[id]
return PLUGIN_CONTINUE
}

public resetspeed(who) {
entity_set_float(who, EV_FL_maxspeed, plspeed[who])
}

public client_connect(id){
new j
for (j=0;j<MAX_MINES;j++) {
player_mines_ent[id][j] = -1
player_mines_count[id] = 0
}
g_settinglaser[id] = false
return PLUGIN_CONTINUE
}

public client_disconnect(id){
if(get_cvar_num( "amx_lasermine" ) != 1 )
return PLUGIN_CONTINUE

reset_laser(id)
g_settinglaser[id] = false
return PLUGIN_CONTINUE
}

public newround(id){
if(get_cvar_num( "amx_lasermine" ) != 1 )
return PLUGIN_CONTINUE
plspeed[id] = entity_get_float(id, EV_FL_maxspeed)
reset_laser(id)
g_settinglaser[id] = false
return PLUGIN_CONTINUE
}

public DeathEvent(){
if(get_cvar_num( "amx_lasermine" ) != 1 )
return PLUGIN_CONTINUE

new id = read_data(2)

if (task_exists(id))
remove_task(id)
g_settinglaser[id] = false
return PLUGIN_CONTINUE
}

public reset_laser(id){
if(get_cvar_num( "amx_lasermine" ) != 1 )
return PLUGIN_CONTINUE

new j, iCurrent
player_mines_count[id] = 0

for (j=0;j<MAX_MINES;j++) {
if (player_mines_ent[id][j] != -1) {

iCurrent = player_mines_ent[id][j]

new Float:vOrigin[3]
entity_get_vector(iCurrent, EV_VEC_origin, vOrigin)

message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(99) //99 = KillBeam
write_short(iCurrent)
message_end()
/*
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(3)
write_coord(floatround(vOrigin[0]))
write_coord(floatround(vOrigin[1]))
write_coord(floatround(vOrigin[2]))
write_short(boom)
write_byte(50)
write_byte(15)
write_byte(0)
message_end()

radius_damage(vOrigin, 1, 50)
*/
remove_entity(iCurrent)

player_mines_ent[id][j] = -1

}
}
return PLUGIN_CONTINUE
}

public check_cvars(){
if (get_cvar_num("amx_lasermine_ammo") > 10) {
server_print("[Lasermines] amx_lasermine_ammo can't be greater than 10, setting cvar to 10 now.")
set_cvar_num("amx_lasermine_ammo", 10)
}
if (get_cvar_num("amx_lasermine_ammo") < 1) {
server_print("[Lasermines] amx_lasermine_ammo can't be less than 1, setting cvar to 1 now.")
set_cvar_num("amx_lasermine_ammo", 1)
}
if (get_cvar_num("amx_lasermine_health") > 800){
server_print("[Lasermines] amx_lasermine_health can't be greater than 800, setting cvar to 800 now.")
set_cvar_num("amx_lasermine_health", 800)
}
if (get_cvar_num("amx_lasermine_health") < 1) {
server_print("[Lasermines] amx_lasermine_health can't be less than 1, setting cvar to 1 now.")
set_cvar_num("amx_lasermine_health", 1)
}
if (get_cvar_num("amx_lasermine_cost") > 16000){
server_print("[Lasermines] amx_lasermine_cost can't be greater than 16000, setting cvar to 16000 now.")
set_cvar_num("amx_lasermine_cost", 16000)
}
if (get_cvar_num("amx_lasermine_cost") < 100) {
server_print("[Lasermines] amx_lasermine_cost can't be less than 100, setting cvar to 100 now.")
set_cvar_num("amx_lasermine_cost", 100)
}
if (get_cvar_num("amx_lasermine_dmg") < 1) {
server_print("[Lasermines] amx_lasermine_dmg can't be less than 1, setting cvar to 1 now.")
set_cvar_num("amx_lasermine_dmg", 1)
}
if (get_cvar_num("amx_lasermine_fragmoney") < 100) {
server_print("[Lasermines] amx_lasermine_dmg can't be less than 100, setting cvar to 100 now.")
set_cvar_num("amx_lasermine_dmg", 100)
}

MAX_MINES_CVAR = get_cvar_num("amx_lasermine_ammo")
FRAGMONEY = get_cvar_num("amx_lasermine_fragmoney")
MINE_COST = get_cvar_num("amx_lasermine_cost")
MINE_HEALTH = get_cvar_num("amx_lasermine_health")
LASER_HIT_DMG = get_cvar_num("amx_lasermine_dmg")

}
public plugin_precache() {
precache_sound("weapons/mine_deploy.wav")
precache_sound("weapons/mine_charge.wav")
precache_sound("weapons/mine_activate.wav")
precache_sound("debris/beamstart9.wav")
precache_model("models/v_tripmine.mdl")
beam = precache_model("sprites/laserbeam.spr")
boom = precache_model("sprites/zerogxplode.spr")

return PLUGIN_CONTINUE
}

public server_changelevel(map[]){

MAX_MINES_CVAR = get_cvar_num("amx_lasermine_ammo")
FRAGMONEY = get_cvar_num("amx_lasermine_fragmoney")
MINE_COST = get_cvar_num("amx_lasermine_cost")
MINE_HEALTH = get_cvar_num("amx_lasermine_health")
LASER_HIT_DMG = get_cvar_num("amx_lasermine_dmg")

}
public plugin_init(){
register_plugin("LaserMine Entity","1.0","+ARUKARI-")
register_clcmd("+setlaser","CreateLaserMine_Progress")
register_clcmd("-setlaser","StopCreateLaserMine")
register_cvar( "amx_lasermine", "1", FCVAR_UNLOGGED )

register_event("DeathMsg", "DeathEvent", "a")
register_event("CurWeapon", "standing", "be", "1=1")
register_event("ResetHUD", "newround", "b")

register_cvar("amx_lasermine_ammo","2")
register_cvar("amx_lasermine_dmg","10000")
register_cvar("amx_lasermine_cost","500")
register_cvar("amx_lasermine_fragmoney","300")
register_cvar("amx_lasermine_health","500")

g_msgDeathMsg = get_user_msgid("DeathMsg")
g_msgScoreInfo = get_user_msgid("ScoreInfo")
g_msgDamage = get_user_msgid("Damage")
g_msgStatusText = get_user_msgid("StatusText")

set_task(0.01, "LaserMineThink", 0, "", 0, "b")
set_task(0.1, "LaserMine_LaserThink", 0, "", 0, "b")
set_task(2.0,"check_cvars",0,"",0,"b")

return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя GODZILLA
сообщение 22.3.2010, 0:23
Сообщение #2


Стаж: 16 лет

Сообщений: 1471
Благодарностей: 440
Полезность: 716

качай другой плагин, там есть квар который контролирует это
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FleR666
сообщение 22.3.2010, 13:50
Сообщение #3
Стаж: 14 лет

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

Проблема заключается в том, что нужен плагин где не надо писать всяких /lm /buylaser и остального бреда. Просто бинд и всё
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: