Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: propalica2131231 poslato Septembar 23, 2012, 16:07:09 POSLE PODNE

Naslov: [TuT] Bank System
Poruka od: propalica2131231 poslato Septembar 23, 2012, 16:07:09 POSLE PODNE
Don Conell`s Bank System

Sigurno ste mislili da je ovo "samo jos jedan bank system" u nizu prevarili ste se !

Naime ovaj sam system ja radio za miami te sam ga odlucio podijeliti sa vama !

Prvo sto trebate dodati su varijable

pImaRacun,
pImaDRacun,
pRacun,
pDRacun,
pKredit,
pRata


Za cega one sluze ? Vidjet cete u nastavku !
Sada tamo gdje vam se sprema,ucitava i update-a account samo dodajte da vam sprema varijable
kod mene je to primjer


INI_Int("pImaRacun",PlayerInfo[playerid][pImaRacun]);
INI_Int("pImaDRacun",PlayerInfo[playerid][pImaDRacun]);
INI_Int("pRacun",PlayerInfo[playerid][pRacun]);
INI_Int("pDRacun",PlayerInfo[playerid][pDRacun]);
INI_Int("pDRacun",PlayerInfo[playerid][pKredit]);
INI_Int("pDRacun",PlayerInfo[playerid][pRata]);


Naravno vi cete staviti po vasem systemu spremanja(ja sam koristio Y_INI)

Sljedece sto trebate je komanda /otvoriracun - ona sluzi za otvaranje ziro to jest tekuceg racuna


CMD:otvoriracun(playerid, params[])
{
//stavite svoje kordinate npr. u banci
SPD(playerid, DIALOG_RACUN, DIALOG_STYLE_LIST, "{1BCCE0}Otvaranje računa", "Tekući Račun[5000 $]\nŽiro Račun[2000 $]", "Uredu", "Odustani");
return 1;
}


Sada na vrhu skripte definirajte dialog #define DIALOG_RACUN 11
Umjesto 11 stavite ID dialoga koji vi zelite !

I sada idemo sa onim vaznim dijelom to jest dialogom koji se otvara kada ukucate /otvoriracun

case DIALOG_RACUN:
        {
          switch(listitem)// Checking which listitem was selected
          {
            case 0:
            {
            if(GetPlayerMoney(playerid) > 5000)
            {
            if(PlayerInfo[playerid][pImaRacun] == 1)
            {
            SCM(playerid,BOJA,"{FFFFFF}ÄŒestitamo !  {F08411}Otvorili ste {FFFFFF}tekući račun {F08411}! Sada mozete primati placu!");
            SCM(playerid,BOJA,"{FFFFFF}Novci su vam stavljeni na račun !");
PlayerInfo[playerid][pRacun] = 5000;
PlayerInfo[playerid][pImaRacun] = 1;
GivePlayerMoney(playerid, -5000);
}
else {
            SCM(playerid,BOJA,"{FFFFFF}Vec imas račun ili nemas dovoljno novca !");
}
}
}
case 1:
{
if(GetPlayerMoney(playerid) > 2000)
            {
            if(PlayerInfo[playerid][pImaDRacun] == 1)
{
            SCM(playerid,BOJA,"{FFFFFF}ÄŒestitamo !  {F08411}Otvorili ste {FFFFFF}žiro račun {F08411}!");
            SCM(playerid,BOJA,"{FFFFFF}Novci su vam stavljeni na račun !");
PlayerInfo[playerid][pDRacun] = 2000;
PlayerInfo[playerid][pImaDRacun] = 1;
            GivePlayerMoney(playerid, -2000);
}
else {
            SCM(playerid,BOJA,"{FFFFFF}Vec imas račun ili nemas dovoljno novca !");
}
}
}
          }
return 1;
}


Sada cemo napraviti komandu /banka ali prije toga nam trebaju neki dialozi

#define DIALOG_RACUNE 93
#define DIALOG_DRACUN 94
#define DIALOG_BANKA 95
#define DIALOG_DRACUN1 96
#define DIALOG_DRACUN2 97
#define DIALOG_DRACUN3 98
#define DIALOG_RACUN1 99
#define DIALOG_RACUN2 100
#define DIALOG_RACUN3 101
#define DIALOG_KREDIT 102


Tako sam ih ja definirao !

Takoder dodajte

new sstring[128];
new sstring2[128];


varijable na vrh moda ili pod callback OnDialogResponse

Sada cemo napraviti CMD /banka


CMD:banka(playerid, params[])
{
//xyz gdje zelite koristiti ovo
SPD(playerid, DIALOG_BANKA, DIALOG_STYLE_LIST, "{1BCCE0}Banka", "Tekući Račun\nŽiro Račun", "Odaberi", "Odustani");
return 1;
}


I idemo dodati nove dialoge

case DIALOG_BANKA:
        {
          switch(listitem)// Checking which listitem was selected
          {
            case 0:
            {
            if(PlayerInfo[playerid][pImaRacun] == 0) return SCM(playerid, COLOR_RED, "Nemate tekuci racun !");
            ShowPlayerDialog(playerid, DIALOG_RACUNE, DIALOG_STYLE_LIST,""COL_WHITE"{1BCCE0}Tekuci Racun","Stanje\nPodigni\nStavi na racun","Ok","Izlaz");
}
case 1:
{
if(PlayerInfo[playerid][pImaDRacun] == 0) return SCM(playerid, COLOR_RED, "Nemate ziro racun !");
            ShowPlayerDialog(playerid, DIALOG_DRACUN, DIALOG_STYLE_LIST,""COL_WHITE"{1BCCE0}Ziro Racun","Stanje\nPodigni\nStavi na racun","Ok","Izlaz");
}
          }
return 1;
}
case DIALOG_RACUNE:
        {
          switch(listitem)// Checking which listitem was selected
          {
            case 0:
            {
            format(sstring,sizeof(sstring),"{F08411}Novci na vasem tekucem racunu: {FFFFFF}%d",PlayerInfo[playerid][pRacun]);
            ShowPlayerDialog(playerid, DIALOG_RACUN1, DIALOG_STYLE_MSGBOX,"Stanje na racunu",sstring,"Ok","");
}
case 1:
{
            ShowPlayerDialog(playerid, DIALOG_RACUN2, DIALOG_STYLE_INPUT,""COL_WHITE"{1BCCE0}Tekuci Racun","Koliko dolara zelite podignuti ?","Ok","Izlaz");
}
case 2:
{
            ShowPlayerDialog(playerid, DIALOG_RACUN3, DIALOG_STYLE_INPUT,""COL_WHITE"{1BCCE0}Tekuci Racun","Koliko dolara zelite staviti na racun ?","Ok","Izlaz");
}
          }
return 1;
}
case DIALOG_RACUN2:
{
    if (!response) return 1;
            if(response)
{
if(IsNumeric(inputtext) && PlayerInfo[playerid][pRacun] > strval( inputtext ))
{
GivePlayerMoney(playerid, strval( inputtext ));
PlayerInfo[playerid][pRacun] -= strval( inputtext );
}
else {
ShowPlayerDialog(playerid, DIALOG_RACUN2, DIALOG_STYLE_INPUT,""COL_WHITE"{1BCCE0}Tekuci Racun","Smijete koristiti samo brojeve ili nemate dovoljno novaca !","Ok","Izlaz");
}
}

}
case DIALOG_RACUN3:
{
    if (!response) return 1;
            if(response)
{
if(IsNumeric(inputtext) && GetPlayerMoney(playerid) > strval( inputtext ))
{
GivePlayerMoney(playerid, -strval( inputtext ));
PlayerInfo[playerid][pRacun] += strval( inputtext );
}
else {
ShowPlayerDialog(playerid, DIALOG_RACUN3, DIALOG_STYLE_INPUT,""COL_WHITE"{1BCCE0}Tekuci Racun","Smijete koristiti samo brojeve ili nemate dovoljno novaca !","Ok","Izlaz");
}
}

}
case DIALOG_DRACUN:
        {
          switch(listitem)// Checking which listitem was selected
          {
            case 0:
            {
            format(sstring2,sizeof(sstring2),"{F08411}Novci na vasem ziro racunu: {FFFFFF}%d",PlayerInfo[playerid][pDRacun]);
            ShowPlayerDialog(playerid, DIALOG_RACUN1, DIALOG_STYLE_MSGBOX,"Stanje na ziro racunu",sstring2,"Ok","");
}
case 1:
{
            ShowPlayerDialog(playerid, DIALOG_RACUN2, DIALOG_STYLE_INPUT,""COL_WHITE"{1BCCE0}Ziro Racun","Koliko dolara zelite podignuti ?","Ok","Izlaz");
}
case 2:
{
            ShowPlayerDialog(playerid, DIALOG_RACUN3, DIALOG_STYLE_INPUT,""COL_WHITE"{1BCCE0}Ziro Racun","Koliko dolara zelite staviti na racun ?","Ok","Izlaz");
}
          }
return 1;
}
case DIALOG_DRACUN2:
{
    if (!response) return 1;
            if(response)
{
if(IsNumeric(inputtext) && PlayerInfo[playerid][pDRacun] > strval( inputtext ))
{
GivePlayerMoney(playerid, strval( inputtext ));
PlayerInfo[playerid][pDRacun] -= strval( inputtext );
}
else {
ShowPlayerDialog(playerid, DIALOG_RACUN2, DIALOG_STYLE_INPUT,""COL_WHITE"{1BCCE0}Ziro Racun","Smijete koristiti samo brojeve ili nemate dovoljno novaca !","Ok","Izlaz");
}
}

}
case DIALOG_DRACUN3:
{
    if (!response) return 1;
            if(response)
{
if(IsNumeric(inputtext) && GetPlayerMoney(playerid) > strval( inputtext ))
{
GivePlayerMoney(playerid, -strval( inputtext ));
PlayerInfo[playerid][pDRacun] += strval( inputtext );
}
else {
ShowPlayerDialog(playerid, DIALOG_RACUN3, DIALOG_STYLE_INPUT,""COL_WHITE"{1BCCE0}Ziro Racun","Smijete koristiti samo brojeve ili nemate dovoljno novaca !","Ok","Izlaz");
}
}

}



Kredit system

Sada krecemo na kredit sys !
Vec smo definirali dialog i varijable za kredit pa krenimo sa komandom /kredit


CMD:kredit(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid,x,y,z)) return SCM(playerid, -1, "Morate biti u banci !");
if(PlayerInfo[playerid][pKredit] > 0) return SCM(playerid, -1, "Vec imas kredit !");
if(PlayerInfo[playerid][pRacun] == 0) return SCM(playerid, -1, "Moras imati tekuci racun da dignes kredit ! !");
SPD(playerid, DIALOG_KREDIT, DIALOG_STYLE_LIST, "Kredit", "10000 $\n20000 $", "Odaberi", "Odustani"); // vi stavite koliko hocete
return 1;
}


Sada cemo dodati dialog za kredit

case DIALOG_KREDIT:
        {
          switch(listitem)
          {
            case 0:
            {
            PlayerInfo[playerid][pKredit] = 10000;
            SCM(playerid, -1, "Uspjesno ste digli kredit od 10000 $");
}
case 1:
{
PlayerInfo[playerid][pKredit] = 20000;
SCM(playerid, -1, "Uspjesno ste digli kredit od 20000 $");
}
          }
return 1;
}


I sada pod vas payday timer dodajte

if(PlayerInfo[playerid][pKredit] > 0)
{
PlayerInfo[playerid][pKredit] -= PlayerInfo[playerid][pRata];
}


sada cemo dodati komandu /rata te cemo u njoj koristiti sscanf kao procesor

CMD:rata(playerid, params[])
{
new koliko;
if(PlayerInfo[playerid][pKredit] == 0) return SendClientMessage(playerid, -1, "Nemas kredit !");
if (sscanf(params, "i", koliko)) return SendClientMessage(playerid, C_WHITE, "Koristi: /rata [kolicina]");
return 1;
}





To dodajte pod OnDialogResponse i to je to, dobar tek :)

Napomena: Dialoge morate dodavati pod switch( dialogid ) zato jer koriste "case"
Takoder trebate include utils ciji download link mozete naci OVDJE (http://www.mediafire.com/?bzrnwyufkcj6dd4)

Tutorial by Don Conellâ,,¢
Naslov: Odg: [TuT] Bank System
Poruka od: LOckeRâ„¢ poslato Septembar 23, 2012, 16:10:01 POSLE PODNE
Lijepo ;)
Naslov: Odg: [TuT] Bank System
Poruka od: [BURPG] Wistaa poslato Septembar 23, 2012, 16:10:48 POSLE PODNE
Dobro objasnjeno,sve pohvale :)
Naslov: Odg: [TuT] Bank System
Poruka od: propalica2131231 poslato Septembar 23, 2012, 16:22:18 POSLE PODNE
Hvala svima

inace vjerojatnu cu veceras ovo zavrsit pa samo dodajte varijablu

pKredit i pRata jer ce vam trebati za kredit system
Naslov: Odg: [TuT] Bank System
Poruka od: Albatraoz poslato Septembar 23, 2012, 16:46:56 POSLE PODNE
Nice work just need this  8)
Naslov: Odg: [TuT] Bank System
Poruka od: Artieâ„¢ poslato Septembar 23, 2012, 17:53:52 POSLE PODNE
Odlicno  ;) pomocice pocetnicima
Naslov: Odg: [TuT] Bank System
Poruka od: Danijel96.pwn poslato Septembar 23, 2012, 18:08:07 POSLE PODNE
Solidan tutorial  ;)
Naslov: Odg: [TuT] Bank System
Poruka od: D Boy poslato Septembar 23, 2012, 18:21:34 POSLE PODNE
Svaka cast dobar TuT tj. sistem pohvala
Naslov: Odg: [TuT] Bank System
Poruka od: pllopen poslato Septembar 23, 2012, 19:39:46 POSLE PODNE
Trebao si dokraja zavrsit tut pa onda tek objaviti.. ali nmvz.. i trebao si ove skracenice definirat mislim na ovo SCM i SPD
Naslov: Odg: [TuT] Bank System
Poruka od: propalica2131231 poslato Septembar 23, 2012, 19:46:28 POSLE PODNE
Citat: pllopen poslato Septembar 23, 2012, 19:39:46 POSLE PODNE
Trebao si dokraja zavrsit tut pa onda tek objaviti.. ali nmvz.. i trebao si ove skracenice definirat mislim na ovo SCM i SPD
lako
#define SCM SendClientMessage
#define SPM ShowPlayerDialog
Naslov: Odg: [TuT] Bank System
Poruka od: pllopen poslato Septembar 23, 2012, 20:17:17 POSLE PODNE
Citat: Don Conellâ,,¢ poslato Septembar 23, 2012, 19:46:28 POSLE PODNE
Citat: pllopen poslato Septembar 23, 2012, 19:39:46 POSLE PODNE
Trebao si dokraja zavrsit tut pa onda tek objaviti.. ali nmvz.. i trebao si ove skracenice definirat mislim na ovo SCM i SPD
lako
#define SCM SendClientMessage
#define SCM ShowPlayerDialog
Znam da je lako ali ima onih koji to neznaju ,a i pogrijesio si jer si zurio
#define SCM SendClientMessage
#define SPD ShowPlayerDialog
Naslov: Odg: [TuT] Bank System
Poruka od: Capetroon. poslato Septembar 23, 2012, 22:10:49 POSLE PODNE
Pohvala :)
Naslov: Odg: [TuT] Bank System
Poruka od: propalica2131231 poslato Septembar 24, 2012, 11:15:03 PRE PODNE
Bump
Bank System je dovrsen
Kredit system cu naknadno dodati ali to je jako lagano za napravit :)
Naslov: Odg: [TuT] Bank System
Poruka od: Dacho poslato Septembar 25, 2012, 22:57:21 POSLE PODNE
Svaka cast brate,samo nastavi ..tutorial je savrseno objasnjen  ;D
Naslov: Odg: [TuT] Bank System
Poruka od: [BU]Davidoff poslato Septembar 26, 2012, 14:13:38 POSLE PODNE
Bravo ovo mi je trebalo predobro objasnjeno :)
Naslov: Odg: [TuT] Bank System
Poruka od: Jeffrey "Og Loc" poslato Septembar 27, 2012, 15:21:16 POSLE PODNE
a sta je sa #include <zcmd> xD inace dobro
Naslov: Odg: [TuT] Bank System
Poruka od: Djokoš poslato Septembar 27, 2012, 17:20:34 POSLE PODNE
Bravooo za tut :D svaka cast..
Naslov: Odg: [TuT] Bank System
Poruka od: ★dknez15★ poslato Septembar 27, 2012, 19:23:58 POSLE PODNE
Dobar tut
Naslov: Odg: [TuT] Bank System
Poruka od: !вυ!ѕєуzιιι¢н™.amx poslato Septembar 29, 2012, 18:26:15 POSLE PODNE
Korisno i lijepo objasnjeno 10/10!
Naslov: Odg: [TuT] Bank System
Poruka od: propalica2131231 poslato Septembar 29, 2012, 20:30:41 POSLE PODNE
Citat: !вÏ...!Ñ•Ñ"уzιιι¢нâ,,¢.amx poslato Septembar 29, 2012, 18:26:15 POSLE PODNE
Korisno i lijepo objasnjeno 10/10!
iskreno ja koji sam pisao tut mislim da nije dovoljno obajsnjeno al u ovolko funkcija kom se da :/

hvala svima :)

Citat: Jeffrey "Og Loc" poslato Septembar 27, 2012, 15:21:16 POSLE PODNE
a sta je sa #include <zcmd> xD inace dobro
podrazumjeva se :)
Naslov: Odg: [TuT] Bank System
Poruka od: !вυ! вυяєк poslato Septembar 30, 2012, 11:36:51 PRE PODNE
Lijepo :D
Naslov: Odg: [TuT] Bank System
Poruka od: propalica2131231 poslato Septembar 30, 2012, 12:57:59 POSLE PODNE
Bump !!!
Evo dovrsen je i kredit system !