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

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

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

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

Новые оружия + дроп система

Статус пользователя Katowice
сообщение 31.3.2015, 6:00
Сообщение #1
Стаж: 11 лет

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

Что не так сделал пытался добавить AWP_AZIMOV вроде делаю все так а выдает ошибку прм компиле
Вот сам плагин https://c-s.net.ua/forum/topic71586.html
Скрытый текст
#include < amxmodx >
#include < amxmisc >
#include < fakemeta >
#include < hamsandwich >
#include < nvault >

#define PLUGIN_NAME "NEW WEAPONS :: SYSTEM"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "OverGame"

#define PLUGIN_LEVEL ADMIN_RCON

#define WEAPON_VULCAN
#define WEAPON_HOWL
#define WEAPON_AZIMOV
#define WEAPON_RANDOM

#define SAVE_VAULT
#define INFO_MSG

#define CHAT_PREFIX "!g[!t НОВЫЕ ОРУЖИЯ !g]!y"

#if defined WEAPON_VULCAN
#define v_weapon_1 "models/dropcsgo/v_ak47_vulcan.mdl"
#define p_weapon_1 "models/dropcsgo/p_ak47_vulcan.mdl"
#endif

#if defined WEAPON_HOWL
#define v_weapon_2 "models/dropcsgo/v_m4a1_howl.mdl"
#define p_weapon_2 "models/dropcsgo/p_m4a1_howl.mdl"
#endif

#if defined WEAPON_AZIMOV
#define v_weapon_3 "models/dropcsgo/v_awp_azimov.mdl"
#define p_weapon_3 "models/dropcsgo/p_awp_azimov.mdl"
#endif

#pragma tabsize 0

enum _:udate
{
give_id
};

new UserData [ 33 ][ udate ]
new UserGive [ 33 ][ 4 ]
new UserWeapons [ 33 ][ 255 ]
new UserSteam [ 33 ][ 35 ]

#if defined SAVE_VAULT
new gVault
#endif

public plugin_init ( )
{
function_register ( )
function_event ( )
}

public function_register ( )
{

register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )

register_clcmd ( "weapons", "open_players" )
register_clcmd ( "say /weapons", "open_players" )
register_clcmd ( "say_team /weapons", "open_players" )

#if defined SAVE_VAULT
gVault = nvault_open ( "vip_weapons" )

if ( gVault == INVALID_HANDLE )
set_fail_state ( "Error opening file vip_weapons ( nVault )" )
#endif

}

public function_event ( )
{

register_event ( "CurWeapon", "event_curweapon", "be", "1=1" )

#if defined WEAPON_RANDOM
register_event ( "DeathMsg", "event_killing", "a", "1>0" )
#endif

#if defined INFO_MSG
set_task ( 120.0, "event_showmsg", _, _, _, "b" )
#endif

}

#if defined WEAPON_RANDOM
public event_killing ( )
{
new iKiller = read_data ( 1 )
new iVictim = read_data ( 2 )

if ( iKiller != iVictim && get_user_team ( iKiller ) != get_user_team ( iVictim ) )
{
new iRand = random_num ( 1, 600 )
new iPos [ 4 ], szName [ 33 ]
iPos [ 1 ] = containi ( UserWeapons [ iKiller ], "VULCAN" )
iPos [ 2 ] = containi ( UserWeapons [ iKiller ], "HOWL" )
iPos [ 3 ] = containi ( UserWeapons [ iKiller ], "AZIMOV" )

get_user_name ( iKiller, szName, charsmax ( szName ) )

switch ( iRand )
{
case 8: {
if ( iPos [ 2 ] != - 1 )
{
cmdSaveWeapons ( iKiller, 1 , 1 )
} else {
cmdSaveWeapons ( iKiller, 1 , 0 )
}

ShowMsg ( 0, "%s Счастливчик!t %s!y получает!t AK47 Vulcan!y. Давайте похлопаем ему!", CHAT_PREFIX, szName )
}
case 10: {
if ( iPos [ 3 ] != - 1 )
{
cmdSaveWeapons ( iKiller, 1 , 1 )
} else {
cmdSaveWeapons ( iKiller, 0 , 1 )
}

ShowMsg ( 0, "%s Счастливчик!t %s!y получает!t AWP AZIMOV!y. Давайте похлопаем ему!", CHAT_PREFIX, szName )
}
case 9: {
if ( iPos [ 1 ] != - 1 )
{
cmdSaveWeapons ( iKiller, 1 , 1 )
} else {
cmdSaveWeapons ( iKiller, 0 , 1 )
}

ShowMsg ( 0, "%s Счастливчик!t %s!y получает!t M4A1 Howl!y. Давайте похлопаем ему!", CHAT_PREFIX, szName )
}
}
}
}
#endif

public event_showmsg ( )
{
ShowMsg ( 0, "%s Не упустите свой шанс получить!t Редкое!y оружие!", CHAT_PREFIX )
ShowMsg ( 0, "%s Запомните! Чем больше убийств, тем больше шанс получить оружие!", CHAT_PREFIX )
}

public event_curweapon ( id )
{
new iPos [ 4 ]
new iWeapon = read_data ( 2 )
iPos [ 1 ] = containi ( UserWeapons [ id ], "VULCAN" )
iPos [ 2 ] = containi ( UserWeapons [ id ], "HOWL" )
iPos [ 3 ] = containi ( UserWeapons [ id ], "AZIMOV" )

if ( iWeapon == CSW_AK47 && iPos [ 1 ] != -1 )
{

#if defined WEAPON_VULCAN
set_pev ( id, pev_viewmodel2, v_weapon_1 )
set_pev ( id, pev_weaponmodel2, p_weapon_1 )
#endif

} else
if ( iWeapon == CSW_M4A1 && iPos [ 2 ] != -1 )
{

#if defined WEAPON_HOWL
set_pev ( id, pev_viewmodel2, v_weapon_2 )
set_pev ( id, pev_weaponmodel2, p_weapon_2 )
#endif

} else
if ( iWeapon == CSW_AWP && iPos [ 3 ] != -1 )
{

#if defined WEAPON_AZIMOV
set_pev ( id, pev_viewmodel2, v_weapon_3 )
set_pev ( id, pev_weaponmodel2, p_weapon_3 )
#endif

}

return PLUGIN_CONTINUE
}

#if defined SAVE_VAULT
public plugin_end ( )
{
nvault_close ( gVault )
}
#endif

public plugin_precache ( )
{
#if defined WEAPON_VULCAN
precache_model ( v_weapon_1 )
precache_model ( p_weapon_1 )
#endif

#if defined WEAPON_HOWL
precache_model ( v_weapon_2 )
precache_model ( p_weapon_2 )
#endif

#if defined WEAPON_AZIMOV
precache_model ( v_weapon_3 )
precache_model ( p_weapon_3 )
#endif
}


public client_putinserver ( id )
{
if ( !is_user_bot ( id ))
cmdCheckWeapons ( id )
}

public client_authorized(id)
{
get_user_authid ( id, UserSteam [ id ], charsmax ( UserSteam [ ] ) )
}

public open_players ( id )
{
if ( !( get_user_flags ( id ) & PLUGIN_LEVEL ) ) return PLUGIN_HANDLED

new s_MenuHint [ 255 ], g_ItemM [ 255 ], Players [ 32 ], szName [ 33 ], Count, g_Temp [ 10 ], Player
formatex ( s_MenuHint, charsmax ( s_MenuHint ), "\d[ VIP WEAPONS ]\r ОРУЖЕЙКА ВИП^n\yКатегория : \rИгроки" )
new menu = menu_create ( s_MenuHint, "oplayers_hand" )

get_players ( Players, Count, "h" )

for ( new i; i< Count; i++ )
{
Player = Players [ i ]

get_user_name ( Player, szName, charsmax ( szName ) )
formatex ( g_ItemM [ i ], charsmax ( g_ItemM ), "\y%s", szName )

num_to_str ( Player, g_Temp, charsmax ( g_Temp ) )
menu_additem ( menu, g_ItemM [ i ], g_Temp, 0 )
}

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

menu_display ( id, menu, 0 )
return PLUGIN_HANDLED
}

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

new s_Data [ 6 ], s_Name [ 64 ], i_Access, i_Callback
menu_item_getinfo ( menu, item, i_Access, s_Data, charsmax ( s_Data ), s_Name, charsmax ( s_Name ), i_Callback )

new Player = str_to_num ( s_Data )

UserData [ id ][ give_id ] = Player
open_flags ( id, Player )

return PLUGIN_HANDLED
}

public open_flags ( id, g_id )
{
if ( !( get_user_flags ( id ) & PLUGIN_LEVEL ) ) return PLUGIN_HANDLED

new s_MenuHint [ 255 ], szName [ 33 ], s_Item [ 4 ][ 255 ]
get_user_name ( g_id, szName, charsmax ( szName ) )

#if defined WEAPON_VULCAN
formatex ( s_Item [ 1 ], charsmax ( s_Item [ ] ), "\yAK47 Vulcan \r[ %s ]", UserGive [ id ][ 1 ] ? "Вкл" : "Выкл" )
#endif

#if defined WEAPON_HOWL
formatex ( s_Item [ 2 ], charsmax ( s_Item [ ] ), "\yM4A1 Howl \r[ %s ]", UserGive [ id ][ 2 ] ? "Вкл" : "Выкл" )
#endif

#if defined WEAPON_AZIMOV
formatex ( s_Item [ 3 ], charsmax ( s_Item [ ] ), "\yAWP AZIMOV \r[ %s ]", UserGive [ id ][ 3 ] ? "Вкл" : "Выкл" )
#endif

formatex ( s_MenuHint, charsmax ( s_MenuHint ), "\d[ VIP WEAPONS ]\r ОРУЖЕЙКА ВИП^n\yКатегория : \rПрава^n\yПолучатель : \r%s", szName )
new menu = menu_create ( s_MenuHint, "oflags_hand" )

menu_additem ( menu, "\rВыдать^n", "1" )

#if defined WEAPON_VULCAN
menu_additem ( menu, s_Item [ 1 ], "2" )
#endif

#if defined WEAPON_HOWL
menu_additem ( menu, s_Item [ 2 ], "3" )
#endif

#if defined WEAPON_AZIMOV
menu_additem ( menu, s_Item [ 3 ], "4" )
#endif

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

menu_display ( id, menu, 0 )
return PLUGIN_HANDLED
}

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

new s_Data [ 6 ], s_Name [ 64 ], i_Access, i_Callback
menu_item_getinfo ( menu, item, i_Access, s_Data, charsmax ( s_Data ), s_Name, charsmax ( s_Name ), i_Callback )

new key = str_to_num ( s_Data )

switch(key)
{
case 1: {
cmdSaveWeapons ( UserData [ id ][ give_id ], UserGive [ id ][ 1 ], UserGive [ id ][ 2 ] )
}
case 2: {
if ( UserGive [ id ][ 1 ] )
{
UserGive [ id ][ 1 ] = false
} else {
UserGive [ id ][ 1 ] = true
}

open_flags ( id, UserData [ id ][ give_id ] )
}
case 3: {
if ( UserGive [ id ][ 2 ] )
{
UserGive [ id ][ 2 ] = false
} else {
UserGive [ id ][ 2 ] = true
}

open_flags ( id, UserData [ id ][ give_id ] )
}
case 4: {
if ( UserGive [ id ][ 3 ] )
{
UserGive [ id ][ 3 ] = false
} else {
UserGive [ id ][ 3 ] = true
}

open_flags ( id, UserData [ id ][ give_id ] )
}
}

return PLUGIN_HANDLED
}

public cmdSaveWeapons ( id, const wp_act1, const wp_act2, const wp_act3 )
{

new buffer [ 255 ], len
len = format ( buffer, charsmax ( buffer ), "WP" )

if ( wp_act1 )
len += format ( buffer [ len ], charsmax ( buffer ) - len, ",VULCAN" )

if ( wp_act2 )
len += format ( buffer [ len ], charsmax ( buffer ) - len, ",HOWL" )

if ( wp_act3 )
len += format ( buffer [ len ], charsmax ( buffer ) - len, ",AZIMOV" )

#if defined SAVE_VAULT
new szSteamInf [ 255 ]

formatex ( szSteamInf, charsmax ( szSteamInf ), "%sWEAPONS", UserSteam [ id ] )
nvault_set ( gVault, szSteamInf, buffer )
#endif

cmdCheckWeapons ( UserData [ id ][ give_id ] )

}

public cmdCheckWeapons ( id )
{

#if defined SAVE_VAULT
new szGetWeapons [ 255 ], szDataWeapons [ 255 ]
formatex ( szGetWeapons, charsmax ( szGetWeapons ), "%sWEAPONS", UserSteam [ id ] )
new if_Weapons = nvault_get ( gVault, szGetWeapons, szDataWeapons, charsmax ( szDataWeapons ) )

if ( !if_Weapons )
{
cmdSaveWeapons ( id, 0, 0 )
} else {
formatex ( UserWeapons [ id ], charsmax ( UserWeapons [ ] ), szDataWeapons )
}
#endif

}

stock ShowMsg ( 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 ( )
}
}
}
}

Ошибка при компиле

Отредактировал: GOOD FELLOW, - 31.3.2015, 8:02
Причина: Выдано устное предупреждение!
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
OverGame
сообщение 31.3.2015, 12:08
Сообщение #2
Стаж: 11 лет

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

Дело в том, что плагин предназначен для двух оружий и не более.

К примеру cmdSaveWeapons ( iKiller, 1 , 0 )
1 - мы выдаем игроку первое оружие.
0 - мы выключаем у игрока второе оружие.

Вся эта дроп системка была написана на скорую руку, чуть позже перепишу под все удобства и станет легче добавлять новые оружия и сохранять их по типу cmdSaveWeapons (id, "имя, которое нужно записать" );

А пока, терпи C: Но если по говнокодить, можно добавить третье оружие.

Отредактировал: OverGame, - 31.3.2015, 12:08
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Katowice
сообщение 1.4.2015, 5:26
Сообщение #3
Стаж: 11 лет

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

Цитата(OverGame @ 31.3.2015, 12:08) *
Дело в том, что плагин предназначен для двух оружий и не более.

К примеру cmdSaveWeapons ( iKiller, 1 , 0 )
1 - мы выдаем игроку первое оружие.
0 - мы выключаем у игрока второе оружие.

Вся эта дроп системка была написана на скорую руку, чуть позже перепишу под все удобства и станет легче добавлять новые оружия и сохранять их по типу cmdSaveWeapons (id, "имя, которое нужно записать" );

А пока, терпи C: Но если по говнокодить, можно добавить третье оружие.

Ждемс))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Katowice
сообщение 10.4.2015, 15:35
Сообщение #4
Стаж: 11 лет

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

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