PDA

Просмотр полной версии : [Вопрос] Спавн на сервере.



Skyline
26.02.2017, 02:55
Здравствуйте. Сломал голову, почему при регистрации/авторизации когда вводишь пароль в диалог и нажимаешь войти, он пропадает, данные все загружается, все пишется, но игрока просто не спавнит. Если только не нажать на кнопку Spawn, где << >> Spawn

Вот к примеру диалог авторизации...

case dLogin:
{
if(!response) return Kick(playerid);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, !"Авторизация", !"Введите пароль от аккаунта для того, чтоб продолжить игру:", !"Вход", !"Выход");
if(!strcmp(pInfo[playerid][pPassword], inputtext))
{
new query_string[49+MAX_PLAYER_NAME];
format(query_string, sizeof(query_string), "SELECT * FROM `accounts` WHERE `player_name` = '%s'", pInfo[playerid][pName]);
mysql_tquery(mysql_connect_ID, query_string, "UploadPlayerAccount","i", playerid);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, !"Авторизация", !"Введите пароль от аккаунта для того, чтоб продолжить игру:", !"Вход", !"Выход");
}
return 1;
}

Ну и вот код загрузки...

forward UploadPlayerAccount(playerid);
public UploadPlayerAccount(playerid)
{
cache_get_value_name_int(0, "id", pInfo[playerid][pID]);
cache_get_value_name_int(0, "level", pInfo[playerid][pLevel]);
cache_get_value_name_int(0, "exp", pInfo[playerid][pExp]);
cache_get_value_name_int(0, "money", pInfo[playerid][pMoney]);
cache_get_value_name_int(0, "health", pInfo[playerid][pHealth]);
cache_get_value_name_int(0, "admin_level", pInfo[playerid][pAdmin]);
cache_get_value_name_int(0, "pol_player", pInfo[playerid][pSex]);
cache_get_value_name_int(0, "skin_player", pInfo[playerid][pSkin]);
cache_get_value_name_int(0, "frack_skin", pInfo[playerid][pFrackSkin]);
cache_get_value_name_int(0, "member", pInfo[playerid][pMember]);
cache_get_value_name_int(0, "leader", pInfo[playerid][pLeader]);
cache_get_value_name_int(0, "rank", pInfo[playerid][pRank]);
cache_get_value_name_int(0, "data_invite", pInfo[playerid][pInvite]);
cache_get_value_name_int(0, "data_rank", pInfo[playerid][pInrank]);
cache_get_value_name_int(0, "rabota", pInfo[playerid][pJob]);
cache_get_value_name_int(0, "house", pInfo[playerid][pHouse]);
cache_get_value_name_int(0, "biznes", pInfo[playerid][pBiznes]);
cache_get_value_name_int(0, "mute", pInfo[playerid][pMute]);
cache_get_value_name_int(0, "mute_time", pInfo[playerid][pMuteTime]);
cache_get_value_name_int(0, "lic_veh", pInfo[playerid][pCarLic]);
cache_get_value_name_int(0, "lic_fly", pInfo[playerid][pFlyLic]);
cache_get_value_name_int(0, "lic_gun", pInfo[playerid][pGunLic]);
cache_get_value_name_int(0, "lic_boat", pInfo[playerid][pBoatLic]);
cache_get_value_name_int(0, "spawn", pInfo[playerid][pSpawn]);
SendClientMessage(playerid, 0xFFFFFF00, "Âû óñïåøíî àâòîðèçèðîâàëèñü!");
new string[35];
if(pInfo[playerid][pAdmin])
{
format(string, sizeof string, "Âû âîøëè êàê %s", RankAdmin[pInfo[playerid][pAdmin]-1]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
if(pInfo[playerid][pHouse] > 0)
{
new idx = pInfo[playerid][pHouse]-1;
HouseCar[idx] = CreateVehicle(HouseInfo[idx][hHouse_Car],HouseInfo[idx][hcar_pos_x],HouseInfo[idx][hcar_pos_y],HouseInfo[idx][hcar_pos_z],HouseInfo[idx][hcar_pos_angle],HouseInfo[idx][hCar_Color_1],HouseInfo[idx][hCar_Color_2], -1);
HouseInfo[idx][hMapicon] = SetPlayerMapIcon(playerid, 35, HouseInfo[idx][henter_pos_x], HouseInfo[idx][henter_pos_y], HouseInfo[idx][henter_pos_z], 35, -1, MAPICON_GLOBAL);
}
if(pInfo[playerid][pCarLic] == 0)
{
SetPlayerMapIcon(playerid, 36, 1167.6,1357.6,10.9, 36, -1, MAPICON_GLOBAL);
}
GivePlayerMoney(playerid, pInfo[playerid][pMoney]);
SetPlayerScore(playerid, pInfo[playerid][pLevel]);
player_is_authorized{playerid} = true;
SpawnPlayer(playerid);
return 1;
}

Помогите пожалуйста...

123
26.02.2017, 03:56
SetSpawnInfo в моде присутствует? Если нет, установи -

SetSpawnInfo(playerid, 0, 0, 0.0, 0.0,0.0, 0.0, 0, 0, 0, 0, 0, 0 );

Skyline
27.02.2017, 13:22
Присутствует.

vovandolg
27.02.2017, 13:56
Спавнить надо через OnPlayerRequestClass, а чтобы кнопочки эти снизу не появлялись до того момента который тебе нужен, надо уходить в слежку и потом оффать её, что я рассказываю, поиск по форуму делай, DeimoS составлял мануал по этим кнопкам и как правильно спавнить чтобы не было таких и других косяков, там всё расписано и понятно.

Skyline
28.02.2017, 14:50
Решено. Спасибо. Можно закрывать.