PDA

Просмотр полной версии : [Вопрос] Баг при входе.



iDiego
20.10.2014, 23:31
В общем, ребят, дело в том, что когда игрок логиниться на сервер, ему через раз пишет "server closed the connection" частенько такое бывает.
В чем может быть проблема? Прошу помощи.

#ball
21.10.2014, 00:13
OnPlayerConnect ждем

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

Или у тебя после авторизации?!

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

Мы не телепаты,опиши все как можно точнее.

iDiego
21.10.2014, 15:06
Мод на мускуле, именно вот заходишь на сервер, после строчки "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;
}

wAx
21.10.2014, 15:16
Смотри и проверяй все свои функции Kick, которые срабатывают ДО авторизации. Это может быть античит не верно сделанный, к примеру..

Sersoftin
21.10.2014, 17:28
Kick....

Valera_Trefilov
21.10.2014, 17:47
PlayerInfo[playerid][pNick] = sendername(playerid);

что за бред?
Используй лучше вот так

strmid(PlayerInfo[playerid][pNick], sendername(playerid), 0, strlen(sendername(playerid), 24);

DeimoS
21.10.2014, 18:31
Все случаи использования Kick в студию.

iDiego
23.10.2014, 13:45
Все случаи использования 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);

#ball
23.10.2014, 21:00
gPlayerLogged[playerid] = true;

if(gLogAcc[playerid] == false)return GKick(playerid);

У тебя переменные различаются,исправь.