Wysłany: 2013-06-03, 11:05
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Witam.Mam pewien problem z systemem banku. Ot?? po wpisaniu cmd /bank wyskakuje lista rzeczy, kt?re mo?na wykona?.Niestety po wybraniu kt?rejkolwiek z opcji nic si? nie dzieje.Oto kod.
Kod: cmd(bank, playerid, params[])
{
if(ZalogowanyBank[playerid] == 0) return SendClientMessage(playerid, ORANGE, "Musisz za?o?y? konto bankowe aby m?c u?y? tej komendy. Wpisz /rkonto. ");
if(BankIst[playerid] == 0) return SendClientMessage(playerid, ORANGE, " Nie jeste? w banku. ");
return ShowPlayerDialog(playerid, DIALOG_BANK, DIALOG_STYLE_LIST, "Wybierz opcje", "Wp?a? pieni?dze\nWyp?a? pieni?dze\nWp?a? wszystko\nWyp?a? wszystko\nStan konta", "Wybierz", "Zamknij");
}
Kod: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_BANK)
{
if(!response) return 0;
new string[128];
switch(listitem)
{
case 0:
{
format(string, sizeof string, ""C_WHITE"Wpisz ilo?? pieni?dzy jak? chcesz wp?aci?: \nAktualnie masz przy sobie "C_ORANGE"%d $ ", GetPlayerMoney(playerid));
ShowPlayerDialog(playerid, DIALOG_WPLATA, DIALOG_STYLE_INPUT, "Wplata", string, "Wplac", "Zamknij");
}
case 1:
{
format(string, sizeof string, ""C_WHITE"Wpisz ilo?? pieni?dzy jak? chcesz wyp?aci?: \nAktualnie masz w banku "C_ORANGE"%d $ ", PlayerInfo[playerid][Kasa]);
ShowPlayerDialog(playerid, DIALOG_WYPLATA, DIALOG_STYLE_INPUT, "Wyplata", string, "Wyplac", "Zamknij");
}
case 2:
{
new forsa = GetPlayerMoney(playerid);
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]+forsa;
format(string, sizeof string, "»» Wp?aci?e? "C_ORANGE"%d "C_WHITE"pieni?dzy do banku. Masz teraz "C_ORANGE"%d $ "C_WHITE"w banku. ", forsa, PlayerInfo[playerid][Kasa]);
SendClientMessage(playerid, WHITE, string);
GivePlayerMoney(playerid, -forsa);
}
case 3:
{
GivePlayerMoney(playerid, PlayerInfo[playerid][Kasa]);
PlayerInfo[playerid][Kasa] = 0;
format(string, sizeof string, "»» Wyp?aci?e? wszystkie pieni?dze z banku. Masz teraz przy sobie "C_ORANGE"%d $ ", GetPlayerMoney(playerid));
SendClientMessage(playerid, WHITE, string);
}
case 4:
{
format(string, sizeof string, ""C_WHITE"Stan twojego konta wynosi "C_ORANGE"%d $ ", PlayerInfo[playerid][Kasa]);
ShowPlayerDialog(playerid, 400, DIALOG_STYLE_MSGBOX, "Informacja", string, "Zamknij", "");
}
}
}
if(dialogid == DIALOG_WPLATA)
{
if(!response) return 0;
new kasa = strval(inputtext);
if(!IsNumeric(inputtext)) return SendClientMessage(playerid, WHITE, "»» Z?a kwota. Musisz wpisa? liczby, nie litery !");
if(GetPlayerMoney(playerid) < kasa) return SendClientMessage(playerid, WHITE, "»» Nie masz tylu pieni?dzy. ");
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]+kasa;
GivePlayerMoney(playerid, -kasa);
}
if(dialogid == DIALOG_WYPLATA)
{
if(!response) return 0;
new kasa = strval(inputtext);
if(!IsNumeric(inputtext)) return SendClientMessage(playerid, WHITE, "»» Z?a kwota. Musisz wpisa? liczby, nie litery !");
if(PlayerInfo[playerid][Kasa] < kasa) return SendClientMessage(playerid, WHITE, "»» Nie masz tylu pieni?dzy na koncie !");
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]-kasa;
GivePlayerMoney(playerid, kasa);
}
return 0;
}
Za pomoc piwko.
Wysłany: 2013-06-03, 13:37
akon823
Czekotubka :D
Wiek: 29 Na forum: 4816 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Te? tak mia?em lecz z systemem dom?w Musia?em sprawdzi? czy id dialog?w si? nie powtarzaj? oraz sprawdzi? czy wszystkie pliki si? zgadzaj? i znalaz?em ten b??d ;] brakowa?o mi 1 pliku pod nazw? domy.cfg Wi?c posprawdzaj wszystkie pliki i id to mo?e Ci pomo?e :>
Wysłany: 2013-06-03, 19:54
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Posprawdza?em wszystko,ale nadal nic.
Wysłany: 2013-06-03, 21:17
B!4CK
Never give UP!
Wiek: 32 Na forum: 5809 dni Posty: 1047
Nick w MP: John
Piwa : 1891
Rumun , a masz jaki? inny system GUI i mo?e si? buguje? Sprawd? dok?adniej, a jak nie to od nowa kod sprawd? lub stw?rz.
Podpis
Cześć
[you]
!
Projekt, który poruszy scenę platformy SA:MP!
Wysłany: 2013-06-03, 21:50
Seboo
Wiek: 30 Na forum: 5516 dni Posty: 124
Nick w MP: Sebo
Piwa : 1228
Kod: if(dialogid == DIALOG_BANK)
{
new string[128];
if(response)
{
switch(listitem)
{
case 0:
{
format(string, sizeof string, ""C_WHITE"Wpisz ilo?? pieni?dzy jak? chcesz wp?aci?: \nAktualnie masz przy sobie "C_ORANGE"%d $ ", GetPlayerMoney(playerid));
ShowPlayerDialog(playerid, DIALOG_WPLATA, DIALOG_STYLE_INPUT, "Wplata", string, "Wplac", "Zamknij");
}
case 1:
{
format(string, sizeof string, ""C_WHITE"Wpisz ilo?? pieni?dzy jak? chcesz wyp?aci?: \nAktualnie masz w banku "C_ORANGE"%d $ ", PlayerInfo[playerid][Kasa]);
ShowPlayerDialog(playerid, DIALOG_WYPLATA, DIALOG_STYLE_INPUT, "Wyplata", string, "Wyplac", "Zamknij");
}
case 2:
{
new forsa = GetPlayerMoney(playerid);
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]+forsa;
format(string, sizeof string, "»» Wp?aci?e? "C_ORANGE"%d "C_WHITE"pieni?dzy do banku. Masz teraz "C_ORANGE"%d $ "C_WHITE"w banku. ", forsa, PlayerInfo[playerid][Kasa]);
SendClientMessage(playerid, WHITE, string);
GivePlayerMoney(playerid, -forsa);
}
case 3:
{
GivePlayerMoney(playerid, PlayerInfo[playerid][Kasa]);
PlayerInfo[playerid][Kasa] = 0;
format(string, sizeof string, "»» Wyp?aci?e? wszystkie pieni?dze z banku. Masz teraz przy sobie "C_ORANGE"%d $ ", GetPlayerMoney(playerid));
SendClientMessage(playerid, WHITE, string);
}
case 4:
{
format(string, sizeof string, ""C_WHITE"Stan twojego konta wynosi "C_ORANGE"%d $ ", PlayerInfo[playerid][Kasa]);
ShowPlayerDialog(playerid, 400, DIALOG_STYLE_MSGBOX, "Informacja", string, "Zamknij", "");
}
}
}
}
if(dialogid == DIALOG_WPLATA)
{
if(response)
{
new kasa = strval(inputtext);
if(!IsNumeric(inputtext)) return SendClientMessage(playerid, WHITE, "»» Z?a kwota. Musisz wpisa? liczby, nie litery !");
if(GetPlayerMoney(playerid) < kasa) return SendClientMessage(playerid, WHITE, "»» Nie masz tylu pieni?dzy. ");
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]+kasa;
GivePlayerMoney(playerid, -kasa);
}
}
if(dialogid == DIALOG_WYPLATA)
{
if(response)
{
new kasa = strval(inputtext);
if(!IsNumeric(inputtext)) return SendClientMessage(playerid, WHITE, "»» Z?a kwota. Musisz wpisa? liczby, nie litery !");
if(PlayerInfo[playerid][Kasa] < kasa) return SendClientMessage(playerid, WHITE, "»» Nie masz tylu pieni?dzy na koncie !");
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]-kasa;
GivePlayerMoney(playerid, kasa);
}
}
return 0;
}
Wysłany: 2013-06-03, 21:50
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Oto ca?y skrypt:
Kod: #include <a_samp>
#include <zcmd>
#define DIALOG_BANK 26
#define DIALOG_WPLATA 27
#define DIALOG_WYPLATA 28
#define RED 0xFF000080
#define ORANGE 0xFF990080
#define WHITE 0xFFFEFF80
#define VIOLET 0xEE82EE80
#define SALAMON 0xFA807280
#define C_RED "{FF0000}"
#define C_ORANGE "{FF9900}"
#define C_WHITE "{FFFEFF}"
#define C_VIOLET "{EE82EE}"
#define C_GREEN "{33AA33}"
enum bank
{
Kasa
};
new PlayerInfo[MAX_PLAYERS][bank];
new ZalogowanyBank[MAX_PLAYERS];
new DB:DataBase;
public OnFilterScriptInit()
{
DataBase = db_open("SerwerBank.db");
new string[500];
strcat(string, "CREATE TABLE `Bank` ( ");
strcat(string, "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, ");
strcat(string, "`nick` VARCHAR UNIQUE NOT NULL, ");
strcat(string, "`kasa` INTEGER DEFAULT '0' NOT NULL); ");
db_free_result(db_query(DataBase, string));
return 1;
}
public OnFilterScriptExit()
{
db_close(DataBase);
return 1;
}
public OnPlayerConnect(playerid)
{
PlayerInfo[playerid][Kasa] = 0;
ZalogowanyBank[playerid] = 0;
SprawdzBank(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SaveBankPlayer(playerid);
return 1;
}
cmd(bank, playerid, params[])
{
if(ZalogowanyBank[playerid] == 0) return SendClientMessage(playerid, ORANGE, "»» Musisz za?o?y? konto bankowe aby m?c u?y? tej komendy. Wpisz /rkonto. ");
return ShowPlayerDialog(playerid, DIALOG_BANK, DIALOG_STYLE_LIST, "Wybierz opcje", "Wp?a? pieni?dze\nWyp?a? pieni?dze\nWp?a? wszystko\nWyp?a? wszystko\nStan konta", "Wybierz", "Zamknij");
}
cmd(rkonto, playerid, params[])
{
if(ZalogowanyBank[playerid] == 1) return SendClientMessage(playerid, WHITE, "»» Masz ju? konto bankowe. ");
ZalogowanyBank[playerid] = 1;
new string[128];
format(string, sizeof string, "INSERT INTO `Bank` (`nick`, `kasa`) VALUES ('%s', '0')", PlayerName(playerid));
db_free_result(db_query(DataBase, string));
SendClientMessage(playerid, ORANGE, "»» Zarejestrowa?e? swoje konto bankowe !. ");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_BANK)
{
if(!response) return 0;
new string[128];
switch(listitem)
{
case 0:
{
format(string, sizeof string, ""C_WHITE"Wpisz ilo?? pieni?dzy jak? chcesz wp?aci?: \nAktualnie masz przy sobie "C_ORANGE"%d $ ", GetPlayerMoney(playerid));
ShowPlayerDialog(playerid, DIALOG_WPLATA, DIALOG_STYLE_INPUT, "Wplata", string, "Wplac", "Zamknij");
}
case 1:
{
format(string, sizeof string, ""C_WHITE"Wpisz ilo?? pieni?dzy jak? chcesz wyp?aci?: \nAktualnie masz w banku "C_ORANGE"%d $ ", PlayerInfo[playerid][Kasa]);
ShowPlayerDialog(playerid, DIALOG_WYPLATA, DIALOG_STYLE_INPUT, "Wyplata", string, "Wyplac", "Zamknij");
}
case 2:
{
new forsa = GetPlayerMoney(playerid);
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]+forsa;
format(string, sizeof string, "»» Wp?aci?e? "C_ORANGE"%d "C_WHITE"pieni?dzy do banku. Masz teraz "C_ORANGE"%d $ "C_WHITE"w banku. ", forsa, PlayerInfo[playerid][Kasa]);
SendClientMessage(playerid, WHITE, string);
GivePlayerMoney(playerid, -forsa);
}
case 3:
{
GivePlayerMoney(playerid, PlayerInfo[playerid][Kasa]);
PlayerInfo[playerid][Kasa] = 0;
format(string, sizeof string, "»» Wyp?aci?e? wszystkie pieni?dze z banku. Masz teraz przy sobie "C_ORANGE"%d $ ", GetPlayerMoney(playerid));
SendClientMessage(playerid, WHITE, string);
}
case 4:
{
format(string, sizeof string, ""C_WHITE"Stan twojego konta wynosi "C_ORANGE"%d $ ", PlayerInfo[playerid][Kasa]);
ShowPlayerDialog(playerid, 455, DIALOG_STYLE_MSGBOX, "Informacja", string, "Zamknij", "");
}
}
}
if(dialogid == DIALOG_WPLATA)
{
if(!response) return 0;
new kasa = strval(inputtext);
if(!IsNumeric(inputtext)) return SendClientMessage(playerid, WHITE, "»» Z?a kwota. Musisz wpisa? liczby, nie litery !");
if(GetPlayerMoney(playerid) < kasa) return SendClientMessage(playerid, WHITE, "»» Nie masz tylu pieni?dzy. ");
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]+kasa;
GivePlayerMoney(playerid, -kasa);
}
if(dialogid == DIALOG_WYPLATA)
{
if(!response) return 0;
new kasa = strval(inputtext);
if(!IsNumeric(inputtext)) return SendClientMessage(playerid, WHITE, "»» Z?a kwota. Musisz wpisa? liczby, nie litery !");
if(PlayerInfo[playerid][Kasa] < kasa) return SendClientMessage(playerid, WHITE, "»» Nie masz tylu pieni?dzy na koncie !");
PlayerInfo[playerid][Kasa] = PlayerInfo[playerid][Kasa]-kasa;
GivePlayerMoney(playerid, kasa);
}
return 0;
}
stock SprawdzBank(playerid)
{
new string[128], DBResult:result;
format(string, sizeof string, "SELECT `id` FROM `Bank` WHERE `nick` = '%s' ", PlayerName(playerid));
result = db_query(DataBase, string);
if(db_num_rows(result)) LoadPlayerBank(playerid);
return 1;
}
stock LoadPlayerBank(playerid)
{
new DBResult:result, kasa[16], string[160];
format(string, sizeof string, "SELECT `kasa` FROM `Bank` WHERE `nick` = '%s'", PlayerName(playerid));
result = db_query(DataBase, string);
if(db_num_rows(result))
{
db_get_field(result, 0, kasa, sizeof kasa);
db_free_result(result);
ZalogowanyBank[playerid] = 1;
PlayerInfo[playerid][Kasa] = strval(kasa);
SendClientMessage(playerid, RED, "»» Bank wczytany. ");
}
return 1;
}
stock SaveBankPlayer(playerid)
{
if(ZalogowanyBank[playerid] == 1)
{
new string3[128];
format(string3, sizeof string3, "UPDATE `Bank` SET `kasa` =%d WHERE `nick` = '%s' ", PlayerInfo[playerid][Kasa], PlayerName(playerid));
db_free_result(db_query(DataBase, string3));
}
return 1;
}
IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
if (string[i] > '9' || string[i] < '0') return 0;
return 1;
}
stock PlayerName(playerid)
{
new PName[24];
GetPlayerName(playerid, PName, MAX_PLAYER_NAME);
return PName;
}
Przepatrzy?em nie wiem co mo?e by? ?le.
Tagi: bank.
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: