Jump to content
  • 0

pomoc Blbá menu akce, nebo jak to říct :D


AvestX

Dotaz

Takže, dneska sem si dělal do modu script na banku, a stala se mi taková blbá věc.

Když v menu vyberu možnost vybrat penize nebo vlozit, aktivuje to nějákou podlosku v menu co ukážu, a automaticky to vloží peníze.

Zkoušel sem to i jako GM ale nešlo :(

pls, někdo kdo by v tom našel bug tak mi to opravte, nebo řekněte co v tom je za chybu.

Kdyby jste nechápali testnete to, tady je script jako GM.

 

#include

#include

 

#define MAX_BANKOMATS 50

#define BANK_CP_ID 1

#define TABLE_DIALOG_ID 5

 

enum BANKOMAT_INFO{

Float:b_x,

Float:b_y,

Float:b_z

}

new Bank[MAX_BANKOMATS][bANKOMAT_INFO];

new BankCount = 0;

new Menu:BankHLMenu;

new Menu:Bank_p_Menu;

new Menu:Bank_v_Menu;

new Bank_m[MAX_PLAYERS];

 

forward AddBank(Float:X, Float:Y, Float:Z);

forward BankMenuLoad();

 

public BankMenuLoad(){

BankHLMenu = CreateMenu("~r~B~w~ank",2,2,119,200,200);

AddMenuItem(BankHLMenu, 0, "Stav uctu");

AddMenuItem(BankHLMenu, 0, "Vlozit na ucet");

AddMenuItem(BankHLMenu, 0, "Vybrat z uctu");

AddMenuItem(BankHLMenu, 0, "Konec");

 

Bank_p_Menu = CreateMenu("~r~V~w~lozit ~r~P~w~enize",2,2,119,200,200);

AddMenuItem(Bank_p_Menu, 0, "Vlozit vse");

AddMenuItem(Bank_p_Menu, 0, "$100");

AddMenuItem(Bank_p_Menu, 0, "$500");

AddMenuItem(Bank_p_Menu, 0, "$1000");

AddMenuItem(Bank_p_Menu, 0, "$5000");

AddMenuItem(Bank_p_Menu, 0, "$10000");

AddMenuItem(Bank_p_Menu, 0, "Konec vyberu");

 

Bank_v_Menu = CreateMenu("~r~V~w~ybrat ~r~P~w~enize",2,2,119,200,200);

AddMenuItem(Bank_v_Menu, 0, "Vybrat vse");

AddMenuItem(Bank_v_Menu, 0, "$100");

AddMenuItem(Bank_v_Menu, 0, "$500");

AddMenuItem(Bank_v_Menu, 0, "$1000");

AddMenuItem(Bank_v_Menu, 0, "$5000");

AddMenuItem(Bank_v_Menu, 0, "$10000");

AddMenuItem(Bank_v_Menu, 0, "Konec vyberu");

return true;

}

 

public AddBank(Float:X, Float:Y, Float:Z){

if(BankCount < MAX_BANKOMATS){

//---------------|

CreateCheckpoint(BANK_CP_ID, X,Y,Z, 2, 20);

Bank[bankCount][b_x] = X;

Bank[bankCount][b_y] = Y;

Bank[bankCount][b_z] = Z;

BankCount ++;

//---------------|

}else return false;

return true;

}

 

public OnGameModeInit()

{

BankMenuLoad();

AddBank(1413.8657,-1701.2943,13.5395);

return 1;

}

 

public OnPlayerEnterCheckpoint(playerid)

{

if(PlayerCheckPoint[playerid] == BANK_CP_ID) ShowMenuForPlayer(BankHLMenu, playerid);

return 1;

}

 

stock Information(playerid, text[]){

ShowPlayerDialog(playerid, TABLE_DIALOG_ID, DIALOG_STYLE_MSGBOX, "Information", text, "Ok", "Konec");

return true;

}

 

public OnPlayerSelectedMenuRow(playerid, row)

{

if(GetPlayerMenu(playerid) == BankHLMenu){

switch(row){

case 0:{

new string[500];

format(string, sizeof(string), "------------------< STAV BANKOVNÍHO ÚČTU >------------------\n\nStav tvého účtu je $%d\n\n------------------< STAV BANKOVNÍHO ÚČTU >------------------", Bank_m[playerid]);

Information(playerid, string);

}

case 1: ShowMenuForPlayer(Bank_p_Menu, playerid);

case 2: ShowMenuForPlayer(Bank_v_Menu, playerid);

}

}

 

if(GetPlayerMenu(playerid) == Bank_p_Menu){

switch(row){

case 0:{

new str[150];

format(str, 150, "Vlozil jsi na svuj ucet $%d, nyní máš na účtě $%d !", GetPlayerMoney(playerid), Bank_m[playerid]);

Information(playerid, str);

Bank_m[playerid] += GetPlayerMoney(playerid);

ResetPlayerMoney(playerid);

}

case 1: SendPlayerMoneyToBank(playerid, 100);

case 2: SendPlayerMoneyToBank(playerid, 500);

case 3: SendPlayerMoneyToBank(playerid, 1000);

case 4: SendPlayerMoneyToBank(playerid, 5000);

case 5: SendPlayerMoneyToBank(playerid, 10000);

}

}

 

if(GetPlayerMenu(playerid) == Bank_v_Menu){

switch(row){

case 0:{

new str[150];

format(str, 150, "Vybral jsi $%d ze svého účtu, nyní máš na účtě $0 !", Bank_m[playerid]);

Information(playerid, str);

GivePlayerMoney(playerid, Bank_m[playerid]);

Bank_m[playerid] = 0;

}

case 1: SendBankMoneyToPlayer(playerid, 100);

case 2: SendBankMoneyToPlayer(playerid, 500);

case 3: SendBankMoneyToPlayer(playerid, 1000);

case 4: SendBankMoneyToPlayer(playerid, 5000);

case 5: SendBankMoneyToPlayer(playerid, 10000);

}

}

return 1;

}

 

stock SendPlayerMoneyToBank(playerid, money){

new str[150];

if(GetPlayerMoney(playerid) < money) return Information(playerid, "Na tento vklad nemáš peníze !");

Bank_m[playerid] += money;

GivePlayerMoney(playerid, -money);

format(str, 150, "Uložil jsi si na účet $%d, na účtě máš aktuálně $%d !", money, Bank_m[playerid]);

Information(playerid, str);

return true;

}

 

stock SendBankMoneyToPlayer(playerid, money){

new str[150];

if(Bank_m[playerid] < money) return Information(playerid, "Na účtě nemáš tolik penez !");

Bank_m[playerid] -= money;

GivePlayerMoney(playerid, money);

format(str, 150, "Vybral jsi si z účtu $%d, na účtu máš aktuálně $%d !", money, Bank_m[playerid]);

return true;

}

 

Děkuju předem.

Link to comment
Share on other sites

4 odpovědí na tuto otázku

Recommended Posts

  • 0

nvm jestli to pude ale skus :

 

 

#include

#include

 

#define MAX_BANKOMATS 50

#define BANK_CP_ID 1

#define TABLE_DIALOG_ID 5

 

enum BANKOMAT_INFO{

Float:b_x,

Float:b_y,

Float:b_z

}

new Bank[MAX_BANKOMATS][bANKOMAT_INFO];

new BankCount = 0;

new Menu:BankHLMenu;

new Menu:Bank_p_Menu;

new Menu:Bank_v_Menu;

new Bank_m[MAX_PLAYERS];

 

forward AddBank(Float:X, Float:Y, Float:Z);

forward BankMenuLoad();

 

public BankMenuLoad(){

BankHLMenu = CreateMenu("~r~B~w~ank", 1, 50.0, 180.0, 200.0, 200.0);

 

AddMenuItem(BankHLMenu, 0, "Stav uctu");

AddMenuItem(BankHLMenu, 0, "Vlozit na ucet");

AddMenuItem(BankHLMenu, 0, "Vybrat z uctu");

AddMenuItem(BankHLMenu, 0, "Konec");

 

Bank_p_Menu = CreateMenu("~r~V~w~lozit ~r~P~w~enize", 1, 50.0, 180.0, 200.0, 200.0);

 

AddMenuItem(Bank_p_Menu, 0, "Vlozit vse");

AddMenuItem(Bank_p_Menu, 0, "$100");

AddMenuItem(Bank_p_Menu, 0, "$500");

AddMenuItem(Bank_p_Menu, 0, "$1000");

AddMenuItem(Bank_p_Menu, 0, "$5000");

AddMenuItem(Bank_p_Menu, 0, "$10000");

AddMenuItem(Bank_p_Menu, 0, "Konec vyberu");

 

 

Bank_v_Menu = CreateMenu("~r~V~w~ybrat ~r~P~w~enize", 1, 50.0, 180.0, 200.0, 200.0);

 

AddMenuItem(Bank_v_Menu, 0, "Vybrat vse");

AddMenuItem(Bank_v_Menu, 0, "$100");

AddMenuItem(Bank_v_Menu, 0, "$500");

AddMenuItem(Bank_v_Menu, 0, "$1000");

AddMenuItem(Bank_v_Menu, 0, "$5000");

AddMenuItem(Bank_v_Menu, 0, "$10000");

AddMenuItem(Bank_v_Menu, 0, "Konec vyberu");

 

return true;

}

 

public AddBank(Float:X, Float:Y, Float:Z){

if(BankCount < MAX_BANKOMATS){

//---------------|

CreateCheckpoint(BANK_CP_ID, X,Y,Z, 2, 20);

Bank[bankCount][b_x] = X;

Bank[bankCount][b_y] = Y;

Bank[bankCount][b_z] = Z;

BankCount ++;

//---------------|

}else return false;

return true;

}

 

public OnPlayerEnterCheckpoint(playerid)

{

if(PlayerCheckPoint[playerid] == BANK_CP_ID) ShowMenuForPlayer(BankHLMenu, playerid);

return 1;

}

 

 

public OnGameModeInit()

{

BankMenuLoad();

AddBank(1413.8657,-1701.2943,13.5395);

return 1;

}

 

 

 

stock Information(playerid, text[]){

ShowPlayerDialog(playerid, TABLE_DIALOG_ID, DIALOG_STYLE_MSGBOX, "Information", text, "Ok", "Konec");

return true;

}

 

public OnPlayerSelectedMenuRow(playerid, row)

{

new Menu:current;

current = GetPlayerMenu(playerid);

if(current == BankHLMenu)

{

switch(row)

{

case 0:{

new string[500];

format(string, sizeof(string), "------------------< STAV BANKOVNÍHO ÚČTU >------------------\n\nStav tvého účtu je $%d\n\n------------------< STAV BANKOVNÍHO ÚČTU >------------------", Bank_m[playerid]);

Information(playerid, string);

}

case 1:{

ShowMenuForPlayer(Bank_p_Menu, playerid);

}

case 2:{

ShowMenuForPlayer(Bank_v_Menu, playerid);

}

case 3:{

HideMenuForPlayer(BankHLMenu, playerid);

}

}

}

 

 

if(current == Bank_p_Menu)

{

switch(row)

{

case 0:{

new str[150];

format(str, 150, "Vlozil jsi na svuj ucet $%d, nyní máš na účtě $%d !", GetPlayerMoney(playerid), Bank_m[playerid]);

Information(playerid, str);

Bank_m[playerid] += GetPlayerMoney(playerid);

ResetPlayerMoney(playerid);

}

case 1:{

SendPlayerMoneyToBank(playerid, 100);

}

case 2:{

SendPlayerMoneyToBank(playerid, 500);

}

case 3:{

SendPlayerMoneyToBank(playerid, 1000);

}

case 4:{

SendPlayerMoneyToBank(playerid, 5000);

}

case 5:{

SendPlayerMoneyToBank(playerid, 10000);

}

case 6:{

HideMenuForPlayer(Bank_p_Menu, playerid);

}

}

}

 

if(current == Bank_v_Menu)

{

switch(row)

{

case 0:{

new str[150];

format(str, 150, "Vybral jsi $%d ze svého účtu, nyní máš na účtě $0 !", Bank_m[playerid]);

Information(playerid, str);

GivePlayerMoney(playerid, Bank_m[playerid]);

Bank_m[playerid] = 0;

}

case 1:{

SendBankMoneyToPlayer(playerid, 100);

}

case 2:{

SendBankMoneyToPlayer(playerid, 500);

}

case 3:{

SendBankMoneyToPlayer(playerid, 1000);

}

case 4:{

SendBankMoneyToPlayer(playerid, 5000);

}

case 5:{

SendBankMoneyToPlayer(playerid, 10000);

}

case 6:{

HideMenuForPlayer(Bank_v_Menu, playerid);

}

}

}

 

return 1;

}

 

stock SendPlayerMoneyToBank(playerid, money){

new str[150];

if(GetPlayerMoney(playerid) < money) return Information(playerid, "Na tento vklad nemáš peníze !");

Bank_m[playerid] += money;

GivePlayerMoney(playerid, -money);

format(str, 150, "Uložil jsi si na účet $%d, na účtě máš aktuálně $%d !", money, Bank_m[playerid]);

Information(playerid, str);

return true;

}

 

stock SendBankMoneyToPlayer(playerid, money){

new str[150];

if(Bank_m[playerid] < money) return Information(playerid, "Na účtě nemáš tolik penez !");

Bank_m[playerid] -= money;

GivePlayerMoney(playerid, money);

format(str, 150, "Vybral jsi si z účtu $%d, na účtu máš aktuálně $%d !", money, Bank_m[playerid]);

return true;

}

 

 

-- ned 11. dub 2010 20:31:21 --

 

Napiš jestli to pude.

Link to comment
Share on other sites

  • 0

Jestli to jde tak asi toto

 

new Menu:current;
current = GetPlayerMenu(playerid);
if(current == BankHLMenu)
{
...

 

a ještě

 

 

BankHLMenu = CreateMenu("~r~B~w~ank", 1, 50.0, 180.0, 200.0, 200.0);

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...