PDA

Просмотр полной версии : [Вопрос] Помогите с аккаунтами



Геннадий Акимов
10.09.2015, 13:55
у меня такая проблема захожу регистрируюсь
выхожу захожу в player/%s.ini
а у меня там вот это ((

Password = admin
Money = 300
Admin = 0
Skin = 0
Email = (мой маил)
pLevle =
pInt =
pMember =
pChar = '
pSex = 
pReferal =
pCash =
pExp =
pLicCar =
pPhousekey =
pRang =
pLeader =
pZvezd =
pNumber =
pDrugs =
pPatron =
pMats =

L0ndl3m
10.09.2015, 16:07
Без кода ничем не сможем вам помочь.

Геннадий Акимов
10.09.2015, 16:14
public OnPlayerConnect(playerid)
{
new string[42];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "players/%s.ini", sendername);
if(fexist(string)) SetPVarInt(playerid, "Account",1);
else SetPVarInt(playerid, "Account",0);
PlayerInfo[playerid][pSex] = 0;
PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][pChar] = 0;
PlayerInfo[playerid][pSkin] = 0;
PlayerInfo[playerid][pSkin1] = 0;
PlayerInfo[playerid][pInt] = 15;
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pSkin1] = 0;
PlayerInfo[playerid][pTut] = 0;
PlayerInfo[playerid][pHP] = 0;
PlayerInfo[playerid][pReferal] = 0;
PlayerInfo[playerid][pExp] = 0;
PlayerInfo[playerid][pZakon] = 0;
PlayerInfo[playerid][pLicCar] = 0;
PlayerInfo[playerid][pPbiskey] = 0;
PlayerInfo[playerid][pRang] = 0;
PlayerInfo[playerid][pCar] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pZvezd] = 0;
PlayerInfo[playerid][pNumber] = 0;
PlayerInfo[playerid][pDrugs] = 0;
PlayerInfo[playerid][pMats] = 0;
return 1;
}

#Vito
10.09.2015, 16:29
Это не то, кинь сохранение и создание аккаунта

Геннадий Акимов
10.09.2015, 18:30
stock LoginPlayer(playerid, inputtext[])
{
new string[40],pass[32];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string,sizeof(string), "players/%s.ini", sendername);
new File = ini_openFile(string);
ini_getString(File,"Password",pass,32);
if(strcmp(pass, inputtext, true) != 0)
{
Kick(playerid);
}
else
{
ini_getInteger(File,"Money",PlayerInfo[playerid][pMoney]);
ini_getInteger(File,"Admin",PlayerInfo[playerid][pAdmin]);
ini_getInteger(File,"Skin",PlayerInfo[playerid][pSkin]);
ini_getString(File,"Email",PlayerInfo[playerid][pEmail],64);
ini_getString(File,"pLevle",PlayerInfo[playerid][pLevel]);
ini_getString(File,"pInt",PlayerInfo[playerid][pInt]);
ini_getString(File,"pMember",PlayerInfo[playerid][pMember]);
ini_getString(File,"pSkin1",PlayerInfo[playerid][pSkin1]);
ini_getString(File,"pChar",PlayerInfo[playerid][pChar]);
ini_getString(File,"pSex",PlayerInfo[playerid][pSex]);
ini_getString(File,"pReferal",PlayerInfo[playerid][pReferal]);
ini_getString(File,"pCash",PlayerInfo[playerid][pCash]);
ini_getString(File,"pExp",PlayerInfo[playerid][pExp]);
ini_getString(File,"pLicCar",PlayerInfo[playerid][pLicCar]);
ini_getString(File,"pPhousekey",PlayerInfo[playerid][pPhousekey]);
ini_getString(File,"pRang",PlayerInfo[playerid][pRang]);
ini_getString(File,"pLeader",PlayerInfo[playerid][pLeader]);
ini_getString(File,"pZvezd",PlayerInfo[playerid][pZvezd]);
ini_getString(File,"pNumber",PlayerInfo[playerid][pNumber]);
ini_getString(File,"pDrugs",PlayerInfo[playerid][pDrugs]);
ini_getString(File,"pPatron",PlayerInfo[playerid][pPatron]);
ini_getString(File,"pMats",PlayerInfo[playerid][pMats]);
DeletePVar(playerid, "player_kick_time");
SpawnPlayer(playerid);
SetPVarInt(playerid, "Logged", 1);
}
return 1;
}

stock SavePlayer(playerid)
{
if(!IsPlayerConnected(playerid) && GetPVarInt(playerid, "Logged") == 0) return true;
new string[40];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string,sizeof(string), "players/%s.ini", sendername);
new File = ini_openFile(string);
ini_setInteger(File, "Money",PlayerInfo[playerid][pMoney]);
ini_setInteger(File,"Admin",PlayerInfo[playerid][pAdmin]);
ini_setInteger(File,"Skin",PlayerInfo[playerid][pSkin]);
ini_setString(File,"Email",PlayerInfo[playerid][pEmail]);
ini_setString(File,"pLevle",PlayerInfo[playerid][pLevel]);
ini_setString(File,"pInt",PlayerInfo[playerid][pInt]);
ini_setString(File,"pMember",PlayerInfo[playerid][pMember]);
ini_setString(File,"pChar",PlayerInfo[playerid][pChar]);
ini_setString(File,"pSex",PlayerInfo[playerid][pSex]);
ini_setString(File,"pReferal",PlayerInfo[playerid][pReferal]);
ini_setString(File,"pCash",PlayerInfo[playerid][pCash]);
ini_setString(File,"pExp",PlayerInfo[playerid][pExp]);
ini_setString(File,"pLicCar",PlayerInfo[playerid][pLicCar]);
ini_setString(File,"pPhousekey",PlayerInfo[playerid][pPhousekey]);
ini_setString(File,"pRang",PlayerInfo[playerid][pRang]);
ini_setString(File,"pLeader",PlayerInfo[playerid][pLeader]);
ini_setString(File,"pZvezd",PlayerInfo[playerid][pZvezd]);
ini_setString(File,"pNumber",PlayerInfo[playerid][pNumber]);
ini_setString(File,"pDrugs",PlayerInfo[playerid][pDrugs]);
ini_setString(File,"pPatron",PlayerInfo[playerid][pPatron]);
ini_setString(File,"pMats",PlayerInfo[playerid][pMats]);
ini_closeFile(File);
return 1;
}


public OnPlayerRequestClass(playerid, classid)
{
//================================ðåãèñòðàöèÿ1==================================
{
if(GetPVarInt(playerid, "Logged") == 1) return SpawnPlayer(playerid);
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,1692.0305,-806.5074,203.0863);
SetPlayerCameraLookAt(playerid,1590.0665,-1202.3657,203.0863);
GetPlayerName(playerid, sendername, sizeof(sendername));
new str[500], small[500];
switch(GetPVarInt(playerid, "Account"))
{
case 0:
{
format(small, sizeof(small), "{FFFFFF}Äîáðî ïîæàëîâàòü íà ñåðâåð \n×òîáû íà÷àòü èãðó âàì íåîáõîäèìî ïðîéòè ðåãèñòðàöèþ\n\nÂâåäèòå ïàðîëü äëÿ âàøåãî àêêàóíòà\nÎí áóäåò çàïðàøèâîòüñÿ êàæäûé ðàç êîãäà âû çàõîäèòå íà ñåðâåð");
strcat(str, small);
format(small, sizeof(small), "{F25B5B}\n\n Ïðèìè÷àíèÿ:\n -Ïàðîëü ìîæåò ñîñòîÿòü èç ðóññêèõ è ëàòèíñêèõ ñèìâàëîâ\n -Ïàðîëü ÷óâñòàèòåëåí ê ðåãèñòðó\n -Äëèíà ïàðîëÿ îò 6-òè äî 15-òè ñèìâàëîâ",sendername);
strcat(str, small);
SPD(playerid, 1, DSI, "{F25B5B}Ðåãèñòðàöèÿ", str, "Äàëåå", "");
}
case 1:
{
format(str, sizeof(str), "{FFFFFF}Äîáðî ïîæàëîâàòü íà ñåðâåð {F25B5B}\n{ffffff}Ýòîò àêêàóíò çàðåãèñòðèðîâàí\n×òîáû íà÷àòü èãðó íóæíî àâòîðèçîâàòüñÿ\n\nÂàø ëîãèí: {F25B5B}%s\n{ffffff}Ââåäèòå ñâîé ïàðîëü âàêîøêî:",sendername);
SPD(playerid, 5, DSI, "Àâòîðèçàöèÿ", str, "Îê", "Îòìåíà");
}
}
}

Desulaid
10.09.2015, 20:50
Все еще не то, рой дальше :D

Daniel_Cortez
10.09.2015, 21:25
ini_setString(File,"pCash",PlayerInfo[playerid][pCash]);

С помощью ini_setString сохраняют строковые значения, а вы пытаетесь сохранить число - отсюда и ошибка.
Для сохранения целых чисел используют ini_setInteger, для вещ. чисел - ini_setFloat, для строк - ini_setString.
То же самое функциями ini_get*.

L0ndl3m
10.09.2015, 21:40
Кстати говоря, не забудьте заменить проверку:

if(!IsPlayerConnected(playerid) && GetPVarInt(playerid, "Logged") == 0) return true;
на

if(GetPVarInt(playerid, "Logged") == 0) return true;
ибо она некорректная.

Проверку на то, подключен ли игрок к серверу можно убрать. Если игрока нет на сервере, то PVar вернёт 0.

Геннадий Акимов
11.09.2015, 13:26
Спасибо Londlem и Daniel_Cortez!
Все работает как часы ну теперь проблема в том что мне приходиться каждый раз выбирать пол персонажа хотя после того как выйдешь с игры и зайдешь в аккаунт.ini то там есть сохранения пола


pSex = 1

Ну когда заходишь в игру то после авторизации просит выбрать пол ((

if(PlayerInfo[playerid][pTut] == 0)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1768.1692,-1862.0457,13.5768);
SetPlayerFacingAngle(playerid,358.4334);
ShowPlayerDialog(playerid,6,DIALOG_STYLE_MSGBOX, " ", "Какого пола будет ваш персонаж:", "Мужчина", "Женщина");
}

#Vito
11.09.2015, 15:28
Спасибо Londlem и Deniel_Cortez!
Все работает как часы ну теперь проблема в том что мне приходиться каждый раз выбирать пол персонажа хотя после того как выйдешь с игры и зайдешь в аккаунт.ini то там есть сохранения пола


pSex = 1

Ну когда заходишь в игру то после авторизации просит выбрать пол ((

if(PlayerInfo[playerid][pTut] == 0)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1768.1692,-1862.0457,13.5768);
SetPlayerFacingAngle(playerid,358.4334);
ShowPlayerDialog(playerid,6,DIALOG_STYLE_MSGBOX, " ", "Какого пола будет ваш персонаж:", "Мужчина", "Женщина");
}
Нет сохранения на

PlayerInfo[playerid][pTut]
Добавить, думаю, знаешь как

Геннадий Акимов
11.09.2015, 15:58
Нет сохранения на

PlayerInfo[playerid][pTut]
Добавить, думаю, знаешь как

Если ты насчет этова:


pTut,

ini_getInteger(File,"pTut",PlayerInfo[playerid][pMats]);

ini_setInteger(File,"pTut",PlayerInfo[playerid][pMats]);

PlayerInfo[playerid][pTut] = 0;
То у меня все есть ну все равно таже ошибка

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

Простите меня с моей не рассеянностью !
Проблему решил проблема была в:

ini_getInteger(File,"pTut",PlayerInfo[playerid]["pMats"]);

ini_setInteger(File,"pTut",PlayerInfo[playerid]["pMats"]);