Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Agent 47 poslato Maj 11, 2017, 16:08:22 POSLE PODNE

Naslov: [POMOC[ Dialog
Poruka od: Agent 47 poslato Maj 11, 2017, 16:08:22 POSLE PODNE
Skripta koju koristim:UP
Detaljan opis problema:Ocu da napravim dialog nesto bzvz isprobavam kad igrac npr ukuca /pravila da mi izadje da izabera RP pravila ili pravila servera i ako klikne pravila servera da mi ocita pravila itd.Znate vec sta mislim
Dio skripte://
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Naslov: Odg: [POMOC[ Dialog
Poruka od: LoOdaK poslato Maj 11, 2017, 16:18:20 POSLE PODNE
Pa definises dialog npr.
[pawn]#define DIALOG_PRAVILA[/pawn]


i onda u komandi ubacis ovu funkciju http://wiki.sa-mp.com/wiki/ShowPlayerDialog

Naslov: Odg: [POMOC[ Dialog
Poruka od: Vasic poslato Maj 11, 2017, 16:20:27 POSLE PODNE
Moras imati YSI\y_commands inc za ovo.
[pawn]
#define D_PRAVILA 0
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(dialogid == D_PRAVILA)
   {
       if(!response) return 1;
       switch(listitem)
       {
           case 0:
           {
                       ShowPlayerDialog(playerid, D_PRAVILA, DIALOG_STYLE_MSGBOX,"Pravila Servera"," Napisite Vasa Pravila Servera.","Ok", "");
           }
                case 1;
           {
             ShowPlayerDialog(playerid, D_PRAVILA, DIALOG_STYLE_MSGBOX,"RolePlay Pravila"," Napisite RolePlay Pravila.","Ok", "");
           }
   }
}
   return 1;
}
YCMD:pravila(playerid, params[], help)
{
   #pragma unused help
   #pragma unused params
   ShowPlayerDialog(playerid, D_PRAVILA, DIALOG_STYLE_LIST,"Odaberite vrstu Pravila","Pravila Servera\nRolePlay Pravila","Izaberi","Otkazi");
   return 1;
}[/pawn]
Naslov: Odg: [POMOC[ Dialog
Poruka od: Goxy_031 poslato Maj 11, 2017, 16:24:26 POSLE PODNE
Moze nesto ovako da napravis dosta ti je jednostavnije.



[pawn]#define COL_WHITE {FFFFFF}

CMD:pravila(playerid, params[])
{
    if(LoginFinish[playerid] == 0) return Error(playerid, "Moras se ulogovati da bi koristio ovu komandu!");

    new DialogStrgEx[ 2000 ];
    strdel( DialogStrgEx, 0, sizeof( DialogStrgEx ) );

    strcat( DialogStrgEx, "{5d8aa8}Pravila SAMP (Community-a)\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}Roleplay(RP){FFFFFF} - Simulacija stvarnog zivota.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}RealLife(RL){FFFFFF} - Stvarni zivot, cesto ce se pominjati u toku igranja ova skracenica.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}BannyHop(BH){FFFFFF} - kada skacete ucestalo sa likom bez prestanka ili skakanje s biciklom.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}DeathMatch(DM){FFFFFF} - Ubijanje ljudi bez RP razloga.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}MetaGaming(MG){FFFFFF} - Mesanje IC i OOC chata.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}PowerGaming(PG){FFFFFF} - Radnja koja se nemoze izvesti u RL.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}SpawnKill(SK{FFFFFF} - Ubijanje igraca na mestu spawn-a.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}RevengeKilling(RK){FFFFFF} - Ubistvo iz osvete.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}KillOnSight(KOS){FFFFFF} - Ubijanje igraca bez gledanja nick-a.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}QuickSwapping(QS){FFFFFF} - brzo menjanje oruzje na Q E bez koriscenja /me i /do komande.\n\n");

    strcat( DialogStrgEx, "{5d8aa8}CrackShoting(CS){FFFFFF} - iskoriscavanje bugova sa oruzjem, deagle i combat shotgun pucaju vecom brzinom iz vozila.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}MultiKill(MK){FFFFFF} - Ubijanje iste osobe vise puta.\n\n");

    strcat( DialogStrgEx, "{5d8aa8}TeamKill(TK){FFFFFF} - Ubijanje clanova svog tima[Ogranizacije].\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}PlayerVSPlayer(PVP){FFFFFF} - Obracun dva igraca.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}BugAbuse(BA){FFFFFF} - Iskoriscavanje bugova u svoju korist.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}FarmingMoney(FM){FFFFFF} - Prenosenje novca sa jednog naloga na drugi.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}Spam(S){FFFFFF} - Ponavljanje istog chata vise puta.\n\n");
   
    strcat( DialogStrgEx, "{5d8aa8}CaracterKill(CK){FFFFFF} - teranje igraca da napravi novi account. Npr. Stalno ga mucite ili ga stavite u jail na 6969696969....\n\n");
   
   
    ShowPlayerDialog(playerid, 19999, DIALOG_STYLE_MSGBOX, ""COL_WHITE"Pravila", DialogStrgEx, "OK", "ZATVORI");

    return true;
}[/pawn]
Naslov: Odg: [POMOC[ Dialog
Poruka od: Vasic poslato Maj 11, 2017, 16:25:28 POSLE PODNE
Ima dosta nacina kako to da napravis, ja sam ti dao jedan :)
Naslov: Odg: [POMOC[ Dialog
Poruka od: Agent 47 poslato Maj 11, 2017, 16:29:24 POSLE PODNE
Hvala svima <3
Naslov: Odg: [POMOC[ Dialog
Poruka od: Łuk@ poslato Maj 11, 2017, 18:49:37 POSLE PODNE
Ja ti radim na ovaj način >

Medju varijable >
[pawn]
new ForDialog[1][] =
{
    "Tekst dialoga.."
};[/pawn]

Na to [1] dodaješ po 1 za svaki put kad dodaš 1

A u komandi koristiš ovako npr

[pawn]ShowPlayerDialog(playerid, nekidialog, DIALOG_STYLE_MSGBOX, "naslov", ForDialog[0], "Izlaz","");[/pawn]

Ako u tu varijablu dodaš %s,%s,%f itd, onda moraš formatirati.

[pawn]
new string...
format(string,sizeof(string),ForDialog[id dialoga], playerid, GetIP(playerid));[/pawn]

I showaš onda taj string.