Microsoft Visual C++ 2015 года установлен? Именно для 32-битной версии.
Вообще заскринь то, какие у тебя MV C++ установлены
Microsoft Visual C++ 2015 года установлен? Именно для 32-битной версии.
Вообще заскринь то, какие у тебя MV C++ установлены
спасибо, помогло с 2к15 визуалом)!! пол месяца не понимал в чем беда, спасибо!:crazy:
Вот вопросик про ORM когда я зарегистрировал аккаунт перезашел без выключение сервера все норм, а когда я полность выключил сервер samp-servers то после переподключение я захожу пишет что ник зарегистрирован но идет функция опять выбор пола ну вот код если поможешь или объясни мою ошибку
Буду ждать ответа.PHP код:
public OnPlayerLogin(playerid)
{
Avtorization{playerid} = 1;
// format(mysql_logs, sizeof(mysql_logs), "SELECT * FROM `accaunts` WHERE `pName` = '%s'", PlayerInfo[playerid][pName]);
// mysql_query(MYSQL, mysql_logs);
new r, d;
cache_get_data(r, d);
if(r)
{
for(new i = 0; i < r; i++)
{
new ORM: ormid = orm_create("SELECT * FROM `accaunts` WHERE `pName` = '%s'");
orm_addvar_string(ormid, PlayerInfo[i][pName], 32, "pName");
orm_addvar_string(ormid, PlayerInfo[i][pPassword], 32, "pPassword");
orm_addvar_int(ormid, PlayerInfo[i][pLevel], "pLevel");
orm_addvar_int(ormid, PlayerInfo[i][pMoney], "pMoney");
orm_addvar_int(ormid, PlayerInfo[i][pJob], "pJob");
orm_addvar_int(ormid, PlayerInfo[i][pExp], "pExp");
orm_addvar_int(ormid, PlayerInfo[i][pSkin], "pSkin");
orm_addvar_int(ormid, PlayerInfo[i][pTut], "pTut");
orm_addvar_int(ormid, PlayerInfo[i][pSex], "pSex");
orm_addvar_int(ormid, PlayerInfo[i][pReg], "pReg");
orm_addvar_int(ormid, PlayerInfo[i][pAdmin], "pAdmin");
orm_addvar_int(ormid, PlayerInfo[i][pWarn], "pWarn");
orm_addvar_int(ormid, PlayerInfo[i][pWarnTime], "pWarnTime");
orm_addvar_int(ormid, PlayerInfo[i][pBan], "pBan");
orm_addvar_int(ormid, PlayerInfo[i][pBanTime], "pBanTime");
orm_addvar_int(ormid, PlayerInfo[i][pMuted], "pMuted");
orm_addvar_int(ormid, PlayerInfo[i][pMutedTime], "pMutedTime");
orm_addvar_int(ormid, PlayerInfo[i][pZvezdi], "pZvezdi");
orm_addvar_int(ormid, PlayerInfo[i][pBizz], "pBizz");
orm_addvar_int(ormid, PlayerInfo[i][pBlockIP], "pBlockIP");
orm_addvar_int(ormid, PlayerInfo[i][pPayCheck], "pPayCheck");
orm_addvar_int(ormid, PlayerInfo[i][pMember], "pMember");
orm_addvar_int(ormid, PlayerInfo[i][pLeader], "pLeader");
orm_addvar_int(ormid, PlayerInfo[i][pRank], "pRank");
orm_addvar_int(ormid, PlayerInfo[i][pFrackSkin], "pFrackSkin");
orm_addvar_int(ormid, PlayerInfo[i][pDMgruz], "pDMgruz");
orm_addvar_int(ormid, PlayerInfo[i][pDLevel], "pDLevel");
orm_addvar_int(ormid, PlayerInfo[i][pDExp], "pDExp");
orm_addvar_int(ormid, PlayerInfo[i][pDgruz], "pDgruz");
orm_addvar_int(ormid, PlayerInfo[i][pMater], "pMater");
orm_addvar_int(ormid, PlayerInfo[i][pNarko], "pNarko");
orm_addvar_int(ormid, PlayerInfo[i][pFerma], "pFerma");
orm_addvar_int(ormid, PlayerInfo[i][pFermaJob], "pFermaJob");
orm_addvar_int(ormid, PlayerInfo[i][pKvartira], "pKvartira");
orm_addvar_int(ormid, PlayerInfo[i][pPodeezd], "pPodeezd");
orm_addvar_int(ormid, PlayerInfo[i][pJailed], "pJailed");
orm_addvar_int(ormid, PlayerInfo[i][pMestoJail], "pMestoJail");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][0], "pSlot[0]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][1], "pSlot[1]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][2], "pSlot[2]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][3], "pSlot[3]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][4], "pSlot[4]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][5], "pSlot[5]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][6], "pSlot[6]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][7], "pSlot[7]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][8], "pSlot[8]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][9], "pSlot[9]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][10], "pSlot[10]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][11], "pSlot[11]");
orm_addvar_int(ormid, PlayerInfo[i][pSlot][12], "pSlot[12]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][0], "pAmmo[0]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][1], "pAmmo[1]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][2], "pAmmo[2]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][3], "pAmmo[3]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][4], "pAmmo[4]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][5], "pAmmo[5]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][6], "pAmmo[6]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][7], "pAmmo[7]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][8], "pAmmo[8]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][9], "pAmmo[9]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][10], "pAmmo[10]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][11], "pAmmo[11]");
orm_addvar_int(ormid, PlayerInfo[i][pAmmo][12], "pAmmo[12]");
orm_addvar_string(ormid, PlayerInfo[i][pRegIp], 16, "pRegIp");
orm_addvar_string(ormid, PlayerInfo[i][pLastIP], 16, "pLastIP");
orm_addvar_string(ormid, PlayerInfo[i][pIp], 16, "pIp");
orm_apply_cache(ormid, i);
/* if(PlayerInfo[i][pReg] == 0)
{
PlayerInfo[i][pReg] = 1;
PlayerInfo[i][pTut] = 0;
PlayerInfo[i][pLevel] = 1;
PlayerInfo[i][pExp] = 0;
PlayerInfo[i][pWarn] = 0;
PlayerInfo[i][pWarnTime] = 0;
PlayerInfo[i][pBanTime] = 0;
PlayerInfo[i][pBan] = 0;
PlayerInfo[i][pMoney] = 0;
PlayerInfo[i][pJob] = 0;
PlayerInfo[i][pZvezdi] = 0;
PlayerInfo[i][pBizz] = 255;
PlayerInfo[i][pBlockIP] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pMember] = 0;
PlayerInfo[i][pLeader] = 0;
PlayerInfo[i][pRank] = 0;
PlayerInfo[i][pFrackSkin] = 0;
PlayerInfo[i][pMater] = 0;//Материалы
PlayerInfo[i][pNarko] = 0;//Наркотики
PlayerInfo[i][pFerma] = 255;
PlayerInfo[i][pFermaJob] = 255;
PlayerInfo[i][pKvartira] = -1;
}*/
//UnBan
if(PlayerInfo[i][pBlockIP] == 1)
{
SendClientMessage(i, COLOR_LIGHTRED, "Ваш IP адрес заблокирован!");
SetTimerEx("Kicks", 1000, false, "d", i);
return 0;
}
if(PlayerInfo[i][pBan] == 1 && PlayerInfo[i][pBanTime] > 1)
{
new unban = cache_get_field_content_int(0, "pBanTime");
if(gettime() > unban)
{
PlayerInfo[i][pBan] = 0;
PlayerInfo[i][pBanTime] = 0;
format(mysql_logs, sizeof(mysql_logs), "DELETE FROM `banlog` WHERE `BanName` = '%s'", PlayerInfo[i][pName]);
mysql_query(MYSQL, mysql_logs);//Добавляем данные из игры в базу данных MySqL
format(mysql_logs, sizeof(mysql_logs), "UPDATE `accaunts` SET `pBan` = '%d', `pBanTime` = '%d' WHERE `pName` = '%s'", PlayerInfo[i][pBan], PlayerInfo[i][pBanTime], PlayerInfo[i][pName]);
mysql_query(MYSQL, mysql_logs);
}
else
{
new string[90+MAX_PLAYER_NAME-2];
format(string, sizeof(string), "{FF7626}Ваш аккаунт заблокирован!\nДата разбана: %s", date("%dd.%mm.%yyyy %hh:%ii:%ss", unban));
ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "{FF7626}Внимание!", string, "Готово", "");
SetTimerEx("Kicks", 1000, false, "i", playerid);
return 0;
}
}
//UnWarn
if(PlayerInfo[i][pWarn] == 1 && PlayerInfo[i][pWarnTime] > 1)
{
new unwarn = cache_get_field_content_int(0, "pWarnTime");
if(gettime() > unwarn)
{
PlayerInfo[i][pWarn] = 0;
PlayerInfo[i][pWarnTime] = 0;
format(mysql_logs, sizeof(mysql_logs), "DELETE FROM `warnlog` WHERE `WarnName` = '%s'", PlayerInfo[i][pName]);
mysql_query(MYSQL, mysql_logs);//Добавляем данные из игры в базу данных MySqL
format(mysql_logs, sizeof(mysql_logs), "UPDATE `accaunts` SET `pWarn` = '%d', `pWarnTime` = '%d' WHERE `pName` = '%s'", PlayerInfo[i][pWarn], PlayerInfo[i][pWarnTime], PlayerInfo[i][pName]);
mysql_query(MYSQL, mysql_logs);
}
else
{
new string[50+MAX_PLAYER_NAME-2];
format(string, sizeof(string), "Warns[Аккаунт: %s][Дата снятия: %s]", PlayerInfo[playerid][pName], date("%dd.%mm.%yyyy %hh:%ii:%ss", unwarn));
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
/*Если pLastIP не совпадает с pRegIp и pIp значит игрок дает кому то поиграть на аккаунте спрашиваем у него*/
new ip[16];
GetPlayerIp(playerid, ip, sizeof(ip));//Узнали ип адрес и изменили в базе чтобы он не смог обмануть
format(mysql_logs, sizeof(mysql_logs), "UPDATE `accaunts` SET `pLastIP` = '%s' WHERE `pName` = '%s'", ip, PlayerInfo[i][pName]);
mysql_query(MYSQL, mysql_logs);
LoadLvL();
SetPlayerWeapons(i);
SaveAkk(i);
SpawnPlayer(i);
}
}
return 1;
}
Хоть и тема старая, но я в неё попал случайно через поиск. Почитал и могу сказать, что просто в шоке. Я впервые вижу столь подробное объяснение. Я думаю любой новичок, если внимательно будет тут всё читать, то поймёт, что к чему. Автор просто молодец.
Соглашусь с Danny_Marcelo MySQL освоил когда было полным 0 в Pawn, только благодаря Deimos`у и этому форуму)
Deimos эволюционировал. Руки так и чесались сделать эту картинку))
Полная картинка (http://ihost.pro-pawn.ru/image.php?di=W0BP)http://ihost.pro-pawn.ru/image.php?di=W0BP
Подскажите, почему при регистрации всегда выдается ID = 0. Спасибо.
http://rgho.st/6YxS5NyKy/thumb.png
Потому что ты устанавливаешь такой ID, для этого поля люди обычно включают AUTO_INCREMENT.
UPD, в статье об этом есть, видимо ты не поставил галочку у правой стрелки:
http://ihost.pro-pawn.ru/image.php?di=B2H8
Столкнулся с проблемой, эта проблема у многих кто пользуется этой регой!!!
В общем после авторизации игрока не срабатывает SpawnPlayer()
Авторизация проходит успешно! все данные загружаются от начала до конца, но вот всё что я пишу ниже вообще не работает.
т.е
PHP код:
LoadPlayerCar(playerid);
user_login{playerid} = true;
SpawnPlayer(playerid);
Если уберу половину запросов:PHP код:
public UploadPlayerAccount(playerid)
{
cache_get_value_name_int(false, "id", p_info[playerid][p_id]);
cache_get_value_name(false, "email", p_info[playerid][p_email], 64);
cache_get_value_name(false, "ip", p_info[playerid][p_ip], 16);
cache_get_value_name(false, "datareg", p_info[playerid][p_datareg], 12);
cache_get_value_name_int(false, "sex", p_info[playerid][p_sex]);
cache_get_value_name_int(false, "level", p_info[playerid][p_level]);
cache_get_value_name_int(false, "cash", p_info[playerid][p_cash]);
cache_get_value_name_int(false, "skin", p_info[playerid][p_skin]);
cache_get_value_name_int(false, "hp", p_info[playerid][p_hp]);
cache_get_value_name_int(false, "admin", p_info[playerid][p_admin]);
cache_get_value_name_int(false, "time", p_info[playerid][p_time]);
cache_get_value_name_int(false, "bank", p_info[playerid][p_bank]);
cache_get_value_name_int(false, "chat", p_info[playerid][p_chat]);
cache_get_value_name_int(false, "zakon", p_info[playerid][p_zakon]);
cache_get_value_name_int(false, "exp", p_info[playerid][p_exp]);
cache_get_value_name_int(false, "wanted", p_info[playerid][p_wanted]);
cache_get_value_name_int(false, "arest", p_info[playerid][p_arest]);
cache_get_value_name_int(false, "lic", p_info[playerid][p_lic]);
cache_get_value_name_int(false, "gribi", p_info[playerid][p_gribi]);
cache_get_value_name_int(false, "drugs", p_info[playerid][p_drugs]);
cache_get_value_name_int(false, "member", p_info[playerid][p_member]);
cache_get_value_name_int(false, "leader", p_info[playerid][p_leader]);
cache_get_value_name_int(false, "rang", p_info[playerid][p_rang]);
cache_get_value_name_int(false, "char", p_info[playerid][p_char]);
LoadPlayerCar(playerid);
user_login{playerid} = true;
SpawnPlayer(playerid);
return 1;
}
Всё начинает работать отлично.PHP код:
public UploadPlayerAccount(playerid)
{
cache_get_value_name_int(false, "id", p_info[playerid][p_id]);
cache_get_value_name(false, "email", p_info[playerid][p_email], 64);
cache_get_value_name(false, "ip", p_info[playerid][p_ip], 16);
cache_get_value_name(false, "datareg", p_info[playerid][p_datareg], 12);
cache_get_value_name_int(false, "sex", p_info[playerid][p_sex]);
cache_get_value_name_int(false, "level", p_info[playerid][p_level]);
cache_get_value_name_int(false, "cash", p_info[playerid][p_cash]);
cache_get_value_name_int(false, "skin", p_info[playerid][p_skin]);
cache_get_value_name_int(false, "hp", p_info[playerid][p_hp]);
LoadPlayerCar(playerid);
user_login{playerid} = true;
SpawnPlayer(playerid);
return 1;
}
Впервые слышу о данном баге и у самого таких проблем нет.
Подключай crashdetect и после того, как зайдёшь на сервер, скинь логи. А заодно и логи mysql