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

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

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

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

Вырезать функции в плагине

Статус пользователя rasskazov
сообщение 15.5.2017, 13:02
Сообщение #1


Стаж: 13 лет
Город: Где-то в Крыму)

Сообщений: 499
Благодарностей: 158
Полезность: 436

Люди добрые, помогите)
Есть ножи , достал из сборки Deatruhn, но там было связано между собой с LVL системой и дуэлью, лвл я из ножей убрал кое как, но вот с дуэлью не получается
Вообщем некоторые игроки не могут взять нож, т.к
Код:
new szCvarDr[ 127 ]
get_cvar_string( "deathrun_mode", szCvarDr, charsmax( szCvarDr ) )

if( ( equal( szCvarDr, "DUEL" ) ) || get_user_team( iPlayer ) == 1 )
{
client_print( iPlayer, print_chat, "В данный момент ножи отключены!" )
return PLUGIN_CONTINUE
}


Пытался убирать этот код, но ничего и не выходит к сожалению, прошу помощи здесь )
Вот сам исходник
Cкрытый текст
Код:
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < cstrike >
#include < hamsandwich >
#include < fakemeta_util >


#define PLUGIN "DeathRun Knife Mod"
#define VERSION "1.0"
#define AUTHOR "[Forze]*Misterio"

#define VIP ADMIN_LEVEL_B
#define ADMIN ADMIN_LEVEL_C
#define SUPER_ADMIN ADMIN_LEVEL_G

#define V_MODEL 0
#define P_MODEL 1

new KnifeChoose[ 33 ]
new JumpNum[ 33 ]

new bool: TwoJumps[ 33 ]
new bool: DoJumps[ 33 ]

const DeId = 41
const ActiveItem = 373

const OFFSET_LINUX_WEAPONS = 4
const OFFSET_LINUX = 5

const iKey = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9

new const KnifeModels[ 2 ][ 10 ][ ] =
{
{
"" ,
"models/Event_Knives/v_gravity.mdl",
"models/Event_Knives/v_speed.mdl",
"models/Event_Knives/v_thunder.mdl",
"models/Event_Knives/v_combat.mdl",
"models/Event_Knives/v_dingo.mdl",
"models/Event_Knives/v_dagger.mdl",
"models/Event_Knives/v_vip.mdl",
"models/Event_Knives/v_adm.mdl",
"models/Event_Knives/v_superadmin.mdl"
},

{
"" ,
"models/Event_Knives/p_gravity.mdl",
"models/Event_Knives/p_speed.mdl",
"models/Event_Knives/p_thunder.mdl",
"models/Event_Knives/p_combat.mdl",
"models/Event_Knives/p_dingo.mdl",
"models/Event_Knives/p_dagger.mdl",
"models/Event_Knives/p_vip.mdl",
"models/Event_Knives/p_adm.mdl",
"models/Event_Knives/p_superadmin.mdl"
}
}

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

register_menu( "Case_Switch" , iKey, "Function_Menu" )
register_clcmd( "say /knife", "Knife_Menu" )

register_event("CurWeapon", "Knife_Cur", "be", "1=1")

RegisterHam( Ham_TakeDamage, "player", "Knife_Damage", false )
RegisterHam( Ham_Item_Deploy, "weapon_knife", "Knife_Deploy", 1 )

register_forward( FM_PlayerPostThink, "Post_Think" )
register_forward( FM_PlayerPreThink, "Pre_Think" )
}

public plugin_precache() {
new i
for( i = 1; i < 10; i++ ) {
precache_model( KnifeModels[ V_MODEL ][ i ] )
precache_model( KnifeModels[ P_MODEL ][ i ] )
}
}

public client_authorized( iPlayer ) KnifeChoose[ iPlayer ] = 1 ;

public Knife_Menu( iPlayer ) {

new szCvarDr[ 127 ]
get_cvar_string( "deathrun_mode", szCvarDr, charsmax( szCvarDr ) )

if( ( equal( szCvarDr, "DUEL" ) ) || get_user_team( iPlayer ) == 1 )
{
client_print( iPlayer, print_chat, "В данный момент ножи отключены!" )
return PLUGIN_CONTINUE
}

static Menu[ 2048 ] , iLen
iLen = 0

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r1 %sЛайт \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 1 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 1 ? "+" : "Гравитация" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r2 %sКинжал \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 2 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 2 ? "+" : "Скорость" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r3%sМолния \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 3 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 3 ? "+" : "Гравитация|Бесшумный" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r4 %sКомбат \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 4 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 4 ? "+" : "Гравитация|Скорость" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r5 %sДинго \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 5 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 5 ? "+" : "2 прыжка|Урон" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r6 %sДаггер \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 6 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 6 ? "+" : "2 прыжка|Скорость" )

if( get_user_flags( iPlayer ) & VIP )
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r7 %sТемный Томагавк \y[\r%s\y]^n", KnifeChoose[ iPlayer ] == 7 ? "\y" : "\w", KnifeChoose[ iPlayer ] == 7 ? "+" : "Вип" )
else
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r7 \dТемный Томагавк \r[Вип]^n" )

if( get_user_flags( iPlayer ) & ADMIN )
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r8 %sЗолотой Томагавк \y[\r%s\y]^n", KnifeChoose[ iPlayer ] == 8 ? "\y" : "\w", KnifeChoose[ iPlayer ] == 8 ? "+" : "Админ" )
else
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r8 \dЗолотой Томагавк \r[Админ]^n" )

if( get_user_flags( iPlayer ) & SUPER_ADMIN )
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r9 %sАдский Томагавк \y[\r%s\y]", KnifeChoose[ iPlayer ] == 9 ? "\y" : "\w", KnifeChoose[ iPlayer ] == 9 ? "+" : "Супер Админ" )
else
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r9 \dАдский Томагавк \r[Супер Админ]" )

show_menu( iPlayer , iKey , Menu , -1 , "Case_Switch" )
return PLUGIN_HANDLED
}

public Function_Menu( iPlayer , key ) {
switch ( key ) {
case 0: {
KnifeChoose[ iPlayer ] = 1
client_print( iPlayer, print_chat, "Ваш нож - Лайт [Гравитация]" )
}
case 1: {
KnifeChoose[ iPlayer ] = 2
client_print( iPlayer, print_chat, "Ваш нож - Кинжал [Скорость]" )
}
case 2: {
KnifeChoose[ iPlayer ] = 3
client_print( iPlayer, print_chat, "Ваш нож - Молния [Гравитация|Бесшумный]" )
}
case 3: {
KnifeChoose[ iPlayer ] = 4
client_print( iPlayer, print_chat, "Ваш нож - Комбат [Гравитация|Скорость]" )
}
case 4: {
KnifeChoose[ iPlayer ] = 5
client_print( iPlayer, print_chat, "Ваш нож - Динго [2 прыжка|Урон]" )
}
case 5: {
KnifeChoose[ iPlayer ] = 6
client_print( iPlayer, print_chat, "Ваш нож - Даггер [2 прыжка|Скорость]" )
}
case 6:
if( get_user_flags( iPlayer ) & VIP ) {
KnifeChoose[ iPlayer ] = 7
client_print( iPlayer, print_chat, "Ваш нож - Темный Томагавк [2 прыжка|Скорость|Тихий]" )
}
else {
client_print( iPlayer, print_chat, "Вы не Вип Игрок!" )
return PLUGIN_HANDLED
}
case 7:
if( get_user_flags( iPlayer ) & ADMIN ) {
KnifeChoose[ iPlayer ] = 8
client_print( iPlayer, print_chat, "Ваш нож - Золотой Томагавк [2 прыжка|Гравитация|Урон]" )
}
else {
client_print( iPlayer, print_chat, "Вы не Админ Игрок!" )
return PLUGIN_HANDLED
}
case 8:
if( get_user_flags( iPlayer ) & SUPER_ADMIN ) {
KnifeChoose[ iPlayer ] = 9
client_print( iPlayer, print_chat, "Ваш нож - Адский Томагавк [Все способности]" )
}
else {
client_print( iPlayer, print_chat, "Вы не Супер Админ Игрок!" )
return PLUGIN_HANDLED
}
}

new iEnt = get_pdata_cbase( iPlayer, ActiveItem, OFFSET_LINUX )

if( pev_valid( iEnt ) && get_user_weapon( iPlayer ) == CSW_KNIFE ){
ExecuteHamB( Ham_Item_Deploy, iEnt )
}
return PLUGIN_HANDLED
}

public Knife_Cur( iPlayer ) {
new szCvarDr[ 127 ]
get_cvar_string( "deathrun_mode", szCvarDr, charsmax( szCvarDr ) )

if( !is_user_alive( iPlayer ) || ( equal( szCvarDr, "DUEL" ) ) )
return

if( ( equal(szCvarDr, "DUEL" ) ) || get_user_team( iPlayer ) == 1 || get_user_weapon( iPlayer ) != CSW_KNIFE )
{
fm_set_user_gravity( iPlayer, 0.9 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
return
}
switch( KnifeChoose[ iPlayer ] ) {
case 1: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 2: {
fm_set_user_gravity( iPlayer, 0.85 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 3: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 1 )
}
case 4: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 5: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 6: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 7: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 310.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 1 )
}
case 8: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 9: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 325.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 1 )
}
}
}
public Knife_Deploy( iEnt ) {
if( pev_valid( iEnt ) != 2 )
return HAM_HANDLED

new szCvarDr[ 127 ]
get_cvar_string( "deathrun_mode", szCvarDr, charsmax( szCvarDr ) )

new iPlayer = get_pdata_cbase( iEnt, DeId, OFFSET_LINUX_WEAPONS )

if( !is_user_alive( iPlayer ) || get_user_team( iPlayer ) == 1 || ( equal(szCvarDr, "DUEL" ) ) )
return HAM_IGNORED

switch( KnifeChoose[ iPlayer ] ) {
case 1: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 2: {
fm_set_user_gravity( iPlayer, 0.85 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 3: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 1 )
}
case 4: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 5: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 6: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 7: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 310.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 1 )
}
case 8: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 9: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 325.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 1 )
}
}
set_pev( iPlayer, pev_viewmodel2, KnifeModels[ V_MODEL ][ KnifeChoose[ iPlayer ] ] )
set_pev( iPlayer, pev_weaponmodel2, KnifeModels[ P_MODEL ][ KnifeChoose[ iPlayer ] ] )

return HAM_IGNORED
}

public Knife_Damage( victim, inflictor, attacker, Float:damage, bits ) {
if( !is_user_connected( attacker ) || get_user_weapon( attacker ) != CSW_KNIFE || get_user_team( victim ) == get_user_team( attacker ) )
return HAM_IGNORED

if( KnifeChoose[ attacker ] == 5 ) {
SetHamParamFloat( 4, damage * 1.5 )
}
if( KnifeChoose[ attacker ] == 8 ) {
SetHamParamFloat( 4, damage * 2.0 )
}
if( KnifeChoose[ attacker ] == 9 ) {
SetHamParamFloat( 4, damage * 2.0 )
}
return HAM_IGNORED
}

public Pre_Think( iPlayer ) {
if( !is_user_alive( iPlayer ) || is_user_bot( iPlayer ) )
return PLUGIN_CONTINUE

if( TwoJumps[ iPlayer ] ) {
new nbut = pev( iPlayer, pev_button )
new obut = pev( iPlayer, pev_oldbuttons )
if( (nbut & IN_JUMP) && !(pev(iPlayer, pev_flags) & FL_ONGROUND) && !(obut & IN_JUMP) ) {
if( JumpNum [ iPlayer ] < 1) {
DoJumps[ iPlayer ] = true
JumpNum[ iPlayer ]++
return PLUGIN_CONTINUE
}
}
if( ( nbut & IN_JUMP ) && ( pev( iPlayer, pev_flags ) & FL_ONGROUND ) ) {
JumpNum[ iPlayer ] = 0
}
}
return PLUGIN_CONTINUE
}

public Post_Think( iPlayer ) {
if( TwoJumps[ iPlayer ] ) {
if( !is_user_alive( iPlayer ) )
return PLUGIN_CONTINUE
if( DoJumps[ iPlayer ] ) {
new Float:velocity[ 3 ]
pev( iPlayer, pev_velocity, velocity )
velocity[ 2 ] = random_float( 295.0, 305.0 )
set_pev( iPlayer, pev_velocity, velocity )
DoJumps[ iPlayer ] = false
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}


Отредактировал: rasskazov, - 15.5.2017, 13:02
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя rasskazov
сообщение 15.5.2017, 14:10
Сообщение #2


Стаж: 13 лет
Город: Где-то в Крыму)

Сообщений: 499
Благодарностей: 158
Полезность: 436

Вообщем проблему решили, но теперь в начале раунда как положено не выдает начальное оружие ( пистолет )
Исход
Код:
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < cstrike >
#include < hamsandwich >
#include < fakemeta_util >


#define PLUGIN "DeathRun Knife Mod"
#define VERSION "1.0"
#define AUTHOR "[Forze]*Misterio"

#define VIP ADMIN_LEVEL_B
#define ADMIN ADMIN_LEVEL_C
#define SUPER_ADMIN ADMIN_LEVEL_G

#define V_MODEL 0
#define P_MODEL 1

new KnifeChoose[ 33 ]
new JumpNum[ 33 ]

new bool: TwoJumps[ 33 ]
new bool: DoJumps[ 33 ]

const DeId = 41
const ActiveItem = 373

const OFFSET_LINUX_WEAPONS = 4
const OFFSET_LINUX = 5

const iKey = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9

new const KnifeModels[ 2 ][ 10 ][ ] =
{
{
"" ,
"models/Event_Knives/v_gravity.mdl",
"models/Event_Knives/v_speed.mdl",
"models/Event_Knives/v_thunder.mdl",
"models/Event_Knives/v_combat.mdl",
"models/Event_Knives/v_dingo.mdl",
"models/Event_Knives/v_dagger.mdl",
"models/Event_Knives/v_vip.mdl",
"models/Event_Knives/v_adm.mdl",
"models/Event_Knives/v_superadmin.mdl"
},

{
"" ,
"models/Event_Knives/p_gravity.mdl",
"models/Event_Knives/p_speed.mdl",
"models/Event_Knives/p_thunder.mdl",
"models/Event_Knives/p_combat.mdl",
"models/Event_Knives/p_dingo.mdl",
"models/Event_Knives/p_dagger.mdl",
"models/Event_Knives/p_vip.mdl",
"models/Event_Knives/p_adm.mdl",
"models/Event_Knives/p_superadmin.mdl"
}
}

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

register_menu( "Case_Switch" , iKey, "Function_Menu" )
register_clcmd( "say /knife", "Knife_Menu" )

register_event("CurWeapon", "Knife_Cur", "be", "1=1")

RegisterHam( Ham_TakeDamage, "player", "Knife_Damage", false )
RegisterHam( Ham_Item_Deploy, "weapon_knife", "Knife_Deploy", 1 )

register_forward( FM_PlayerPostThink, "Post_Think" )
register_forward( FM_PlayerPreThink, "Pre_Think" )
}

public plugin_precache() {
new i
for( i = 1; i < 10; i++ ) {
precache_model( KnifeModels[ V_MODEL ][ i ] )
precache_model( KnifeModels[ P_MODEL ][ i ] )
}
}

public client_authorized( iPlayer ) KnifeChoose[ iPlayer ] = 1 ;

public Knife_Menu( iPlayer )
{
static Menu[ 2048 ] , iLen
iLen = 0

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r1 %sЛайт \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 1 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 1 ? "+" : "Гравитация" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r2 %sКинжал \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 2 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 2 ? "+" : "Скорость" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r3%sМолния \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 3 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 3 ? "+" : "Гравитация|Бесшумный" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r4 %sКомбат \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 4 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 4 ? "+" : "Гравитация|Скорость" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r5 %sДинго \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 5 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 5 ? "+" : "2 прыжка|Урон" )

iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r6 %sДаггер \d[\y%s\d]^n", KnifeChoose[ iPlayer ] == 6 ? "\w" : "\w", KnifeChoose[ iPlayer ] == 6 ? "+" : "2 прыжка|Скорость" )

if( get_user_flags( iPlayer ) & VIP )
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r7 %sТемный Томагавк \y[\r%s\y]^n", KnifeChoose[ iPlayer ] == 7 ? "\y" : "\w", KnifeChoose[ iPlayer ] == 7 ? "+" : "Вип" )
else
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r7 \dТемный Томагавк \r[Вип]^n" )

if( get_user_flags( iPlayer ) & ADMIN )
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r8 %sЗолотой Томагавк \y[\r%s\y]^n", KnifeChoose[ iPlayer ] == 8 ? "\y" : "\w", KnifeChoose[ iPlayer ] == 8 ? "+" : "Админ" )
else
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r8 \dЗолотой Томагавк \r[Админ]^n" )

if( get_user_flags( iPlayer ) & SUPER_ADMIN )
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r9 %sАдский Томагавк \y[\r%s\y]", KnifeChoose[ iPlayer ] == 9 ? "\y" : "\w", KnifeChoose[ iPlayer ] == 9 ? "+" : "Супер Админ" )
else
iLen += formatex( Menu[ iLen ] , charsmax( Menu ) - iLen , "\r9 \dАдский Томагавк \r[Супер Админ]" )

show_menu( iPlayer , iKey , Menu , -1 , "Case_Switch" )
return PLUGIN_HANDLED
}

public Function_Menu( iPlayer , key ) {
switch ( key ) {
case 0: {
KnifeChoose[ iPlayer ] = 1
client_print( iPlayer, print_chat, "Ваш нож - Лайт [Гравитация]" )
}
case 1: {
KnifeChoose[ iPlayer ] = 2
client_print( iPlayer, print_chat, "Ваш нож - Кинжал [Скорость]" )
}
case 2: {
KnifeChoose[ iPlayer ] = 3
client_print( iPlayer, print_chat, "Ваш нож - Молния [Гравитация|Бесшумный]" )
}
case 3: {
KnifeChoose[ iPlayer ] = 4
client_print( iPlayer, print_chat, "Ваш нож - Комбат [Гравитация|Скорость]" )
}
case 4: {
KnifeChoose[ iPlayer ] = 5
client_print( iPlayer, print_chat, "Ваш нож - Динго [2 прыжка|Урон]" )
}
case 5: {
KnifeChoose[ iPlayer ] = 6
client_print( iPlayer, print_chat, "Ваш нож - Даггер [2 прыжка|Скорость]" )
}
case 6:
if( get_user_flags( iPlayer ) & VIP ) {
KnifeChoose[ iPlayer ] = 7
client_print( iPlayer, print_chat, "Ваш нож - Темный Томагавк [2 прыжка|Скорость|Тихий]" )
}
else {
client_print( iPlayer, print_chat, "Вы не Вип Игрок!" )
return PLUGIN_HANDLED
}
case 7:
if( get_user_flags( iPlayer ) & ADMIN ) {
KnifeChoose[ iPlayer ] = 8
client_print( iPlayer, print_chat, "Ваш нож - Золотой Томагавк [2 прыжка|Гравитация|Урон]" )
}
else {
client_print( iPlayer, print_chat, "Вы не Админ Игрок!" )
return PLUGIN_HANDLED
}
case 8:
if( get_user_flags( iPlayer ) & SUPER_ADMIN ) {
KnifeChoose[ iPlayer ] = 9
client_print( iPlayer, print_chat, "Ваш нож - Адский Томагавк [Все способности]" )
}
else {
client_print( iPlayer, print_chat, "Вы не Супер Админ Игрок!" )
return PLUGIN_HANDLED
}
}

//new iEnt = get_pdata_cbase( iPlayer, ActiveItem, OFFSET_LINUX )

//if( pev_valid( iEnt ) && get_user_weapon( iPlayer ) == CSW_KNIFE ){
//ExecuteHamB( Ham_Item_Deploy, iEnt )
//}
return PLUGIN_HANDLED
}

public Knife_Cur( iPlayer )
{
if( !is_user_alive( iPlayer ))
return

if( get_user_team( iPlayer ) == 1 || get_user_weapon( iPlayer ) != CSW_KNIFE )
{
fm_set_user_gravity( iPlayer, 0.9 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
return
}
switch( KnifeChoose[ iPlayer ] ) {
case 1: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 2: {
fm_set_user_gravity( iPlayer, 0.85 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 3: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 1 )
}
case 4: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 5: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 6: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 7: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 310.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 1 )
}
case 8: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 9: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 325.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 1 )
}
}
}
public Knife_Deploy( iEnt )
{
if( pev_valid( iEnt ) != 2 )
return HAM_HANDLED

new iPlayer = get_pdata_cbase( iEnt, DeId, OFFSET_LINUX_WEAPONS )

//if( !is_user_alive( iPlayer ) || get_user_team( iPlayer ) == 1 )
//return HAM_IGNORED

switch( KnifeChoose[ iPlayer ] ) {
case 1: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 2: {
fm_set_user_gravity( iPlayer, 0.85 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 3: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 1 )
}
case 4: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = false
set_user_footsteps( iPlayer, 0 )
}
case 5: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 6: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 300.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 7: {
fm_set_user_gravity( iPlayer, 0.8 )
fm_set_user_maxspeed( iPlayer, 310.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 1 )
}
case 8: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 250.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 0 )
}
case 9: {
fm_set_user_gravity( iPlayer, 0.65 )
fm_set_user_maxspeed( iPlayer, 325.0 )
TwoJumps[ iPlayer ] = true
set_user_footsteps( iPlayer, 1 )
}
}
set_pev( iPlayer, pev_viewmodel2, KnifeModels[ V_MODEL ][ KnifeChoose[ iPlayer ] ] )
set_pev( iPlayer, pev_weaponmodel2, KnifeModels[ P_MODEL ][ KnifeChoose[ iPlayer ] ] )

return HAM_IGNORED
}

public Knife_Damage( victim, inflictor, attacker, Float:damage, bits ) {
if( !is_user_connected( attacker ) || get_user_weapon( attacker ) != CSW_KNIFE || get_user_team( victim ) == get_user_team( attacker ) )
return HAM_IGNORED

if( KnifeChoose[ attacker ] == 5 ) {
SetHamParamFloat( 4, damage * 1.5 )
}
if( KnifeChoose[ attacker ] == 8 ) {
SetHamParamFloat( 4, damage * 2.0 )
}
if( KnifeChoose[ attacker ] == 9 ) {
SetHamParamFloat( 4, damage * 2.0 )
}
return HAM_IGNORED
}

public Pre_Think( iPlayer ) {
if( !is_user_alive( iPlayer ) || is_user_bot( iPlayer ) )
return PLUGIN_CONTINUE

if( TwoJumps[ iPlayer ] ) {
new nbut = pev( iPlayer, pev_button )
new obut = pev( iPlayer, pev_oldbuttons )
if( (nbut & IN_JUMP) && !(pev(iPlayer, pev_flags) & FL_ONGROUND) && !(obut & IN_JUMP) ) {
if( JumpNum [ iPlayer ] < 1) {
DoJumps[ iPlayer ] = true
JumpNum[ iPlayer ]++
return PLUGIN_CONTINUE
}
}
if( ( nbut & IN_JUMP ) && ( pev( iPlayer, pev_flags ) & FL_ONGROUND ) ) {
JumpNum[ iPlayer ] = 0
}
}
return PLUGIN_CONTINUE
}

public Post_Think( iPlayer ) {
if( TwoJumps[ iPlayer ] ) {
if( !is_user_alive( iPlayer ) )
return PLUGIN_CONTINUE
if( DoJumps[ iPlayer ] ) {
new Float:velocity[ 3 ]
pev( iPlayer, pev_velocity, velocity )
velocity[ 2 ] = random_float( 295.0, 305.0 )
set_pev( iPlayer, pev_velocity, velocity )
DoJumps[ iPlayer ] = false
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}


Отредактировал: rasskazov, - 15.5.2017, 14:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: