PDA

Просмотр полной версии : [Вопрос] spawn veh



Freaky
08.10.2016, 16:16
Есть проблема с системой, смысл ее в том что транспортное средство спавнится в том случае, если стоит не на начальных координатах.

sec timer:

for ( new i = GetVehiclePoolSize (); i != -1; i -- )
{
if ( GetVehicleModel ( i ) )
{
new

Float: x,
Float: y,
Float: z

;

GetVehiclePos ( i, x, y, z );

if ( floatround ( x ) != floatround ( vehicle_coor_x [ i ] ) ||
floatround ( y ) != floatround ( vehicle_coor_y [ i ] ) )
SetVehicleToRespawn ( i );
}
}

функция:


stock _CreateVehicle ( type, Float: x, Float: y, Float: z, Float: rotation, color1, color2, respawn_delay )
{
new vehicleid = CreateVehicle ( type, x, y, z, rotation, color1, color2, respawn_delay );

vehicle_coor_x [ vehicleid ] = x;
vehicle_coor_y [ vehicleid ] = y;

return vehicleid;
}
#define CreateVehicle _CreateVehicle

Проблема в том что некоторые кары спавняться сами, и транспорт созданный через /veh то же постоянно спавниться на одном и том же месте.

Son of the Moon
08.10.2016, 16:27
if(floatround(x) != floatround(vehicle_coor_x[i]) && floatround(y) != floatround(vehicle_coor_y[i]) && floatround(z) != floatround(vehicle_coor_z[i]))
{
SetVehicleToRespawn(i);
}


в создание авто добавь:


vehicle_coor_z[vehicleid] = z;

vovandolg
08.10.2016, 17:39
Сами по себе от этого аргумента могут respawn_delay

Son of the Moon
08.10.2016, 18:08
Сами по себе от этого аргумента могут respawn_delay

Поддержу, ставь тогда уж так:


stock _CreateVehicle(type, Float: x, Float: y, Float: z, Float: rotation, color1, color2, respawn_delay = -1)


ну и далее используй так:


CreateVehicle(type, x, y, z, rotation, color1, color2);

Если со спавном то:


CreateVehicle(type, x, y, z, rotation, color1, color2, respawn_delay);