Не взрывается машина...
#1

Драсти, такая проблема:
делаю машинку-камикадзу, такую, что когда в нее садишься в ней активируется бомба, которая сработает когда машина остановится или выпрыгнет водитель, когда машина останавливается создаю на ее месте взрыв - игра падает, решаю сделать безвзрывный способ как альтернативный - создаю на ее месте обьект взрыва, и убиваю всех игроков, которые находятся рядом, игра снова вылетает, убираю взрыв вообще, оставляю только
pawn Код:
for(new p=0;p<MAX_PLAYERS;p++)
            {
                if(IsPlayerInRangeOfPoint(playerid, 7.5, bombpos[0],bombpos[1],bombpos[2]))
                {
                    GameTextForPlayer(playerid,"~r~~h~BOOM!!!~",2000,4);
                    SetPlayerHealth(playerid,0);
                }
            }
и игра все равно вылетает...
вопрос: как нанести урон водителю машины?
Reply
#2

ну в принципе разобрался, оказалось, что обычный взрыв как-то конфликтует с появлением GameText`а, рабочий оказался такой вариант:
pawn Код:
SetVehicleHealth(vehicleid, 1.0);
new Float:vehpos[3];
GetVehiclePos(bombcar[i],vehpos[0],vehpos[1],vehpos[2]);
CreateExplosion(vehpos[0],vehpos[1],vehpos[2], 10, 10);
но клиент начал выдавать при смерти в чат вот такую ошибку:
Error: There is nothing to end.
к чему бы это...?
Reply
#3

Quote:

Вот делай так

for(new p=0;p<MAX_PLAYERS;p++)
{
if(IsPlayerInRangeOfPoint(playerid, 7.5, bombpos[0],bombpos[1],bombpos[2]))
{
GameTextForPlayer(playerid,"~r~~h~BOOM!!!~",2000,4 );
SetVehicleHealth ( vehicleid, 0,0 ) ;
}
}

нечего выдавать не должно
Reply
#4

Вся проблема в том, что
Quote:

GameTextForPlayer(playerid,"~r~~h~BOOM!!!~",2000,4);

... у тебя лишняя ~ в конце.

А со взрывом / киллом окружающих вылетов в принципе не должно быть.
Reply
#5

?
PHP код:
for(new 0!= GetMaxPlayers(); p++)
{
     if(
IsPlayerInRangeOfPoint(p7.5bombpos[0],bombpos[1],bombpos[2]))
     {
        
GameTextForPlayer(p,"~r~~h~BOOM!",2000,4);
        
SetVehicleHealth(GetPlayerVehicleID(p),0.0);
     }

Reply
#6

Quote:
Originally Posted by Gameyer
Посмотреть сообщение
?
PHP код:
for(new 0!= GetMaxPlayers(); p++)
{
     if(
IsPlayerInRangeOfPoint(p7.5bombpos[0],bombpos[1],bombpos[2]))
     {
        
GameTextForPlayer(p,"~r~~h~BOOM!",2000,4);
        
SetPlayerHealth(GetPlayerVehicleID(p),0.0);
     }

Почему SetPlayerHealth? Это изменит жизнь игроку, машине ничего не будет
Reply
#7

ну не судь, судь в цикле, а тоэ да, конечно надо изменить на SetVehicleHealth
Reply
#8

CreateExplosion(); ? )
Reply
#9

конечно CreateExplosion, он и сработал, просто не дружил с геймтекстом)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)