![]() |
Показать все 15 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- More weapons ! (https://hlfx.ru/forum/showthread.php?threadid=3452)
More weapons !
How to add more than 32 weapons ???
actually modified values to
#define WEAPON_SUIT 256 // ????? |
#define MAX_WEAPONS 128 |

__________________
hl 4 ever
weapon bits goes into pev->weapons variable that a 32-bit integer.
So it's hardware limit. You need a create array like a visdata and store weapon bits into them.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
I make 128 weapons by this method.
MisterDeath
Why u love paranoia renderer?
HAWK0044
ins't paranoia renderer, is trinity engine in my mod 
Добавлено 03-06-2012 в 21:30:
Дядя Миша
How to create this ? 
__________________
hl 4 ever
MisterDeath
just create a array for weapons:
int wp_array[MAX_WEAPONS];
Later if u want get answer for question "Do player has weapons" check it with
wp_array[weapon_id] == 1 , i use this method.
And in addweapon use wp_array[ur_weapon_id] = 1;
For drop - wp_array[drop_weapon_id] = 0;
And send update to client.
MESSAGE_BEGIN(MSG_ONE,gmsgHWeapons,NULL,ur_player->pev);
for(int i=0;i<MAX_WEAPONS;i++)
WRITE_BYTE(wp_array[i];
MESSAGE_END();
HAWK0044
Sorry, can't apply, no where to put the codes...
Tell me more detail if you want 
sorry bad english
__________________
hl 4 ever
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64 , а по другому нельзя, только масивом, разве что unsigned __int64
ONeiLL, да лучше уж __int64, а не то, что он написал, в крайнем случае __int128
Кстати, почему массив объявлен в виде int, а посылает он WRITE_BYTE ?
Так бы и делал
byte wp_array[MAX_WEAPONS]; |
1 | typedef struct client_data_s |
2 | { |
3 | // fields that cannot be modified (ie. have no effect if changed) |
4 | vec3_t origin; |
5 |
6 | // fields that can be changed by the cldll |
7 | vec3_t viewangles; |
8 | int iWeaponBits; |
9 | float fov; // field of view |
10 | } client_data_t; |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64
send it ONLY FOR UPDATE , non 1 frame. Just if player pickup/drop weapon.
Добавлено 04-06-2012 в 17:50:
fire64
ну то что там iWeaponsBits ничего страшного .Всё равно отдельный массив юзаеться.
я вообще-то имел в виду битовые маски...
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
fire64 , раз уж на то пошло, как заставить работать __int128 ????
А то даёт ошибку
nonstandard extension used : '__int128' keyword not supported on this architecture

__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша , просто fire64 сказал
| Временная зона GMT. Текущее время 10:09. | Показать все 15 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024