16.06.2014, 12:35
Добрый день! У меня есть система, которая записывает координаты игрока при смерти, а при спавне должно спавнить его туда, но ,как пишут другие - их спавнит на нулевые координаты.
При том, что больше такая функция нигде не встречается
Точно так же с транспортом:
Создаю транспорт через /veh и иногда спавнюсь на нулевых координатах
Или сегодня тестер написал, что купил транспорт в автосалоне и тачка заспавнилась на 0 коордах, хотя раньше не спавнилась и код не трогал
Может баг в SetVehicleToRespawn(vehicleid);?
Code:
public OnPlayerRequestClass(playerid, classid)
{
//if(IsPlayerNPC(playerid)) return 1;
//TogglePlayerSpectating(playerid,1);
SetSpawnInfo(playerid, 255, 0, 0, 0, 0, 1.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(playerid);
return true;
}
public OnPlayerDeath(playerid, killerid, reason)
{
GetPlayerPos(playerid,PlayerInfo[playerid][pPos_x],PlayerInfo[playerid][pPos_y],PlayerInfo[playerid][pPos_z]);
PlayerInfo[playerid][pInt]=GetPlayerInterior(playerid);
PlayerInfo[playerid][pWorld]=GetPlayerVirtualWorld(playerid);
Точно так же с транспортом:
Создаю транспорт через /veh и иногда спавнюсь на нулевых координатах
Code:
stock CreateAdminVehicle(playerid,model,Float:posx,Float:posy,Float:posz,Float:posa,color1,color2)
{
CarModel[playerid] = model;
new carid = CreateVehicle(model,posx,posy,posz,posa,color1,color2,60000);
new numer[24];
format(numer,24,"%c%c%c %i",65+random(26),65+random(26),65+random(26),100+carid);
strmid(VehicleInfo[carid][vNomer], numer, 0, strlen(numer), 40);
SetVehicleNumberPlate(carid,numer);
SetVehicleToRespawn(carid);
vehicleColor[carid][0] = color1;
vehicleColor[carid][1] = color2;
CreatedCar[carid] = true;
SetVehicleHealth(carid,1000);
RepairVehicle(carid);
VehicleInfo[carid][vEngine] = true;
Iter_Add(Vehicle,carid);
UnLockCar(carid);
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(carid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
if(GetPlayerInterior(playerid) != 0) LinkVehicleToInterior(carid,GetPlayerInterior(playerid));
if(GetPlayerVirtualWorld(playerid) != 0)SetVehicleVirtualWorld(carid,GetPlayerVirtualWorld(playerid));
VehicleInfo[carid][vFuel] = GetCarBak(carid);
VehicleInfo[carid][vMaxFuel] = VehicleInfo[carid][vFuel];
PutPlayerInVehicle(playerid,carid,0);
return true;
}
Code:
stock cddStaticVehicle(modelid, Float: x, Float: y, Float: z, Float: angle, color1, color2)
{
new vehicleid = CreateVehicle(modelid, x, y, z, angle, color1, color2,60000);
new numer[24];
format(numer,24,"%c%c%c %i",65+random(26),65+random(26),65+random(26),100+vehicleid);
SetVehicleNumberPlate(vehicleid,numer);
vehicleColor[vehicleid][0] = color1;
vehicleColor[vehicleid][1] = color2;
strmid(VehicleInfo[vehicleid][vNomer], numer, 0, strlen(numer), 30);
VehicleInfo[vehicleid][vFuel] = GetCarBak(vehicleid);
VehicleInfo[vehicleid][vMaxFuel] = VehicleInfo[vehicleid][vFuel];
SetVehicleToRespawn(vehicleid);
Iter_Add(Vehicle,vehicleid);
return vehicleid;
}

