PDA

Просмотр полной версии : [Вопрос] вопрос по созданию фракции



xxlex
23.09.2016, 16:55
Добрый день, написал /makeleader команду. Лидерка дается, но когда перезахожу в игру опять появляюсь на респе в бомжатне т.е. лидерка не сохраняется. Объясните как сделать чтобы сохранялась.


CMD:makeleader(playerid, params[])
{
new string[128];
new member[5];
if(Player[playerid][pAdmin] < 6) return ESCM;
if(sscanf(params, "ii", params[0], params[1])) return SCM(playerid, COLOR_WHITE, "Введите: /makeleader [id] [id фракции]");
if(!IsPlayerConnected(params[0])) return ISCM;
if(Login[params[0]] == false) return LSCM;
if(params[1] < 0 || params[1] > 1) return SCM(playerid, COLOR_GREY, "Ид лидерки не может быть меньше 0 или больше 1!");
if(params[1] == 0)
{
Player[params[0]] [pMember] = 0;
Player[params[0]] [pRank] = 0;
SetPlayerArmour(params[0], 0.0);
ResetPlayerWeapons(params[0]);
SetPlayerSkin(params[0], Player[params[0]][pSkin]);
Clist(params[0]);
f("Администратор %s снял вас с должности Лидера", GN(playerid));
SCM(params[0], COLOR_BLUE, string);
f("Администратор %s снял с должности Лидера игрока %s[%d]", GN(playerid), GN(params[0]), params[0]);
AdmChat(0xFFD061FF, string);
return true;
}
Player[params[0]][pMember] = params[1];
Player[params[0]][pRank] = 14;
SetPlayerArmour(params[0], 0.0);
ResetPlayerWeapons(params[0]);
switch (params[1])
{
case 1:
{
if(Player[params[0]][pSex] == 1) Player[params[0]][pModel] = 283;
else Player[params[0]][pModel] = 76;
member = "LSPD";
}
}
SetPlayerSkin(params[0], Player[params[0]][pModel]);
SetPlayerHealth(params[0], 100.0);
Clist(params[0]);
f("Администратор %s назначил вас на должность Лидера фракции %s", GN(playerid), member);
SCM(params[0], COLOR_BLUE, string);
f("Администратор %s назначил на должность Лидера %s игрока %s[%d]", GN(playerid), member, GN(params[0]), params[0]);
return true;
}

HarrWe
23.09.2016, 17:17
Сохранение и загрузку аккаунта в студию!

xxlex
23.09.2016, 18:21
stock SavePlayer(i)
{
new src[128];
new query[450];
format(query,sizeof(query),"UPDATE `accounts` SET ");
format(src,sizeof(src),"`Level` = %d,",Player[i][pLevel]);
strcat(query,src);
format(src,sizeof(src),"`Money` = %d,",Player[i][pMoney]);
strcat(query,src);
format(src,sizeof(src),"`Strana` = %d,",Player[i][pStrana]);
strcat(query,src);
format(src,sizeof(src),"`Sex` = %d,",Player[i][pSex]);
strcat(query,src);
format(src,sizeof(src),"`Skin` = %d,",Player[i][pSkin]);
strcat(query,src);
format(src,sizeof(src),"`Admin` = %d,",Player[i][pAdmin]);
strcat(query,src);
format(src,sizeof(src),"`Passport` = %d,",Player[i][pPassport]);
strcat(query,src);
format(src,sizeof(src),"`Age` = %d,",Player[i][pAge]);
strcat(query,src);
format(src,sizeof(src),"`Member` = %d,",Player[i][pMember]);
strcat(query,src);
format(src,sizeof(src),"`Rank` = %d,",Player[i][pRank]);
strcat(query,src);
format(src,sizeof(src),"`Model` = %d,",Player[i][pModel]);
strcat(query,src);
format(src,sizeof(src),"`Warn` = %d,",Player[i][pWarn]);
strcat(query,src);
format(src,sizeof(src),"`Warn Time` = %d,",Player[i][pWarnTime]);
strcat(query,src);
format(src,sizeof(src),"`Donate` = %d,",Player[i][pDonate]);
strcat(query,src);
format(src,sizeof(src),"`Status` = %d,",Player[i][pTitle]);
strcat(query,src);
format(src,sizeof(src),"`Exp` = %d,",Player[i][pExp]);
strcat(query,src);
format(src,sizeof(src),"`Gruz Skill 1` = %d,",Player[i][pLoadSkill][0]);
strcat(query,src);
format(src,sizeof(src),"`Gruz Skill 2` = %d,",Player[i][pLoadSkill][1]);
strcat(query,src);
format(src,sizeof(src),"`Gruz Skill 3` = %d,",Player[i][pLoadSkill][2]);
strcat(query,src);
format(src,sizeof(src),"`Waxt Skill 1` = %d,",Player[i][pMineSkill][0]);
strcat(query,src);
format(src,sizeof(src),"`Waxt Skill 2` = %d,",Player[i][pMineSkill][1]);
strcat(query,src);
format(src,sizeof(src),"`Waxt Skill 3` = %d,",Player[i][pMineSkill][2]);
strcat(query,src);
format(src,sizeof(src),"`Unic 1` = %d,",Player[i][pUnique][0]);
strcat(query,src);
format(src,sizeof(src),"`Unic 2` = %d,",Player[i][pUnique][1]);
strcat(query,src);
format(src,sizeof(src),"`Unic 3` = %d,",Player[i][pUnique][2]);
strcat(query,src);
format(src,sizeof(src),"`Unic 4` = %d,",Player[i][pUnique][3]);
strcat(query,src);
format(src,sizeof(src),"`Mute` = %d,",Player[i][pMute]);
strcat(query,src);
format(src,sizeof(src),"`Admin Pass` = '%s',",Player[i][pAkey]);
strcat(query,src);
format(src,sizeof(src),"`Admin Proverka` = %d,",Player[i][pAkeys]);
strcat(query,src);
format(src,sizeof(src),"`House` = %d,",Player[i][pHouse]);
strcat(query,src);
format(src,sizeof(src),"`Pass` = '%s'",Player[i][pPass]);
strcat(query,src);
format(src,sizeof(src)," WHERE `Name`= '%s'",Player[i][pName]);
strcat(query,src,sizeof(query));
mysql_function_query(Connection, query, false, "", "");
Player[i][pMoney] = Money(i);
}

publics OnLogin(i)
{
new rows;
new fields;
new string[200];
cache_get_data(rows, fields);
if(Attempt[i] == false)
{
if(!rows)
{
switch(Password[i])
{
case 0:
{
f("{EDEDED}%s! {EDEDED}Добро пожаловать на сервер {BA58FF}Criminal Role Play\n\n{EDEDED}Ваш аккаунт зарегистрирован\nпросим вас ввести свой пароль, для начала игры:", GN(i));
SPD(i, 27, DSP, "{999999}Авторизация", string, "Далее", "Выход");
SCM(i, COLOR_LIGHTRED, "Вы неверно ввели пароль от аккаунта. У вас осталось 2 попытки!");
Password[i] = 1;
}
case 1:
{
f("{EDEDED}%s! {EDEDED}Добро пожаловать на сервер {BA58FF}Criminal Role Play\n\n{EDEDED}Ваш аккаунт зарегистрирован\nпросим вас ввести свой пароль, для начала игры:", GN(i));
SPD(i, 27, DSP, "{999999}Авторизация", string, "Далее", "Выход");
SCM(i, COLOR_LIGHTRED, "Вы неверно ввели пароль от аккаунта. У вас осталось 1 попытка!");
Password[i] = 2;
}
case 2:
{
SCM(i, COLOR_LIGHTRED, "Вы неверно ввели пароль от аккаунта. Вы будете кикнуты с сервера!");
Kickk(i);
}
}
}
else
{
cache_get_field_content(0, "Pass",Player[i][pPass],Connection,20);
cache_get_field_content(0, "Mail",Player[i][pMail],Connection,50);
cache_get_field_content(0, "Admin Pass", Player[i][pAkey], Connection, 20);
Player[i][pLevel] = cache_get_field_content_int(0,"Level");
Player[i][pMoney] = cache_get_field_content_int(0,"Money");
Player[i][pMember]= cache_get_field_content_int(0,"Member");
Player[i][pRank]= cache_get_field_content_int(0,"Rank");
Player[i][pModel]= cache_get_field_content_int(0,"Model");
Player[i][pSex] = cache_get_field_content_int(0,"Sex");
Player[i][pSkin] = cache_get_field_content_int(0,"Skin");
Player[i][pAdmin] = cache_get_field_content_int(0,"Admin");
Player[i][pPassport] = cache_get_field_content_int(0,"Passport");
Player[i][pStrana] = cache_get_field_content_int(0,"Strana");
Player[i][pAge] = cache_get_field_content_int(0,"Age");
Player[i][pWarn] = cache_get_field_content_int(0, "Warn");
Player[i][pWarnTime] = cache_get_field_content_int(0, "Warn Time");
Player[i][pDonate] = cache_get_field_content_int(0, "Donate");
Player[i][pTitle] = cache_get_field_content_int(0, "Status");
Player[i][pExp] = cache_get_field_content_int(0, "Exp");
Player[i][pLoadSkill][0] = cache_get_field_content_int(0, "Gruz Skill 1");
Player[i][pLoadSkill][1] = cache_get_field_content_int(0, "Gruz Skill 2");
Player[i][pLoadSkill][2] = cache_get_field_content_int(0, "Gruz Skill 3");
Player[i][pMineSkill][0] = cache_get_field_content_int(0, "Waxt Skill 1");
Player[i][pMineSkill][1] = cache_get_field_content_int(0, "Waxt Skill 2");
Player[i][pMineSkill][2] = cache_get_field_content_int(0, "Waxt Skill 3");
Player[i][pUnique][0] = cache_get_field_content_int(0, "Unic 1");
Player[i][pUnique][1] = cache_get_field_content_int(0, "Unic 2");
Player[i][pUnique][2] = cache_get_field_content_int(0, "Unic 3");
Player[i][pUnique][3] = cache_get_field_content_int(0, "Unic 4");
Player[i][pMute] = cache_get_field_content_int(0, "Mute");
Player[i][pAkeys] = cache_get_field_content_int(0, "Admin Proverka");
Player[i][pHouse] = cache_get_field_content_int(0, "House");
if(Player[i][pWarn] > 0)
{
if(gettime() <= Player[i][pWarnTime])
{
UnBanDate = gettime() + 30*86400;
Player[i][pWarn] -= 1;
Player[i][pWarnTime] = UnBanDate;
}
}
Login[i] = true;
f("~w~WelCome ~n~~y~%s", GN(i));
GameTextForPlayer(i, string, 5000, 1);
SpawnPlayer(i);
TimerPayDay[i] = SetTimerEx("PayDayTime", 1000*1800, false, "i", i);
KillTimer(TimerAcc[i]);
}
}
else
{
if(rows == 1)
{
SCM(i, COLOR_GREEN, "Пароль принят!");
SPD(i, 16, DSI, "{999999}Смена пароля", "{EDEDED}Пожалуйста, введите свой новый пароль в окошко:", "Далее", "Назад");
}
else
{
SCM(i, COLOR_RED, "Пароль введён неверно!");
SPD(i, 15, DSI, "{999999}Смена пароля", "{EDEDED}Пожалуйста, введите свой старый пароль в окошко:", "Далее", "Назад");
}
}
return true;
}

qwezert
24.09.2016, 16:15
Дебагом выводи переменные кототыре отвечают за хранение ида лидерки. Смотри что в них сохраняется(если сохраняется) и смотри при загрузке выполняются ли проверки.