7pElllHuK
Участник
- Сообщения
- 1,416
- Реакции
- 465
Исправил первое сообщениеСтруктуру конфига?
Исправил первое сообщение
int value[3];
kv.Rewind();
kv.JumpToKey("credit_case");
int i = 0;
do
{
value[i] = kv.GetNum("name");
i++;
} while(kv.GotoNextKey())
for(int i = 0; i <= sizeof(value); i++)
{
PrintHintText(iClient, " %s\n%s\n%s", i, g_iCasesValues[iCaseID].sCaseName, i+1);
CreateTimer(g_iCounter[iClient] < 3 ? 0.7:0.3, ProccesItem, hArray);
}
Так и сказал бы, что тебе нужно прокрутку кейса отображать.error 017: undefined symbol "kv"
Получается должно выводить во время показа PrintHintText 3 значения как в предыдущем примере.Код:int value[3]; kv.Rewind(); kv.JumpToKey("credit_case"); int i = 0; do { value[i] = kv.GetNum("name"); i++; } while(kv.GotoNextKey()) for(int i = 0; i <= sizeof(value); i++) { PrintHintText(iClient, " %s\n%s\n%s", i, g_iCasesValues[iCaseID].sCaseName, i+1); CreateTimer(g_iCounter[iClient] < 3 ? 0.7:0.3, ProccesItem, hArray); }
Сообщения автоматически склеены:
В PrintHintText идет прокрутка предметов из конфига, а g_iCasesValues[iCaseID].sCaseName выводит название (секция "name" из конфига) текущего предмета
Понял, спасибо большоеТак и сказал бы, что тебе нужно прокрутку кейса отображать.
Создавай временную переменную и храни в ней 3 значения в каждой иттерации, а затем во время таймера перемещайся между ними value[0] = value[1]; value[1] = value[2]; value[2] = GetRandomInt()
Можешь найти аналоги кейсов и там посмотреть как устроена прокруткаПонял, спасибо большое
Смотрел, везде в конфиге используют вывод текста через конфиг, а у меня значение хранится в 1 переменной g_iItemsValues[iCaseID][iItemID].sNameМожешь найти аналоги кейсов и там посмотреть как устроена прокрутка
Всем доброе утро. Подскажите пожалуйста, как сделать проверку на наличие у игрока гранат (Пример: У игрока уже есть гаранты, так как их выдал плагин автозакупа. Если есть, то необходимо запретить их покупку.)
char class[64];
int gr = GetPlayerWeaponSlot(client, CS_SLOT_GRENADE);
if(IsValidEdict(gr))
{
GetEntityClassname(gr, class, sizeof(class))
if(StrContains(class, "hegrenade") != -1)
{
}
if(StrContains(class, "smoke") != -1)
{
}
if(StrContains(class, "flashbang") != -1)
{
}
if(StrContains(class, "decoy") != -1)
{
}
if(StrContains(class, "tagrenade") != -1)
{
}
}
Это проще и быстрее.Можно попробовать найти m_iAmmo гранат клиента и там уже пройтись по каждому типу, проверить
34 кссЭто проще и быстрее.
Только для CS:S и CS:GO оффсеты у гранат отличаются (разные индексы у типов боезапаса).
@7pElllHuK, для какой игры?
enum // тип боезапаса для CS:S
{
N_HE = 11,
N_Flash,
N_Smoke
};
stock void GetNadesNum(int client, int type)
{
static int ammo;
if(ammo < 1) ammo = FindSendPropInfo("CCSPlayer", "m_iAmmo");
return GetEntData(client, ammo + (type << 2));
}
Вот только так можно определить что-либо только для одного типа оружия в слоте (а в CS:S там может быть 3 типа гранат из которых 2 так не получить не выбросив предыдущий тип, емнип). =)int gr = GetPlayerWeaponSlot(client, CS_SLOT_GRENADE);
Почитайте описание плагина, там есть информация как поменять модель парашюта. Гравитацию там же, в исходнике можно изменить.Всем привет писатели!
Ребят кто может помочь написать плагин
Да, я знаю что есть вот этот плагин Модуль плагина - [VIP] Parachute но это не то там есть модель парашюта
VIP PARACHUTE что бы не было Модели парашюта и что бы можно было настраивать в конфиге гравитация (тоесть когда игрок падает с парашюта то он не сразу падал а чуть дольше)
Плагин нужен для пряток!
Спасибо за ранее!
Конечно ТребуетсяВсем привет писатели!
Ребят кто может помочь написать плагин
Да, я знаю что есть вот этот плагин Модуль плагина - [VIP] Parachute но это не то там есть модель парашюта
VIP PARACHUTE что бы не было Модели парашюта и что бы можно было настраивать в конфиге гравитация (тоесть когда игрок падает с парашюта то он не сразу падал а чуть дольше)
Плагин нужен для пряток!
Спасибо за ранее!
а что в консоли клиента при входе на сервер?Главное что в консоли нет не каких ошибок, просто полный игнор.