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

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

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

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

2 страниц V   1 2

Объект на спине

OverGame
сообщение 22.12.2014, 14:36
Сообщение #1
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Возникла такая проблема... При создание c4 (backpack) у игрока, он появляется либо слишком большой или внутри игрока (моделька w_c4)
Чем поможете? Что подскажите?
Вот моделька : ТЫК!

Скрытый текст
Код:
#include < amxmodx >
#include < cstrike >
#include < fakemeta >

#define PLUGIN "BackPack Shop"
#define VERSION "1.0"
#define AUTHOR "OverGame"

#pragma tabsize 0

new const mPrefix [ ] = "\d[Рюкзак]\r"
new const cPrefix [ ] = "!g[!tРюкзак!g]!y"

new const bp_model [ ] = "models/backpack.mdl"
new const bp_class [ ] = "backpack"

new bp_Ent [ 64 ], bp_Create [ 64 ], gMsg [ 255 ], gMoney [ 64 ]

enum _:PlData
{
iSpawn, iSpeed, iGravity, iDDJump, iHook, iGrab
};

new UserData [ 33 ][ PlData ]

public plugin_init()
{
register_plugin ( PLUGIN, VERSION, AUTHOR )
register_clcmd ( "bpmenu", "backpack_shop" )
}

public plugin_precache()
{
precache_model ( bp_model )
}

public client_putinserver ( id )
{
static infotarget
if ( !infotarget ) infotarget = engfunc ( EngFunc_AllocString, "info_target" )

bp_Ent [ id ] = engfunc ( EngFunc_CreateNamedEntity, infotarget )
if ( pev_valid ( bp_Ent[id] ) )
{
engfunc ( EngFunc_SetModel, bp_Ent[id], bp_model )
set_pev ( bp_Ent [ id ], pev_classname, bp_class )
set_pev ( bp_Ent [ id ], pev_movetype, MOVETYPE_FOLLOW )
set_pev( bp_Ent [ id ], pev_effects, EF_NODRAW )
set_pev ( bp_Ent [ id ], pev_aiment, id )
}

fm_set_entity_visibility( bp_Ent[id], 0 )

UserData [ id ] [ iSpawn ] = 0
UserData [ id ] [ iSpeed ] = 0
UserData [ id ] [ iGravity ] = 0
UserData [ id ] [ iDDJump ] = 0
UserData [ id ] [ iHook ] = 0
UserData [ id ] [ iGrab ] = 0

bp_Create [ id ] = 0
gMoney [ id ] = 0
}

public backpack_invent ( id )
{
static s_MenuItem [ 255 ], s_Item1 [ 255 ], s_Item2 [ 255 ], s_Item3 [ 255 ], s_Item4 [ 255 ], s_Item5 [ 255 ], s_Item6 [ 255 ]
formatex ( s_MenuItem, charsmax ( s_MenuItem ), "%s Инвентарь", mPrefix )

formatex ( s_Item1, charsmax ( s_Item1 ), "\yВзять\r Возродиться \d[%d шт.]", UserData [ id ] [ iSpawn ] )
formatex ( s_Item2, charsmax ( s_Item2 ), "\yВзять\r Скорость \d[%d шт.]", UserData [ id ] [ iSpeed ] )
formatex ( s_Item3, charsmax ( s_Item3 ), "\yВзять\r Гравитацию \d[%d шт.]", UserData [ id ] [ iGravity ] )
formatex ( s_Item4, charsmax ( s_Item4 ), "\yВзять\r Двойной прыжок \d[%d шт.]", UserData [ id ] [ iDDJump ] )
formatex ( s_Item5, charsmax ( s_Item5 ), "\yВзять\r Паутинку \d[%d шт.]", UserData [ id ] [ iHook ] )
formatex ( s_Item6, charsmax ( s_Item6 ), "\yВзять\r Граб \d[%d шт.]", UserData [ id ] [ iGrab ] )

new menu = menu_create ( s_MenuItem, "backpack3_handler" )

menu_additem ( menu, s_Item1, "1" )
menu_additem ( menu, s_Item2, "2" )
menu_additem ( menu, s_Item3, "3" )
menu_additem ( menu, s_Item4, "4" )
menu_additem ( menu, s_Item5, "5" )
menu_additem ( menu, s_Item6, "6" )

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

menu_display(id,menu,0)
return PLUGIN_HANDLED
}

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

new data [ 6 ], iName [ 64 ], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num ( data )

switch ( key )
{
case 1:
{
if ( UserData [ id ] [ iSpawn ] >= 1 )
{
UserData [ id ] [ iSpawn ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Возрождение!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 2:
{
if ( UserData [ id ] [ iSpeed ] >= 1 )
{
UserData [ id ] [ iSpeed ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Скорость!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 3:
{
if ( UserData [ id ] [ iGravity ] >= 1 )
{
UserData [ id ] [ iGravity ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Гравитацию!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 4:
{
if ( UserData [ id ] [ iDDJump ] >= 1 )
{
UserData [ id ] [ iDDJump ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Двойной прыжок!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 5:
{
if ( UserData [ id ] [ iHook ] >= 1 )
{
UserData [ id ] [ iHook ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Паутинку!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 6:
{
if ( UserData [ id ] [ iGrab ] >= 1 )
{
UserData [ id ] [ iGrab ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Граб!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
}

return PLUGIN_HANDLED
}

public backpack_menu ( id )
{
static s_MenuItem [ 255 ]
formatex ( s_MenuItem, charsmax ( s_MenuItem ), "%s Меню рюкзака", mPrefix )
new menu = menu_create ( s_MenuItem, "backpack2_handler" )

if ( bp_Create [ id ] != 1 )
{
menu_additem ( menu, "\yКупить\r Рюкзак", "1" )
} else {
menu_additem ( menu, "\yМеню\r Рюкзака", "1" )
}

menu_additem ( menu, "\rПомощь по рюкзаку", "2" )

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

menu_display(id,menu,0)
return PLUGIN_HANDLED
}

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

new data [ 6 ], iName [ 64 ], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num ( data )

switch ( key )
{
case 1:
{
if ( bp_Create [ id ] != 1 )
{
if ( cs_get_user_money ( id ) >= 16000 )
{
bp_Create [ id ] = 1
fm_set_entity_visibility( bp_Ent[id], 1 )
} else {
backpack_invent ( id )
}
}
}
case 2:
{
show_motd ( id, "backpack_help.txt" )
}
}

return PLUGIN_HANDLED
}

public backpack_shop ( id )
{
if ( !bp_Create [ id ] )
return PLUGIN_HANDLED

static s_MenuItem [ 255 ]
formatex ( s_MenuItem, charsmax(s_MenuItem), "%s Магазин сервера", mPrefix )
new menu = menu_create ( s_MenuItem, "backpack_handler" )

menu_additem ( menu, "\yКупить\r Возрождение", "1" )
menu_additem ( menu, "\yКупить\r Скорость", "2" )
menu_additem ( menu, "\yКупить\r Гравитацию", "3" )
menu_additem ( menu, "\yКупить\r Двойной прыжок", "4" )
menu_additem ( menu, "\yКупить\r Паутинку", "5" )
menu_additem ( menu, "\yКупить\r Граб", "6" )

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

menu_display ( id, menu, 0 )
return PLUGIN_HANDLED
}

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

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num ( data )

switch ( key )
{
case 1:
{
if ( gMoney [ id ] >= 50 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Возрождение!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 2:
{
if ( gMoney [ id ] >= 20 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Скорость!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 3:
{
if ( gMoney [ id ] >= 20 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Гравитацию!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 4:
{
if ( gMoney [ id ] >= 40 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Двойной прыжок!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 5:
{
if ( gMoney [ id ] >= 150 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Паутинку!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 6:
{
if ( gMoney [ id ] >= 200 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Граб!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
}

ChatColor ( id, gMsg )

return PLUGIN_HANDLED
}

stock ChatColor ( const id, const input[ ], any:... )
{
new count = 1, players [ 32 ]
static msg [ 188 ]
vformat ( msg, 187, input, 3 )

replace_all ( msg, 187, "!g", "^4" )
replace_all ( msg, 187, "!y", "^1" )
replace_all ( msg, 187, "!t", "^3" )

if ( id ) players[0] = id; else get_players ( players, count, "ch" )
{
for ( new i = 0; i < count; i++ )
{
if ( is_user_connected ( players [ i ] ) )
{
message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "SayText" ), _, players [ i ] )
write_byte ( players [ i ] )
write_string ( msg )
message_end()
}
}
}
}

stock fm_set_entity_visibility ( index, visible = 1 )
set_pev ( index, pev_effects, visible == 1 ? pev ( index, pev_effects ) & ~EF_NODRAW : pev ( index, pev_effects ) | EF_NODRAW )


Отредактировал: OverGame, - 22.12.2014, 15:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
OverGame
сообщение 22.12.2014, 18:54
Сообщение #2
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Что серьезно? Пол дня никто не может помочь? Лол.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя perfectblood0
сообщение 22.12.2014, 19:03
Сообщение #3
Стаж: 17 лет

Сообщений: 5065
Благодарностей: 2685
Полезность: 488

Уменьшить модель, не?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 22.12.2014, 19:09
Сообщение #4
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(perfectblood0 @ 22.12.2014, 18:59) *
Уменьшить модель, не?


Знал бы как сделать сюда бы не обратился, с энтити у меня не ахти.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 22.12.2014, 21:29
Сообщение #5
Стаж: 13 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

Цитата(OverGame @ 22.12.2014, 19:05) *
Знал бы как сделать сюда бы не обратился, с энтити у меня не ахти.

Так причём тут энтити? Тебе надо редачить саму модель.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 22.12.2014, 21:36
Сообщение #6
Стаж: 12 лет

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

разве не достаточно выдать c4 и сменить модель , зачем создавать ентити то
убрать можно 2мя способами, pev_body 0 или еще каким то я забыл safetyst писал чтото типа cs_set_user_

Отредактировал: csnet, - 22.12.2014, 21:38


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 22.12.2014, 22:00
Сообщение #7
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(csnet @ 22.12.2014, 20:32) *
разве не достаточно выдать c4 и сменить модель , зачем создавать ентити то
убрать можно 2мя способами, pev_body 0 или еще каким то я забыл safetyst писал чтото типа cs_set_user_


хм... не очень конечно понял...
ты про submodel? cs_set_user_submodel...

я вообще с установкой доп. моделей игроку впервые :D


К тому же... Если я нахожусь за кт, мне выдается другое (щипцы типа). А мне нужно выдавать сумку.

Отредактировал: OverGame, - 22.12.2014, 22:07
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 22.12.2014, 22:19
Сообщение #8
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Вот такой дебилизм выходит...Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ChesterField
сообщение 22.12.2014, 22:23
Сообщение #9


Стаж: 11 лет

Сообщений: 145
Благодарностей: 46
Полезность: 198

OverGame,
Хех, а так даже красивее. psych.gif crazy.gif


Почему бы и нет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 22.12.2014, 22:26
Сообщение #10


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

OverGame, :D советский турист :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 22.12.2014, 22:30
Сообщение #11
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Народ, действительно, харе шутки шутить :D
Лучше помогите эту сумку вернуть на место, поставить ее на спину и нормально повернуть, она большая сволочь :D


Скрытый текст
Код:
#include < amxmodx >
#include < cstrike >
#include < fakemeta >

#define PLUGIN "BackPack Shop"
#define VERSION "1.0"
#define AUTHOR "OverGame"

#pragma tabsize 0

new const mPrefix [ ] = "\d[Рюкзак]\r"
new const cPrefix [ ] = "!g[!tРюкзак!g]!y"

new const bp_model [ ] = "models/backpack.mdl"
new const bp_class [ ] = "backpack"

new bp_Ent [ 64 ], bp_Create [ 64 ], gMsg [ 255 ], gMoney [ 64 ]

enum _:PlData
{
iSpawn, iSpeed, iGravity, iDDJump, iHook, iGrab
};

new UserData [ 33 ][ PlData ]

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

register_clcmd ( "bpmenu", "backpack_menu" )
register_clcmd ( "say /bpmenu", "backpack_menu" )
register_clcmd ( "say /test", "test_func" )
}

public plugin_precache()
{
precache_model ( bp_model )
}

public test_func ( id )
{
cs_set_user_money(id, 200000)
}

public client_putinserver ( id )
{
static infotarget
if ( !infotarget ) infotarget = engfunc ( EngFunc_AllocString, "info_target" )

bp_Ent [ id ] = engfunc ( EngFunc_CreateNamedEntity, infotarget )
if ( pev_valid ( bp_Ent[id] ) )
{
engfunc ( EngFunc_SetModel, bp_Ent[id], bp_model )
set_pev ( bp_Ent [ id ], pev_classname, bp_class )
set_pev ( bp_Ent [ id ], pev_movetype, MOVETYPE_FOLLOW )
set_pev( bp_Ent [ id ], pev_effects, EF_NODRAW )
set_pev ( bp_Ent [ id ], pev_aiment, id )
}

fm_set_entity_visibility( bp_Ent[id], 0 )

UserData [ id ] [ iSpawn ] = 0
UserData [ id ] [ iSpeed ] = 0
UserData [ id ] [ iGravity ] = 0
UserData [ id ] [ iDDJump ] = 0
UserData [ id ] [ iHook ] = 0
UserData [ id ] [ iGrab ] = 0

bp_Create [ id ] = 0
gMoney [ id ] = 0
}

public backpack_invent ( id )
{
static s_MenuItem [ 255 ], s_Item1 [ 255 ], s_Item2 [ 255 ], s_Item3 [ 255 ], s_Item4 [ 255 ], s_Item5 [ 255 ], s_Item6 [ 255 ]
formatex ( s_MenuItem, charsmax ( s_MenuItem ), "%s Инвентарь^n\yНа счете : \r%d \yКэш.", mPrefix, gMoney [ id ] )

formatex ( s_Item1, charsmax ( s_Item1 ), "\yВзять\r Возродиться \d[%d шт.]", UserData [ id ] [ iSpawn ] )
formatex ( s_Item2, charsmax ( s_Item2 ), "\yВзять\r Скорость \d[%d шт.]", UserData [ id ] [ iSpeed ] )
formatex ( s_Item3, charsmax ( s_Item3 ), "\yВзять\r Гравитацию \d[%d шт.]", UserData [ id ] [ iGravity ] )
formatex ( s_Item4, charsmax ( s_Item4 ), "\yВзять\r Двойной прыжок \d[%d шт.]", UserData [ id ] [ iDDJump ] )
formatex ( s_Item5, charsmax ( s_Item5 ), "\yВзять\r Паутинку \d[%d шт.]", UserData [ id ] [ iHook ] )
formatex ( s_Item6, charsmax ( s_Item6 ), "\yВзять\r Граб \d[%d шт.]", UserData [ id ] [ iGrab ] )

new menu = menu_create ( s_MenuItem, "backpack3_handler" )

menu_additem ( menu, s_Item1, "1" )
menu_additem ( menu, s_Item2, "2" )
menu_additem ( menu, s_Item3, "3" )
menu_additem ( menu, s_Item4, "4" )
menu_additem ( menu, s_Item5, "5" )
menu_additem ( menu, s_Item6, "6" )

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

menu_display(id,menu,0)
return PLUGIN_HANDLED
}

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

new data [ 6 ], iName [ 64 ], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num ( data )

switch ( key )
{
case 1:
{
if ( UserData [ id ] [ iSpawn ] >= 1 )
{
UserData [ id ] [ iSpawn ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Возрождение!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 2:
{
if ( UserData [ id ] [ iSpeed ] >= 1 )
{
UserData [ id ] [ iSpeed ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Скорость!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 3:
{
if ( UserData [ id ] [ iGravity ] >= 1 )
{
UserData [ id ] [ iGravity ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Гравитацию!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 4:
{
if ( UserData [ id ] [ iDDJump ] >= 1 )
{
UserData [ id ] [ iDDJump ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Двойной прыжок!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 5:
{
if ( UserData [ id ] [ iHook ] >= 1 )
{
UserData [ id ] [ iHook ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Паутинку!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 6:
{
if ( UserData [ id ] [ iGrab ] >= 1 )
{
UserData [ id ] [ iGrab ] -= 1
formatex ( gMsg, charsmax(gMsg), "%s Вы использовали!t Граб!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
}

return PLUGIN_HANDLED
}

public backpack_menu ( id )
{
static s_MenuItem [ 255 ]
formatex ( s_MenuItem, charsmax ( s_MenuItem ), "%s Подменю\d^nАвтор : %s^nВерсия : %s", mPrefix, AUTHOR, VERSION )
new menu = menu_create ( s_MenuItem, "backpack2_handler" )

if ( bp_Create [ id ] != 1 )
{
menu_additem ( menu, "\yКупить\r Рюкзак \d[16000 $]", "1" )
} else {
menu_additem ( menu, "\yМеню\r Рюкзака", "1" )
}

if ( bp_Create [ id ] == 1 )
{
menu_additem ( menu, "\rМагазин предметов", "2" )
} else {
menu_additem ( menu, "\dМагазин предметов", "2" )
}

menu_additem ( menu, "\rПомощь по рюкзаку", "3" )

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

menu_display(id,menu,0)
return PLUGIN_HANDLED
}

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

new data [ 6 ], iName [ 64 ], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num ( data )

switch ( key )
{
case 1:
{
if ( bp_Create [ id ] != 1 )
{
if ( cs_get_user_money ( id ) >= 16000 )
{
cs_set_user_money ( id, cs_get_user_money ( id ) - 16000 )
bp_Create [ id ] = 1
fm_set_entity_visibility( bp_Ent[id], 1 )
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Рюкзак! Посмотреть справочник!g /bpmenu", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}

ChatColor ( id, gMsg )

} else {
backpack_invent ( id )
}
}
case 2:
{
backpack_shop ( id )
}
case 3:
{
show_motd ( id, "backpack_help.txt" )
}
}

return PLUGIN_HANDLED
}

public backpack_shop ( id )
{
if ( !bp_Create [ id ] )
return PLUGIN_HANDLED

static s_MenuItem [ 255 ]
formatex ( s_MenuItem, charsmax(s_MenuItem), "%s Магазин сервера^n\yНа счете : \r%d \yКэш.", mPrefix, gMoney [ id ] )
new menu = menu_create ( s_MenuItem, "backpack_handler" )

menu_additem ( menu, "\yКупить\r Возрождение \d[50 Кэш.]", "1" )
menu_additem ( menu, "\yКупить\r Скорость \d[20 Кэш.]", "2" )
menu_additem ( menu, "\yКупить\r Гравитацию \d[20 Кэш.]", "3" )
menu_additem ( menu, "\yКупить\r Двойной прыжок \d[40 Кэш.]", "4" )
menu_additem ( menu, "\yКупить\r Паутинку \d[150 Кэш.]", "5" )
menu_additem ( menu, "\yКупить\r Граб \d[200 Кэш.]", "6" )

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

menu_display ( id, menu, 0 )
return PLUGIN_HANDLED
}

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

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num ( data )

switch ( key )
{
case 1:
{
if ( gMoney [ id ] >= 50 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Возрождение!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 2:
{
if ( gMoney [ id ] >= 20 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Скорость!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 3:
{
if ( gMoney [ id ] >= 20 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Гравитацию!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 4:
{
if ( gMoney [ id ] >= 40 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Двойной прыжок!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 5:
{
if ( gMoney [ id ] >= 150 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Паутинку!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
case 6:
{
if ( gMoney [ id ] >= 200 )
{
formatex ( gMsg, charsmax(gMsg), "%s Вы купили!t Граб!", cPrefix )
} else {
formatex ( gMsg, charsmax(gMsg), "%s Недостаточно средств!", cPrefix )
}
}
}

ChatColor ( id, gMsg )

return PLUGIN_HANDLED
}

stock ChatColor ( const id, const input[ ], any:... )
{
new count = 1, players [ 32 ]
static msg [ 188 ]
vformat ( msg, 187, input, 3 )

replace_all ( msg, 187, "!g", "^4" )
replace_all ( msg, 187, "!y", "^1" )
replace_all ( msg, 187, "!t", "^3" )

if ( id ) players[0] = id; else get_players ( players, count, "ch" )
{
for ( new i = 0; i < count; i++ )
{
if ( is_user_connected ( players [ i ] ) )
{
message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "SayText" ), _, players [ i ] )
write_byte ( players [ i ] )
write_string ( msg )
message_end()
}
}
}
}

stock fm_set_entity_visibility ( index, visible = 1 )
set_pev ( index, pev_effects, visible == 1 ? pev ( index, pev_effects ) & ~EF_NODRAW : pev ( index, pev_effects ) | EF_NODRAW )


Отредактировал: OverGame, - 22.12.2014, 22:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 22.12.2014, 22:33
Сообщение #12
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата
engfunc ( EngFunc_SetModel, bp_Ent[id], bp_model )
set_pev ( bp_Ent [ id ], pev_classname, bp_class )
set_pev ( bp_Ent [ id ], pev_movetype, MOVETYPE_FOLLOW )
set_pev( bp_Ent [ id ], pev_effects, EF_NODRAW )
set_pev ( bp_Ent [ id ], pev_aiment, id )


Портит физику модели, особенно в прыжке заметно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 22.12.2014, 22:38
Сообщение #13
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(SISA @ 22.12.2014, 21:29) *
Портит физику модели, особенно в прыжке заметно.


Сорян, но в данный момент это не очень важно...
Сейчас главное поместить модель на спину (нормально) и сделать ее поменьше...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 22.12.2014, 22:42
Сообщение #14
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(OverGame @ 22.12.2014, 23:34) *
Сорян, но в данный момент это не очень важно...
Сейчас главное поместить модель на спину (нормально) и сделать ее поменьше...


В MilkShape
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 22.12.2014, 22:44
Сообщение #15
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(SISA @ 22.12.2014, 21:38) *
В MilkShape


Хм... А если попробовать использовать стандартную сумку на спине?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Type
сообщение 22.12.2014, 22:46
Сообщение #16
Стаж: 11 лет

Сообщений: 378
Благодарностей: 130
Полезность: 284

http://www.amxmodx.org/doc/index.html?page...ty_set_size.htm
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 22.12.2014, 22:46
Сообщение #17
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

бэкпак ? Ну тогда надо певбоди менять, но бэкппак есть только у моделей тер
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 22.12.2014, 23:25
Сообщение #18
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Все равно не понял... Может кто поможет кодом? Не? ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 22.12.2014, 23:45
Сообщение #19
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Выше уже писали.

set_pev(id, pev_body, 1) или set_pev(id, pev_body, 2)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 22.12.2014, 23:49
Сообщение #20
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(SISA @ 22.12.2014, 23:41) *
Выше уже писали.

set_pev(id, pev_body, 1) или set_pev(id, pev_body, 2)


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