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; }