Anthony_Harison
Новичок
Дело вот в чем.
За основу когда то брал Sun City*...
Переделал его, исправил все не доработки.
Вообщем все, проект готов к запуску, но тут такая проблема.
Поставил его на хостинг(пробовал 3 разных) и при нажатии кнопки "спавн", сервер крашится.
При этом, под виндой все работает гуд. А вот с линуксом ...
В логах ничего нет, он просто обрывается.
Скачал SunCity поставил и там такая же фигня.
Чекал мускул - подключение успешное, все загружается.
Ломаю голову уже который день.
Лог кончается словами: "игрок" успешно использовал диалог номер "бла бла бла"
В этом диалоге есть функция loadaccount
Диалог о котором говорить в логе:
Функция диалога:
Вот собственно и функция, но как мне кажется в ней все гуд(Это при логине).
А вот функция регистрации(что при логине что при реге - крашит)
Ребят, прошу помощи.
Если получиться - постараюсь вознаградить.
За основу когда то брал Sun City*...
Переделал его, исправил все не доработки.
Вообщем все, проект готов к запуску, но тут такая проблема.
Поставил его на хостинг(пробовал 3 разных) и при нажатии кнопки "спавн", сервер крашится.
При этом, под виндой все работает гуд. А вот с линуксом ...
В логах ничего нет, он просто обрывается.
Скачал SunCity поставил и там такая же фигня.
Чекал мускул - подключение успешное, все загружается.
Ломаю голову уже который день.
Лог кончается словами: "игрок" успешно использовал диалог номер "бла бла бла"
В этом диалоге есть функция loadaccount
Диалог о котором говорить в логе:
PHP:
ShowPlayerDialog(playerid,D_Vubors,2,"{FFA500}[Регистрация]{ffffff} Шаг 5/5 {33AA33}[Выбор спавна]","[1]Проживающий в штате\n[2]После несчастного случая\n[3]Житель деревни","Принять","Отмена");
PHP:
case D_Vubors:
{
if(response)
{
switch(listitem)
{
case 0:
{
PlayerInfo[playerid][pSpawnz] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "Вы выбрали место спавна - Проживающий в штате");
SendClientMessage(playerid, COLOR_YELLOW, "Ваш аккаунт успешно активирован!");
SendClientMessage(playerid, COLOR_YELLOW, "Для помощи используйте /menu, поиск мест: /gps");
ShowPlayerDialog(playerid,D_Vubors_select,DIALOG_STYLE_MSGBOX,"Проживающий в штате","Вы выбрали историю, проживающий в штате. \n Вы обычный житель житель штата San Andreas. \n вы роделись и выросли в этих краях.","Продолжить", "");
CreateAccount(playerid, PlayerInfo[playerid][pPassword]);
SpawnPlayer(playerid);
PlayerInfo[playerid][pLic][0] = 1;
}
case 1:
{
PlayerInfo[playerid][pSpawnz] = 2;
SendClientMessage(playerid, COLOR_YELLOW, "Вы выбрали место спавна - После несчастного случая");
SendClientMessage(playerid, COLOR_YELLOW, "Ваш аккаунт успешно активирован!");
SendClientMessage(playerid, COLOR_YELLOW, "Для помощи используйте /menu, поиск мест: /gps");
CreateAccount(playerid, PlayerInfo[playerid][pPassword]);
SpawnPlayer(playerid);
PlayerInfo[playerid][pLic][0] = 1;
}
case 2:
{
PlayerInfo[playerid][pSpawnz] = 3;
SendClientMessage(playerid, COLOR_YELLOW, "Вы выбрали место спавна - Житель деревни");
SendClientMessage(playerid, COLOR_YELLOW, "Ваш аккаунт успешно активирован!");
SendClientMessage(playerid, COLOR_YELLOW, "Для помощи используйте /menu, поиск мест: /gps");
CreateAccount(playerid, PlayerInfo[playerid][pPassword]);
SpawnPlayer(playerid);
PlayerInfo[playerid][pLic][0] = 1;
}
}
}
}
PHP:
stock LoadAccount(playerid)
{
new string[64];
new playername[32];
GetPlayerName(playerid,playername,32);
format(query,256, "SELECT * FROM "TABLE_ACCOUNT" WHERE name = '%s' LIMIT 1",playername);
if(!mysql_ping()) mysql_reconnect();
mysql_query(query);
mysql_store_result();
if(mysql_fetch_row(query) == 1)
{
sscanf(query, "p<|>is[32]s[32]s[16]is[32]s[64]iiiis[16]iiiiiiis[16]s[40]s[160]iiiiis[16]s[20]iiiis[32]s[32]fiiiiis[32]s[32]iiiiiiiiiiiiiiiiiiiiiiifiiiiiiiiiiiiiiiiiiis[128]iifffi",
PlayerInfo[playerid][pID],
PlayerInfo[playerid][pSendername],
PlayerInfo[playerid][pPassword],
PlayerInfo[playerid][pIP],
PlayerInfo[playerid][pAdmin],
PlayerInfo[playerid][pIpPassword],
PlayerInfo[playerid][pMail],
PlayerInfo[playerid][pLevel],
PlayerInfo[playerid][pCash],
PlayerInfo[playerid][pBank],
PlayerInfo[playerid][pExp],
PlayerInfo[playerid][pRegData],
PlayerInfo[playerid][pLeader],
PlayerInfo[playerid][pMember],
PlayerInfo[playerid][pRank],
PlayerInfo[playerid][pWarn],
PlayerInfo[playerid][pSex],
PlayerInfo[playerid][pModel],
PlayerInfo[playerid][pChar],
PlayerInfo[playerid][pLics],
PlayerInfo[playerid][pGuns],
PlayerInfo[playerid][pAmmos],
PlayerInfo[playerid][pGunSkill][6],
PlayerInfo[playerid][pMuted],
PlayerInfo[playerid][pPick],
PlayerInfo[playerid][pCheckTime],
PlayerInfo[playerid][pNews],
PlayerInfo[playerid][pPhones],
PlayerInfo[playerid][pTexts],
PlayerInfo[playerid][pJail],
PlayerInfo[playerid][pJailTime],
PlayerInfo[playerid][pWanted],
PlayerInfo[playerid][pWantedTime],
PlayerInfo[playerid][pWantedWho],
PlayerInfo[playerid][pWantedReason],
PlayerInfo[playerid][pHeal],
PlayerInfo[playerid][pDrugs],
PlayerInfo[playerid][pMats],
PlayerInfo[playerid][pCrimes],
PlayerInfo[playerid][pJob],
PlayerInfo[playerid][pMarried],
PlayerInfo[playerid][pWhoMarried],
PlayerInfo[playerid][pReferal],
PlayerInfo[playerid][pRefMoney],
PlayerInfo[playerid][pPayCheck],
PlayerInfo[playerid][pFish],
PlayerInfo[playerid][pLottery],
PlayerInfo[playerid][pVIP],
PlayerInfo[playerid][pTime],
PlayerInfo[playerid][pFightStyle],
PlayerInfo[playerid][pCredits],
PlayerInfo[playerid][pTotalCredits],
PlayerInfo[playerid][pSkin1],
PlayerInfo[playerid][pSkin2],
PlayerInfo[playerid][pSkin3],
PlayerInfo[playerid][pSpawnChange],
PlayerInfo[playerid][pGunSkill][0],
PlayerInfo[playerid][pGunSkill][1],
PlayerInfo[playerid][pGunSkill][2],
PlayerInfo[playerid][pGunSkill][3],
PlayerInfo[playerid][pGunSkill][4],
PlayerInfo[playerid][pGunSkill][5],
PlayerInfo[playerid][pRPR],
PlayerInfo[playerid][pGlasses],
PlayerInfo[playerid][pSatiety],
PlayerInfo[playerid][pRPRGive],
PlayerInfo[playerid][pHealthS],
PlayerInfo[playerid][pSportEXP],
PlayerInfo[playerid][pOnline],
PlayerInfo[playerid][pZakon],
PlayerInfo[playerid][pBolezn],
PlayerInfo[playerid][ProverkaIP],
PlayerInfo[playerid][pHospital],
PlayerInfo[playerid][pWatch],
PlayerInfo[playerid][pCiggare],
PlayerInfo[playerid][pSprunk],
PlayerInfo[playerid][pMask],
PlayerInfo[playerid][pPhoneBalance],
PlayerInfo[playerid][pTruckSkill],
PlayerInfo[playerid][cModel],
PlayerInfo[playerid][cClass],
PlayerInfo[playerid][cFuel],
PlayerInfo[playerid][cColor][0],
PlayerInfo[playerid][cColor][1],
PlayerInfo[playerid][cLock],
PlayerInfo[playerid][cCost],
PlayerInfo[playerid][cVehcom],
PlayerInfo[playerid][cPaintjob],
PlayerInfo[playerid][pSpawnz],
PlayerInfo[playerid][pPoss_x],
PlayerInfo[playerid][pPoss_y],
PlayerInfo[playerid][pPoss_z],
PlayerInfo[playerid][pSpawnC]);
mysql_free_result();
sscanf(PlayerInfo[playerid][cVehcom], "p<,>a<i>[14]",PlayerInfo[playerid][cVehcoms]);
LoadMyCar(playerid);
PlayerLogged[playerid] = true;
TimeLogged[playerid] = -1;
// TextDrawShowForPlayer(playerid,Text:Textdraw2);
sscanf(PlayerInfo[playerid][pTexts], "p<,>a<i>[3]", PlayerInfo[playerid][pText]);
sscanf(PlayerInfo[playerid][pPhones], "p<,>a<i>[3]", PlayerInfo[playerid][pPhone]);
sscanf(PlayerInfo[playerid][pLics], "p<,>a<i>[5]",PlayerInfo[playerid][pLic]);
if(PlayerInfo[playerid][pAdmin] > 0) AdminLogged[playerid] = true, SendClientMessage(playerid, COLOR_YELLOW,"Äîáðî ïîæàëîâàòü, äîðîãîé àäìèíèñòðàòîð");
if(PlayerInfo[playerid][pLeader] > 0) SendMes(playerid, COLOR_WHITE, "[F] %s ïðèâåòñòâóåò âàñ êàê ðóêîâîäèòåëÿ",FracInfo[PlayerInfo[playerid][pLeader]][fName]);
if(PlayerInfo[playerid][pMember] > 0 && strcmp(PlayerInfo[playerid][pSendername],FracInfo[PlayerInfo[playerid][pMember]][fAssistant],true) == 0) SendMes(playerid, COLOR_YELLOW, "Âû âîøëè êàê çàìåñòèòåëü: %s",FracInfo[PlayerInfo[playerid][pMember]][fName]);
if(PlayerInfo[playerid][pVIP] == true) SendClientMessage(playerid, COLOR_GREEN, "Âîçìîæíîñòè VIP àêêàóíòà àêòèâèðîâàíû, ïðèÿòíîé èãðû!");
format(string, 64, "~w~Welcome ~n~~b~ %s", PlayerInfo[playerid][pSendername]);
GameTextForPlayer(playerid, string, 3500, 1);
PlayerPlaySound(playerid, 30800, 0.0, 0.0, 0.0);
if (PlayerInfo[playerid][pText][0] == 1)
{
SendClientMessage(playerid, COLOR_YELLOW, "[ÊÂÈÒÀÍÖÈß] Âû çàáûëè îïëàòèòü çà êâàðïëàòó, âàø äîì ïðîäàëè!");
SendClientMessage(playerid, COLOR_YELLOW, "[ÊÂÈÒÀÍÖÈß] Íà âàø áàíêîâñêèé ñ÷åò âîçâðàùåíà ñòîèìîñòü äîìà ïî ãîñ-âó");
PlayerInfo[playerid][pText][0] = 0;
format(PlayerInfo[playerid][pTexts], 20, "%i, %i, %i", PlayerInfo[playerid][pText][0], PlayerInfo[playerid][pText][1], PlayerInfo[playerid][pText][2]);
format(query, 256, "UPDATE "TABLE_ACCOUNT" SET text = '%s' WHERE name = '%s'", PlayerInfo[playerid][pTexts], PlayerInfo[playerid][pSendername]);
mysql_query(query);
}
if(PlayerInfo[playerid][pText][1] == 1)
{
SendClientMessage(playerid, COLOR_YELLOW,"[ÍÀËÎÃÎÂÀß ÑËÓÆÁÀ] Âàø áèçíåñ çàêðûëè â ñâÿçè ñ íåõâàòêîé ðåñóðñîâ");
SendClientMessage(playerid, COLOR_YELLOW,"[ÍÀËÎÃÎÂÀß ÑËÓÆÁÀ] Áþäæåò áèçíåñà çà÷èñëåí íà âàø áàíêîâñêèé ñ÷åò");
PlayerInfo[playerid][pText][1] = 0;
format(PlayerInfo[playerid][pTexts], 20, "%i, %i, %i", PlayerInfo[playerid][pText][0], PlayerInfo[playerid][pText][1], PlayerInfo[playerid][pText][2]);
format(query, 256, "UPDATE "TABLE_ACCOUNT" SET text = '%s' WHERE name = '%s'", PlayerInfo[playerid][pTexts], PlayerInfo[playerid][pSendername]);
mysql_query(query);
}
if(PlayerInfo[playerid][pText][2] == 1)
{
new p = PlayerInfo[playerid][pRefMoney] / 100000;
for(new i = 1; i <= p; i++)
{
GiveMoney(playerid, 100000);
PlayerInfo[playerid][pRefMoney] -= 100000;
}
PlayerInfo[playerid][pText][2] = 0;
format(PlayerInfo[playerid][pTexts], 20, "%i, %i, %i", PlayerInfo[playerid][pText][0], PlayerInfo[playerid][pText][1], PlayerInfo[playerid][pText][2]);
format(query, 256, "UPDATE "TABLE_ACCOUNT" SET text = '%s', refmoney WHERE name = '%s'", PlayerInfo[playerid][pTexts], PlayerInfo[playerid][pRefMoney], PlayerInfo[playerid][pSendername]);
mysql_query(query);
}
if(PlayerInfo[playerid][pGunSkill][6] >= NORM_SKILLS_PLAYER) VehRe[playerid] = true;
new str123[12];
GetPlayerIp(playerid,str123,12);
format(string, 64, "%s çàøåë â àêêàóíò ñ ip: %s",PlayerInfo[playerid][pSendername],str123);
SetSpawnInfo(playerid, 255, PlayerInfo[playerid][pModel], 0, 0, 0, 1.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(playerid);
Log("LogInfo",string);
DeletePVar(playerid,"Acc");
SetPlayerInt(PlayerInfo[playerid][pSendername], "online", 1);
}
return true;
}
PHP:
stock CreateAccount(playerid, pass[])
{
if(IsTextInvalid(pass)) return SendClientMessage(playerid,-1,"В пароле должны быть только буквы и цифры"),Kick(playerid);
new ip[16],data[16];
format(data, 16, "%s",date("%dd.%mm.%yyyy",gettime()));
GetPlayerIp(playerid, ip, 16);
new radio = random(sizeof(RADIO));
format(query, 512, "INSERT INTO "TABLE_ACCOUNT" (name, password, ip, datareg, sex, model, news, mail, referal, spawnz) VALUES ('%s', '%s', '%s', '%s', %d , %d, %d, '%s', '%s', '%d')"
, PlayerInfo[playerid][pSendername], pass, ip, data,PlayerInfo[playerid][pSex], PlayerInfo[playerid][pModel], radio, PlayerInfo[playerid][pMail], PlayerInfo[playerid][pReferal], PlayerInfo[playerid][pSpawnz]);
mysql_query(query);
LoadAccount(playerid);
return true;
}
Если получиться - постараюсь вознаградить.
Последнее редактирование:
