Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Shem poslato Januar 30, 2015, 19:27:52 POSLE PODNE

Naslov: [Pomoc]Spremanje podataka
Poruka od: Shem poslato Januar 30, 2015, 19:27:52 POSLE PODNE
Skripta koju koristim: radim od 0 ( POCETNIK SAM! )
Detaljan opis problema:
Trenutno imam log/reg Y_INI kao i bazu podataka tj. spremanje u vidu "pInfo", sada me zanimam kako cu da napravitim npr sistem kaciga (to je samo za primjer), ali kad uzmem kacigu da mi ostane u statsu tj. da ne kupuje svaki put kad udje na srv, to je samo primjer, ne mora biti u pitanju kaciga... ???
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [Pomoc]Spremanje podataka
Poruka od: ▂ ▃ ▅ Rudimental ▅ ▃ ▂ poslato Januar 30, 2015, 23:18:20 POSLE PODNE
Kao sto sam ti vec objasnjavao za skin isti je princip u pravljenju varijable samo naziv u enumu stavis recimo pKaciga i onda kada napravis komandu sredis da mu se varijabla postavi na odredjene vrednosti recimo broj 1 neka predstavlja da igrac ima kagicu a 0 da predstavlja da nema kacigu...
Naslov: Odg: [Pomoc]Spremanje podataka
Poruka od: Djuro_Guzijan poslato Januar 30, 2015, 23:24:39 POSLE PODNE
1. Dodaj Enum :

enum pInfo
{
    pKaciga
}


2. Pod učitavanjem podataka, kod mene je to ovo :
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
Dodaj :

    INI_Int("Kaciga",PlayerInfo[playerid][pKaciga]);

3. Pod OnPlayerDisconnect (da se sačuva pri izlazu) dodaj :

    INI_WriteInt(File,"Kaciga",PlayerInfo[playerid][pKaciga]);

4. E sada za komandu kaciga dodaj ovo :

command(kaciga, playerid, params[])
{
if(PlayerInfo[playerid][pKaciga] >=1)
{
        //TVOJE KOMANDE AKO IGRAÄŒ IMA KACIGU
}
else SendClientMessage(playerid,B_CRVENA, "Ti nemaš kacigu!");
}


5. E sada ako igrač pokuša da kupi kacigu a već je ima, dodaj ovo :

command(kupikacigu, playerid, params[])
{
if(PlayerInfo[playerid][pKaciga] <=0)
{
PlayerInfo[playerid][pKaciga] = 1;
        // TVOJE KOMANDE KADA IGRAÄŒ KUPI KACIGU
}
else SendClientMessage(playerid, -1, "Vec imaš kacigu!");
}


Naravno, ti sada tu možeš dodati i mjesto za kupovinu kacige koristeći IsPlayerInRangeOfPoint i Create3DTextLabe, može se to još srediti, ali to bi bilo od prilike to.
P.S: Nadam se da sam pomogao.