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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер
2 страниц V   1 2

Knife Mod (удалить ножи)

, Нужно удалить часть меню.
Статус пользователя izymcs
сообщение 21.12.2013, 12:58
Сообщение #1


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Вот исходник плагина.
Ребят, кто-нибудь может сделать так, чтобы в плагине было не 5 моделей, а всего оставить 2?
Оставить v_toporik.mdl (топор) и стандартный нож без каких-либо функций.
Если не трудно, помогите, пожалуйста. =)

Отредактировал: izymcs, - 21.12.2013, 13:04
Прикрепленные файлы:
Прикрепленный файл  knife_mod.sma ( 7,11 килобайт ) Кол-во скачиваний: 26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Esecman
сообщение 21.12.2013, 12:59
Сообщение #2
Стаж: 12 лет

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

Удаляешь из прекаша(что тебе не нужно) и естественно ищешь аналогичные строчки :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 13:05
Сообщение #3


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(Esecman @ 21.12.2013, 14:59) *
Удаляешь из прекаша(что тебе не нужно) и естественно ищешь аналогичные строчки :D

Пытался. Плагин сложный до жути.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 21.12.2013, 13:37
Сообщение #4


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

izymcs, для остальных оставить стандартную модель?


Удаляешь
Код:
precache_model("models/knife-mod/v_karatelu.mdl")
precache_model("models/knife-mod/v_bita.mdl")
precache_model("models/knife-mod/v_tixo.mdl")

И меняешь switch(Knife) на это
Код:
switch(Knife)
{
case 0: {
format(vModel,55,"models/v_knife.mdl")
}
case 1: {
format(vModel,55,"models/v_knife.mdl")
}
case 2: {
format(vModel,55,"models/v_knife.mdl")
}
case 3: {
format(vModel,55,"models/knife-mod/v_toporik.mdl")
}
case 4: {
format(vModel,55,"models/v_knife.mdl")
}
}

Должно стать норм


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 13:44
Сообщение #5


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(vovan4ik1997 @ 21.12.2013, 15:37) *
izymcs, для остальных оставить стандартную модель?


Удаляешь
Код:
precache_model("models/knife-mod/v_karatelu.mdl")
precache_model("models/knife-mod/v_bita.mdl")
precache_model("models/knife-mod/v_tixo.mdl")

И меняешь switch(Knife) на это
Код:
switch(Knife)
{
case 0: {
format(vModel,55,"models/v_knife.mdl")
}
case 1: {
format(vModel,55,"models/v_knife.mdl")
}
case 2: {
format(vModel,55,"models/v_knife.mdl")
}
case 3: {
format(vModel,55,"models/knife-mod/v_toporik.mdl")
}
case 4: {
format(vModel,55,"models/v_knife.mdl")
}
}

Должно стать норм


Попробую это сделать. Но там же останутся все пункты меню, да?
А я не хочу. Нужно только 2 пункта: Топорик, Стандартный Нож. Ну и Выход. :)
Еще убрать квары:
CVAR_LOWGRAV = register_cvar("km_lowgravity" , "300")
CVAR_DAMAGE = register_cvar("km_damage", "2")
CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "104")

Отредактировал: izymcs, - 21.12.2013, 13:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 21.12.2013, 14:08
Сообщение #6
Стаж: 12 лет

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

А не проще убрать эти case из меню?
100 раз повторятся что ли?

Отредактировал: Esecman, - 21.12.2013, 14:10
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 14:15
Сообщение #7


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(Esecman @ 21.12.2013, 16:08) *
А не проще убрать эти case из меню?
100 раз повторятся что ли?

Если просто убрать из меню - не будет работать.
Сейчас поставил так:
CODE
switch(Knife)
{
case 0: {
format(vModel,55,"models/v_knife.mdl")
}
case 1: {
format(vModel,55,"models/v_knife.mdl")
}
case 2: {
format(vModel,55,"models/v_knife.mdl")
}
case 3: {
format(vModel,55,"models/knife-mod/v_toporik.mdl")
}
case 4: {
format(vModel,55,"models/v_knife.mdl")
}
}

Работает нормально. Но в пунктах меню одно и то же не нужно.
В итоге нужно оставить 2 выбора ножа и все.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 21.12.2013, 14:15
Сообщение #8
Стаж: 12 лет

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

Сейчас скину. Жди.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя miRror
сообщение 21.12.2013, 15:38
Сообщение #9


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

Код:
#include <amxmodx>
#include <engine>
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "Bloodnbly"

#define TASK_INTERVAL 4.0
#define MAX_HEALTH 255

new knife_model[33]
new g_Menu

new CVAR_HIGHSPEED
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX

public plugin_init() {

register_plugin(PLUGIN, VERSION, AUTHOR)

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

g_Menu = register_menuid("Knife Mod")
register_menucmd(g_Menu, 1023, "knifemenu")

register_clcmd("say /knife", "display_knife")

CVAR_HIGHSPEED = register_cvar("km_highspeed","400")
CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "104")

set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() {
precache_model("models/knife-mod/v_toporik.mdl")
precache_model("models/v_knife.mdl")
}

public display_knife(id) {
new menuBody[512]
add(menuBody, 511, "\rМеню Ножей\w^n^n")
add(menuBody, 511, "1. Топорик \y(Быстрый бег)\w^n")
add(menuBody, 511, "2. Мед.Нож \y(Регенирация ХП)\w^n^n")
add(menuBody, 511, "0. Закрыть меню^n")

new keys = ( 1<<0 | 1<<1 | 1<<9 )
show_menu(id, keys, menuBody, -1, "Knife Mod")
}

public knifemenu(id, key) {
switch(key)
{
case 0: SetKnife(id , 1)
case 1: SetKnife(id , 0)
default: return PLUGIN_HANDLED
}
SaveData(id)
return PLUGIN_HANDLED
}

public SetKnife(id , Knife) {
knife_model[id] = Knife

new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
if ( Weapon != CSW_KNIFE )
return PLUGIN_HANDLED

new vModel[56],pModel[56]

switch(Knife)
{
case 0: {
format(vModel,55,"models/v_knife.mdl")
}
case 1: {
format(vModel,55,"models/knife-mod/v_toporik.mdl")
}
}

entity_set_string(id, EV_SZ_viewmodel, vModel)
entity_set_string(id, EV_SZ_weaponmodel, pModel)

return PLUGIN_HANDLED;
}

public CurWeapon(id)
{
new Weapon = read_data(2)

// Set Knife Model
SetKnife(id, knife_model[id])

// Task Options

if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
else if(task_exists(id))
remove_task(id)

// Speed
new Float:Speed
if(knife_model[id] == 1)
Speed = get_pcvar_float(CVAR_HIGHSPEED)

set_user_maxspeed(id, Speed)

return PLUGIN_HANDLED

}


public task_healing(id) {
new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)
if (!addhealth)
return

new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)
if (maxhealth > MAX_HEALTH) {
set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)
maxhealth = MAX_HEALTH
}

new health = get_user_health(id)

if (is_user_alive(id) && (health < maxhealth)) {
set_user_health(id, health + addhealth)
set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
show_hudmessage(id,"<< !!Глотая таблетки, регеню ХП!! >>")
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(0)
write_byte(75)
message_end()
}

else {
if (is_user_alive(id) && (health > maxhealth))
remove_task(id)
}
}

public client_disconnect(id) {
if(task_exists(id)) remove_task(id)
}


public kmodmsg() {

client_print(0,print_chat,"[Narov4at] Пиши /knife что бы выбрать модель ножа")
}

public client_authorized(id)
{
LoadData(id)
}

SaveData(id)
{

new authid[32]
get_user_authid(id, authid, 31)

new vaultkey[64]
new vaultdata[64]

format(vaultkey, 63, "KMOD_%s", authid)
format(vaultdata, 63, "%d", knife_model[id])
set_vaultdata(vaultkey, vaultdata)
}

LoadData(id)
{
new authid[32]
get_user_authid(id,authid,31)

new vaultkey[64], vaultdata[64]

format(vaultkey, 63, "KMOD_%s", authid)
get_vaultdata(vaultkey, vaultdata, 63)
knife_model[id] = str_to_num(vaultdata)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 15:49
Сообщение #10


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(miRror @ 21.12.2013, 17:38) *
Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "Bloodnbly"

#define TASK_INTERVAL 4.0
#define MAX_HEALTH 255

new knife_model[33]
new g_Menu

new CVAR_HIGHSPEED
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX

public plugin_init() {

register_plugin(PLUGIN, VERSION, AUTHOR)

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

g_Menu = register_menuid("Knife Mod")
register_menucmd(g_Menu, 1023, "knifemenu")

register_clcmd("say /knife", "display_knife")

CVAR_HIGHSPEED = register_cvar("km_highspeed","400")
CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "104")

set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() {
precache_model("models/knife-mod/v_toporik.mdl")
precache_model("models/v_knife.mdl")
}

public display_knife(id) {
new menuBody[512]
add(menuBody, 511, "\rМеню Ножей\w^n^n")
add(menuBody, 511, "1. Топорик \y(Быстрый бег)\w^n")
add(menuBody, 511, "2. Мед.Нож \y(Регенирация ХП)\w^n^n")
add(menuBody, 511, "0. Закрыть меню^n")

new keys = ( 1<<0 | 1<<1 | 1<<9 )
show_menu(id, keys, menuBody, -1, "Knife Mod")
}

public knifemenu(id, key) {
switch(key)
{
case 0: SetKnife(id , 1)
case 1: SetKnife(id , 0)
default: return PLUGIN_HANDLED
}
SaveData(id)
return PLUGIN_HANDLED
}

public SetKnife(id , Knife) {
knife_model[id] = Knife

new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
if ( Weapon != CSW_KNIFE )
return PLUGIN_HANDLED

new vModel[56],pModel[56]

switch(Knife)
{
case 0: {
format(vModel,55,"models/v_knife.mdl")
}
case 1: {
format(vModel,55,"models/knife-mod/v_toporik.mdl")
}
}

entity_set_string(id, EV_SZ_viewmodel, vModel)
entity_set_string(id, EV_SZ_weaponmodel, pModel)

return PLUGIN_HANDLED;
}

public CurWeapon(id)
{
new Weapon = read_data(2)

// Set Knife Model
SetKnife(id, knife_model[id])

// Task Options

if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
else if(task_exists(id))
remove_task(id)

// Speed
new Float:Speed
if(knife_model[id] == 1)
Speed = get_pcvar_float(CVAR_HIGHSPEED)

set_user_maxspeed(id, Speed)

return PLUGIN_HANDLED

}


public task_healing(id) {
new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)
if (!addhealth)
return

new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)
if (maxhealth > MAX_HEALTH) {
set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)
maxhealth = MAX_HEALTH
}

new health = get_user_health(id)

if (is_user_alive(id) && (health < maxhealth)) {
set_user_health(id, health + addhealth)
set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
show_hudmessage(id,"<< !!Глотая таблетки, регеню ХП!! >>")
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(0)
write_byte(75)
message_end()
}

else {
if (is_user_alive(id) && (health > maxhealth))
remove_task(id)
}
}

public client_disconnect(id) {
if(task_exists(id)) remove_task(id)
}


public kmodmsg() {

client_print(0,print_chat,"[Narov4at] Пиши /knife что бы выбрать модель ножа")
}

public client_authorized(id)
{
LoadData(id)
}

SaveData(id)
{

new authid[32]
get_user_authid(id, authid, 31)

new vaultkey[64]
new vaultdata[64]

format(vaultkey, 63, "KMOD_%s", authid)
format(vaultdata, 63, "%d", knife_model[id])
set_vaultdata(vaultkey, vaultdata)
}

LoadData(id)
{
new authid[32]
get_user_authid(id,authid,31)

new vaultkey[64], vaultdata[64]

format(vaultkey, 63, "KMOD_%s", authid)
get_vaultdata(vaultkey, vaultdata, 63)
knife_model[id] = str_to_num(vaultdata)

}

Что мне с этим сделать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 21.12.2013, 15:50
Сообщение #11


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

скомпилировать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 21.12.2013, 15:50
Сообщение #12
Стаж: 12 лет

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

Скомпилировать и кинуть в папку plugins
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 21.12.2013, 15:51
Сообщение #13


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

Ставь на сервер. Удалил еще один модуль ненужный.
Прикрепленные файлы:
Прикрепленный файл  плагин.rar ( 6,67 килобайт ) Кол-во скачиваний: 8
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 15:53
Сообщение #14


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(miRror @ 21.12.2013, 17:51) *
Ставь на сервер. Удалил еще один модуль ненужный.

vault вот еще вообще не нужный модуль, по-моему.
Извиняюсь. У меня страница заглючила и показывалось только 1/3 кода. :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 21.12.2013, 15:57
Сообщение #15


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

Нужный, сохраняется выбранный режим в базу.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 16:04
Сообщение #16


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(miRror @ 21.12.2013, 17:57) *
Нужный, сохраняется выбранный режим в базу.

Оу, тогда понятно.
Благодарю! :)
Все работает нормально, пока что. psych.gif

Цитата(miRror @ 21.12.2013, 17:51) *
Ставь на сервер. Удалил еще один модуль ненужный.


А это что? Оо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 21.12.2013, 16:06
Сообщение #17


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

Исходник подредактировал, не обращай внимания. Скомпилировал конечный результат.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 21.12.2013, 16:17
Сообщение #18
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

посмотрел мельком код,

выдавать хп при регенерации лучше через min


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 16:32
Сообщение #19


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(miRror @ 21.12.2013, 18:06) *
Исходник подредактировал, не обращай внимания. Скомпилировал конечный результат.


Эм, тут проблемка.
Когда в руках топор, то скорость должна быть 350 (мой квар(стандарт 400)). А с обычным ножом(с оружием в руках скорость медленнее) должна быть скорость, которая прописана в server.cfg.
Вот, сейчас даже с авп бегаешь со скоростью 350.
Такого не было раньше.

Цитата(csnet @ 21.12.2013, 18:17) *
посмотрел мельком код,

выдавать хп при регенерации лучше через min


Я отключаю регенерацию. Ни к чему мне это.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя miRror
сообщение 24.12.2013, 13:41
Сообщение #20


Стаж: 15 лет

Сообщений: 1151
Благодарностей: 1002
Полезность: 967

Меценат Меценат

Держи
Код:
#include <amxmodx>
#include <engine>
#include <vault>
#include <fun>

new knife_model[33]
new CVAR_HIGHSPEED
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX

new const lang[][] =
{
"<< !!Глотая таблетки, регеню ХП!! >>",
"[Выбор ножа] Для выбора другого ножа возьмите в руки сам нож.",
"[Выбор ножа] Пиши /knife что бы выбрать модель ножа"
}

new const vModels[][] =
{
"models/v_toporik.mdl",
"models/v_knife.mdl"
}

new const pModels[][] =
{
"models/p_knife.mdl",
"models/p_knife.mdl"
}

new const knifes[][][] =
{
{"Топорик", "Быстрый бег"}, // knife_model[id] = 0
{"Мед.Нож", "Регенерация ХП"} // knife_model[id] = 1
}

public plugin_init()
{
register_plugin("Knife Mod", "1.1", "Bloodnbly & miRror")
register_event("CurWeapon","CurWeapon","be","1=1")
register_clcmd("drop", "display_menu")
CVAR_HIGHSPEED = register_cvar("km_highspeed","350") // максимальная скорость у топорика
CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3") // прибавление хп
CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "104") // максимальное кол-во хп
set_task(480.0, "kmodmsg", 0, _, _, "b") // реклама
}

public plugin_precache()
{
for(new i=0;i<sizeof(vModels);i++)
precache_model(vModels[i])
for(new i=0;i<sizeof(pModels);i++)
precache_model(pModels[i])
}

public client_disconnect(id)
if(task_exists(id))
remove_task(id)

public client_authorized(id)
LoadData(id)

public kmodmsg()
client_print(0,print_chat,lang[2])

public display_menu(id)
{
new FormatItem[64], numclick[10];
new i_Menu = menu_create("\rМеню Ножей\w", "menu_handler")

for(new i=0;i<sizeof(knifes);i++)
{
formatex(FormatItem, 63, "%s \y(%s)\w", knifes[i][0], knifes[i][1])
num_to_str(i, numclick, 9);
menu_additem(i_Menu, FormatItem, numclick, 0)
}

menu_setprop(i_Menu,MPROP_EXITNAME,"Выход")
menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, i_Menu, 0)

return PLUGIN_HANDLED
}

public menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Key = str_to_num(s_Data)
new count = sizeof(knifes)

if(i_Key < count)
{
knife_model[id] = i_Key
SaveData(id)
SetKnife(id, i_Key)
}


menu_destroy(menu)
return PLUGIN_HANDLED
}

public SetKnife(id , Knife)
{
new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
if ( Weapon != CSW_KNIFE )
return PLUGIN_HANDLED

entity_set_string(id, EV_SZ_viewmodel, vModels[Knife])
entity_set_string(id, EV_SZ_weaponmodel, pModels[Knife])

return PLUGIN_HANDLED;
}

public CurWeapon(id)
{
new Weapon = read_data(2)
SetKnife(id, knife_model[id])

if(knife_model[id] == 1 && !task_exists(id) && Weapon == CSW_KNIFE)
set_task(4.0 , "task_healing",id,_,_,"b")
else if(task_exists(id))
remove_task(id)

if(Weapon != CSW_KNIFE)
return PLUGIN_CONTINUE

new Float:Speed
if(knife_model[id] == 0)
Speed = get_pcvar_float(CVAR_HIGHSPEED)
else
Speed = 250.0
set_user_maxspeed(id, Speed)

return PLUGIN_HANDLED

}


public task_healing(id)
{
new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)
new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)
new health = get_user_health(id)
new newhealth = health + addhealth

if(newhealth > maxhealth && health != maxhealth)
newhealth = maxhealth
if (is_user_alive(id) && (newhealth <= maxhealth) && (newhealth > health))
{
set_user_health(id, newhealth)
set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
show_hudmessage(id,lang[0])
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(0)
write_byte(75)
message_end()
}
}

SaveData(id)
{
new authid[32]
get_user_authid(id, authid, 31)

new vaultkey[64]
new vaultdata[64]

format(vaultkey, 63, "KMOD_%s", authid)
format(vaultdata, 63, "%d", knife_model[id])
set_vaultdata(vaultkey, vaultdata)
}

LoadData(id)
{
new authid[32]
get_user_authid(id,authid,31)

new vaultkey[64], vaultdata[64]

format(vaultkey, 63, "KMOD_%s", authid)
get_vaultdata(vaultkey, vaultdata, 63)
knife_model[id] = str_to_num(vaultdata)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: