پرش به مطلب اصلی

سبک های دیالوگ

نکته
  • در OnDialogResponse فشردن button1 باعث میشود response 1 باشد، اگر button2 فشرده شود باعث میشود response 0 شود.
  • هر دیالوگ میتواند دو دکمه داشته باشید. برای اینکه دکمه نشان داده نشود آن را خالی بگذارید، مثل مثال اول. پلیر ها قادر نخواهند بود بر روی آن دکمه کلیک کنند اما آن ها قادر خواند بود با فشردن دکمه ESC OnDialogResponse را با response = 0 فرا بخوانند.
  • ShowPlayerDialog: روش color-embedding میتواند برای هر string استفاده شود : caption, info, button1 و button2.
  • این صفحه ShowPlayerDialog و OnDialogResponse را توضیح میدهد.
  • برای دیدن محدود ها صفحه Limits را ببینید.
  • برای مثال واکنش بازیکن به دیالوگ، میتوانید از این کد ها استفاده کنید :
public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
{
printf( "playerid = %d, dialogid = YOUR_DIALOGID, response = %d, listitem = %d, inputtext = '%s' (size: %d)", playerid, response, listitem, inputtext, strlen( inputtext ) );
return 1;
}

سبک 0: DIALOG_STYLE_MSGBOX

نمایش دادن:

نکته
  • \t مقداری فاصله ایجاد میکند.
  • \n یک خط جدید میسازد.
  • روش Color-Embedding بعد از \n \t ریست نمیشود و رنگ آن عوض نمیشود.
ShowPlayerDialog(playerid, YOUR_DIALOGID, DIALOG_STYLE_MSGBOX, "Caption", "Info\n\tInfo", "Button 1", "");

پاسخ خروجی

نکته
  • listitem همیشه -1 است.
  • inputtext همیشه خالی است.
// Dokme feshorde shod
playerid = 0, dialogid = YOUR_DIALOGID, response = 1, listitem = -1, inputtext = '' (size: 0)

// Dokme ESC feshore shod
playerid = 0, dialogid = YOUR_DIALOGID, response = 0, listitem = -1, inputtext = '' (size: 0)

سبک 1: DIALOG_STYLE_INPUT

نمایش دادن:

نکته
  • \t مقداری فاصله ایجاد میکند.
  • \n یک خط جدید میسازد.
  • روش Color-Embedding بعد از \n \t ریست نمیشود و رنگ آن عوض نمیشود.
ShowPlayerDialog(playerid, YOUR_DIALOGID, DIALOG_STYLE_INPUT, "Caption", "Enter information below:", "Button 1", "Button 2");

پاسخ خروجی

یادداشت
  • listitem همیشه -1 است.
  • inputtext توسط کاربر نوشته شده، شامل رنگ هم میشود.
// wrote "input" and pressed the left button
playerid = 0, dialogid = YOUR_DIALOGID, response = 1, listitem = -1, inputtext = 'input' (size: 5)

// wrote "input" and pressed the right button
playerid = 0, dialogid = YOUR_DIALOGID, response = 0, listitem = -1, inputtext = 'input' (size: 5)

سبک 2: DIALOG_STYLE_LIST

نمایش دادن:

یادداشت
  • \t مقداری فاصله ایجاد میکند.
  • \n یک خط جدید میسازد.
  • روش Color-Embedding بعد از \n \t ریست نمیشود و رنگ آن عوض نمیشود.
ShowPlayerDialog(playerid, YOUR_DIALOGID, DIALOG_STYLE_LIST, "Caption", "Item 0\n{FFFF00}Item 1\nItem 2", "Button 1", "Button 2");

پاسخ خروجی:

یادداشت
  • listitemشماره مورد انتخاب شده است. از 0 شروع میشود.
  • inputtext متن مورد انتخاب شده، شامل رنگ ها نمیشود.
// selected the first list item and pressed the left button
playerid = 0, dialogid = YOUR_DIALOGID, response = 1, listitem = 0, inputtext = 'Item 0' (size: 6)

// selected the second list item and pressed the right button
playerid = 0, dialogid = YOUR_DIALOGID, response = 0, listitem = 1, inputtext = 'Item 1' (size: 6)

سبک 3: DIALOG_STYLE_PASSWORD

نکته
  • شبیه DIALOG_STYLE_INPUT.

نمایش دادن:

نکته
  • \t مقداری فاصله ایجاد میکند.
  • \n یک خط جدید میسازد.
ShowPlayerDialog(playerid, YOUR_DIALOGID, DIALOG_STYLE_PASSWORD, "Caption", "Enter private information below:", "Button 1", "Button 2");

پاسخ خروجی

نکته
  • listitem همیشه -1 است.
  • inputtext متن مورد انتخاب شده، شامل رنگ ها نمیشود.
// wrote "input" and pressed the left button
playerid = 0, dialogid = YOUR_DIALOGID, response = 1, listitem = -1, inputtext = 'input' (size: 5)

// wrote "input" and pressed the right button
playerid = 0, dialogid = YOUR_DIALOGID, response = 0, listitem = -1, inputtext = 'input' (size: 5)

سبک 4: DIALOG_STYLE_TABLIST

این مورد در نسخه SA-MP 0.3.7 اضافه شده و در نسخه های قبلی کار نخواهد کرد!
نکته
  • شبیه DIALOG_STYLE_LIST.

نمایش دادن:

نکته
  • \t مقداری فاصله ایجاد میکند.
  • \n یک خط جدید میسازد.
  • روش Color-Embedding بعد از \n یا \t ریست میشود. اولین خط info شامل سر تیتر میشود.
ShowPlayerDialog(playerid, YOUR_DIALOGID, DIALOG_STYLE_TABLIST, "Caption",
"Deagle\t$5000\t100\n\
{FF0000}Sawnoff\t{33AA33}$5000\t100\n\
Pistol\t$1000\t50",
"Button 1", "Button 2");
نکته
  • inputtext متن اولین ستون از listitem انتخاب شده، بدون رنگ ها.
// selected the first list item and pressed the left button
playerid = 0, dialogid = YOUR_DIALOGID, response = 1, listitem = 0, inputtext = 'Deagle' (size: 6)

// selected the second list item and pressed the right button
playerid = 0, dialogid = YOUR_DIALOGID, response = 0, listitem = 1, inputtext = 'Sawnoff' (size: 7)

سبک 5: DIALOG_STYLE_TABLIST_HEADERS

این مورد در نسخه SA-MP 0.3.7 اضافه شده و در نسخه های قبلی کار نخواهد کرد!
نکته
  • شبیهDIALOG_STYLE_LIST.

نمایش دادن:

نکته
  • \t مقداری فاصله ایجاد میکند.
  • \n یک خط جدید میسازد.
  • روش Color-Embedding بعد از \n یا \t ریست میشود. اولین خط info شامل سر تیتر میشود.
ShowPlayerDialog(playerid, YOUR_DIALOGID, DIALOG_STYLE_TABLIST_HEADERS, "Caption",
"Header 1\tHeader 2\tHeader 3\n\
Item 1 Column 1\tItem 1 Column 2\tItem 1 Column 3\n\
{FF0000}Item 2 Column 1\t{33AA33}Item 2 Column 2\tItem 2 Column 3",
"Button 1", "Button 2");
نکته
  • inputtext متن اولین ستون از listitem انتخاب شده، بدون رنگ ها.
// selected the first list item and pressed the left button
playerid = 0, dialogid = YOUR_DIALOGID, response = 1, listitem = 0, inputtext = 'Item 1 Column 1' (size: 15)

// selected the first list item and pressed the right button
playerid = 0, dialogid = YOUR_DIALOGID, response = 0, listitem = 1, inputtext = 'Item 2 Column 1' (size: 15)