Oko cuvanja podataka


Započeo PetarVG, Januar 21, 2020, 19:10:44 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Imam  problem kada se loginam dobijem pare koje sam imo od proslog ulaska,ali ne i rank i skin mislim da je to do ovoga ispod
Dio skripte:
case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
                    SetSpawnInfo(playerid, 0, 0, 671.40002441406, -457.89999389648, 16.5, 269.15, 0, 0, 0, 0, 0, 0);
                    SpawnPlayer(playerid);
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"Ukucali ste pogresan password\n"COL_WHITE"Upisite password da se ulogujete.","Login","Izlaz");
                }
                return 1;
            }
        }

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log)://
Slika/video ingame problema(obavezno ako je ingame problem)//ako bude trebalo//
Ako neko zna neka pomogne,hvala

SetSpawnInfo(playerid, team, skin, Float:x, Float:y, Float:z, Float:rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)

Vidis parametre za spawninfo kod tebe je za skin 0 i logicno da  te nece spawnat u prethodnom skinu.. Daj kod kako cuvas skin nakon sto igrac izadje sa servera

SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], 671.40002441406, -457.89999389648, 16.5, 269.15, 0, 0, 0, 0, 0, 0);

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Godine",PlayerInfo[playerid][pGodine]);
    INI_WriteInt(File,"Zemlja",PlayerInfo[playerid][pZemlja]);
    INI_WriteInt(File,"Bankmoney",PlayerInfo[playerid][pBankmoney]);
    INI_WriteInt(File,"OrgID",PlayerInfo[playerid][pOrgID]);
    INI_WriteInt(File,"Rank",PlayerInfo[playerid][pRank]);
    INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
    INI_Close(File);
    return 1;
}


Citat: YumikoJR poslato Januar 21, 2020, 20:37:17 POSLE PODNE
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], 671.40002441406, -457.89999389648, 16.5, 269.15, 0, 0, 0, 0, 0, 0);
kako da napravim i za rank i ostale stvari

Rank provjeri testaj dal ti loada iz loaduser
PlayerInfo[playerid][pRank]
69

Citat: youngdeal poslato Januar 22, 2020, 10:59:37 PRE PODNE
Rank provjeri testaj dal ti loada iz loaduser
PlayerInfo[playerid][pRank]
Loada al ako lupam setam sebi lidera kad opet udjem seta mi rank 1,a ne rank 6


Ostavi komandu za /postavilidera i ostavi mi kako ti se cuvaju igraci. SavePlayer stock.
Uradicu ti ja ajde.
Map Gallery
-House Interior- (click) - For Sale-

Sto pises kod ako nisi shvatio sta radi.
Jedan od nacina jest da provjeravas prilikom logina koja je org, rank (sta ti vec zavisi od skina) i da dodjelis skin sa odredjenim IDom igracu, drugi nacin ko sto su ti gore rekli jest da cuvas prilikom izlaska igraca sa servera.
Shvati sta sta znaci, pa onda pisi kod, moj savjet.

Citat: Jack1337 poslato Januar 23, 2020, 03:12:15 PRE PODNE
Ostavi komandu za /postavilidera i ostavi mi kako ti se cuvaju igraci. SavePlayer stock.
Uradicu ti ja ajde.
evo komanda /postavilidera
CMD:postavilidera(playerid,params[])
{
	if(PlayerInfo[playerid][pAdmin] <= 5) return SCM(playerid,-1,""COL_RED"Niste ovlasceni da koristite ovu komandu");
	new targetid,orgname[25];
	if(sscanf(params,"us[25]",targetid,orgname))
	{
	    SCM(playerid,-1,"Koristi /postavilidera [ID/Ime_Prezime] [Ime Organizacije]!");
	    SCM(playerid,-1,"1:Bikers || 2:Police Deparment!");
	    return 1;
	}
	if(PlayerInfo[targetid][pRank] == 6) return SCM(playerid,-1,""COL_RED"Taj igrac je vec lider");
    if(PlayerInfo[playerid][pOrgID] == 1) {OrgInfo[1][oBrojClanova]++; } else if(PlayerInfo[playerid][pOrgID] == 2) {OrgInfo[2][oBrojClanova]++; }
	new str[100];
	if(!strcmp(orgname,"Bikers",true))
	{
	    PlayerInfo[targetid][pOrgID] = 1;
	    PlayerInfo[targetid][pRank] = 6;
	    OrgInfo[1][oBrojClanova]++;
	    format(str,sizeof(str),""COL_GREEN"Admin %s ti je dao lidera organizacije Bikers.",PlayerName(playerid));
	    SCM(targetid,-1,str);
	    SetPlayerSkin(targetid,BAJKER_RANK_6);
	}
	if(!strcmp(orgname,"Police Deparment",true))
	{
	    PlayerInfo[targetid][pOrgID] = 2;
	    PlayerInfo[targetid][pRank] = 6;
	    OrgInfo[2][oBrojClanova]++;
	    format(str,sizeof(str),""COL_GREEN"Admin %s ti je dao lidera organizacije Police Department.",PlayerName(playerid));
	    SCM(targetid,-1,str);
	    SetPlayerSkin(targetid,POLICAJAC_RANK_6);
	}
	return 1;
}

Hvala unaprijed ako pomognes

Pokusaj ovako
CMD:postavilidera(playerid,params[])
{
	if(PlayerInfo[playerid][pAdmin] <= 5) return SCM(playerid,-1,""COL_RED"Niste ovlasceni da koristite ovu komandu");
	new targetid,orgname[25];
	if(sscanf(params,"us[25]",targetid,orgname))
	{
	    SCM(playerid,-1,"Koristi /postavilidera [ID/Ime_Prezime] [Ime Organizacije]!");
	    SCM(playerid,-1,"1:Bikers || 2:Police Deparment!");
	    return 1;
	}
	if(PlayerInfo[targetid][pRank] == 6) return SCM(playerid,-1,""COL_RED"Taj igrac je vec lider");
    if(PlayerInfo[playerid][pOrgID] == 1) {OrgInfo[1][oBrojClanova]++; } else if(PlayerInfo[playerid][pOrgID] == 2) {OrgInfo[2][oBrojClanova]++; }
	new str[100];
	if(!strcmp(orgname,"Bikers",true))
	{
	    PlayerInfo[targetid][pOrgID] = 1;
	    PlayerInfo[targetid][pRank] = 6;
	    OrgInfo[1][oBrojClanova]++;
	    format(str,sizeof(str),""COL_GREEN"Admin %s ti je dao lidera organizacije Bikers.",PlayerName(playerid));
	    SCM(targetid,-1,str);
	    SetPlayerSkin(targetid,BAJKER_RANK_6);
	}
	if(!strcmp(orgname,"Police Deparment",true))
	{
	    PlayerInfo[targetid][pOrgID] = 2;
	    PlayerInfo[targetid][pRank] = 6;
	    OrgInfo[2][oBrojClanova]++;
	    format(str,sizeof(str),""COL_GREEN"Admin %s ti je dao lidera organizacije Police Department.",PlayerName(playerid));
	    SCM(targetid,-1,str);
	    SetPlayerSkin(targetid,POLICAJAC_RANK_6);
	}
	SavePlayer(targetid);
	return 1;
}

Citat: //>> Vedran poslato Januar 23, 2020, 14:32:47 POSLE PODNE
Pokusaj ovako
CMD:postavilidera(playerid,params[])
{
	if(PlayerInfo[playerid][pAdmin] <= 5) return SCM(playerid,-1,""COL_RED"Niste ovlasceni da koristite ovu komandu");
	new targetid,orgname[25];
	if(sscanf(params,"us[25]",targetid,orgname))
	{
	    SCM(playerid,-1,"Koristi /postavilidera [ID/Ime_Prezime] [Ime Organizacije]!");
	    SCM(playerid,-1,"1:Bikers || 2:Police Deparment!");
	    return 1;
	}
	if(PlayerInfo[targetid][pRank] == 6) return SCM(playerid,-1,""COL_RED"Taj igrac je vec lider");
    if(PlayerInfo[playerid][pOrgID] == 1) {OrgInfo[1][oBrojClanova]++; } else if(PlayerInfo[playerid][pOrgID] == 2) {OrgInfo[2][oBrojClanova]++; }
	new str[100];
	if(!strcmp(orgname,"Bikers",true))
	{
	    PlayerInfo[targetid][pOrgID] = 1;
	    PlayerInfo[targetid][pRank] = 6;
	    OrgInfo[1][oBrojClanova]++;
	    format(str,sizeof(str),""COL_GREEN"Admin %s ti je dao lidera organizacije Bikers.",PlayerName(playerid));
	    SCM(targetid,-1,str);
	    SetPlayerSkin(targetid,BAJKER_RANK_6);
	}
	if(!strcmp(orgname,"Police Deparment",true))
	{
	    PlayerInfo[targetid][pOrgID] = 2;
	    PlayerInfo[targetid][pRank] = 6;
	    OrgInfo[2][oBrojClanova]++;
	    format(str,sizeof(str),""COL_GREEN"Admin %s ti je dao lidera organizacije Police Department.",PlayerName(playerid));
	    SCM(targetid,-1,str);
	    SetPlayerSkin(targetid,POLICAJAC_RANK_6);
	}
	SavePlayer(targetid);
	return 1;
}

Mozes mi pomoci oko tog stocaka SavePlayer,da mi napravis posto sam nov?

Napravio sam Vedrane to sto si rekao ali opet nista ne sacuva se skin niti rank...

Evo vam ako vam sto znaci kad se Dissconektuje
public OnPlayerDisconnect(playerid, reason)
{
    KillTimer(PingTajmer[playerid]);
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Godine",PlayerInfo[playerid][pGodine]);
    INI_WriteInt(File,"Zemlja",PlayerInfo[playerid][pZemlja]);
    INI_WriteInt(File,"Bankmoney",PlayerInfo[playerid][pBankmoney]);
    INI_WriteInt(File,"OrgID",PlayerInfo[playerid][pOrgID]);
    INI_WriteInt(File,"Rank",PlayerInfo[playerid][pRank]);
    INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
    INI_Close(File);
    return 1;
}