25.08.2014, 17:04
в общем такая тема. Решил добавить места спавна для гонок (rRace system) и вот что вышло. При вступлении 3 и последующего игрока координаты спавна авто кривит (спавнится не в положенном месте) В логах мои принты показывают следующее: 1-"загрузка тачки" 2-"загрузка тачки2" 3-"загрузка тачкихз"
Часть кода:
ваши варианты по исправлению?
Часть кода:
PHP код:
#define IsOdd(%1) \
((%1) & 1)
function SetupRaceForPlayer(playerid){
CPProgess[playerid] = 0;
TogglePlayerControllable(playerid, false);
CPCoords[playerid][3] = 0;
SetCP(playerid, CPProgess[playerid], CPProgess[playerid]+1, TotalCP, RaceType);
if(IsOdd(playerid)) Index = 1;
else Index = 0;
switch(Index){
case 0:{
if(PlayersCount[0] == 1){
print("загрузка тачкихз");
RaceVehCoords[0][0] -= (6 * floatsin(-RaceVehCoords[0][3], degrees));
RaceVehCoords[0][1] -= (6 * floatcos(-RaceVehCoords[0][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+1, RaceVehCoords[0][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[0][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2], RaceVehCoords[0][3], 20);}}
case 1:{
if(PlayersCount[1] == 1){
print("загрузка тачкихз2");
RaceVehCoords[1][0] -= (6 * floatsin(-RaceVehCoords[1][3], degrees));
RaceVehCoords[1][1] -= (6 * floatcos(-RaceVehCoords[1][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+1, RaceVehCoords[1][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[1][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2], RaceVehCoords[1][3], 20);}}
case 2:{
if(PlayersCount[2] == 1){
print("загрузка тачкихз3");
RaceVehCoords[2][0] -= (6 * floatsin(-RaceVehCoords[2][3], degrees));
RaceVehCoords[2][1] -= (6 * floatcos(-RaceVehCoords[2][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2]+1, RaceVehCoords[2][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[2][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2], RaceVehCoords[2][3], 20);}}
case 3:{
if(PlayersCount[3] == 1){
print("загрузка тачкихз4");
RaceVehCoords[3][0] -= (6 * floatsin(-RaceVehCoords[3][3], degrees));
RaceVehCoords[3][1] -= (6 * floatcos(-RaceVehCoords[3][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2]+1, RaceVehCoords[3][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[3][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2], RaceVehCoords[3][3], 20);}}
case 4:{
if(PlayersCount[4] == 1){
print("загрузка тачкихз5");
RaceVehCoords[4][0] -= (6 * floatsin(-RaceVehCoords[4][3], degrees));
RaceVehCoords[4][1] -= (6 * floatcos(-RaceVehCoords[4][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2]+1, RaceVehCoords[4][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[4][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2], RaceVehCoords[4][3], 20);}}
case 5:{
if(PlayersCount[5] == 1){
print("загрузка тачкихз6");
RaceVehCoords[5][0] -= (6 * floatsin(-RaceVehCoords[5][3], degrees));
RaceVehCoords[5][1] -= (6 * floatcos(-RaceVehCoords[5][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2]+1, RaceVehCoords[5][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[5][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2], RaceVehCoords[5][3], 20);}}
case 6:{
if(PlayersCount[6] == 1){
print("загрузка тачкихз7");
RaceVehCoords[6][0] -= (6 * floatsin(-RaceVehCoords[6][3], degrees));
RaceVehCoords[6][1] -= (6 * floatcos(-RaceVehCoords[6][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2]+1, RaceVehCoords[6][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[6][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2], RaceVehCoords[6][3], 20);}}
case 7:{
if(PlayersCount[7] == 1){
print("загрузка тачкихз8");
RaceVehCoords[7][0] -= (6 * floatsin(-RaceVehCoords[7][3], degrees));
RaceVehCoords[7][1] -= (6 * floatcos(-RaceVehCoords[7][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2]+1, RaceVehCoords[7][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[7][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2], RaceVehCoords[7][3], 20);}}
case 8:{
if(PlayersCount[8] == 1){
print("загрузка тачкихз9");
RaceVehCoords[8][0] -= (6 * floatsin(-RaceVehCoords[8][3], degrees));
RaceVehCoords[8][1] -= (6 * floatcos(-RaceVehCoords[8][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2]+1, RaceVehCoords[8][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[8][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2], RaceVehCoords[8][3], 20);}}
case 9:{
if(PlayersCount[9] == 1){
print("загрузка тачкихз10");
RaceVehCoords[9][0] -= (6 * floatsin(-RaceVehCoords[9][3], degrees));
RaceVehCoords[9][1] -= (6 * floatcos(-RaceVehCoords[9][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2]+1, RaceVehCoords[9][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[9][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2], RaceVehCoords[9][3], 20);}}}
switch(Index){
case 0:{
if(PlayersCount[0] != 1){
print("загрузка тачки");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+1, RaceVehCoords[0][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[0][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2], RaceVehCoords[0][3], 20);
PlayersCount[0] = 1;}}
case 1:{
if(PlayersCount[1] != 1){
print("загрузка тачки2");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+1, RaceVehCoords[1][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[1][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2], RaceVehCoords[1][3], 20);
PlayersCount[1] = 1;}}
case 2:{
if(PlayersCount[2] != 1){
print("загрузка тачки3");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2]+1, RaceVehCoords[2][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[2][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2], RaceVehCoords[2][3], 20);
PlayersCount[2] = 1;}}
case 3:{
if(PlayersCount[3] != 1){
print("загрузка тачки4");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2]+1, RaceVehCoords[3][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[3][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2], RaceVehCoords[3][3], 20);
PlayersCount[3] = 1;}}
case 4:{
if(PlayersCount[4] != 1){
print("загрузка тачки5");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2]+1, RaceVehCoords[4][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[4][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2], RaceVehCoords[4][3], 20);
PlayersCount[4] = 1;}}
case 5:{
if(PlayersCount[5] != 1){
print("загрузка тачки6");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2]+1, RaceVehCoords[5][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[5][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2], RaceVehCoords[5][3], 20);
PlayersCount[5] = 1;}}
case 6:{
if(PlayersCount[6] != 1){
print("загрузка тачки7");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2]+1, RaceVehCoords[6][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[6][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2], RaceVehCoords[6][3], 20);
PlayersCount[6] = 1;}}
case 7:{
if(PlayersCount[7] != 1){
print("загрузка тачки8");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2]+1, RaceVehCoords[7][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[7][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2], RaceVehCoords[7][3], 20);
PlayersCount[7] = 1;}}
case 8:{
if(PlayersCount[8] != 1){
print("загрузка тачки9");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2]+1, RaceVehCoords[8][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[8][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2], RaceVehCoords[8][3], 20);
PlayersCount[8] = 1;}}
case 9:{
if(PlayersCount[9] != 1){
print("загрузка тачки10");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicle, RaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2]+1, RaceVehCoords[9][3], random(126), random(126), (60 * 60));
SetPlayerPos(playerid, RaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2]+1);
SetPlayerFacingAngle(playerid, RaceVehCoords[9][3]);
SetPlayerVirtualWorld(playerid, 2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playerid, CreatedRaceVeh[playerid], 0);
Camera(playerid, RaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2], RaceVehCoords[9][3], 20);
PlayersCount[9] = 1;}}}
new string[128];
#if defined RACE_IN_OTHER_WORLD
SetPlayerVirtualWorld(playerid, 10);
#endif
InfoTimer[playerid] = SetTimerEx("TextInfo", 500, 1, "e", playerid);
if(JoinCount == 1) format(string, sizeof(string), "~w~Checkpoint: ~w~%d/%d~n~~b~~h~RaceTime: ~w~%s~n~~r~RaceJoins: ~w~1~n~ ", CPProgess[playerid], TotalCP, TimeConvert(RaceTime));
else format(string, sizeof(string), "~w~Checkpoint: ~w~%d/%d~n~~b~~h~RaceTime: ~w~%s~n~~r~RaceJoins: ~w~%d~n~ ", CPProgess[playerid], TotalCP, TimeConvert(RaceTime), JoinCount);
TextDrawSetString(RaceInfo[playerid], string);
TextDrawShowForPlayer(playerid, RaceInfo[playerid]);
JoinCount++;
return false;}