PDA

Просмотр полной версии : [Вопрос] Stay within the world boundaries



KrutoyKrosch
08.01.2017, 21:08
Написал простенький код который выполняется при смерти. Прикол в том что на локалке он замечательно работает, а на хостинге вот это

https://pp.vk.me/c837134/v837134947/1d7b6/dEU2qgO2aJM.jpg

Решил уже вывести в консоль как тот код выполняется и координаты куда телепортирует игрока:



[19:41:35] 1

[19:41:35] 2

[19:41:35] 3 - -1881.179809 538.664733 35.419136

[19:41:35] 4 - 177.207992 -1623.805541 14.612799


Как видим все замечательно. Но почему тогда такое с игроком происходит? Если что, сток вызывается в OnPlayerSpawn. Там кроме этого больше ничего не вызывается. Собственно сам сток:



stock VehicleKillAdnPlayer(playerid)
{
printf("2\n");
SetPlayerPos(playerid, PlayerSpawnKiller[0][playerid], PlayerSpawnKiller[1][playerid], PlayerSpawnKiller[2][playerid]);
printf("3 - %f %f %f\n", PlayerSpawnKiller[0][playerid], PlayerSpawnKiller[1][playerid], PlayerSpawnKiller[2][playerid]);
for(new i; i < sizeof(Spawn_Vehicle_Killer_And_Player); i++)
DistanceFromPointKillerPlayer[i][playerid] = GetPlayerDistanceFromPoint(playerid, Spawn_Vehicle_Killer_And_Player[i][0], Spawn_Vehicle_Killer_And_Player[i][1], Spawn_Vehicle_Killer_And_Player[i][2]);

new
Float:m = DistanceFromPointKillerPlayer[0][playerid],
a;

for(new i = 0, n = sizeof(DistanceFromPointKillerPlayer); i < n; i++)
{
if(m > DistanceFromPointKillerPlayer[i][playerid])
a = i;
}

SetVehicleHealth(pInfo[playerid][pVehIDServer], 1000);
SetVehiclePos(pInfo[playerid][pVehIDServer], Spawn_Vehicle_Killer_And_Player[a][0], Spawn_Vehicle_Killer_And_Player[a][1], Spawn_Vehicle_Killer_And_Player[a][2]);
SetVehicleZAngle(pInfo[playerid][pVehIDServer], Spawn_Vehicle_Killer_And_Player[a][3]);

SetPlayerPos(playerid, Spawn_Vehicle_Killer_And_Player[a][4], Spawn_Vehicle_Killer_And_Player[a][5], Spawn_Vehicle_Killer_And_Player[a][6]);
printf("4 - %f %f %f\n", Spawn_Vehicle_Killer_And_Player[a][4], Spawn_Vehicle_Killer_And_Player[a][5], Spawn_Vehicle_Killer_And_Player[a][6]);
SetPlayerFacingAngle(playerid, Spawn_Vehicle_Killer_And_Player[a][7]);

SetPlayerSkin(playerid, pInfo[playerid][pSkin]);

SetPlayerDrunkLevel(playerid, 20000);
ApplyAnimation(playerid, "PED", "GETUP", 4.1, 0, 1, 1, 0, 0);
return 1;
}


И массив с координатами:


new
Float:Spawn_Vehicle_Killer_And_Player[][] =
{
{184.5971,-1629.8188,14.1572,218.6776, 177.2080,-1623.8055,14.6128,220.1301},
{643.6935,-1692.7141,14.5315,356.0405, 645.7917,-1699.1437,14.8143,358.3521},
{882.3293,-1580.4021,13.1196,292.9182, 881.5774,-1590.6432,13.5469,352.3103},
{1223.7577,-1577.7416,13.1107,272.0265, 1219.3044,-1579.4476,13.5069,260.9499},
{1135.7410,-1846.7866,13.1214,91.2355, 1142.3348,-1844.8435,13.5461,93.5963},
{1146.9576,-2418.8418,10.4937,234.8792, 1140.6852,-2417.3208,11.0432,236.9621},
{1664.7552,-1931.4396,23.8642,16.4005, 1667.9041,-1937.8058,24.1268,15.0275},
{2319.7297,-1664.5143,13.7066,268.6416, 2313.3447,-1666.8453,14.3575,283.3082},
{2404.4080,-1449.8926,23.5757,269.3689, 2397.8259,-1451.4408,24.0030,265.2258},
{2785.4487,-1263.5548,46.8172,269.9631, 2778.8130,-1266.3236,48.4846,276.8538},
{2894.2969,-1044.3801,10.6168,359.3129, 2897.3572,-1052.7235,11.0469,13.9434},
{2765.9229,56.8687,20.9794,109.5231, 2771.8459,63.1436,20.7538,135.1461},
{2040.0281,-440.1974,76.9112,196.4940, 2036.2681,-454.4446,77.7282,2.8923},
{1862.6552,-1063.6443,23.4120,168.3146, 1858.1326,-1058.1406,23.8762,199.6377},
{1051.2015,-1366.6754,13.0415,180.0225, 1045.9049,-1361.4325,13.5771,220.2100},
{699.2194,-1389.4780,13.2078,89.8323, 706.0460,-1386.8615,13.6901,110.7628},
{891.2589,-974.5739,36.9671,109.3292, 895.8306,-965.5381,37.4563,162.2093},
{193.9232,-1438.2638,12.6728,136.8716, 190.2208,-1446.4229,12.9768,348.1868},
{-507.8586,-1637.2363,9.7197,48.9230, -511.1744,-1625.6095,9.0644,211.3688},
{-595.2438,-1088.1967,23.3214,238.4582, -604.1834,-1089.1351,23.5798,280.7956},
{-1299.5568,-800.5634,71.1750,113.1493, -1295.2700,-792.5653,70.9154,148.7535},
{-2098.2676,-537.2175,32.9554,44.5967, -2090.9309,-539.5599,32.7254,69.6122},
{-2492.4299,-472.9056,95.7774,86.9924, -2484.6150,-472.1532,97.5018,88.6402},
{-2816.2842,-408.0872,6.7690,356.6534, -2814.5166,-415.5801,7.1875,9.0107}
},
Float:DistanceFromPointKillerPlayer[sizeof(Spawn_Vehicle_Killer_And_Player)][MAX_PLAYERS];


Я хз из за чего такое происходит :dash2:. Вроде все правильно, тем более на локалке работает....

vovandolg
08.01.2017, 22:05
А клиент сборка какая то или чистый SA + MP отдельно?
(Может с версии на версию когда ставил MP не удалял старые?)

ziggi
08.01.2017, 22:30
Попробуй удалить вызовы некоторых функций, попробуй задать размер массива Spawn_Vehicle_Killer_And_Player вручную.

KrutoyKrosch
09.01.2017, 00:35
Задал размер массива - толку нуль. Удалил все кроме телепортирования игрока - толку нуль.

- - - Добавлено - - -


А клиент сборка какая то или чистый SA + MP отдельно?
(Может с версии на версию когда ставил MP не удалял старые?)

Вообще все с нуля стоит. Сборка без модов, клиент с оф сайта

- - - Добавлено - - -

Убрал совершенно все из паблика OnPlayerSpawn и OnPlayerDeath. Толку нуль. И на что теперь думать? Опять повторюсь - на локалке норм

KrutoyKrosch
09.01.2017, 00:42
Поставил new.pwn

https://pp.vk.me/c837134/v837134947/1d868/FmLgS5do0xA.jpg

KrutoyKrosch
09.01.2017, 01:20
Добавил AddPlayerClass с 0 аргументами - стало нормально. Можно закрывать