В общем, ребят, дело в том, что когда игрок логиниться на сервер, ему через раз пишет "server closed the connection" частенько такое бывает.
В чем может быть проблема? Прошу помощи.
Вид для печати
В общем, ребят, дело в том, что когда игрок логиниться на сервер, ему через раз пишет "server closed the connection" частенько такое бывает.
В чем может быть проблема? Прошу помощи.
OnPlayerConnect ждем
- - - Добавлено - - -
Или у тебя после авторизации?!
- - - Добавлено - - -
Мы не телепаты,опиши все как можно точнее.
Мод на мускуле, именно вот заходишь на сервер, после строчки "Connected. Joining the game...", сразу же "server closed the connection".
Какой паблик дать?
Onplayerconnect пуст.
Код:public OnPlayerConnect(playerid)
{
ClearVars(playerid);
for(new i=0;i<47;i++) Weapons[playerid][i]=0;//îáíóëåíèå
TextDrawShowForPlayer(playerid,Logotype[playerid]);
BanAdmin[playerid] = 0;
timereg[playerid] = 30;
TempAdmin[playerid] = false;
mask[playerid] = 0;
heal[playerid] = 0;
plafk[playerid] = -2;
new string[256];
f(string,"{F6FE01}* %s[ID:%d] {0EFE01}àâòîðèçîâàëñÿ íà ñåðâåðå",sendername(playerid),playerid);
SendZax(-1,string);
PlayerInfo[playerid][pNick] = sendername(playerid);
return true;
}
Смотри и проверяй все свои функции Kick, которые срабатывают ДО авторизации. Это может быть античит не верно сделанный, к примеру..
Kick....
что за бред?PHP код:
PlayerInfo[playerid][pNick] = sendername(playerid);
Используй лучше вот так
strmid(PlayerInfo[playerid][pNick], sendername(playerid), 0, strlen(sendername(playerid), 24);
Все случаи использования Kick в студию.
Код:forward KickTimer(playerid);
Код:stock GKick(playerid, time = 150)
{
if(GetPVarInt(playerid, "Kick") == -1) Kick(playerid);
else if(!GetPVarInt(playerid, "Kick")) SetPVarInt(playerid, "Kick", SetTimerEx("KickTimer", time, 0, "d", playerid));
else
{
KillTimer(GetPVarInt(playerid, "Kick"));
SetPVarInt(playerid, "Kick", -1);
GKick(playerid);
}
return true;
}
Код:public OnPlayerSpawn(playerid)
{
SetPVarInt(playerid, "NoAB", 1);
if(gLogAcc[playerid] == false)return GKick(playerid);
TextDrawHideForPlayer(playerid,Speedo[playerid][0]);
TextDrawHideForPlayer(playerid,Speedo[playerid][1]);
TextDrawHideForPlayer(playerid,Speedo[playerid][2]);
TextDrawHideForPlayer(playerid,Speedo[playerid][3]);
TextDrawHideForPlayer(playerid,Speedo[playerid][4]);
TextDrawHideForPlayer(playerid,StartSkin[playerid][0]);
TextDrawHideForPlayer(playerid,StartSkin[playerid][1]);
TextDrawHideForPlayer(playerid,StartSkin[playerid][2]);
TextDrawHideForPlayer(playerid,StartSkin[playerid][3]);
CancelSelectTextDraw(playerid);
DeletePVar(playerid,"ShowTD");
SetPlayerSkin(playerid,GetPVarInt(playerid,"startskin"));
TogglePlayerControllable(playerid, 1);
SetPlayerScore(playerid,PlayerInfo[playerid][pKills]);
SetPlayerSpawn(playerid);
plafk[playerid] = 0;
return true;
}
Код:stock ShowPlayerBanInfo(playerid)
{
new string[256],str[128];
f(str, ""c_Kick"* Àêêàóíò ïîä íèêîì %s çàáàíåí.\n\n",sendername(playerid));
strcat(string,str);
f(str, "* Íèê àäìèíèñòðàòîðà: \t%s\n",PlayerInfo[playerid][pBanAdmin]);
strcat(string,str);
f(str, "* Ïðè÷èíà:\t\t\t%s\n",PlayerInfo[playerid][pBanReason]);
strcat(string,str);
f(str, "* Äàòà áàíà:\t\t\t%s\n",PlayerInfo[playerid][pBanDate]);
strcat(string,str);
f(str, "* Äàòà ðàçáàíà:\t\t\t%s",date("%dd.%mm.%yyyy",PlayerInfo[playerid][pBanTime339]));
strcat(string,str);
ShowDialog(playerid,dg_iBan,DIALOG_STYLE_MSGBOX,""c_Yellow"Banned",string,"Ok","");
GKick(playerid);
}
Код:public OnPlayerSpawn(playerid)
{
SetPVarInt(playerid, "NoAB", 1);
if(gLogAcc[playerid] == false)return GKick(playerid);
Код:case dg_Log:
{
gPlayerLogged[playerid] = true;
if(!response)return GKick(playerid);
if(!strlen(inputtext))return ShowDialog(playerid,dg_Log,DIALOG_STYLE_PASSWORD,""c_Blue"• DGO DM •","{FFFFFF}Добро пожаловать на сервер "c_Yellow"DGO DM\n{FFFFFF}Ваш ник "c_Green"зарегистрирован{FFFFFF} на сервере\n\nВведите пароль:","Войти","Отмена");
OnPlayerLogin(playerid,(inputtext));
SetPVarString(playerid, "Pass", inputtext);
PHP код:
gPlayerLogged[playerid] = true;
У тебя переменные различаются,исправь.PHP код:
if(gLogAcc[playerid] == false)return GKick(playerid);