Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: AlenTheBest poslato Januar 18, 2016, 19:02:50 POSLE PODNE

Naslov: [POMOC] OKO save user podataka
Poruka od: AlenTheBest poslato Januar 18, 2016, 19:02:50 POSLE PODNE
Skripta koju koristim  : moj mod od 0
Opis problema : radio sam sistem organizacija i sad sam promijenio kod sacuvanja podataka igraca
da mi lider i clan sacuva kao textualni podatak (nadam se da me razumijete postavio sam da mi lide sacuva kao npr Police Department a ne samo id organizacije npr 1)
i sad kad se registrujem on sve sacuva kako treba ali cim izadjem on umjesto da upise Lider = Nema
i Clan = Nema
on samo upise
Lider =
Clan =
nadam se da me razumijete
Dio skripte :
evo vam sacuvanje

public SacuvanjePodataka(playerid)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File, "Admin", PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File, "Helper", PlayerInfo[playerid][pHelper]);
INI_WriteInt(File, "Novac", PlayerInfo[playerid][pNovac]);
    INI_WriteInt(File, "Banka", PlayerInfo[playerid][pBanka]);
    INI_WriteInt(File, "Zlato", PlayerInfo[playerid][pZlato]);
    INI_WriteInt(File, "Drzava", PlayerInfo[playerid][pDrzava]);
    INI_WriteInt(File, "Godine", PlayerInfo[playerid][pGodine]);
    INI_WriteInt(File, "Spol", PlayerInfo[playerid][pSpol]);
    INI_WriteInt(File, "Skin", PlayerInfo[playerid][pSkin]);
    INI_WriteInt(File, "Level", PlayerInfo[playerid][pLevel]);
    INI_WriteInt(File, "Respekti", PlayerInfo[playerid][pRespect]);
    INI_WriteInt(File, "Plata", PlayerInfo[playerid][pPlata]);
    INI_WriteInt(File, "Biznis", PlayerInfo[playerid][pBusinessID]);
    INI_WriteInt(File, "Kuca", PlayerInfo[playerid][pHouseID]);
    INI_WriteInt(File, "Auto", PlayerInfo[playerid][pAuto]);
    INI_WriteInt(File, "MinuteZaPlatu", PlayerInfo[playerid][pMinuteZaPlatu]);
    INI_WriteInt(File, "Armour", PlayerInfo[playerid][pArmour]);
    INI_WriteInt(File, "Health", PlayerInfo[playerid][pHealth]);
    INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider]);
    INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan]);
    INI_WriteInt(File, "Rank", PlayerInfo[playerid][pRank]);
    INI_WriteInt(File, "Droga", PlayerInfo[playerid][pDroga]);
    INI_WriteInt(File, "Mats", PlayerInfo[playerid][pMats]);
INI_Close(File);
return 1;
}

Slika/Video : evo vam gdje sacuva podatke
(http://i.imgur.com/BOsrVo5.png)
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: MEDO poslato Januar 18, 2016, 19:23:18 POSLE PODNE
Daj komandu makeleader da vidimo nesto
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: AlenTheBest poslato Januar 18, 2016, 19:24:24 POSLE PODNE
Citat: MEDO poslato Januar 18, 2016, 19:23:18 POSLE PODNE
Daj komandu makeleader da vidimo nesto

CMD:makeleader(playerid, params[])//                                          >> Makeleader (Vlasnik)
{
new AdminIme[MAX_PLAYER_NAME], IgracIme[MAX_PLAYER_NAME], OrgID, string[256], IgracevID, FileOrganization[40];
GetPlayerName(playerid, AdminIme, MAX_PLAYER_NAME);
GetPlayerName(IgracevID, IgracIme, MAX_PLAYER_NAME);
if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] != 8) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[RG] {FFFFFF}Niste ovlasteni da koristite ovu komandu{FF0000}!!!");
if(sscanf(params, "ud", IgracevID, OrgID)) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[Uputa] {FFFFFF}/makeleader [Igracev ID] [ID Organizacije]");
if(!IsPlayerConnected(IgracevID)) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Taj ID trenutno nije online.");
if(OrgID == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Organizacija ne postoji.");
if(!strcmp(PlayerInfo[IgracevID][pLider], "Nema", true))
{
    format(FileOrganization, sizeof(FileOrganization), ORGPATH, OrgID);
if(fexist(FileOrganization))
{
if(!strcmp(OrgInfo[OrgID][oLider], "Niko", true))
{
if(strcmp(PlayerInfo[IgracevID][pLider], "Nema", true)) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Igrac je vec lider neke organizacije.");
if(strcmp(PlayerInfo[IgracevID][pClan], "Nema", true)) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Igrac je cnal neke organizacije.");

format(string, sizeof(string), "%s", OrgInfo[OrgID][oIme]);
strmid(PlayerInfo[IgracevID][pLider], string, 0, strlen(string), ORGANIZATION_NAME);

format(string, sizeof(string), "%s", OrgInfo[OrgID][oIme]);
strmid(PlayerInfo[IgracevID][pClan], string, 0, strlen(string), ORGANIZATION_NAME);

PlayerInfo[IgracevID][pRank] = 6;

format(string, sizeof(string), "%s", IgracIme);
strmid(OrgInfo[OrgID][oLider], string, 0, strlen(string), ORGANIZATION_LEADER);

format(string, sizeof(string), "{0085FA}[RG] {FFFFFF}Igraca %s ste postavili za lidera %s organizacije.", IgracIme, OrgInfo[OrgID][oIme]);
SendClientMessage(playerid, 0xFFFFFFFF, string);

format(string, sizeof(string), "{0085FA}[RG] {FFFFFF}Vlasnik %s vas je postavio za lidera %s organizacije.", AdminIme, OrgInfo[OrgID][oIme]);
SendClientMessage(IgracevID, 0xFFFFFFFF, string);

SaveOrg(OrgID);
}
else
{
SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Organizacija ima lidera.");
}
}
else
{
    SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Organizacija ne postoji.");
}
}
else
{
    SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Igrac je vec lider neke organizacije.");
}
return 1;
}

poslije koristenja ove komande on normalno sacuva
znaci on lijepo unese ime organizacije gdje treba
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: AlenTheBest poslato Januar 18, 2016, 21:41:18 POSLE PODNE
BUMP!
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: LAVendeta poslato Januar 19, 2016, 11:02:52 PRE PODNE
Ae ovako probaj...
[pawn]    INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider], 64);
    INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan], 64);[/pawn]
A u enum stavi ovako:
[pawn]pLider[64]
pClan[64][/pawn]
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: AlenTheBest poslato Januar 19, 2016, 11:27:45 PRE PODNE
Citat: LAVendeta poslato Januar 19, 2016, 11:02:52 PRE PODNE
Ae ovako probaj...
[pawn]    INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider], 64);
    INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan], 64);[/pawn]
A u enum stavi ovako:
[pawn]pLider[64]
pClan[64][/pawn]
izbacuje mi errore

(428) : warning 202: number of arguments does not match definition
(429) : warning 202: number of arguments does not match definition
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: LAVendeta poslato Januar 19, 2016, 11:58:29 PRE PODNE
Stavi ovako:
[pawn]INI_String("Lider",PlayerInfo[playerid][pLider], 64);
INI_String("Clan",PlayerInfo[playerid][pClan], 64);
[/pawn]
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: AlenTheBest poslato Januar 19, 2016, 12:54:52 POSLE PODNE
Citat: LAVendeta poslato Januar 19, 2016, 11:58:29 PRE PODNE
Stavi ovako:
[pawn]INI_String("Lider",PlayerInfo[playerid][pLider], 64);
INI_String("Clan",PlayerInfo[playerid][pClan], 64);
[/pawn]
opet errori jer ja msm da je to za load podataka a ne za save al ok evo errori
[pawn]
(428) : error 017: undefined symbol "name"
(428) : error 017: undefined symbol "value"
(429) : error 017: undefined symbol "name"
(429) : error 017: undefined symbol "value"
[/pawn]
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: MEDO poslato Januar 19, 2016, 14:11:51 POSLE PODNE
A zasto to radit uopće?
Zasto jednostavno ne spremiš integer i citas ga npr
[pawn]if(InfoIgraca[playerid][Lider] == 1)
{
SCM(playerid, -1, "Ti si LSPD!");
}
else if(InfoIgraca[playerid][Lider] == 2)
{
SCM(playerid, -1, "Ti si FBI!");
}
else return SCM(playerid, -1, "Ti si civil!");[/pawn]

ovako nesto

Ako nećeš to probaj napravit debug, da ti ispisuje u konzolu kad postaviš lidera,kad spremiš i sve ostalo da ti ispiše varijablu pLider, pa da vidimo tačno gdje je problem, da li je u spremanju ili nešto.Tvoj kod je uredu, ali je negdje problem u drugom dijelu skripte vjv

@LAVendeta
To INI_String je zastarjelo, negdje sam čitao da je preporučeno da se ne koristi.Nisam 100% upućen pa neću ništa više ni reći..
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: AlenTheBest poslato Januar 19, 2016, 14:50:24 POSLE PODNE
Citat: MEDO poslato Januar 19, 2016, 14:11:51 POSLE PODNE
A zasto to radit uopće?
Zasto jednostavno ne spremiš integer i citas ga npr
[pawn]if(InfoIgraca[playerid][Lider] == 1)
{
SCM(playerid, -1, "Ti si LSPD!");
}
else if(InfoIgraca[playerid][Lider] == 2)
{
SCM(playerid, -1, "Ti si FBI!");
}
else return SCM(playerid, -1, "Ti si civil!");[/pawn]

ovako nesto

Ako nećeš to probaj napravit debug, da ti ispisuje u konzolu kad postaviš lidera,kad spremiš i sve ostalo da ti ispiše varijablu pLider, pa da vidimo tačno gdje je problem, da li je u spremanju ili nešto.Tvoj kod je uredu, ali je negdje problem u drugom dijelu skripte vjv

@LAVendeta
To INI_String je zastarjelo, negdje sam čitao da je preporučeno da se ne koristi.Nisam 100% upućen pa neću ništa više ni reći..
pa zelim tako da uradim zato jer mi ID PD-a nece bit 1 znaci radio sam dynamic org system pa zato.. jer ako on meni sprema kao id meni ce npr ballas da bude id 1 zavisi kako in-game budem dodavao organizacije..valjda me razumijes
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: [CH]Lenon poslato Januar 19, 2016, 15:06:42 POSLE PODNE
enum:
pLider[30],
pClan[30]


cuvanje:
INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider]);
INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan]);


ucitavanje:

INI_String("Lider", PlayerInfo[playerid][pLider], 30);
INI_String("Clan", PlayerInfo[playerid][pClan], 30);
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: AlenTheBest poslato Januar 19, 2016, 22:13:02 POSLE PODNE
Citat: Lenon poslato Januar 19, 2016, 15:06:42 POSLE PODNE
enum:
pLider[30],
pClan[30]


cuvanje:
INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider]);
INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan]);


ucitavanje:

INI_String("Lider", PlayerInfo[playerid][pLider], 30);
INI_String("Clan", PlayerInfo[playerid][pClan], 30);

opet isto :(
Naslov: Odg: [POMOC] OKO save user podataka
Poruka od: AlenTheBest poslato Januar 19, 2016, 22:50:39 POSLE PODNE
   [pawn]format(string, sizeof(string), "%s", PlayerInfo[playerid][pLider]);
   INI_WriteString(File, string , PlayerInfo[playerid][pLider]);
   
   format(string, sizeof(string), "%s", PlayerInfo[playerid][pClan]);
   INI_WriteString(File, string , PlayerInfo[playerid][pClan]);[/pawn]
sredio sam to ovako sad radi savrseno btw hvala svima na pomoci :)