[TuT] Bank System

Započeo propalica2131231, Septembar 23, 2012, 16:07:09 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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

Tutorial by Don Conellâ,,¢
Poslednja Izmena: Septembar 30, 2012, 12:57:14 POSLE PODNE od Don Conellâ„¢


Dobro objasnjeno,sve pohvale :)




Balkan Ulice RPG opis servera: Click



-Tutorial za mijesanje ID-ova na vozilima: Click

Hvala svima

inace vjerojatnu cu veceras ovo zavrsit pa samo dodajte varijablu

pKredit i pRata jer ce vam trebati za kredit system

Nice work just need this  8)
||Web DesignerxCoder HTML,MySQL,PHP,CSS...xAdobe tools user||




Solidan tutorial  ;)
Respect: Gagi, Maki187, Phillips, TerminuS, Neno, Lepotic, [AL] K4[Я]!K3â,,¢, Gotti747

Svaka cast dobar TuT tj. sistem pohvala

Trebao si dokraja zavrsit tut pa onda tek objaviti.. ali nmvz.. i trebao si ove skracenice definirat mislim na ovo SCM i SPD

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
Poslednja Izmena: Septembar 23, 2012, 21:46:05 POSLE PODNE od Don Conellâ„¢

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


Bump
Bank System je dovrsen
Kredit system cu naknadno dodati ali to je jako lagano za napravit :)

Svaka cast brate,samo nastavi ..tutorial je savrseno objasnjen  ;D
Citat: Marley poslato Jun 16, 2012, 17:11:23 POSLE PODNE
Kurcina  :P

Citat: Dude poslato Jun 16, 2012, 17:14:21 POSLE PODNE
čobane šta je ovo?

Respect for David (Sabljak) A.k.A SABO(T)

Bravo ovo mi je trebalo predobro objasnjeno :)

Napoli-Best team in the world.


Napoli-Best fans in the world.