помощь со скриптом
#1

в общем такая тема. Решил добавить места спавна для гонок (rRace system) и вот что вышло. При вступлении 3 и последующего игрока координаты спавна авто кривит (спавнится не в положенном месте) В логах мои принты показывают следующее: 1-"загрузка тачки" 2-"загрузка тачки2" 3-"загрузка тачкихз"

Часть кода:
PHP код:
#define IsOdd(%1) \
    
((%1) & 1)
function 
SetupRaceForPlayer(playerid){
CPProgess[playerid] = 0;
TogglePlayerControllable(playeridfalse);
CPCoords[playerid][3] = 0;
SetCP(playeridCPProgess[playerid], CPProgess[playerid]+1TotalCPRaceType);
if(
IsOdd(playerid)) Index 1;
else 
Index 0;
switch(
Index){
case 
0:{
if(
PlayersCount[0] == 1){
print(
"загрузка тачкихз");
RaceVehCoords[0][0] -= (floatsin(-RaceVehCoords[0][3], degrees));
RaceVehCoords[0][1] -= (floatcos(-RaceVehCoords[0][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+1RaceVehCoords[0][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[0][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2], RaceVehCoords[0][3], 20);}}
case 
1:{
if(
PlayersCount[1] == 1){
print(
"загрузка тачкихз2");
RaceVehCoords[1][0] -= (floatsin(-RaceVehCoords[1][3], degrees));
RaceVehCoords[1][1] -= (floatcos(-RaceVehCoords[1][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+1RaceVehCoords[1][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[1][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2], RaceVehCoords[1][3], 20);}}
case 
2:{
if(
PlayersCount[2] == 1){
print(
"загрузка тачкихз3");
RaceVehCoords[2][0] -= (floatsin(-RaceVehCoords[2][3], degrees));
RaceVehCoords[2][1] -= (floatcos(-RaceVehCoords[2][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2]+1RaceVehCoords[2][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[2][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2], RaceVehCoords[2][3], 20);}}
case 
3:{
if(
PlayersCount[3] == 1){
print(
"загрузка тачкихз4");
RaceVehCoords[3][0] -= (floatsin(-RaceVehCoords[3][3], degrees));
RaceVehCoords[3][1] -= (floatcos(-RaceVehCoords[3][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2]+1RaceVehCoords[3][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[3][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2], RaceVehCoords[3][3], 20);}}
case 
4:{
if(
PlayersCount[4] == 1){
print(
"загрузка тачкихз5");
RaceVehCoords[4][0] -= (floatsin(-RaceVehCoords[4][3], degrees));
RaceVehCoords[4][1] -= (floatcos(-RaceVehCoords[4][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2]+1RaceVehCoords[4][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[4][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2], RaceVehCoords[4][3], 20);}}
case 
5:{
if(
PlayersCount[5] == 1){
print(
"загрузка тачкихз6");
RaceVehCoords[5][0] -= (floatsin(-RaceVehCoords[5][3], degrees));
RaceVehCoords[5][1] -= (floatcos(-RaceVehCoords[5][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2]+1RaceVehCoords[5][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[5][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2], RaceVehCoords[5][3], 20);}}
case 
6:{
if(
PlayersCount[6] == 1){
print(
"загрузка тачкихз7");
RaceVehCoords[6][0] -= (floatsin(-RaceVehCoords[6][3], degrees));
RaceVehCoords[6][1] -= (floatcos(-RaceVehCoords[6][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2]+1RaceVehCoords[6][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[6][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2], RaceVehCoords[6][3], 20);}}
case 
7:{
if(
PlayersCount[7] == 1){
print(
"загрузка тачкихз8");
RaceVehCoords[7][0] -= (floatsin(-RaceVehCoords[7][3], degrees));
RaceVehCoords[7][1] -= (floatcos(-RaceVehCoords[7][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2]+1RaceVehCoords[7][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[7][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2], RaceVehCoords[7][3], 20);}}
case 
8:{
if(
PlayersCount[8] == 1){
print(
"загрузка тачкихз9");
RaceVehCoords[8][0] -= (floatsin(-RaceVehCoords[8][3], degrees));
RaceVehCoords[8][1] -= (floatcos(-RaceVehCoords[8][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2]+1RaceVehCoords[8][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[8][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2], RaceVehCoords[8][3], 20);}}
case 
9:{
if(
PlayersCount[9] == 1){
print(
"загрузка тачкихз10");
RaceVehCoords[9][0] -= (floatsin(-RaceVehCoords[9][3], degrees));
RaceVehCoords[9][1] -= (floatcos(-RaceVehCoords[9][3], degrees));
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2]+1RaceVehCoords[9][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[9][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2], RaceVehCoords[9][3], 20);}}}
switch(
Index){
case 
0:{
if(
PlayersCount[0] != 1){
print(
"загрузка тачки");
CreatedRaceVeh[playerid] = CreateVehicle(RaceVehicleRaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+1RaceVehCoords[0][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[0][0], RaceVehCoords[0][1], RaceVehCoords[0][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[0][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+1RaceVehCoords[1][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[1][0], RaceVehCoords[1][1], RaceVehCoords[1][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[1][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2]+1RaceVehCoords[2][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[2][0], RaceVehCoords[2][1], RaceVehCoords[2][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[2][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2]+1RaceVehCoords[3][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[3][0], RaceVehCoords[3][1], RaceVehCoords[3][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[3][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2]+1RaceVehCoords[4][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[4][0], RaceVehCoords[4][1], RaceVehCoords[4][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[4][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2]+1RaceVehCoords[5][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[5][0], RaceVehCoords[5][1], RaceVehCoords[5][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[5][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2]+1RaceVehCoords[6][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[6][0], RaceVehCoords[6][1], RaceVehCoords[6][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[6][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2]+1RaceVehCoords[7][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[7][0], RaceVehCoords[7][1], RaceVehCoords[7][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[7][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2]+1RaceVehCoords[8][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[8][0], RaceVehCoords[8][1], RaceVehCoords[8][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[8][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(RaceVehicleRaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2]+1RaceVehCoords[9][3], random(126), random(126), (60 60));
SetPlayerPos(playeridRaceVehCoords[9][0], RaceVehCoords[9][1], RaceVehCoords[9][2]+1);
SetPlayerFacingAngle(playeridRaceVehCoords[9][3]);
SetPlayerVirtualWorld(playerid2);
SetVehicleVirtualWorld(CreatedRaceVeh[playerid],2);
PutPlayerInVehicle(playeridCreatedRaceVeh[playerid], 0);
Camera(playeridRaceVehCoords[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(playerid10);
#endif
InfoTimer[playerid] = SetTimerEx("TextInfo"5001"e"playerid);
if(
JoinCount == 1format(stringsizeof(string), "~w~Checkpoint: ~w~%d/%d~n~~b~~h~RaceTime: ~w~%s~n~~r~RaceJoins: ~w~1~n~ "CPProgess[playerid], TotalCPTimeConvert(RaceTime));
else 
format(stringsizeof(string), "~w~Checkpoint: ~w~%d/%d~n~~b~~h~RaceTime: ~w~%s~n~~r~RaceJoins: ~w~%d~n~ "CPProgess[playerid], TotalCPTimeConvert(RaceTime), JoinCount);
TextDrawSetString(RaceInfo[playerid], string);
TextDrawShowForPlayer(playeridRaceInfo[playerid]);
JoinCount++;
return 
false;} 
ваши варианты по исправлению?
Reply
#2

У тебя переменная Index может принимать только два значения 1 и 0:
Код:
if(IsOdd(playerid)) Index = 1; 
else Index = 0;
Reply
#3

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
У тебя переменная Index может принимать только два значения 1 и 0:
Код:
if(IsOdd(playerid)) Index = 1; 
else Index = 0;
Как можно тогда упростить)) ведь отмена индекс никчему не приведет
Reply
#4

Quote:
Originally Posted by Кирилл
Посмотреть сообщение
Как можно тогда упростить)) ведь отмена индекс никчему не приведет
Думай! Тебе нужно расширить диапазон Index.
Reply
#5

подсказку понял попробую
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)