Jump to content
  • 0

pomoc Dialog=> Banka a Povolanie


Mivčo

Dotaz

Zdravim mam problem.

Robim mod a mam am banku od Techtoma a Zamestnanie od neviem koho :d

Ked idem do banky idem si vložit peniaze alebo vybrat kliknem na vložit a chcem zadat sumu a ked sa mi zobrazí tabulku na pisanie tak mi po 3 sekundach zobrazí Vložit/Vybrat/Stav ako by som to opravil? Dalej

Idem sa zamestnat za taxikara mam tam Zamestnat sa/Skin/Výplata/Výpoved klikne na Zamestnat sa a Zamestnama to no a pridem naspät na pickup taxika a ukazuje mi Vložit/Vybrat/Stav ako by som toto opravil?

Dam sem Dialog respone a puckupy

 

OnDialogResponse

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

{

ShowedPlayerDialog[playerid]=false;

if(dialogid == 9)

{

if(response == 1)

{

if(listitem == 0)

{

ShowPlayerDialogEx(playerid,DIALOG_VYBRAT,DIALOG_STYLE_INPUT,"Vybrať peniaze","Napíš koľko chceš vybrať","Vybrať","Zrušiť");

}

else if(listitem == 1)

{

ShowPlayerDialogEx(playerid,DIALOG_VLOZIT,DIALOG_STYLE_INPUT,"Vložiť peniaze","Napíš koľko chceš vložiť","Vložiť","Zrušiť");

}

else if(listitem == 2)

{

new string[128];

format(string,128,"Na tvojom účte je %d $",PlayerInfo[playerid][pBanka]);

ShowPlayerDialogEx(playerid,DIALOG_STAV,DIALOG_STYLE_MSGBOX,"Stav účtu",string,"OK","");

}

}

}

 

if(dialogid == DIALOG_VYBRAT)

{

if(response == 1)

{

if(PlayerInfo[playerid][pBanka] < strval(inputtext)) return SendClientMessage(playerid,-1,"Nemáš toľko na účte");

if(!IsNumeric(inputtext)) return SendClientMessage(playerid,-1,"Musíš zadať číselnú hodnotu !");

PlayerInfo[playerid][pBanka]-=strval(inputtext);

GivePlayerMoney(playerid,strval(inputtext));

}

}

 

if(dialogid == DIALOG_VLOZIT)

{

if(response == 1)

{

if(strval(inputtext) > GetPlayerMoney(playerid)) return SendClientMessage(playerid,-1,"Zle zadaná čiastka !");

if(!IsNumeric(inputtext)) return SendClientMessage(playerid,-1,"Musíš zadať číselnú hodnotu !");

PlayerInfo[playerid][pBanka]+=strval(inputtext);

GivePlayerMoney(playerid,-strval(inputtext));

}

}

 

if(dialogid == DIALOG_OBCAN) //ID Dialogu Kdyztak si zmente

{

if(response == 1) // Tlacitko 1 ktere použijeme

{

if(PlayerInfo[playerid][pObcanka] == 1) return SendClientMessage(playerid, 0x33CCFFAA, "Už Mas občansky prukaz"); // zprava kterou mu to posle kdyz uz bude mit obcanku a bude ji chtit znova

SendClientMessage(playerid, 0x33CCFFAA, "pořidil sis občansky prukaz"); // zprava kdyz si ji poridi

PlayerInfo[playerid][pObcanka] = 1;//nastaví promenu na 1

GivePlayerMoney(playerid,-20000);

}

}

 

if(dialogid == DIALOG_VODICAK && response)

{

if(GetPlayerMoney(playerid) < 2000) {// nemá peníze

SendClientMessage(playerid, COLOR_RED, "[ ! ] Nemáš peníze [ 2000,- ].");//posle zprávu že nemá prachy

}

if (PlayerInfo[playerid][pVodicak] == 1) {// ze už má řidičák

SendClientMessage(playerid, COLOR_WHITE, "[ ! ] Už máš řidičák!");//posle zprávu že již má řidičák

}else{//když tyto podmínky splnuje

GivePlayerMoney(playerid,-2000);

SendClientMessage(playerid,COLOR_BLUE,"[ ! ] Projiždej Cheackpointy!");//posle zprávu že dělá test

CreateVehicle(560,1713.3425000,-1598.9686000,13.1519000,267.2146000,17,1,15);

SetPlayerCheckpoint(playerid,1739.0287,-1599.1563,13.1108,7.0);//Nastaví checkpoint

autoskola[playerid] = Check2;//a když do něj vejde, přejde na další

}

}

if(dialogid==20)

{

if(response == 1)

{

if(listitem == 0)

{

if(PlayerInfo[playerid][pObcanka] == 0) return SendClientMessage(playerid, 0x33CCFFAA, "Nemáš obcianský kup si ho na urade");

if(povolanie[playerid]==1) return SendClientMessage(playerid,-1,"Už si zamestnaný ako taxikár");

SendClientMessage(playerid,ZLTA,"Zamestnal si sa za taxikára!");

povolanie[playerid] = 1;

GivePlayerWeapon(playerid,3,1);//da zbrane

GivePlayerWeapon(playerid,25,1000);

GivePlayerWeapon(playerid,24,1000);

SetPlayerInterior(playerid,0);//nastavi interier)budovu aby nepadal dolu)

SetPlayerColor(playerid,COLOR_YELLOW);

VyplataTimer = SetTimer("HracObdrzelVyplatu",300000,false); //Pokud se hráč zaměstná, spustí se timer.

}

if(listitem == 1)

{

if(povolanie[playerid]!=1) return SendClientMessage(playerid,-1,"Niesi taxikár");

SetPlayerSkin(playerid,270);

SetPlayerSkin(playerid,260);

}

if(listitem == 2)

{

if(povolanie[playerid]!=1) return SendClientMessage(playerid,-1,"Niesi taxikár");

if(Vyplata[playerid] == 0) return SendClientMessage(playerid,COLOR_BLUE,"Ještě ti nepřišli peníze !"); //Pokud ještě hráčovi nepřišli peníze.

Vyplata[playerid] = 0; //Dá vyplatu na 0, aby nemohl hráč vybírat výplatu pořád.

SendClientMessage(playerid,COLOR_BLUE,"Vybral jsi peníze !");

GivePlayerMoney(playerid,30000); //Tvoje výplata, zmeň si jak chceš.

}

if(listitem == 3) //Výplata

{

if(povolanie[playerid]!=1) return SendClientMessage(playerid,-1,"Niesi taxikár");

SendClientMessage(playerid,ZLTA,"Dal si výpoveď!");

povolanie[playerid] = 0;

KillTimer(VyplataTimer); //Vypne Timer

Vyplata[playerid] = 0; //aby si už hráč nemohl vybrat výplatu

SetSpawnInfo(playerid,0,0,2035.8728,1388.3577,10.8203,254.1749,0,0,0,0,0,0);

}

}

}

return 1;

}

 

 

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(IsPlayerInRangeOfPoint(playerid,1274,1724.5679,-1657.9568,20.0625))
{
ShowPlayerDialogEx(playerid,9,DIALOG_STYLE_LIST,"Banka","Vybrať\nVložiť\nStav","Vybrať","Zrušiť");
}
if(IsPlayerInSphere(playerid,1719.0874,-1652.0574,20.0625,2))//X,Y,Z Si změnte na souradnice
{
ShowPlayerDialog(playerid,DIALOG_VODICAK,DIALOG_STYLE_LIST,"Uřad","Udělat Test na Řidičák","Ano","Konec");
}
if(IsPlayerInSphere(playerid,1715.2694,-1670.5814,20.2245,4)) //XYZ souradky to si zmente
{
ShowPlayerDialog(playerid,DIALOG_OBCAN,DIALOG_STYLE_LIST,"Uřad","Kupit si Občianský preukaz","Ano","Konec"); // 1= ID dialogu pokud ste ho zmenili zmente aji tu
}

if(pickupid == taxikar)
{
if(povolanie[playerid]!=1)
{
ShowPlayerDialog(playerid,20,DIALOG_STYLE_LIST,"Taxikár","Zamestnat sa\nSkin\nVýplata\nVýpoved","O.K","Zrušiť");
}
}
return 1;
}

 

Pomožte mi

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

Prehadzujú sa ti dialógové okná.

 

Vytvor si nejakú premennú napr.

new bool:ShowDialog[MAX_PLAYERS];

Pri akomkoľvek zobrazení skontroluj, či je tá premenná nastavená na false, ak nie je, tak zobraz dialóg a nastav premennú na true

if(ShowDialog[playerid] == false)
{
ShowDialog[playerid] = true;
ShowPlayerDialog(...);
}

A nakoniec, do OnDialogResponse, hneď na začiatok vynuluj premennú (nastav na false)

public OnDialogResponse(...)
{
ShowDialog[playerid] = false;
...
}

Link to comment
Share on other sites

  • 0

Este kte banke mam toto

stock ShowPlayerDialogEx(playerid, id, style, lis[], mess[], button1[], button2[])

{

if(ShowedPlayerDialog[playerid] == true) return false;

ShowPlayerDialog(playerid, id, style, lis, mess, button1, button2);

ShowedPlayerDialog[playerid] = true;

return true;

}

Link to comment
Share on other sites

  • 0

stock ShowPlayerDialogEx(playerid, id, style, lis[], mess[], button1[], button2[])
{
if(ShowedPlayerDialog[playerid] == true) return false;
ShowPlayerDialog(playerid, id, style, lis, mess, button1, button2);
ShowedPlayerDialog[playerid] = true;
return true;
}
#define ShowPlayerDialog ShowPlayerDialogEx

 

toto si dej nahoru do modu (aby to bylo uplne nad vsema dialogama)

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