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

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

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

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

нужно добавить функцию в плагин

, плагин етот супер нож для фуриен мода
Статус пользователя NiceGaming
сообщение 30.12.2017, 1:50
Сообщение #1
Стаж: 8 лет 4 месяца
Город: New York

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

Нужно добавить функцию Востановления XP при покупке і тока тогда когда нож в руках после смерити штоб пропадало помогите пожалоста
Вот код
CODE

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#include "furien.inc"
#include "furien_shop.inc"

#define VERSION "1.0.0"

#define FIRST_PLAYER_ID 1

new g_iMaxPlayers
#define IsPlayer(%1) ( FIRST_PLAYER_ID <= %1 <= g_iMaxPlayers )

#define XO_WEAPON 4
#define m_pPlayer 41

#define XO_PLAYER 5
#define m_pActiveItem 373

new g_bHasSuperKnife
#define SetUserSuperKnife(%1) g_bHasSuperKnife |= 1<<(%1&31)
#define RemoveUserSuperKnife(%1) g_bHasSuperKnife &= ~(1<<(%1&31))
#define HasUserSuperKnife(%1) g_bHasSuperKnife & 1<<(%1&31)

#define KILLS_FOR_BUY 18

new g_iKillCounter[33];

new g_iszSuperKnifeModel
new Float:g_flSuperKnifeDamageFactor

new g_iCost[2]

public plugin_precache()
{
register_plugin(" NEW Furien SuperKnife", VERSION, "ConnorMcLeod")

new szConfigFile[128]
get_localinfo("amxx_configsdir", szConfigFile, charsmax(szConfigFile))
format(szConfigFile, charsmax(szConfigFile), "%s/furien/items/ultra_superknife.ini", szConfigFile);

new fp = fopen(szConfigFile, "rt")
if( !fp )
{
return
}

new szFurienName[32], szAntiName[32]

new szDatas[80], szKey[16], szValue[64]
while( !feof(fp) )
{
fgets(fp, szDatas, charsmax(szDatas))
trim(szDatas)
if(!szDatas[0] || szDatas[0] == ';' || szDatas[0] == '#' || (szDatas[0] == '/' && szDatas[1] == '/'))
{
continue
}

parse(szDatas, szKey, charsmax(szKey), szValue, charsmax(szValue))

switch( szKey[0] )
{
case 'A':
{
switch( szKey[7] )
{
case 'M':
{
if( equal(szKey, "ANTI_NAME" ) )
{
copy(szAntiName, charsmax(szAntiName), szValue)
}
}
case 'S':
{
if( equal(szKey, "ANTI_COST" ) )
{
g_iCost[AntiFurien] = str_to_num(szValue)
}
}
}
}
case 'F':
{
switch( szKey[9] )
{
case 'M':
{
if( equal(szKey, "FURIEN_NAME" ) )
{
copy(szFurienName, charsmax(szAntiName), szValue)
}
}
case 'S':
{
if( equal(szKey, "FURIEN_COST" ) )
{
g_iCost[Furien] = str_to_num(szValue)
}
}
}
}
case 'K':
{
switch( szKey[6] )
{
case 'M':
{
if( equal(szKey, "KNIFE_MODEL" ) )
{
precache_model(szValue)
g_iszSuperKnifeModel = engfunc(EngFunc_AllocString, szValue)
}
}
case 'D':
{
if( equal(szKey, "KNIFE_DAMAGE" ) )
{
g_flSuperKnifeDamageFactor = str_to_float(szValue)
}
}
}
}
}
}
fclose( fp )

if( g_iCost[Furien] || g_iCost[AntiFurien] )
{
furien_register_item(szFurienName, g_iCost[Furien], szAntiName, g_iCost[AntiFurien], "furien_buy_superknife")

register_event("DeathMsg", "death_event", "a", "1>0");
RegisterHam(Ham_TakeDamage, "player", "CBasePlayer_TakeDamage", false)
RegisterHam(Ham_Item_Deploy, "weapon_knife", "CKnife_Deploy", true)

g_iMaxPlayers = get_maxplayers()
}
}

public client_putinserver(id)
{
RemoveUserSuperKnife(id)
}

public plugin_natives() {
register_native("has_super_knife", "has_super_knife", 1);
}

public has_super_knife(id) {
if(HasUserSuperKnife(id)) return 1;
return 0;
}

public furien_buy_superknife( id )
{
new iTeam = furien_get_user_team(id)
if( iTeam == -1 )
{
return ShopCloseMenu
}

new iItemCost = g_iCost[iTeam]
if( iItemCost <= 0 )
{
return ShopTeamNotAvail
}

if( ~HasUserSuperKnife(id) )
{
new killcount = KILLS_FOR_BUY - g_iKillCounter[id];
if(killcount > 0){
set_hudmessage(255, 0, 0, -1.0, 0.35, 0, 6.0, 1.5, 0.5, 0.15);
show_hudmessage(id, "До покупки осталось сделать %d убийств%s", killcount, killcount == 1 ? "о" : (killcount < 5 ? "а" : ""));
client_cmd(id, "spk op_sound/error.wav");
return ShopCloseMenu;
}
if( furien_try_buy(id, iItemCost) )
{
SetUserSuperKnife(id)
if( get_user_weapon(id) == CSW_KNIFE )
{
ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, m_pActiveItem, XO_PLAYER))
}
return ShopBought
}
else
{
return ShopNotEnoughMoney
}
}
return ShopAlreadyHaveOne
}

public CKnife_Deploy( iKnife )
{
new id = get_pdata_cbase(iKnife, m_pPlayer, XO_WEAPON)

if( HasUserSuperKnife(id) )
{
set_pev(id, pev_viewmodel, g_iszSuperKnifeModel)
}
}

public CBasePlayer_TakeDamage(id, iInflictor, iAttacker, Float:flDamage, bitsDamageType)
{
if( IsPlayer(iInflictor) && HasUserSuperKnife(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE )
{
SetHamParamFloat( 4, flDamage * g_flSuperKnifeDamageFactor )
}
}

public death_event(){
new iKiller = read_data(1);
new iVictim = read_data(2);
g_iKillCounter[iKiller]++;
RemoveUserSuperKnife(iVictim);
}

public furien_team_change( /*iFurien */ )
{
if( !g_iCost[Furien] || !g_iCost[AntiFurien] )
{
new iPlayers[32], iNum, id
get_players(iPlayers, iNum, "a")
for(new i; i<iNum; i++)
{
id = iPlayers[i]
if( HasUserSuperKnife(id) )
{
RemoveUserSuperKnife(id)
if( get_user_weapon(id) == CSW_KNIFE )
{
ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, m_pActiveItem, XO_PLAYER))
}
}
}
g_bHasSuperKnife = 0
}
}

Прикрепленные файлы:
Прикрепленный файл  furien_ultra_superk.sma ( 5,21 килобайт ) Кол-во скачиваний: 4
Прикрепленный файл  furien_ultra_superk.sma ( 5,21 килобайт ) Кол-во скачиваний: 3
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
csuser
сообщение 31.12.2017, 20:06
Сообщение #2
Стаж: 9 лет 10 месяцев

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

Мой маленький друг, срочно в школу, учить букварь.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя tyne
сообщение 31.12.2017, 20:27
Сообщение #3


Стаж: 13 лет

Сообщений: 544
Благодарностей: 137
Полезность: 91

Цитата(csuser @ 31.12.2017, 21:06) *
Мой маленький друг, срочно в школу, учить букварь.

Он же из Нью Йорка)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csuser
сообщение 1.1.2018, 4:04
Сообщение #4
Стаж: 9 лет 10 месяцев

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

С таким кол-вом ошибок гугл-транслятор не переведет. )))
Это типовый пятиклассник - начинающий "одмин".
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HoBu4oK
сообщение 1.1.2018, 9:34
Сообщение #5


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

Стаж: 12 лет

Сообщений: 337
Благодарностей: 148
Полезность: 630

Какой Нью-Йорк, с Украины он, видно же по букве i
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ChesterField
сообщение 1.1.2018, 19:13
Сообщение #6


Стаж: 11 лет

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

Даже не помогайте ему, я ему сделал нормальный Супер-Нож для фурий, там по дешевке, а ему все не нравится и он решает кодить сам как он сказал, ну понятно Назарчик, я понял как ты кодить начал "сам".


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