Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98 , liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума. 2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня". 3. Запрещено взламывать сайт/форум или наносить любой вред проекту. 4. Запрещено рекламировать другие ресурсы. 5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X. Правила при создании новой темы: 1. При вставке кода плагина необходимо использовать тег [code=php]. 2. Любые изображения должны быть загружены, как вложения к вашему сообщению. 3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
smurfavr » 25 июн 2017, 14:56
Я не очень хорошо понимаю, када добавить эти строки. Вы можете добавить их в свой код, пожалуйста.
Replace backpack ammo with a in-plugin array variable:Код: Выделить всё new Ammo = hl_get_user_bpammo ( Id , HLW_RPG ) hl_set_user_bpammo ( Id , HLW_RPG , Ammo )
Код: Выделить всё new player_rockets [ 33 ]; new Ammo = player_rockets [ Id ] player_rockets [ Id ] = Ammo
In the player connect handler setКод: Выделить всё player_rockets[ Id ] = 1
And the same in the DeathEventКод: Выделить всё new victim = read_data ( 2 ); player_rockets [ victim ] = 1
Should be enough. Название темы скорректировано // Subb98
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Форум за HALF LIFE http://smurfa.bulgarianforum.net/
smurfavr
Сообщения: 88Зарегистрирован: 02 авг 2011, 20:03Откуда: България
Благодарил (а): 48 раз.
Поблагодарили: 2 раз.
Jeiker » 25 июн 2017, 17:55
У тебя же расписано, что куда добавить и что нужно поменять, держи:
Код: Выделить всё new player_rockets [ 33 ]; new const extraoffset_weapon = 4 , m_flNextSecondaryAttack = 36 ; new g_EntTrial public plugin_init () { register_plugin ( PLUGIN , VERSION , AUTHOR ) register_forward ( FM_PlayerPreThink , "Fw_FmPlayerPostThinkPost" , 1 ) RegisterHam ( Ham_Weapon_SecondaryAttack , "weapon_crowbar" , "Crowbar_SecondaryAttack_Post" , 0 ) RegisterHam ( Ham_Item_Deploy , "weapon_crowbar" , "fw_Item_Deploy_Post" , 1 ) RegisterHam ( Ham_Item_Holster , "weapon_crowbar" , "fw_Item_Holster_Post" , 1 ); register_clcmd ( RC_W_NAME , "RC_cmd" ); register_event ( "CurWeapon" , "Event_CurWeapon" , "be" , "1=1" ) register_message ( get_user_msgid ( "DeathMsg" ), "Message_DeathMsg" ) } public client_connect ( id ) { player_rockets [ id ] = 1 } public Event_CurWeapon ( id ){ new weaponID = read_data ( 2 ) if ( weaponID != HLW_GAUSS ) return PLUGIN_CONTINUE set_pev ( id , pev_weaponmodel2 , "models/v_gauss.mdl" ); set_pev ( id , pev_viewmodel2 , "models/v_gauss.mdl" ); return PLUGIN_CONTINUE } public Message_DeathMsg () { static const nameWeapon [] = "rpg_rocket" static text [ 64 ] new iAttacker = get_msg_arg_int ( 1 ); new victim = read_data ( 2 ); player_rockets [ victim ] = 1 get_msg_arg_string ( 3 , text , 63 ) if ( equal ( text , nameWeapon ) && get_user_weapon ( iAttacker ) == HLW_CROWBAR ) { set_msg_arg_string ( 3 , "crowbar" ) } return PLUGIN_CONTINUE } public plugin_precache () { g_EntTrial = precache_model ( RC_SPRITE_TRAIL ) precache_model ( RC_W_MODEL_DEFAULT ) precache_model ( RC_W_MODEL_ROCKET ) precache_model ( "models/v_gauss.mdl" ) precache_generic ( RC_SPRITE_HUD_TXT ) } public Fw_FmPlayerPostThinkPost ( id ) { if (! is_user_alive ( id )) { return FMRES_HANDLED } new Weapon = get_user_weapon ( id ); new Ammo = hl_get_user_bpammo ( id , HLW_RPG ) if ( Weapon == HLW_CROWBAR && Ammo != 0 ) { set_pev ( id , pev_weaponmodel2 , RC_W_MODEL_ROCKET ); set_pev ( id , pev_viewmodel2 , RC_W_MODEL_ROCKET ); return FMRES_IGNORED } else if ( pev ( id , pev_button ) & IN_ATTACK2 && Weapon == HLW_CROWBAR && Ammo <= 0 ){ set_pev ( id , pev_weaponmodel2 , RC_W_MODEL_DEFAULT ); set_pev ( id , pev_viewmodel2 , RC_W_MODEL_DEFAULT ); return FMRES_IGNORED } return FMRES_HANDLED } public Crowbar_SecondaryAttack_Post ( const crowbar ) { new Id = pev ( crowbar , pev_owner ) new Ammo = player_rockets [ Id ] if (! Ammo ) { return HAM_SUPERCEDE } new Float : origin [ 3 ], Float : view_ofs [ 3 ], Float : angles [ 3 ], Float : velocity [ 3 ] Ammo -- player_rockets [ Id ] = Ammo new Ent ; Ent = engfunc ( EngFunc_CreateNamedEntity , engfunc ( EngFunc_AllocString , "rpg_rocket" )) pev ( Id , pev_origin , origin ) pev ( Id , pev_view_ofs , view_ofs ) pev ( Id , pev_v_angle , angles ) origin [ 0 ] += view_ofs [ 0 ] origin [ 1 ] += view_ofs [ 1 ] origin [ 2 ] += view_ofs [ 2 ] velocity_by_aim ( Id , 2000 , velocity ) set_pev ( Ent , pev_origin , origin ) set_pev ( Ent , pev_angles , angles ) set_pev ( Ent , pev_owner , Id ) client_cmd ( 0 , "mp3 stop; stopsound" ); DispatchSpawn ( Ent ) engfunc ( EngFunc_SetModel , Ent , "models/rpgrocket.mdl" ) set_pev ( Ent , pev_effects , pev ( Ent , pev_effects ) | EF_LIGHT ) if ( pev_valid ( crowbar )) { ExecuteHamB ( Ham_Weapon_PrimaryAttack , crowbar ) UTIL_PlayWeaponAnimation ( Id , 5 ) } set_pev ( Ent , pev_velocity , velocity ); message_begin ( MSG_BROADCAST , SVC_TEMPENTITY ); write_byte ( TE_BEAMFOLLOW ); write_short ( Ent ); write_short ( g_EntTrial ); write_byte ( 25 ); write_byte ( 12 ); write_byte ( random_num ( 0 , 255 )); write_byte ( random_num ( 0 , 255 )); write_byte ( random_num ( 0 , 255 )); write_byte ( 255 ); message_end (); set_pdata_float ( crowbar , m_flNextSecondaryAttack , 2.0 , extraoffset_weapon ) return HAM_HANDLED } public fw_Item_Deploy_Post ( ent ) { new id = pev ( ent , pev_owner ); if (! is_user_alive ( id )) { return FMRES_HANDLED } message_begin ( MSG_ONE , get_user_msgid ( "WeaponList" ), . player = id ); { write_string ( RC_W_NAME ); write_byte ( - 1 ); write_byte ( - 1 ); write_byte ( 6 ); write_byte ( - 1 ); write_byte ( 0 ); write_byte ( 1 ); write_byte ( HLW_CROWBAR ); write_byte ( 0 ); message_end (); } set_hudmessage ( 0 , 255 , 0 , 0.38 , 0.89 , 0 , 0.2 , 10.0 ) show_hudmessage ( id , " | ROCKET~AT~CROWBAR | ^nPick Up RPG Ammo & Launched it useing Secondary Attack" ) return HAM_IGNORED } public fw_Item_Holster_Post ( ent ) { new id = pev ( ent , pev_owner ); set_hudmessage ( 0 , 255 , 0 , 0.38 , 0.89 , 0 , 0.2 , 1.0 ) show_hudmessage ( id , "" ) return HAM_IGNORED ; } public RC_cmd ( id ) { engclient_cmd ( id , "weapon_crowbar" ); return 1 } stock UTIL_PlayWeaponAnimation ( const Player , const Sequence ) { set_pev ( Player , pev_weaponanim , Sequence ) message_begin ( MSG_ONE_UNRELIABLE , SVC_WEAPONANIM , . player = Player ) write_byte ( Sequence ) write_byte ( 0 ) message_end () }
Jeiker
Сообщения: 21Зарегистрирован: 17 июн 2011, 04:28
Благодарил (а): 2 раз.
Поблагодарили: 10 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6 Php
smurfavr » 26 июн 2017, 13:22
Спасибо Jeiker
Форум за HALF LIFE http://smurfa.bulgarianforum.net/
smurfavr
Сообщения: 88Зарегистрирован: 02 авг 2011, 20:03Откуда: България
Благодарил (а): 48 раз.
Поблагодарили: 2 раз.
smurfavr » 28 июл 2017, 16:00
Delete
Последний раз редактировалось
smurfavr 06 сен 2017, 20:26, всего редактировалось 1 раз.
Форум за HALF LIFE http://smurfa.bulgarianforum.net/
smurfavr
Сообщения: 88Зарегистрирован: 02 авг 2011, 20:03Откуда: България
Благодарил (а): 48 раз.
Поблагодарили: 2 раз.
Subb98 » 28 июл 2017, 18:30
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Subb98
Сообщения: 5485Зарегистрирован: 24 мар 2011, 19:42Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP
smurfavr » 29 июл 2017, 13:08
Delete
Последний раз редактировалось
smurfavr 06 сен 2017, 20:27, всего редактировалось 1 раз.
Форум за HALF LIFE http://smurfa.bulgarianforum.net/
smurfavr
Сообщения: 88Зарегистрирован: 02 авг 2011, 20:03Откуда: България
Благодарил (а): 48 раз.
Поблагодарили: 2 раз.
Pafos » 29 июл 2017, 16:29
Pafos
Сообщения: 574Зарегистрирован: 07 апр 2014, 18:03Откуда: pfnClientConnectЗабанен
Благодарил (а): 129 раз.
Поблагодарили: 97 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14