Jump to content
  • 0

pomoc Dialogy


_niCo_

Dotaz

image.thumb.png.214909e42f77662319a0e89dff308872.png

 

 

 

Povedlo s emi udělat ty dialogy a tedka bych chtěl tam dát funkce když kliknu na 1 kolonku policie taka by se udělalo to, co vidíte pod tím 



if(listitem == 0)
            {
                if(GetPlayerMoney(playerid) <0)
                return
                SendClientMessage(playerid, -1, "{FF0000}Na tento hovor nemáš dostatek peněz. {FFFFFF}Zkus to později.");
                GivePlayerMoney(playerid,-0);
                GetPlayerName(playerid,name,24);
                format(str, 128, "{0000FF}Hráč {FFFFFF}%s {0000FF}potřebuje San Andreas Police Department{FFFFFF}[ SAPD ]", name);
                SendClientMessageToAll(-1, str);
            }

Link to comment
Share on other sites

12 odpovědí na tuto otázku

Recommended Posts

  • 0

Takže takhle:

#define DIALOGID 1000

CMD:telefon(playerid)
{
    if(IsPlayerConnected(playerid))
    {
    	ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Nadpis", "1\n2\n3", "Vybrat", "Zrušit");
	}
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
      	case DIALOGID:
        {
          	switch(listitem)
			{
          		case 0: ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Nadpis", "1\n2\n3", "Vybrat", "Zrušit");
          		case 1: ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST, "Nadpis", "1\n2\n3", "Vybrat", "Zrušit");
          		case 2: ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST, "Nadpis", "1\n2\n3", "Vybrat", "Zrušit");
        	}
        }
        case DIALOGID+1:
        {
         	switch(listitem)
			{
                case 0:// Co se stane v dialogu DIALOGID+1 v 1 slotě
                case 1:// Co se stane v dialogu DIALOGID+1 v 2 slotě
                case 2:// Co se stane v dialogu DIALOGID+1 v 3 slotě
            }
        }
        case DIALOGID+2:
        {
         	switch(listitem)
			{
                case 0: // Co se stane v dialogu DIALOGID+2 v 1 slotě
                case 1: // Co se stane v dialogu DIALOGID+2 v 2 slotě 
                case 2: // Co se stane v dialogu DIALOGID+2 v 3 slotě
            }
        }
        case DIALOGID+3:
        {
         	switch(listitem)
			{
                case 0: // Co se stane v dialogu DIALOGID+3 v 1 slotě
                case 1: // Co se stane v dialogu DIALOGID+3 v 2 slotě
                case 2: // Co se stane v dialogu DIALOGID+3 v 3 slotě
            }
        }
	}
    return 1;
}

PS: Jestli už tomuhle nechápeš tak běž se učit základy a potom něco dělej.

Edited by ]Virus[
Link to comment
Share on other sites

  • 2

Chlapci eh, dovolím si tady zmínit docela důležité návody pro začátečníky/pokročilí začátečníci. 

 

No a celkově bych doporučil celou sekci, ono to nikomu neuškodí. Obzvlášť vám.

https://pawno.cz/index.php?/forum/149-pawn-pro-začátečníky/

Je docela smutné tady pozorovat co a podle koho je a není podmínka. Snad vám ty témata osvěží vaše začátky, nic ve zlém. To je pouze má dobrovolná pomoc :weSmart:

Edited by VolfikCZ
  • Haha! 1
  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

  • 1
před 28 minutami, _niCo_ said:

Tak jak to mam udělat 

 

1. Ten řádek case: 0 celý smaž.

2. if(listitem == 0) tenhle řádek smaž a udělej s toho case 0:

Takže to bude vypadat takhle:

case 0:
{
if(GetPlayerMoney(playerid) <0) return SendClientMessage(playerid, -1, "{FF0000}Na tento hovor nemáš dostatek peněz. {FFFFFF}Zkus to později.");
GivePlayerMoney(playerid,-0);
GetPlayerName(playerid,name,24);
format(str, 128, "{0000FF}Hráč {FFFFFF}%s {0000FF}potřebuje San Andreas Police Department{FFFFFF}[ SAPD ]", name);
SendClientMessageToAll(-1, str);
}

 

Link to comment
Share on other sites

  • 0
před 10 minutami, ]Virus[ said:

Chybí ti tam podmínky a to new str[128]; a druhá podmínka new name[24];

Vieš vôbec čo je Podmienka ?

A prečo dávaš do vnútra switchu if ? stačí otvoriť case

 

switch(listitem){
   case 0: {
   //LISTITEM == 0
}
case 1: {
   //LISTITEM == 1
}
//......
}

 

  • Nope 1
Link to comment
Share on other sites

  • 0

Nevím co furt máš proti mně že furt dávaš "nope" ale tak děcka se neumí chovat že?

před 22 minutami, XpresS said:

Vieš vôbec čo je Podmienka ?

A prečo dávaš do vnútra switchu if ? stačí otvoriť case

 


switch(listitem){
   case 0: {
   //LISTITEM == 0
}
case 1: {
   //LISTITEM == 1
}
//......
}

 

Kdyby jsi se výše koukl tak tam mu chybí podmínky. Za 2. víš já určitě nevím co je podmínka -_-. Fakt tvojí logiku bych nechtěl mít.

Link to comment
Share on other sites

  • 0

Njn Ale to se stane když kliknu v dialogu na telefoní seznam ale já chci kliknout na telefoní seznam a aby se ukázal další dialog list a tam bylo Policie Hasiči Apod... 

Když kliknu na Policajty tak se ukáže to že hráč ten potřebuje policii apod....

 

Link to comment
Share on other sites

  • 0
před 2 hodinami, ]Virus[ said:

Nevím co furt máš proti mně že furt dávaš "nope" ale tak děcka se neumí chovat že?

Kdyby jsi se výše koukl tak tam mu chybí podmínky. Za 2. víš já určitě nevím co je podmínka -_-. Fakt tvojí logiku bych nechtěl mít.

Nope som ti dal prvý krát a kvôli nesprávnej a zle vystihujúcej odpovedi a za to, že ty nevieš čo a ako tak to môj problém není. A aké decká o čom vyprávaš, nadávanie do deciek akurát nič nezískaš ani pozornosť svojho vekového rozmedzia!

Chybí ti tam podmínky a to new str[128]; a druhá podmínka new name[24]; ->
Chýbi ti tam podmínky a to NEW STR[128]; vysvetľovanie na úrovni stredoškoláka to není :) 

Takže ty tvrdíš ( teda aspom z toho vyplýva ), že 
new name[24+1];  je podmienka ? To som nevedel :)

Inak:

if(IsPlayerConnected(playerid)) {}


načo kontroluješ či je hráč pripojený ak zavolá príkaz ? trošku nedáva zmysel
 

Link to comment
Share on other sites

  • 0
před 22 minutami, XpresS said:

Nope som ti dal prvý krát
 

Ne po prvé! 

 

před 23 minutami, XpresS said:

NEW STR[128];? 

Nemá tam náhodou " format(str,"? malým?

 

před 25 minutami, XpresS said:

new name[24+1];

Ano na to jsem zapomněl jinak mu to neukáže poslední písmeno v nicku,

ale napsal jsem mu new name[24]; protože tam má "GetPlayerName(playerid,name,24);"

PS: Dal se už nebudu s tebou hádat abych zase nedostal k vůli takovému inteligentový var za spam.

  • Haha! 1
  • Nope 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...