Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-06-03, 11:05


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

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. ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-03, 13:37


akon823

Czekotubka :D






Wiek: 29
Na forum: 4816 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Te? tak mia?em lecz z systemem dom?w :D Musia?em sprawdzi? czy id dialog?w si? nie powtarzaj? :D 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 :>

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-03, 19:54


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

Posprawdza?em wszystko,ale nadal nic. :(

Postaw piwo autorowi tego posta
 

 
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

Respekt: 124,2
Respekt: 124,2

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ść
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-03, 21:50


Seboo







Wiek: 30
Na forum: 5516 dni
Posty: 124
Nick w MP: Sebo

Piwa: 1228

Respekt: 102
Respekt: 102

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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-03, 21:50


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

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.

Postaw piwo autorowi tego posta
 

 
Tagi: bank.
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku