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

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

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

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

Удалить лишнее с Vip Plugin 2.03

Статус пользователя iLLuSioN
сообщение 4.10.2009, 11:45
Сообщение #1
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

Сам плагин http://forums.alliedmods.net/showthread.php?t=92994

возможности:
Цитата
What u get when u are VIP?
1.You get Free nades each round. (HE,2FB,SG)
2.Free Armor+Helm
3.You Get 500$ per kill and per HS 800$
4.You Get 15HP per kill and per HS 30HP
5.You See bullet damage at real time.
6.Only VIP can buy Sniper's. (Like AWP)
7.Write /vips u will see VIP's online.
8.U will can use Admin Chat
9.Slot reservation
From 3 round u will begin see menu:
1.Get Free M4K1 and Deagle+HE
2.Get Free AK47 and Deagle+HE


Что нужно оставить:

Цитата
2.Free Armor+Helm
4.You Get 15HP per kill and per HS 30HP
7.Write /vips u will see VIP's online.
8.U will can use Admin Chat


Плагин будет для ZM сервера, поетому нужно сделать так чтоб зомби не получали броню, если возможно)

Заранее спасибо


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Makzz
сообщение 5.10.2009, 15:17
Сообщение #2


Стаж: 18 лет

Сообщений: 2198
Благодарностей: 1365
Полезность: 1080

Я займусь этим :)

Отредактировал: Makzz, - 5.10.2009, 15:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 5.10.2009, 19:19
Сообщение #3
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

Leo сделал :)


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Leo
сообщение 5.10.2009, 20:13
Сообщение #4


Стаж: 18 лет

Сообщений: 1347
Благодарностей: 594
Полезность: 848

Почти)


Разработка сайтов - http://leonid.pro/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 5.10.2009, 20:47
Сообщение #5
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

нужно немного доработать. кто возьмется? Напишите в ПМ. дам исходник, там мелочи


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 5.10.2009, 22:46
Сообщение #6
Стаж: 17 лет

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

По просьбе iLLuSioN, доработал:
1) Предоставляются 2 слеповые гранаты
2) Привилегии ВИП выдаются только игрокам с флагом "o"
3) /vips - отображается только для игроков с флагом "o"
4) /vipinfo - доступна всем игрокам
5) тег [VIP] выделен зеленым цветом в чат сообщениях
6) Упрощена функция handle_say
7) register_clcmd добавлен так же и для say_team




CODE
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define ACCESS ADMIN_LEVEL_C

//Vampire

new health_add
new health_hs_add
new health_max

new nKiller
new nKiller_hp
new nHp_add
new nHp_max


//Armor and flash

new gEnableEquips;

new maxplayers

new gmsgSayText

static const COLOR_G[] = "^x04" //green
static const COLOR_N[] = "^x01" //normal

public plugin_init()
{
register_plugin("ZombieVip", "0.1", "Leo")
//Vampire
health_add = register_cvar("amx_vip_hp", "50")
health_hs_add = register_cvar("amx_vip_hp_hs", "100")
health_max = register_cvar("amx_vip_max_hp", "750")
register_event("DeathMsg", "hook_death", "a", "1>0")
//Armor and flash
RegisterHam( Ham_Spawn, "player", "free_equips", 1 );
gEnableEquips = register_cvar( "free_equips", "1" );
// Wantvip
register_clcmd("say /vipinfo","ShowMotd")
register_clcmd("say_team /vipinfo","ShowMotd")
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say /vips", "handle_say", ACCESS)
register_clcmd("say_team /vips", "handle_say", ACCESS)
maxplayers = get_maxplayers()
}

// Vampire
public hook_death(id)
{
if(get_user_flags(id)&ACCESS == 0)
{
return PLUGIN_HANDLED
}

nKiller = read_data(1)
if ( (read_data(3) == 1) && (read_data(5) == 0) )
{
nHp_add = get_pcvar_num (health_hs_add)
}
else
nHp_add = get_pcvar_num (health_add)

nHp_max = get_pcvar_num (health_max)
nKiller_hp = get_user_health(nKiller)

nKiller_hp += nHp_add

if (nKiller_hp > nHp_max) nKiller_hp = nHp_max

set_user_health(nKiller, nKiller_hp)
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "VIP: +%d hp", nHp_add)
// Screen fading
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(75)
message_end()

return PLUGIN_HANDLED

}

// Armor and flash
public free_equips(id)
{
if(get_user_flags(id)&ACCESS == 0)
{
return PLUGIN_HANDLED
}

if( is_user_alive( id ) && get_pcvar_num( gEnableEquips ) )
{
// Both Teams
give_item ( id,"weapon_flashbang");
give_item ( id,"weapon_flashbang");
cs_set_user_armor ( id, 100, CsArmorType:2 );
}

return PLUGIN_HANDLED
}

// Wantvip
public ShowMotd(id)
{
show_motd(id, "vip.txt")
}

public handle_say(id)
{

set_task(0.1,"print_adminlist",id)

return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new id, count, x, len

for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ACCESS)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s VIP ONLINE: ",COLOR_G)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s%s ", COLOR_N, adminnames[x], x < (count-1) ? ", ":"")
// Хз нах это
/*if(len > 96 ) {
len = format(message, 255, "%s ",COLOR)
print_message(user, message)
}*/
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "No VIP online.")
print_message(user, message)
}
}


public client_authorized(id)
{
set_task(30.0, "PrintText" ,id)
}
public PrintText(id)
{

print_message(id, "%s[VIP]%s write /vipinfo and u will see how get VIP and VIP privilegies.", COLOR_G, COLOR_N)
//client_print(id, print_chat, "[VIP] write /vipinfo and u will see how get VIP and VIP privilegies.")
}

print_message(id, msg[], any:...)
{

new szTmpParams[256]
format_args(szTmpParams, sizeof(szTmpParams) - 1, 1)

message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(szTmpParams)
message_end()

if (msg[0] == 0)
{
return
}
}


Отредактировал: MastaMan, - 5.10.2009, 22:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 6.10.2009, 9:12
Сообщение #7
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

MastaMan,
спасибо большое.

только вторая флеха так и не дается. Остальное все отлично работает


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 6.10.2009, 12:01
Сообщение #8
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

Гранаты работают. Только принцип в ЗМ такой что в начале каждого раунда выбрасывается все оружие, тоесть оно выкидывает эти гранаты и добавляет свои. Можно ли сделать чтоб игнорировало это?


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 6.10.2009, 15:49
Сообщение #9
Стаж: 17 лет

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

Проверял у себя без ZP, выдает 2 гранаты, это ограничение самого ZP. Я с этими модом не работал, потому не знаю его особенностей...
Может быть просто сделать что бы при появлении, слеповые гранаты давало к примеру через 5-10 секунд??

Отредактировал: MastaMan, - 6.10.2009, 15:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 6.10.2009, 16:15
Сообщение #10
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

MastaMan,
если можешь, сделай так.

Еще одно, стал падать сервер, закономерности нету, иногда работает 3 карты и нормально, а иногда и по 2 раза за карту падает


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 6.10.2009, 16:23
Сообщение #11
Стаж: 17 лет

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

Цитата(iLLuSioN @ 6.10.2009, 17:15) *
Еще одно, стал падать сервер, закономерности нету, иногда работает 3 карты и нормально, а иногда и по 2 раза за карту падает


Это точно от этого плагина???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 6.10.2009, 16:31
Сообщение #12
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

Цитата(MastaMan @ 6.10.2009, 17:23) *
Это точно от этого плагина???

думаю да, потому что до него не падал. поймал ошибку

что-то с текстом?

что я менял в плагине так это только текст. перевел на русский.
Прикрепленные файлы:
Прикрепленное изображение


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 6.10.2009, 17:11
Сообщение #13
Стаж: 17 лет

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

Изменено:
1) Время выдачи гранат, через 7 сек, после появления
2) Проверка если игрок имеет большее кол-во HP чем, максимальное допустимое (для расы Немезис), то HP не добавляются

P.S. по идее ошибка сейчас должна исчезнуть


CODE

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define ACCESS ADMIN_LEVEL_C

//Vampire

new health_add
new health_hs_add

new nKiller
new nKiller_hp
new nHp_add

//Armor and flash

new gEnableEquips;

new maxplayers

new gmsgSayText

static const COLOR_G[] = "^x04" //green
static const COLOR_N[] = "^x01" //normal

public plugin_init()
{
register_plugin("ZombieVip", "0.1", "Leo")
//Vampire
health_add = register_cvar("amx_vip_hp", "15")
health_hs_add = register_cvar("amx_vip_hp_hs", "25")
register_event("DeathMsg", "hook_death", "a", "1>0")
//Armor and flash
RegisterHam( Ham_Spawn, "player", "free_equips", 1 );
gEnableEquips = register_cvar( "free_equips", "1" );
// Wantvip
register_clcmd("say /vipinfo","ShowMotd")
register_clcmd("say_team /vipinfo","ShowMotd")
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say /vips", "handle_say", ACCESS)
register_clcmd("say_team /vips", "handle_say", ACCESS)
maxplayers = get_maxplayers()
}

// Vampire
public hook_death(id)
{
if(get_user_flags(id)&ACCESS)
{
nKiller = read_data(1)
if ( (read_data(3) == 1) && (read_data(5) == 0) )
{
nHp_add = get_pcvar_num (health_hs_add)
}
else
nHp_add = get_pcvar_num (health_add)

nKiller_hp = get_user_health(nKiller)

nKiller_hp += nHp_add


set_user_health(nKiller, nKiller_hp)
}

return PLUGIN_HANDLED
}

// Armor and flash
public free_equips(id)
{
if(get_user_flags(id)&ACCESS)
{

set_task(7.3,"handle_free_equips",id)
cs_set_user_armor (id, 100, CsArmorType:2)

}

return PLUGIN_HANDLED
}

public handle_free_equips(id)
{
if(get_user_flags(id)&ACCESS)
{
if( is_user_alive( id ) && get_pcvar_num( gEnableEquips ) )
{
// Both Teams
give_item ( id,"weapon_flashbang");
give_item ( id,"weapon_flashbang");
}
}

return PLUGIN_HANDLED
}

// Wantvip
public ShowMotd(id)
{
show_motd(id, "vip.txt")
}

public handle_say(id)
{

set_task(0.1,"print_adminlist",id)

return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new id, count, x, len

for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ACCESS)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s VIP ONLINE: ",COLOR_G)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s%s ", COLOR_N, adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
len = format(message, 255, "%s ",COLOR_N)
print_message(user, message)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "No VIP online.")
print_message(user, message)
}
}


public client_authorized(id)
{
set_task(30.0, "PrintText" ,id)
}
public PrintText(id)
{
client_print(id, print_chat, "[VIP] Напишите /vipinfo, чтобы посомтреть возможности VIP аккаунта")
}

print_message(id, msg[])
{
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}


Отредактировал: MastaMan, - 6.10.2009, 20:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: