Проблема с entity оружия

ElectricStalin

Участник
Сообщения
24
Реакции
0
Добрый день. Очень надеюсь на вашу помощь.
В моде спавню оружие на карте по координатам. Список оружия тоже из файла. Вот код:
C-подобный:
void CreateWeapon(int:i)
{
new index;
char buffer[64];
weapons.GetString(i,buffer,sizeof(buffer));
TrimString(buffer);
index=CreateEntityByName(buffer);
if (index < 1)
{
LogError("Error during creating '%s'",buffer);
return;
}

DispatchKeyValueVector(index, "origin", spawnWeaponPositions[i]);
 DispatchKeyValue(index, "spawnflags", "1");
DispatchSpawn(index);
}

Так вот все работает, но все появившееся оружие не имеет отдачи и стреляет дигловскими патронами О_о
Также все оружие без дополнительного запаса патронов. Знаю как давать патроны при подборе оружия игроком. А можно ли сделать так, чтобы патроны прилагались к entity оружия при создании?
Заранее спасибо.
 
Последнее редактирование:

ElectricStalin

Участник
Сообщения
24
Реакции
0
Спасибо большое, вы очень помогли. Осталось решить проблему отсутствия патронов
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
какая-то помесь старого и нового синтаксисов.
--- Добавлено позже ---
Осталось решить проблему отсутствия патронов
PHP:
SetEntProp(weapon, Prop_Send, "m_iPrimaryReserveAmmoCount", 90); // в запасе
SetEntProp(weapon, Prop_Send, "m_iClip1", 30); // в основе
 

darkspice

Участник
Сообщения
21
Реакции
0
А можно узнать, где брать эти "Property name"?
PHP:
"m_flLaggedMovementValue"
"m_iPrimaryReserveAmmoCount"
"m_iClip1"
"m_iPrimaryReserveAmmoCount"
И тд. и тп.
 

komashchenko

Идиот
Сообщения
916
Реакции
2,569
А можно узнать, где брать эти "Property name"?
PHP:
"m_flLaggedMovementValue"
"m_iPrimaryReserveAmmoCount"
"m_iClip1"
"m_iPrimaryReserveAmmoCount"
И тд. и тп.

sm_dump_datamaps datamaps.txt
в корне сервера появиться файлик datamaps.txt от там ты и найдешь все
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
DispatchKeyValue(weapon, "ammo", "90");
 

ElectricStalin

Участник
Сообщения
24
Реакции
0
Попробовал оба варианта, оружие пустое, что я делаю не так?)
C-подобный:
    SetEntProp(index, Prop_Send, "m_iItemDefinitionIndex", GetWeaponIndex(i));
    /*SetEntProp(index, Prop_Send, "m_iPrimaryReserveAmmoCount", 90);   первый вариант*/
     DispatchKeyValueVector(index, "origin", spawnWeaponPositions[i]);
    DispatchKeyValue(index, "ammo", "90");   /*второй вариант*/
     DispatchKeyValue(index, "spawnflags", "1");     
     DispatchSpawn(index);
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #10
@ElectricStalin,
PHP:
SetEntProp(weapon, Prop_Send, "m_iPrimaryReserveAmmoCount", 90); // в запасе
SetEntProp(weapon, Prop_Send, "m_iClip1", 30); // в основе
надо делать уже после DispatchSpawn
 

ElectricStalin

Участник
Сообщения
24
Реакции
0
Попробовал, запустил, все тоже самое. Есть только 1 обойма патронов, причем для каждого оружия свое количество. В запасе 0.
C-подобный:
     SetEntProp(index, Prop_Send, "m_iItemDefinitionIndex", GetWeaponIndex(i));   
     DispatchKeyValueVector(index, "origin", spawnWeaponPositions[i]);
     DispatchKeyValue(index, "spawnflags", "1");     
     DispatchSpawn(index);
     SetEntProp(index, Prop_Send, "m_iPrimaryReserveAmmoCount", 90);
 
Сверху Снизу