Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 22 окт 2017, 23:34

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 21 сен 2016, 21:55 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
22 окт 2017, 22:37
Сообщения: 6427
Same as hooking touch, just set 1 for "post" parameter.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 06 окт 2017, 15:55 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
21 окт 2017, 10:41
Сообщения: 839
1) i try hooking touch using post parm but the entity does not disappear
2) I try to hide them but disappear and never appear ... so in this case i have to rediscover him but I want her to be in the default setting of the game
Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hl>


public plugin_init() {
   
   register_forward( FM_Touch, "ItemTouchFwd", 1);
}

public ItemTouchFwd( Entity, Id )
{
   if ( !pev_valid( Entity ) || !pev_valid( Id ) || !is_user_alive( Id ) )
      return FMRES_IGNORED;
   
   new Model[32];
   pev(Entity, pev_model, Model, charsmax( Model ) );
   
   if( equal( Model, "models/w_rpgammo.mdl" ))
   {
      if (!(pev(Entity, pev_effects) & EF_NODRAW) && hl_get_user_bpammo(Id, HLW_RPG) == 5)
      {
         hl_set_user_bpammo(Id, HLW_RPG, hl_get_user_bpammo(Id, HLW_RPG)+1)
         
         set_pev(Entity, pev_effects, pev(Entity, pev_effects) | EF_NODRAW);
         //set_pev( Entity , pev_flags , FL_KILLME )
         
         //set_pev(Entity,pev_nextthink,get_gametime())
         
         client_print( Id, print_chat, "You pick Up Ammo RPG" );
         //set_task(2.0, "Respawn", Entity)
      }
      return FMRES_IGNORED;
   }
   return FMRES_IGNORED;
}

/*public Respawn(Entity)
   set_pev(Entity, pev_effects, pev(Entity, pev_effects) & ~EF_NODRAW);*/

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 06 окт 2017, 22:31 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
22 окт 2017, 22:37
Сообщения: 6427
Код:
if (!(pev(Entity, pev_effects) & EF_NODRAW) && hl_get_user_bpammo(Id, HLW_RPG) == 5)
      {
         hl_set_user_bpammo(Id, HLW_RPG, hl_get_user_bpammo(Id, HLW_RPG)+1)
You should be it reversed way: set to 1 before touch, then player will be able to pickup, after touch (in post) add needed ammo back.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 06 окт 2017, 22:57 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
21 окт 2017, 10:41
Сообщения: 839
Did not I really understand that? If you mean like what i do in this code, then exactly what I want is not going to happen because the player's ammunition in this case will remain the same (1).
Код:
   hl_set_user_bpammo(Id, HLW_RPG, 1)
   
   if( equal( Model, "models/w_rpgammo.mdl" ))
   {
      if (!(pev(Entity, pev_effects) & EF_NODRAW) && hl_get_user_bpammo(Id, HLW_RPG) >= 5)
      {
         hl_set_user_bpammo(Id, HLW_RPG,  hl_get_user_bpammo(Id, HLW_RPG)+1)

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 06 окт 2017, 23:56 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
22 окт 2017, 22:37
Сообщения: 6427
Код:
public ItemTouchFwd( Entity, Id )
// remember ammo
// set ammo to 1

// here (between two handlers calls) touch will happen and user will get 1 more rocket added

public ItemTouchFwdPost( Entity, Id )
// add remembered ammo - 1
// so the total will be: 1 + 1 (remembered ammo - 1) = remembered ammo + 1


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 07 окт 2017, 01:24 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
21 окт 2017, 10:41
Сообщения: 839
The idea is understandable
But the app does not think I understood how to do it :no:
 

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 07 окт 2017, 02:38 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
22 окт 2017, 22:37
Сообщения: 6427
Код:
 && g_RemmberAmmo[Id]
You should check this in post.
Код:
   g_RemmberAmmo[Id] -= 1
   if( equal( Model, "models/w_rpgammo.mdl" ))
More logical will be to move -=1 under the all ifs.
Код:
hl_set_user_bpammo(Id, HLW_RPG,  g_RemmberAmmo[Id]+1)
You added 1 more than needed.
Do you actually see your messages on the client?


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 07 окт 2017, 13:04 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
21 окт 2017, 10:41
Сообщения: 839
The first load of the ammunition gives me a different result but when I get pregnant again gives me a correct result but the same value remains at the load several times in a row which is 3
and i cant see post print msg (debug)
Код:
public client_putinserver(id) {
   g_RemmberAmmo[id] = 0
}
public ItemTouchFwd( Entity, Id )
{
   if ( !pev_valid( Entity ) || !pev_valid( Id ) || !is_user_alive( Id ) )
      return FMRES_IGNORED;
   
   new Model[32];
   pev(Entity, pev_model, Model, charsmax( Model ) );
   
   if( equal( Model, "models/w_rpgammo.mdl" ))
   {
      g_RemmberAmmo[Id] = hl_get_user_bpammo(Id, HLW_RPG)
      
      if (!(pev(Entity, pev_effects) & EF_NODRAW) && g_RemmberAmmo[Id])
      {
         //g_RemmberAmmo[Id] = hl_get_user_bpammo(Id, HLW_RPG)
         
         hl_set_user_bpammo(Id, HLW_RPG,  1)
         
         client_print( Id, print_chat, "You pick Up Ammo RPG (Per) %i", g_RemmberAmmo[Id] );
      }
      return FMRES_IGNORED;
   }
   return FMRES_IGNORED;
}
public ItemTouchFwdPost( Entity, Id )
{
   if ( !pev_valid( Entity ) || !pev_valid( Id ) || !is_user_alive( Id ) )
      return FMRES_IGNORED;
   
   new Model[32];
   pev(Entity, pev_model, Model, charsmax( Model ) );
   
//   g_RemmberAmmo[Id] -= 1
   
   if( equal( Model, "models/w_rpgammo.mdl" )  && g_RemmberAmmo[Id])
   {
      g_RemmberAmmo[Id] -= 1
      
      
      if (!(pev(Entity, pev_effects) & EF_NODRAW) && g_RemmberAmmo[Id])
      {
         g_RemmberAmmo[Id] -= 1
         //hl_set_user_bpammo(Id, HLW_RPG,  g_RemmberAmmo[Id]+1)
         client_print( Id, print_chat, "You pick Up Ammo RPG (post) %i", g_RemmberAmmo[Id] );
      }
      return FMRES_IGNORED;
   }
   return FMRES_IGNORED;
}
 

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 07 окт 2017, 17:41 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
22 окт 2017, 22:37
Сообщения: 6427
:facepalm:

Код:
public client_putinserver(id)
{
   g_RemmberAmmo[id] = 0
}
public ItemTouchFwd(entity, id)
{
   if (!pev_valid(entity) || !pev_valid(id) || !is_user_alive(id))
      return FMRES_IGNORED;
   
   new model[32];
   pev(entity, pev_model, model, charsmax(model));
   
   if (equal(model, "models/w_rpgammo.mdl") && !(pev(entity, pev_effects) & EF_NODRAW))
   {
      g_RemmberAmmo[id] = hl_get_user_bpammo(id, HLW_RPG)
      client_print(id, print_chat, "You pick Up Ammo RPG (Per) %i", g_RemmberAmmo[id]);
      if (g_RemmberAmmo[id])
         hl_set_user_bpammo(id, HLW_RPG, 0)
   }

   return FMRES_IGNORED;
}
public ItemTouchFwdPost(entity, id)
{
   if (!g_RemmberAmmo[id])
      return FMRES_IGNORED;
   
   new model[32];
   pev(entity, pev_model, model, charsmax(model));
   
   g_RemmberAmmo[id] += hl_get_user_bpammo(id, HLW_RPG)
   client_print(id, print_chat, "You pick Up Ammo RPG (post) %i", g_RemmberAmmo[id]);
   hl_set_user_bpammo(id, HLW_RPG, g_RemmberAmmo[id])
   
   g_RemmberAmmo[id] = 0;

   return FMRES_IGNORED;
}


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: set ammo endless?
СообщениеДобавлено: 07 окт 2017, 18:26 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
21 окт 2017, 10:41
Сообщения: 839
Lev
Maybe she is well and she checked with me
But the server will explode =@ :D
 

_________________
Изображение


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB