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

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

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

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

Reloaded Weapons On Kill

Статус пользователя ssx
сообщение 9.9.2014, 11:26
Сообщение #1


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Проблема:
Когда убиваешь с ножа:
а) если имеешь м4а1 - надевается глушитель.
б) если имеешь авп - переключается на авп и включает зум.

Помогите исправить;)

Скрытый текст
Код:
/*	Copyright © 2009, ConnorMcLeod

AutoReload on NewRound is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with AutoReload on NewRound; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <amxmisc>

#define PLUGIN "Reloaded Weapons On Kill"
#define AUTHOR "ConnorMcLeod"
#define VERSION "2.0.0"

#define m_pNext 42
#define m_fInReload 54

#define m_flNextAttack 83
#define m_rgpPlayerItems_Slot1 368
#define m_rgpPlayerItems_Slot2 369

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Killed,"player","ham_player_kill")
}

public ham_player_kill(victim, attacker, corpse)
{
if(is_user_connected(attacker) && is_user_alive(attacker))
{
set_pdata_float(attacker, m_flNextAttack, -0.001, 5)

new iWeapon
for(new i=m_rgpPlayerItems_Slot1; i<=m_rgpPlayerItems_Slot2; i++)
{
iWeapon = get_pdata_cbase(attacker, i, 5)
while( pev_valid(iWeapon) )
{
set_pdata_int(iWeapon, m_fInReload, 1, 4)
ExecuteHamB(Ham_Item_PostFrame, iWeapon)
iWeapon = get_pdata_cbase(iWeapon, m_pNext, 4)
}
}
}
}


Суть плагина - перезаряжать оружие (подобно ГГ) при килле, а если с ножа килл то перезаряжать но не переключатся на него.

Отредактировал: ssx, - 9.9.2014, 11:28


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ssx
сообщение 9.9.2014, 13:10
Сообщение #2


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Или подскажите нормальный код что бы когда убиваешь с любого оружия (даже с гранаты) - давало патроны оружию которое имеется в слоте 1/слоте 2



[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 9.9.2014, 13:29
Сообщение #3
Стаж: 14 лет

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

ssx,
зачем делать перезарядку?
С помощью функций, просто установи в оружие N патронов.

http://amxxmodx.ru/poleznye_funkcii/412-fu...v-magazine.html
http://amxxmodx.ru/core/amxmodxinc/546-get...e-u-igroka.html

Делайте код так:

Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <amxmisc>

public plugin_init()
{
register_plugin("Reloaded Weapons On Kill", "2.0", "Sutar")
RegisterHam(Ham_Killed, "player", "ham_player_kill")
}

public ham_player_kill(victim, attacker, corpse)
{
if(is_user_connected(attacker) && is_user_alive(attacker))
{
/*
Проверяем есть-ли у игрока "Основное оружие"
Если есть, устанавливаем туда N патронов.
(Все функции для проверки, и N патронов, можно найти в гугле

Аналогично и с пистолетом делаем...
*/
return 0;
}


Отредактировал: Orty_Hart, - 9.9.2014, 13:30
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя apTmusic
сообщение 9.9.2014, 13:52
Сообщение #4


Стаж: 14 лет

Сообщений: 419
Благодарностей: 126
Полезность: 232

Код:

#include <amxmodx>
#include <fakemeta>

new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };

public plugin_init()
{
register_plugin("zzzz", "1.0", "budlocoder");

register_event("DeathMsg", "DeathMsg", "ade");
}

public DeathMsg()
{
new killer = read_data(1);
new victim = read_data(2);

if(!is_user_connected(killer))
return PLUGIN_CONTINUE;

new weapon = get_user_weapon(killer);
if(maxClip[weapon] != -1)
set_user_clip(killer, maxClip[weapon]);


return PLUGIN_CONTINUE;
}

stock set_user_clip(id, ammo)
{
new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
get_weaponname(weapon, weaponname, 31);
while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
if (pev(weaponid, pev_owner) == id) {
set_pdata_int(weaponid, 51, ammo, 4);
return weaponid;
}
return 0;
}


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