Holtzman
Новичок
Всем Гутен Морген! Прошу помощи в одном деле!
Не знаю почему, но при авторизации иногда загружаются не все данные.
И самая главная проблема - это после Авторизации(Все норм загрузилось) Персонаж не желает спавниться и если отправить его командой "/spawn" на спавн, то он появляется в Грув Стрит и умирает раза 2-3.
Скорей всего умирает из-за этого кода:
И только после этого он отправляется на спавн.
Весь код приложу ниже:
Загрузка аккаунта
Скин и Спавн
И сам паблик спавна
Не знаю почему, но при авторизации иногда загружаются не все данные.
И самая главная проблема - это после Авторизации(Все норм загрузилось) Персонаж не желает спавниться и если отправить его командой "/spawn" на спавн, то он появляется в Грув Стрит и умирает раза 2-3.
Скорей всего умирает из-за этого кода:
PHP:
public CheckHealth()
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
new Float: Health;
GetPlayerHealth(i, Health);
if(Player[i][pHealth] != Health)
{
SetPlayerHealth(i, Player[i][pHealth]);
}
else
{
Player[i][pHealth] = Health;
}
}
}
return 1;
}
Весь код приложу ниже:
Загрузка аккаунта
PHP:
publics LoadAccount(playerid)
{
Player[playerid][pID] = cache_get_field_content_int(0, "ID", connects);
Player[playerid][pModel] = cache_get_field_content_int(0, "Model", connects);
Player[playerid][pSex] = cache_get_field_content_int(0, "Sex", connects);
Player[playerid][pLVL] = cache_get_field_content_int(0, "Lvl", connects);
Player[playerid][pEXP] = cache_get_field_content_int(0, "Exp", connects);
Player[playerid][pAdmin] = cache_get_field_content_int(0, "Admin", connects);
Player[playerid][pAKey] = cache_get_field_content_int(0, "APassword", connects);
Player[playerid][pHelper] = cache_get_field_content_int(0, "Helper", connects);
Player[playerid][pMoney] = cache_get_field_content_int(0, "Money", connects);
Player[playerid][pHealth] = cache_get_field_content_float(0, "Health", connects);
Player[playerid][PlayerPos][0] = cache_get_field_content_float(0, "pX", connects);
Player[playerid][PlayerPos][1] = cache_get_field_content_float(0, "pY", connects);
Player[playerid][PlayerPos][2] = cache_get_field_content_float(0, "pZ", connects);
Player[playerid][PlayerPos][3] = cache_get_field_content_float(0, "pA", connects);
Player[playerid][PlayerLocation][0] = cache_get_field_content_int(0, "pI", connects);
Player[playerid][PlayerLocation][1] = cache_get_field_content_int(0, "pW", connects);
SetPVarInt(playerid,"Heal",0);
GivePlayerMoney(playerid, Player[playerid][pMoney]);
Logged{playerid} = true;
send(playerid, COLOR_GREEN, "||--------------------------------------------------------------------------||");
new string[1024];
format(string, sizeof(string), "%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%f,%f,%f,%i,%i",Player[playerid][pID],Player[playerid][pModel],Player[playerid][pSex],Player[playerid][pLVL],Player[playerid][pEXP],Player[playerid][pAdmin],Player[playerid][pAKey],
Player[playerid][pHelper],Player[playerid][pMoney],Player[playerid][pHealth],Player[playerid][PlayerPos][0],Player[playerid][PlayerPos][1],Player[playerid][PlayerPos][2],Player[playerid][PlayerPos][3],Player[playerid][PlayerLocation][0],Player[playerid][PlayerLocation][1]);
send(playerid, -1, string);
send(playerid, COLOR_GREEN, "||--------------------------------------------------------------------------||");
SpawnPlayer(playerid);
return 1;
}
PHP:
stock CheckPlayerSkin(playerid)
{
SetPlayerSkin(playerid, Player[playerid][pModel]);
}
stock SetPlayerSpawn(playerid)
{
DisablePlayerCheckpoint(playerid);
if(Logged{playerid})
{
if(GetPVarInt(playerid, "Heal") == 0)//Спавн где вышел
{
new string[84];
format(string, sizeof(string), "X: %f Y:%f Z:%f A:%f", Player[playerid][PlayerPos][0],Player[playerid][PlayerPos][1],Player[playerid][PlayerPos][2],Player[playerid][PlayerPos][3]);
send(playerid, -1, string);
SetPlayerInterior(playerid,Player[playerid][PlayerLocation][0]);
SetPlayerVirtualWorld(playerid, Player[playerid][PlayerLocation][1]);
TogglePlayerControllable(playerid, true);
SetPlayerPos(playerid, Player[playerid][PlayerPos][0], Player[playerid][PlayerPos][1], Player[playerid][PlayerPos][2]);
SetPlayerFacingAngle(playerid, Player[playerid][PlayerPos][3]);
SetPlayerHealthAC(playerid, Player[playerid][pHealth]);
}
else if(GetPVarInt(playerid, "Heal") == 1 && Player[playerid][pLVL] >= 1 && Player[playerid][pLVL] <= 5)//СФ
{
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid, 1);
TogglePlayerControllable(playerid, true);
switch(random(6))
{
case 0: SetPlayerPos(playerid, 1145.9492,-2113.3928,-28.8861);
case 1: SetPlayerPos(playerid, 1159.5533,-2113.8303,-28.8861);
case 2: SetPlayerPos(playerid, 1161.6720,-2099.7927,-28.8861);
case 3: SetPlayerPos(playerid, 1142.1846,-2100.1848,-28.8861);
case 4: SetPlayerPos(playerid, 1138.9979,-2083.6348,-28.8861);
case 5: SetPlayerPos(playerid, 1166.0062,-2083.5032,-28.8861);
}
SetPlayerHealthAC(playerid, 10);
}
else if(GetPVarInt(playerid, "Heal") == 1 && Player[playerid][pLVL] >= 6 && Player[playerid][pLVL] <= 10)//ЛС
{
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid, 2);
TogglePlayerControllable(playerid, true);
switch(random(6))
{
case 0: SetPlayerPos(playerid, 1145.9492,-2113.3928,-28.8861);
case 1: SetPlayerPos(playerid, 1159.5533,-2113.8303,-28.8861);
case 2: SetPlayerPos(playerid, 1161.6720,-2099.7927,-28.8861);
case 3: SetPlayerPos(playerid, 1142.1846,-2100.1848,-28.8861);
case 4: SetPlayerPos(playerid, 1138.9979,-2083.6348,-28.8861);
case 5: SetPlayerPos(playerid, 1166.0062,-2083.5032,-28.8861);
}
SetPlayerHealthAC(playerid, 10);
}
else if(GetPVarInt(playerid, "Heal") == 1 && Player[playerid][pLVL] >= 11)//ЛВ
{
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid, 3);
TogglePlayerControllable(playerid, true);
switch(random(6))
{
case 0: SetPlayerPos(playerid, 1145.9492,-2113.3928,-28.8861);
case 1: SetPlayerPos(playerid, 1159.5533,-2113.8303,-28.8861);
case 2: SetPlayerPos(playerid, 1161.6720,-2099.7927,-28.8861);
case 3: SetPlayerPos(playerid, 1142.1846,-2100.1848,-28.8861);
case 4: SetPlayerPos(playerid, 1138.9979,-2083.6348,-28.8861);
case 5: SetPlayerPos(playerid, 1166.0062,-2083.5032,-28.8861);
}
SetPlayerHealthAC(playerid, 10);
}
}
return true;
}
PHP:
public OnPlayerSpawn(playerid)
{
SetPlayerSpawn(playerid);
CheckPlayerSkin(playerid);
SetPlayerScore(playerid, Player[playerid][pLVL]);
return true;
}
Последнее редактирование:
