Проблема с проверкой при смерти игрока... -
mike_S. - 16.06.2010
Я добавил в самый конец паблика OnPlayerDeath (До return 1;,после последней проверки):
Code:
if(Crystalonplayer[playerid] != 0 && Crystalrobbed != 0)
{
new Float: pcx,Float: pcy,Float: pcz;
GetPlayerPos(playerid,pcx,pcy,pcz);
Kristal = CreateObject(2976, pсx, pсy, pсz, 0.000000, 0.000000, 0.000000);
Crystalonplayer[playerid] = 0;
Crystalrobbed = 0;
SendClientMessage(playerid,COLOR_GREY,"Вы потеряли кристал!");
}
Тоесть проверка на если кристал у игрока и если кристал похищен.
Данная проверка не применяется...
Игрок умирает если кристал похищен и если он у него как ни в чём не бывало...
Куда эту проверку вставить чтобы при любой смерти игрока у которого кристал,кристал спаунился на том месте где игрок умер?
Re: Проблема с проверкой при смерти игрока... -
Fro1sha - 16.06.2010
Можно еще в OnPlayerStateChange
if ( state == PLAYER_STATE_WASTED ) бла бла
OnPlayerStateChange вызывается раньше чем OnPlayerDeath
Re: Проблема с проверкой при смерти игрока... -
mike_S. - 16.06.2010
неа...не хочет...
Есть варианты?
Re: Проблема с проверкой при смерти игрока... -
RAEN - 16.06.2010
Значит одно из действий в условии не исполняется. Я предпологаю что дело в Crystalrobbed != 0
Re: Проблема с проверкой при смерти игрока... -
mike_S. - 16.06.2010
Ставил и == 1...
Re: Проблема с проверкой при смерти игрока... -
Stepashka - 16.06.2010
Учитесь использовать дебаг:
перд всем этим кодом
printf("playerid = %d (-%d- -%d-)",playerid,Crystalonplayer[playerid],Crystalrobbed);
и смотри какое из условий не выполняется.
Re: Проблема с проверкой при смерти игрока... -
RAEN - 16.06.2010
Quote:
Originally Posted by Mike_S.
Ставил и == 1...
|
Убери его вообще и оставь только if(Crystalonplayer[playerid] != 0)