Просмотр полной версии : [Вопрос] Урор без прицела
Всем привет.Помогите пожалуста.Как на своем сервере самп в .(pawno) Убрать урон без прицела(тоисть если не нажал "ПКМ"(ПРИЦЕЛИЛСЯ) Hp не сносило.Зарание спасиба!
Nexius_Tailer
15.01.2018, 21:01
#if !defined KEY_AIM
#define KEY_AIM 128
#endif
new bool:IsAiming[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
IsAiming[playerid] = false;
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if((newkeys & KEY_AIM))
{
new weapon = GetPlayerWeapon(playerid);
if(22 <= weapon <= 34 || weapon == 38) IsAiming[playerid] = true;
else IsAiming[playerid] = false;
}
else IsAiming[playerid] = false;
return 1;
}
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
if(!IsAiming[playerid] && !IsPlayerInAnyVehicle(playerid)) return 0;
return 1;
}
Ето все надо вписать? и жолтое?
Nexius_Tailer
15.01.2018, 22:10
Ето все надо вписать? и жолтое?
Можешь также выдвинуть свои предположения касательно этого кода, что с ним можно было бы ещё сделать, кроме как "вписать". Если вариантов будет немного, то да, вписывай.
Немогу вписать.можеш помоч???
Nexius_Tailer
17.01.2018, 21:35
Что именно не получается?
Все вписываю.ошыбок нет,включаю сервер и все спавны збиваются тоисть должен спавнится(около балас а спавнюсь воще хз где!)
TimoXa32
19.01.2018, 21:02
Все вписываю.ошыбок нет,включаю сервер и все спавны збиваются тоисть должен спавнится(около балас а спавнюсь воще хз где!)
Видимо ты свой public OnPlayerSpawn полностью заменил на вариант, который был предложен
public OnPlayerSpawn(playerid)
{
IsAiming[playerid] = false;
//тут должны быть все твои данные спавна и т.д.
return 1;
}
Конечно может быть это не так, так что лучше скинь свой public OnPlayerSpawn
Можеш помоч вписать все ето??
TimoXa32
20.01.2018, 13:35
Можеш помоч вписать?
Так в чем конкретно проблема можешь объяснить, то спавн у тебя не работает, то вписать помочь
Что касается "Можеш помоч вписать", тебе дали готовый вариант
Вот это вставляешь в начало мода к остальным #define
#if !defined KEY_AIM
#define KEY_AIM 128
#endif
Вот это вставляешь ко всем new(они будут тоже в начале мода)
new bool:IsAiming[MAX_PLAYERS];
Далее находишь (Ctrl + F) public OnPlayerSpawn и вставляешь в него
IsAiming[playerid] = false;
Должно быть так
public OnPlayerSpawn(playerid)
{
IsAiming[playerid] = false;
//тут остальной твой код
return 1;
}
Далее находишь public OnPlayerKeyStateChange и вставляешь в него
if((newkeys & KEY_AIM))
{
new weapon = GetPlayerWeapon(playerid);
if(22 <= weapon <= 34 || weapon == 38) IsAiming[playerid] = true;
else IsAiming[playerid] = false;
}
else IsAiming[playerid] = false;
Должно быть так
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if((newkeys & KEY_AIM))
{
new weapon = GetPlayerWeapon(playerid);
if(22 <= weapon <= 34 || weapon == 38) IsAiming[playerid] = true;
else IsAiming[playerid] = false;
}
else IsAiming[playerid] = false;
//тут остальной твой код
return 1;
}
Далее находишь public OnPlayerWeaponShot и в него вставляешь
if(!IsAiming[playerid] && !IsPlayerInAnyVehicle(playerid)) return 0;
Должно получится вот так
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
if(!IsAiming[playerid] && !IsPlayerInAnyVehicle(playerid)) return 0;
//тут твой остальной код, если он есть конечно
return 1;
}
Если вдруг public OnPlayerWeaponShot нет, то сам вставь его ко всем public
_
Что касается спавна, то можешь поподробнее рассказать что не так и скинь SetPlayerSpawn(playerid)
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot