19.08.2015, 11:28
Дорогие друзья столкнулся с проблемой, что у игроков крашит игру при входе на сервер. Только у тех, у кого установлены какие нибудь моды. Регистрация выполнена на textdraw.
Весь процесс захода:
Игрок подключается к серверу, в паблике коннекта идёт загрузка textdraw игроков.
Далее в паблике requestclass происходит спавн игрока и создаёт 3 секундный таймер.
спавн срабатывает, чтобы изменить позицию камеры и убрать <<>> spawn
идёт проверка, если есть акк то логин, если нет, то рега.
если, рега, то срабатывает данная функция.
Весь процесс захода:
Игрок подключается к серверу, в паблике коннекта идёт загрузка textdraw игроков.
Далее в паблике requestclass происходит спавн игрока и создаёт 3 секундный таймер.
PHP код:
SpawnPlayer(playerid);
SetTimerEx("LoginLoad", 3000, false, "d", playerid);
PHP код:
public LoginLoad(playerid)
{
open_reg_panel(playerid);
return 1;
}
PHP код:
if(gPlayerLogged[playerid] == false)
{
new virtworld = random(687);
InterpolateCameraPos(playerid, 2188.195068, -1529.230712, 62.794979, 2188.195068, -1529.230712, 62.794979-0.00001, 1000);
InterpolateCameraLookAt(playerid, 2184.738037, -1532.728759, 61.893684, 2184.738037, -1532.728759, 61.893684-0.00001, 1000);
t_SetPlayerPos(playerid,1910.4404,-1780.6898,17.9766);
SetPlayerVirtualWorld(playerid,virtworld);
return 1;
}
PHP код:
stock open_reg_panel(playerid)
{
new query[256];
format(query, sizeof(query), "SELECT `id` FROM `accounts` WHERE `name` = '%s' LIMIT 1",PlayerInfo[playerid][pName]);
mysql_function_query(dbHandle, query, true, "CheckAccount", "ii", playerid, 0);
return 1;
}
если, рега, то срабатывает данная функция.
PHP код:
stock open_register(playerid)
{
new skin = GetPlayerSkin(playerid);
PlayerTextDrawSetPreviewModel(playerid, reg_skin[playerid], skin);
PlayerTextDrawSetString(playerid,reg_name[playerid],PlayerInfo[playerid][pName]);
PlayerTextDrawSetString(playerid,reg_password[playerid],"inputtext");
PlayerTextDrawSetString(playerid,reg_email[playerid],"inputtext");
PlayerTextDrawSetString(playerid,reg_sex[playerid],"inputtext");
for(new i = 0; i < 10; i++) TextDrawShowForPlayer(playerid, reg_fon[i]);
for(new i = 0; i < 6; i++) TextDrawShowForPlayer(playerid, reg_button[i]);
PlayerTextDrawShow(playerid, reg_name[playerid]);
PlayerTextDrawShow(playerid, reg_password[playerid]);
PlayerTextDrawShow(playerid, reg_email[playerid]);
PlayerTextDrawShow(playerid, reg_sex[playerid]);
PlayerTextDrawShow(playerid, reg_skin[playerid]);
SelectTextDraw(playerid,0xddddddff);
OpenRegMenu[playerid] = true;
clicktd[playerid] = true;
return 1;
}