Здравствуйте, вот пишу свой сервер и сталкиваюсь с рядом проблем...
Самая главная из них - это проблема с синхронизацией..
Понимаю, что разработчики сампа еще не решили эту проблему до конца, однако...
Вот пример..
Если взять чистый мод..
И написать следующий код:
PHP код:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
switch(hittype)
{
case 1:PlayerPlaySound(playerid,6401,0.0,0.0,0.0);
}
return 1;
}
То будет видно, что при некоторых попаданиях колокол будет работать, а уровень хп игрока снижаться не будет..
Из всего этого у меня возник вопрос можно ли как-то полностью синхронизировать эти паблики..
Ведь глобальным проектам(Адванс, Даймонд) это удалось...
Слышал про способ:
PHP код:
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
new Float: vida, Float: armadura, Float: dmg;
GetPlayerArmour(damagedid, armadura);
GetPlayerHealth(damagedid, vida);
if(armadura > 0)
{
if(amount > armadura)
{
dmg = amount - armadura;
vida = vida - dmg;
SetPlayerArmour(damagedid, 0.0);
SetPlayerHealth(damagedid, vida);
return 1;
}
armadura = armadura - amount;
SetPlayerArmour(damagedid, armadura);
}
if(armadura < 1)
{
vida = vida - amount;
SetPlayerHealth(damagedid, vida);
}
return true;
}
Хочу услышать ваше мнение о нем?
Еще слышал, что существуют какие-то минусы, что-то связанное с тем что можно бесконечно всех убивать, если использовать данный код.
Была у меня мысль про скрытые функции сампа.. Может быть разработчики сампа дают большим проектам улучшенные сервера... Ну это бред мне кажется.
Жду вашей помощи..