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â,,¢
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