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

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

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

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

2 страниц V   1 2

2 пистолета в одном слоте

, авто drop дефолтового пистолета в начале раунда
Статус пользователя csnet
сообщение 1.2.2014, 14:12
Сообщение #21
Стаж: 12 лет

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

#define TT 1
#define CT 2


забыл убрать, в коде не используется


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя xSav
сообщение 1.2.2014, 14:17
Сообщение #22
Стаж: 16 лет

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

//#include <cstrike>
тоже забыл.. он тут тупо не используется :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 1.2.2014, 14:40
Сообщение #23
Стаж: 12 лет

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

Цитата(xSav @ 1.2.2014, 15:17) *
//#include <cstrike>
тоже забыл.. он тут тупо не используется :)

Эх.. Я косячник :D
Поправил пост :)

Updated
Код:
#include <amxmodx>
#include <fun>
#include <fakemeta_util>

public plugin_init() {
register_plugin("Admins VIP", "1.0", "UNREAL/Esecman")
register_event("ResetHUD", "ResetHUD", "be")
}

public ResetHUD(id) {
set_task(0.5, "VIP", id + 6910)
return PLUGIN_CONTINUE
}

public VIP(id) {
id -= 6910
if(get_user_flags(id) & ADMIN_LEVEL_G) {
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
if(get_user_team(id) == 1) {
fm_strip_user_gun(id, CSW_GLOCK18)
}
if(get_user_team(id) == 2) {
fm_strip_user_gun(id, CSW_USP)
}
give_item(id,"weapon_hegrenade")
give_item(id,"item_assaultsuit")
give_item(id, "weapon_deagle")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
}
return PLUGIN_HANDLED
}


Выложил повторно кому лень смотреть :)

Отредактировал: Esecman, - 1.2.2014, 14:43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mcrc
сообщение 1.2.2014, 15:08
Сообщение #24


Стаж: 12 лет

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

Цитата(csnet @ 1.2.2014, 19:07) *
я вас не пойму , то дроп сделать, то исчезать .

разве не видно в коде, что после дропа дается дигл???

csnet, я изначально про drop и спрашивал, но потом Esecman показал более симпатичный варик и я с радостью за него зацепился)
Простите, что запутал :)

Esecman, спасибо, сегодня протестируем-с!

Отредактировал: mcrc, - 1.2.2014, 15:08
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mcrc
сообщение 3.2.2014, 19:07
Сообщение #25


Стаж: 12 лет

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

Плагин работает как часы, ошибок/лагов не обнаружено, Esecman ещё раз спасибо!
Тему можно закрывать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 6.2.2014, 10:55
Сообщение #26
Стаж: 12 лет

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

Цитата(mcrc @ 3.2.2014, 20:07) *
Плагин работает как часы, ошибок/лагов не обнаружено, Esecman ещё раз спасибо!
Тему можно закрывать.

Еще не заметил, что нужно добавить проверку на
Код:
if(is_user_connected(id) & is_user_alive(id)) {


Иначе, может возникнуть ошибка Invalid player .... :P
Пока ее значит нет :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 6.2.2014, 11:00
Сообщение #27
Стаж: 12 лет

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

Fixed VIP Plugin
Код:
#include <amxmodx>
#include <fun>
#include <fakemeta_util>

public plugin_init() {

register_plugin("VIP Plugin", "1.0", "Esecman")
register_event("ResetHUD", "ResetHUD", "be")
}

public ResetHUD(id) {

set_task(0.5, "VIP", id + 6910)
return PLUGIN_CONTINUE
}

public VIP(id) {

id -= 6910
if(is_user_alive(id) & (get_user_flags(id) & ADMIN_LEVEL_G)) {
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
if(get_user_team(id) == 1) {
fm_strip_user_gun(id, CSW_GLOCK18)
}
if(get_user_team(id) == 2) {
fm_strip_user_gun(id, CSW_USP)
}
give_item(id,"weapon_hegrenade")
give_item(id,"item_assaultsuit")
give_item(id, "weapon_deagle")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
}
return PLUGIN_HANDLED

}


Полностью уже :D

Отредактировал: Esecman, - 6.2.2014, 17:55
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 6.2.2014, 13:52
Сообщение #28


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

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

это конечно шлупость
Код
if(is_user_connected(id) & is_user_alive(id)) {

достаточно
Код
if(is_user_alive(id)) {


если игрок жив - он в любом случаи проходит is_user_connected = true
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 6.2.2014, 17:27
Сообщение #29
Стаж: 12 лет

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

Цитата(Legenda @ 6.2.2014, 14:52) *
это конечно шлупость
Код
if(is_user_connected(id) & is_user_alive(id)) {

достаточно
Код
if(is_user_alive(id)) {


если игрок жив - он в любом случаи проходит is_user_connected = true

ну , не знаю, не знаю :D
Это еще проверить нужно.
Была беда типа с Invalid Player random_num (id), хоть проверка и стояла на Код:
is_user_alive

добавил помимо is_user_alive - is_user_connected беда решилась.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 6.2.2014, 17:33
Сообщение #30


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

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(Esecman @ 6.2.2014, 19:27) *
добавил помимо is_user_alive - is_user_connected беда решилась.

это просто совпадение
тем более ясно написано в amx

Код:

static cell AMX_NATIVE_CALL is_user_connected(AMX *amx, cell *params) /* 1 param */
{
int index = params[1];

if (index < 1 || index > gpGlobals->maxClients)
return 0;

CPlayer* pPlayer = GET_PLAYER_POINTER_I(index);

return(pPlayer->ingame ? 1 : 0);
}

extern bool g_bmod_tfc;

static cell AMX_NATIVE_CALL is_user_alive(AMX *amx, cell *params) /* 1 param */
{
int index = params[1];

if (index < 1 || index > gpGlobals->maxClients)
{
return 0;
}

CPlayer* pPlayer = GET_PLAYER_POINTER_I(index);

if (g_bmod_tfc)
{
edict_t *e = pPlayer->pEdict;
if (e->v.flags & FL_SPECTATOR ||
(!e->v.team || !e->v.playerclass))
{
return 0;
}
}

return((pPlayer->ingame && pPlayer->IsAlive()) ? 1 : 0);
}

обратить внимание на
Код
return((pPlayer->ingame && pPlayer->IsAlive()) ? 1 : 0);

в проверке is_user_alive
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя csnet
сообщение 6.2.2014, 17:43
Сообщение #31
Стаж: 12 лет

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

совершенно верно



правильный код на первый взгляд - не всегда рабочий. так что то, что заработало не факт что код корректен

Отредактировал: csnet, - 6.2.2014, 17:44


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