View difference between Paste ID: kzHVBMXe and A99mwmHL
SHOW: | | - or go back to the newest paste.
1-
//Alternative Dialogs by Nexius v6.0
1+
//Alternative Dialogs by Nexius v6.5
2
3
#if defined _alt_dialogs_included
4
	#endinput
5
#endif
6
#define _alt_dialogs_included
7
8
#include <a_samp>
9
10-
#define AD_VERSION						"6.0"
10+
#define AD_VERSION						"6.5"
11
12
#define AD_STYLE_LIST					2
13
#define AD_INVALID_ID					-1
14
15-
#if !defined FAST_DOUBLE_CLICK
15+
#if !defined AD_FAST_DOUBLE_CLICK
16-
	#define FAST_DOUBLE_CLICK			true
16+
	#define AD_FAST_DOUBLE_CLICK		true
17
#endif
18
19-
#if FAST_DOUBLE_CLICK
19+
#if AD_FAST_DOUBLE_CLICK
20-
	#if !defined MAX_CLICK_INTERVAL
20+
	#if !defined AD_MAX_CLICK_INTERVAL
21-
		#define MAX_CLICK_INTERVAL		250
21+
		#define AD_MAX_CLICK_INTERVAL	250
22
	#endif
23
#endif
24
25
#if !defined AD_MAX_DIALOG_PAGES
26
	#define AD_MAX_DIALOG_PAGES			3	//Change if you want
27
#endif
28
29
#if !defined AD_MAX_CAPTION_LENGTH
30
	#define AD_MAX_CAPTION_LENGTH		38
31
#endif
32
33
#if !defined AD_MAX_ITEM_LENGTH
34
	#define AD_MAX_ITEM_LENGTH			40
35
#endif
36
37
#if !defined AD_MAX_BUTTONS_LENGTH
38
	#define AD_MAX_BUTTONS_LENGTH		6
39
#endif
40
41
#if defined AD_SKIN_1
42
	#define AD_SELECTION_COLOR				-10
43
	#define AD_TITLE_COLOR					-75
44
	#define AD_CLOSE_BUTTON_COLOR			-75
45
	#define AD_BUTTONS_COLOR				-75
46
	#define AD_UP_DOWN_BUTTONS_COLOR		-75
47
	#define AD_ITEMS_COLOR					-75
48
49
	#define AD_TITLE_BOX_COLOR				200
50
	#define AD_PANEL_BOX_COLOR				135
51
	#define AD_CLOSE_BUTTON_BOX_COLOR		-16777156
52
	#define AD_BUTTONS_BOX_COLOR			80
53
	#define AD_SCROLL_BOX_COLOR				-16777170
54
	#define AD_UP_DOWN_BUTTONS_BOX_COLOR	70
55
	#define AD_ITEMS_BOX_COLOR				20
56
57
	#define AD_SELECTED_ITEM_BOX_COLOR		-16777180
58
#elseif defined AD_SKIN_2
59
	#define AD_SELECTION_COLOR				-10
60
	#define AD_TITLE_COLOR					-75
61
	#define AD_CLOSE_BUTTON_COLOR			-75
62
	#define AD_BUTTONS_COLOR				-75
63
	#define AD_UP_DOWN_BUTTONS_COLOR		-75
64
	#define AD_ITEMS_COLOR					-75
65
66
	#define AD_TITLE_BOX_COLOR				200
67
	#define AD_PANEL_BOX_COLOR				135
68
	#define AD_CLOSE_BUTTON_BOX_COLOR		-6291346
69
	#define AD_BUTTONS_BOX_COLOR			100
70
	#define AD_SCROLL_BOX_COLOR				-6291370
71
	#define AD_UP_DOWN_BUTTONS_BOX_COLOR	90
72
	#define AD_ITEMS_BOX_COLOR				40
73
74
	#define AD_SELECTED_ITEM_BOX_COLOR		-6291380
75
#elseif defined AD_SKIN_3
76
	#define AD_SELECTION_COLOR				-10
77
	#define AD_TITLE_COLOR					-75
78
	#define AD_CLOSE_BUTTON_COLOR			-75
79
	#define AD_BUTTONS_COLOR				-75
80
	#define AD_UP_DOWN_BUTTONS_COLOR		-75
81
	#define AD_ITEMS_COLOR					-75
82
83
	#define AD_TITLE_BOX_COLOR				190
84
	#define AD_PANEL_BOX_COLOR				135
85
	#define AD_CLOSE_BUTTON_BOX_COLOR		4652900
86
	#define AD_BUTTONS_BOX_COLOR			90
87
	#define AD_SCROLL_BOX_COLOR				4652875
88
	#define AD_UP_DOWN_BUTTONS_BOX_COLOR	80
89
	#define AD_ITEMS_BOX_COLOR				30
90
91
	#define AD_SELECTED_ITEM_BOX_COLOR		4652850
92
#elseif defined AD_SKIN_4
93
	#define AD_SELECTION_COLOR				50
94
	#define AD_TITLE_COLOR					100
95
	#define AD_CLOSE_BUTTON_COLOR			100
96
	#define AD_BUTTONS_COLOR				100
97
	#define AD_UP_DOWN_BUTTONS_COLOR		100
98
	#define AD_ITEMS_COLOR					100
99
100
	#define AD_TITLE_BOX_COLOR				-80
101
	#define AD_PANEL_BOX_COLOR				-165
102
	#define AD_CLOSE_BUTTON_BOX_COLOR		-6291346
103
	#define AD_BUTTONS_BOX_COLOR			-110
104
	#define AD_UP_DOWN_BUTTONS_BOX_COLOR	-90
105
	#define AD_ITEMS_BOX_COLOR				-425
106
	#define AD_SCROLL_BOX_COLOR				-6291370
107
108
	#define AD_SELECTED_ITEM_BOX_COLOR		-6291380
109
#elseif defined AD_SKIN_5
110
	#define AD_SELECTION_COLOR				50
111
	#define AD_TITLE_COLOR					100
112
	#define AD_CLOSE_BUTTON_COLOR			100
113
	#define AD_BUTTONS_COLOR				100
114
	#define AD_UP_DOWN_BUTTONS_COLOR		100
115
	#define AD_ITEMS_COLOR					100
116
117
	#define AD_TITLE_BOX_COLOR				-90
118
	#define AD_PANEL_BOX_COLOR				-165
119
	#define AD_CLOSE_BUTTON_BOX_COLOR		4652900
120
	#define AD_BUTTONS_BOX_COLOR			-120
121
	#define AD_UP_DOWN_BUTTONS_BOX_COLOR	-100
122
	#define AD_ITEMS_BOX_COLOR				-435
123
	#define AD_SCROLL_BOX_COLOR				4652875
124
125
	#define AD_SELECTED_ITEM_BOX_COLOR		4652850
126
#else //Default skin
127
	#define AD_SELECTION_COLOR				-10
128
	#define AD_TITLE_COLOR					-75
129
	#define AD_CLOSE_BUTTON_COLOR			-75
130
	#define AD_BUTTONS_COLOR				-75
131
	#define AD_UP_DOWN_BUTTONS_COLOR		-75
132
	#define AD_ITEMS_COLOR					-75
133
134
	#define AD_TITLE_BOX_COLOR				110
135
	#define AD_PANEL_BOX_COLOR				70
136
	#define AD_CLOSE_BUTTON_BOX_COLOR		-16777156
137
	#define AD_BUTTONS_BOX_COLOR			50
138
	#define AD_SCROLL_BOX_COLOR				35
139
	#define AD_UP_DOWN_BUTTONS_BOX_COLOR	25
140
	#define AD_ITEMS_BOX_COLOR				15
141
142
	#define AD_SELECTED_ITEM_BOX_COLOR		35
143
#endif
144
145
static
146
	adItemID[MAX_PLAYERS],
147
	adPageID[MAX_PLAYERS],
148
	adDialogID[MAX_PLAYERS],
149
	adMaxItems[MAX_PLAYERS],
150
	bool:adIgnoreEsc[MAX_PLAYERS],
151-
	#if FAST_DOUBLE_CLICK
151+
	#if AD_FAST_DOUBLE_CLICK
152
		adLastClicked[MAX_PLAYERS],
153
	#endif
154
155
	Text:adArrayTDs[11] = {Text:65535, ...},
156
	PlayerText:adArrayPTDs[MAX_PLAYERS][21],
157
158
	adItems[MAX_PLAYERS][AD_MAX_DIALOG_PAGES * 8][AD_MAX_ITEM_LENGTH char];
159
160
forward OnAltDialogResponse(playerid, dialogid, response, listitem);
161
162
//To unlock the Easter egg, uncomment the next line...
163-
//#define EASTER_EGG_WHITE_STYLE
163+
//#define AD_EASTER_EGG_WHITE_STYLE
164
165-
#if defined EASTER_EGG_WHITE_STYLE
165+
#if defined AD_EASTER_EGG_WHITE_STYLE
166
	#undef AD_SELECTION_COLOR
167
	#define AD_SELECTION_COLOR				50
168
	#undef AD_TITLE_COLOR
169
	#define AD_TITLE_COLOR					100
170
	#undef AD_CLOSE_BUTTON_COLOR
171
	#define AD_CLOSE_BUTTON_COLOR			100
172
	#undef AD_BUTTONS_COLOR
173
	#define AD_BUTTONS_COLOR				100
174
	#undef AD_UP_DOWN_BUTTONS_COLOR
175
	#define AD_UP_DOWN_BUTTONS_COLOR		100
176
	#undef AD_ITEMS_COLOR
177
	#define AD_ITEMS_COLOR					100
178
179
	#undef AD_TITLE_BOX_COLOR
180
	#define AD_TITLE_BOX_COLOR				-170
181
	#undef AD_PANEL_BOX_COLOR
182
	#define AD_PANEL_BOX_COLOR				-165
183
	#undef AD_CLOSE_BUTTON_BOX_COLOR
184
	#define AD_CLOSE_BUTTON_BOX_COLOR		-16777156
185
	#undef AD_BUTTONS_BOX_COLOR
186
	#define AD_BUTTONS_BOX_COLOR			-160
187
	#undef AD_UP_DOWN_BUTTONS_BOX_COLOR
188
	#define AD_UP_DOWN_BUTTONS_BOX_COLOR	-155
189
	#undef AD_ITEMS_BOX_COLOR
190
	#define AD_ITEMS_BOX_COLOR				-450
191
	#undef AD_SCROLL_BOX_COLOR
192
	#define AD_SCROLL_BOX_COLOR				-125
193
194
	#undef AD_SELECTED_ITEM_BOX_COLOR
195
	#define AD_SELECTED_ITEM_BOX_COLOR		-80
196
#endif
197
198
public OnGameModeInit()
199
{
200
	adArrayTDs[0] = TextDrawCreate(470.0, 140.0, "_"); //Title box
201
	TextDrawTextSize(adArrayTDs[0], 175.0, 0.0);
202
	TextDrawLetterSize(adArrayTDs[0], 0.0, 1.3);
203
	TextDrawUseBox(adArrayTDs[0], 1);
204
	TextDrawBoxColor(adArrayTDs[0], AD_TITLE_BOX_COLOR);
205
	#undef AD_TITLE_BOX_COLOR
206
207
	adArrayTDs[1] = TextDrawCreate(470.0, 155.0, "_"); //Panel box
208
	TextDrawTextSize(adArrayTDs[1], 175.0, 0.0);
209
	TextDrawLetterSize(adArrayTDs[1], 0.0, 17.1);
210
	TextDrawUseBox(adArrayTDs[1], 1);
211
	TextDrawBoxColor(adArrayTDs[1], AD_PANEL_BOX_COLOR);
212
	#undef AD_PANEL_BOX_COLOR
213
214
	adArrayTDs[2] = TextDrawCreate(470.0, 140.0, "_"); //Close button box
215
	TextDrawTextSize(adArrayTDs[2], 446.0, 12.0);
216
	TextDrawLetterSize(adArrayTDs[2], 0.0, 1.3);
217
	TextDrawUseBox(adArrayTDs[2], 1);
218
	TextDrawBoxColor(adArrayTDs[2], AD_CLOSE_BUTTON_BOX_COLOR);
219
	#undef AD_CLOSE_BUTTON_BOX_COLOR
220
221
	adArrayTDs[3] = TextDrawCreate(314.0, 290.5, "_"); //Button 1 box
222
	TextDrawTextSize(adArrayTDs[3], 264.0, 12.0);
223
	TextDrawLetterSize(adArrayTDs[3], 0.0, 1.3);
224
	TextDrawUseBox(adArrayTDs[3], 1);
225
	TextDrawBoxColor(adArrayTDs[3], AD_BUTTONS_BOX_COLOR);
226
227
	adArrayTDs[4] = TextDrawCreate(376.0, 290.5, "_"); //Button 2 box
228
	TextDrawTextSize(adArrayTDs[4], 325.0, 12.0);
229
	TextDrawLetterSize(adArrayTDs[4], 0.0, 1.3);
230
	TextDrawUseBox(adArrayTDs[4], 1);
231
	TextDrawBoxColor(adArrayTDs[4], AD_BUTTONS_BOX_COLOR);
232
233
	adArrayTDs[5] = TextDrawCreate(346.0, 290.5, "_"); //Button 1 box only
234
	TextDrawTextSize(adArrayTDs[5], 296.0, 12.0);
235
	TextDrawLetterSize(adArrayTDs[5], 0.0, 1.3);
236
	TextDrawUseBox(adArrayTDs[5], 1);
237
	TextDrawBoxColor(adArrayTDs[5], AD_BUTTONS_BOX_COLOR);
238
	#undef AD_BUTTONS_BOX_COLOR
239
240
	adArrayTDs[6] = TextDrawCreate(470.0, 155.0, "_"); //Up button box
241
	TextDrawTextSize(adArrayTDs[6], 460.0, 5.0);
242
	TextDrawLetterSize(adArrayTDs[6], 0.0, 1.3);
243
	TextDrawUseBox(adArrayTDs[6], 1);
244
	TextDrawBoxColor(adArrayTDs[6], AD_UP_DOWN_BUTTONS_BOX_COLOR);
245
246
	adArrayTDs[7] = TextDrawCreate(470.0, 262.0, "_"); //Down button box
247
	TextDrawTextSize(adArrayTDs[7], 460.0, 5.0);
248
	TextDrawLetterSize(adArrayTDs[7], 0.0, 1.3);
249
	TextDrawUseBox(adArrayTDs[7], 1);
250
	TextDrawBoxColor(adArrayTDs[7], AD_UP_DOWN_BUTTONS_BOX_COLOR);
251
	#undef AD_UP_DOWN_BUTTONS_BOX_COLOR
252
253
	adArrayTDs[8] = TextDrawCreate(454.0, 141.0, "X"); //Close button
254
	TextDrawFont(adArrayTDs[8], 2);
255
	TextDrawTextSize(adArrayTDs[8], 465.0, 12.0);
256
	TextDrawLetterSize(adArrayTDs[8], 0.27, 0.9);
257
	TextDrawColor(adArrayTDs[8], AD_CLOSE_BUTTON_COLOR);
258
	#undef AD_CLOSE_BUTTON_COLOR
259
	TextDrawSetShadow(adArrayTDs[8], 0);
260
	TextDrawSetSelectable(adArrayTDs[8], 1);
261
262
	adArrayTDs[9] = TextDrawCreate(462.3, 165.0, "v"); //Up button
263
	TextDrawFont(adArrayTDs[9], 2);
264
	TextDrawTextSize(adArrayTDs[9], 471.0, 4.5);
265
	TextDrawLetterSize(adArrayTDs[9], 0.18, -0.8);
266
	TextDrawColor(adArrayTDs[9], AD_UP_DOWN_BUTTONS_COLOR);
267
	TextDrawSetShadow(adArrayTDs[9], 0);
268
	TextDrawSetSelectable(adArrayTDs[9], 1);
269
270
	adArrayTDs[10] = TextDrawCreate(462.3, 264.0, "v"); //Down button
271
	TextDrawFont(adArrayTDs[10], 2);
272
	TextDrawTextSize(adArrayTDs[10], 471.0, 4.5);
273
	TextDrawLetterSize(adArrayTDs[10], 0.18, 0.8);
274
	TextDrawColor(adArrayTDs[10], AD_UP_DOWN_BUTTONS_COLOR);
275
	#undef AD_UP_DOWN_BUTTONS_COLOR
276
	TextDrawSetShadow(adArrayTDs[10], 0);
277
	TextDrawSetSelectable(adArrayTDs[10], 1);
278
279
	printf("Alternative Dialogs v%s by Nexius loaded!\n", AD_VERSION);
280
	#if defined ad_OnGameModeInit
281
		return ad_OnGameModeInit();
282
	#else
283
		return 1;
284
	#endif
285
}
286
287
#if defined _ALS_OnGameModeInit
288
	#undef OnGameModeInit
289
#else
290
	#define _ALS_OnGameModeInit
291
#endif
292
#define OnGameModeInit ad_OnGameModeInit
293
#if defined ad_OnGameModeInit
294
	forward ad_OnGameModeInit();
295
#endif
296
297
public OnGameModeExit()
298
{
299
	for(new i = sizeof(adArrayTDs) - 1; i >= 0; --i) TextDrawDestroy(adArrayTDs[i]);
300
	#if defined ad_OnGameModeExit
301
		return ad_OnGameModeExit();
302
	#else
303
		return 1;
304
	#endif
305
}
306
307
#if defined _ALS_OnGameModeExit
308
	#undef OnGameModeExit
309
#else
310
	#define _ALS_OnGameModeExit
311
#endif
312
#define OnGameModeExit ad_OnGameModeExit
313
#if defined ad_OnGameModeExit
314
	forward ad_OnGameModeExit();
315
#endif
316
317
public OnPlayerConnect(playerid)
318
{
319
	adIgnoreEsc[playerid] = false;
320
	adDialogID[playerid] = AD_INVALID_ID;
321
	for(new i = sizeof(adArrayPTDs[]) - 1; i >= 0; --i) adArrayPTDs[playerid][i] = PlayerText:65535;
322
	#if defined ad_OnPlayerConnect
323
		return ad_OnPlayerConnect(playerid);
324
	#else
325
		return 1;
326
	#endif
327
}
328
329
#if defined _ALS_OnPlayerConnect
330
	#undef OnPlayerConnect
331
#else
332
	#define _ALS_OnPlayerConnect
333
#endif
334
#define OnPlayerConnect ad_OnPlayerConnect
335
#if defined ad_OnPlayerConnect
336
	forward ad_OnPlayerConnect(playerid);
337
#endif
338
339
public OnPlayerClickTextDraw(playerid, Text:clickedid)
340
{
341
	if(adIgnoreEsc[playerid] && _:clickedid == 65535) adIgnoreEsc[playerid] = false;
342
	else if(adDialogID[playerid] != AD_INVALID_ID)
343
	{
344
		if(_:clickedid == 65535 || clickedid == adArrayTDs[8])
345
		{
346
			new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
347
			ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
348
			CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 2, tmp_itemid);
349
		}
350
		else if(clickedid == adArrayTDs[9])
351
		{
352
			if(adPageID[playerid] > 0)
353
			{
354
				new i, Float:s_size, Float:s_pos;
355
				adPageID[playerid]--;
356
				adItemID[playerid] = adPageID[playerid] * 8;
357
				for(i = 11; i >= 5; --i)
358
				{
359
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][i], AD_ITEMS_BOX_COLOR);
360
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][i]);
361
				}
362
				PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][4], AD_SELECTED_ITEM_BOX_COLOR);
363
				PlayerTextDrawShow(playerid, adArrayPTDs[playerid][4]);
364
				i = adPageID[playerid] * 8;
365
				for(new j = i + 8, c; i < j; i++)
366
				{
367
					PlayerTextDrawSetString(playerid, adArrayPTDs[playerid][12 + c], adItems[playerid][i]);
368
					if(!adItems[playerid][i]{0}) PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][12 + c], 0);
369
					else PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][12 + c], 1);
370
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][12 + c]);
371
					c++;
372
				}
373
				PlayerTextDrawDestroy(playerid, adArrayPTDs[playerid][20]);
374
				s_size = 9.8 / (floatround(adMaxItems[playerid] / 8, floatround_tozero) + 1);
375
				s_pos = (s_size * 9) * adPageID[playerid];
376
				adArrayPTDs[playerid][20] = CreatePlayerTextDraw(playerid, 470.0, 170.3 + s_pos, "_"); //Scroll box
377
				PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][20], 460.0, 5.0);
378
				PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][20], 0.0, s_size);
379
				PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][20], 1);
380
				PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][20], AD_SCROLL_BOX_COLOR);
381
				PlayerTextDrawShow(playerid, adArrayPTDs[playerid][20]);
382
			}
383
		}
384
		else if(clickedid == adArrayTDs[10])
385
		{
386
			if(adPageID[playerid] < floatround(adMaxItems[playerid] / 8, floatround_tozero))
387
			{
388
				new i, Float:s_size, Float:s_pos;
389
				adPageID[playerid]++;
390
				adItemID[playerid] = adPageID[playerid] * 8;
391
				for(i = 11; i >= 5; --i)
392
				{
393
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][i], AD_ITEMS_BOX_COLOR);
394
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][i]);
395
				}
396
				PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][4], AD_SELECTED_ITEM_BOX_COLOR);
397
				PlayerTextDrawShow(playerid, adArrayPTDs[playerid][4]);
398
				i = adPageID[playerid] * 8;
399
				for(new j = i + 8, c; i < j; i++)
400
				{
401
					PlayerTextDrawSetString(playerid, adArrayPTDs[playerid][12 + c], adItems[playerid][i]);
402
					if(!adItems[playerid][i]{0}) PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][12 + c], 0);
403
					else PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][12 + c], 1);
404
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][12 + c]);
405
					c++;
406
				}
407
				PlayerTextDrawDestroy(playerid, adArrayPTDs[playerid][20]);
408
				s_size = 9.8 / (floatround(adMaxItems[playerid] / 8, floatround_tozero) + 1);
409
				s_pos = (s_size * 9) * adPageID[playerid];
410
				adArrayPTDs[playerid][20] = CreatePlayerTextDraw(playerid, 470.0, 170.3 + s_pos, "_"); //Scroll box
411
				PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][20], 460.0, 5.0);
412
				PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][20], 0.0, s_size);
413
				PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][20], 1);
414
				PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][20], AD_SCROLL_BOX_COLOR);
415
				PlayerTextDrawShow(playerid, adArrayPTDs[playerid][20]);
416
			}
417
		}
418
	}
419
	#if defined ad_OnPlayerClickTextDraw
420
		return ad_OnPlayerClickTextDraw(playerid, clickedid);
421
	#else
422
		return 0;
423
	#endif
424
}
425
426
#if defined _ALS_OnPlayerClickTextDraw
427
	#undef OnPlayerClickTextDraw
428
#else
429
	#define _ALS_OnPlayerClickTextDraw
430
#endif
431
#define OnPlayerClickTextDraw ad_OnPlayerClickTextDraw
432
#if defined ad_OnPlayerClickTextDraw
433
	forward ad_OnPlayerClickTextDraw(playerid, Text:clickedid);
434
#endif
435
436
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
437
{
438
	if(adDialogID[playerid] != AD_INVALID_ID)
439
	{
440
		if(playertextid == adArrayPTDs[playerid][1] || playertextid == adArrayPTDs[playerid][2])
441
		{
442
			new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
443
			ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
444
			CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
445
		}
446
		else if(playertextid == adArrayPTDs[playerid][3])
447
		{
448
			new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
449
			ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
450
			CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 0, tmp_itemid);
451
		}
452
		else
453
		{
454-
			#if FAST_DOUBLE_CLICK
454+
			#if AD_FAST_DOUBLE_CLICK
455
				new gtc = GetTickCount();
456
			#endif
457
			if(playertextid == adArrayPTDs[playerid][12])
458
			{
459
				if(adItemID[playerid] == 0 + (adPageID[playerid] * 8))
460
				{
461-
					#if FAST_DOUBLE_CLICK
461+
					#if AD_FAST_DOUBLE_CLICK
462-
						if(gtc - adLastClicked[playerid] <= MAX_CLICK_INTERVAL)
462+
						if(gtc - adLastClicked[playerid] <= AD_MAX_CLICK_INTERVAL)
463
						{
464
							adLastClicked[playerid] = 0;
465
					#endif
466
					new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
467
					ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
468
					CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
469-
					#if FAST_DOUBLE_CLICK
469+
					#if AD_FAST_DOUBLE_CLICK
470
						}
471
						else adLastClicked[playerid] = gtc;
472
					#endif
473
				}
474
				else
475
				{
476
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][4], AD_SELECTED_ITEM_BOX_COLOR);
477
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][4]);
478
					if(adItemID[playerid] > 7) adItemID[playerid] %= 8;
479
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4], AD_ITEMS_BOX_COLOR);
480
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4]);
481
					adItemID[playerid] = 0 + (adPageID[playerid] * 8);
482-
					#if FAST_DOUBLE_CLICK
482+
					#if AD_FAST_DOUBLE_CLICK
483
						adLastClicked[playerid] = gtc;
484
					#endif
485
				}
486
			}
487
			else if(playertextid == adArrayPTDs[playerid][13])
488
			{
489
				if(adItemID[playerid] == 1 + (adPageID[playerid] * 8))
490
				{
491-
					#if FAST_DOUBLE_CLICK
491+
					#if AD_FAST_DOUBLE_CLICK
492-
						if(gtc - adLastClicked[playerid] <= MAX_CLICK_INTERVAL)
492+
						if(gtc - adLastClicked[playerid] <= AD_MAX_CLICK_INTERVAL)
493
						{
494
							adLastClicked[playerid] = 0;
495
					#endif
496
					new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
497
					ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
498
					CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
499-
					#if FAST_DOUBLE_CLICK
499+
					#if AD_FAST_DOUBLE_CLICK
500
						}
501
						else adLastClicked[playerid] = gtc;
502
					#endif
503
				}
504
				else
505
				{
506
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][5], AD_SELECTED_ITEM_BOX_COLOR);
507
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][5]);
508
					if(adItemID[playerid] > 7) adItemID[playerid] %= 8;
509
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4], AD_ITEMS_BOX_COLOR);
510
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4]);
511
					adItemID[playerid] = 1 + (adPageID[playerid] * 8);
512-
					#if FAST_DOUBLE_CLICK
512+
					#if AD_FAST_DOUBLE_CLICK
513
						adLastClicked[playerid] = gtc;
514
					#endif
515
				}
516
			}
517
			else if(playertextid == adArrayPTDs[playerid][14])
518
			{
519
				if(adItemID[playerid] == 2 + (adPageID[playerid] * 8))
520
				{
521-
					#if FAST_DOUBLE_CLICK
521+
					#if AD_FAST_DOUBLE_CLICK
522-
						if(gtc - adLastClicked[playerid] <= MAX_CLICK_INTERVAL)
522+
						if(gtc - adLastClicked[playerid] <= AD_MAX_CLICK_INTERVAL)
523
						{
524
							adLastClicked[playerid] = 0;
525
					#endif
526
					new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
527
					ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
528
					CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
529-
					#if FAST_DOUBLE_CLICK
529+
					#if AD_FAST_DOUBLE_CLICK
530
						}
531
						else adLastClicked[playerid] = gtc;
532
					#endif
533
				}
534
				else
535
				{
536
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][6], AD_SELECTED_ITEM_BOX_COLOR);
537
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][6]);
538
					if(adItemID[playerid] > 7) adItemID[playerid] %= 8;
539
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4], AD_ITEMS_BOX_COLOR);
540
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4]);
541
					adItemID[playerid] = 2 + (adPageID[playerid] * 8);
542-
					#if FAST_DOUBLE_CLICK
542+
					#if AD_FAST_DOUBLE_CLICK
543
						adLastClicked[playerid] = gtc;
544
					#endif
545
				}
546
			}
547
			else if(playertextid == adArrayPTDs[playerid][15])
548
			{
549
				if(adItemID[playerid] == 3 + (adPageID[playerid] * 8))
550
				{
551-
					#if FAST_DOUBLE_CLICK
551+
					#if AD_FAST_DOUBLE_CLICK
552-
						if(gtc - adLastClicked[playerid] <= MAX_CLICK_INTERVAL)
552+
						if(gtc - adLastClicked[playerid] <= AD_MAX_CLICK_INTERVAL)
553
						{
554
							adLastClicked[playerid] = 0;
555
					#endif
556
					new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
557
					ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
558
					CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
559-
					#if FAST_DOUBLE_CLICK
559+
					#if AD_FAST_DOUBLE_CLICK
560
						}
561
						else adLastClicked[playerid] = gtc;
562
					#endif
563
				}
564
				else
565
				{
566
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][7], AD_SELECTED_ITEM_BOX_COLOR);
567
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][7]);
568
					if(adItemID[playerid] > 7) adItemID[playerid] %= 8;
569
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4], AD_ITEMS_BOX_COLOR);
570
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4]);
571
					adItemID[playerid] = 3 + (adPageID[playerid] * 8);
572-
					#if FAST_DOUBLE_CLICK
572+
					#if AD_FAST_DOUBLE_CLICK
573
						adLastClicked[playerid] = gtc;
574
					#endif
575
				}
576
			}
577
			else if(playertextid == adArrayPTDs[playerid][16])
578
			{
579
				if(adItemID[playerid] == 4 + (adPageID[playerid] * 8))
580
				{
581-
					#if FAST_DOUBLE_CLICK
581+
					#if AD_FAST_DOUBLE_CLICK
582-
						if(gtc - adLastClicked[playerid] <= MAX_CLICK_INTERVAL)
582+
						if(gtc - adLastClicked[playerid] <= AD_MAX_CLICK_INTERVAL)
583
						{
584
							adLastClicked[playerid] = 0;
585
					#endif
586
					new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
587
					ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
588
					CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
589-
					#if FAST_DOUBLE_CLICK
589+
					#if AD_FAST_DOUBLE_CLICK
590
						}
591
						else adLastClicked[playerid] = gtc;
592
					#endif
593
				}
594
				else
595
				{
596
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][8], AD_SELECTED_ITEM_BOX_COLOR);
597
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][8]);
598
					if(adItemID[playerid] > 7) adItemID[playerid] %= 8;
599
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4], AD_ITEMS_BOX_COLOR);
600
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4]);
601
					adItemID[playerid] = 4 + (adPageID[playerid] * 8);
602-
					#if FAST_DOUBLE_CLICK
602+
					#if AD_FAST_DOUBLE_CLICK
603
						adLastClicked[playerid] = gtc;
604
					#endif
605
				}
606
			}
607
			else if(playertextid == adArrayPTDs[playerid][17])
608
			{
609
				if(adItemID[playerid] == 5 + (adPageID[playerid] * 8))
610
				{
611-
					#if FAST_DOUBLE_CLICK
611+
					#if AD_FAST_DOUBLE_CLICK
612-
						if(gtc - adLastClicked[playerid] <= MAX_CLICK_INTERVAL)
612+
						if(gtc - adLastClicked[playerid] <= AD_MAX_CLICK_INTERVAL)
613
						{
614
							adLastClicked[playerid] = 0;
615
					#endif
616
					new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
617
					ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
618
					CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
619-
					#if FAST_DOUBLE_CLICK
619+
					#if AD_FAST_DOUBLE_CLICK
620
						}
621
						else adLastClicked[playerid] = gtc;
622
					#endif
623
				}
624
				else
625
				{
626
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][9], AD_SELECTED_ITEM_BOX_COLOR);
627
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][9]);
628
					if(adItemID[playerid] > 7) adItemID[playerid] %= 8;
629
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4], AD_ITEMS_BOX_COLOR);
630
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4]);
631
					adItemID[playerid] = 5 + (adPageID[playerid] * 8);
632-
					#if FAST_DOUBLE_CLICK
632+
					#if AD_FAST_DOUBLE_CLICK
633
						adLastClicked[playerid] = gtc;
634
					#endif
635
				}
636
			}
637
			else if(playertextid == adArrayPTDs[playerid][18])
638
			{
639
				if(adItemID[playerid] == 6 + (adPageID[playerid] * 8))
640
				{
641-
					#if FAST_DOUBLE_CLICK
641+
					#if AD_FAST_DOUBLE_CLICK
642-
						if(gtc - adLastClicked[playerid] <= MAX_CLICK_INTERVAL)
642+
						if(gtc - adLastClicked[playerid] <= AD_MAX_CLICK_INTERVAL)
643
						{
644
							adLastClicked[playerid] = 0;
645
					#endif
646
					new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
647
					ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
648
					CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
649-
					#if FAST_DOUBLE_CLICK
649+
					#if AD_FAST_DOUBLE_CLICK
650
						}
651
						else adLastClicked[playerid] = gtc;
652
					#endif
653
				}
654
				else
655
				{
656
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][10], AD_SELECTED_ITEM_BOX_COLOR);
657
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][10]);
658
					if(adItemID[playerid] > 7) adItemID[playerid] %= 8;
659
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4], AD_ITEMS_BOX_COLOR);
660
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4]);
661
					adItemID[playerid] = 6 + (adPageID[playerid] * 8);
662-
					#if FAST_DOUBLE_CLICK
662+
					#if AD_FAST_DOUBLE_CLICK
663
						adLastClicked[playerid] = gtc;
664
					#endif
665
				}
666
			}
667
			else if(playertextid == adArrayPTDs[playerid][19])
668
			{
669
				if(adItemID[playerid] == 7 + (adPageID[playerid] * 8))
670
				{
671-
					#if FAST_DOUBLE_CLICK
671+
					#if AD_FAST_DOUBLE_CLICK
672-
						if(gtc - adLastClicked[playerid] <= MAX_CLICK_INTERVAL)
672+
						if(gtc - adLastClicked[playerid] <= AD_MAX_CLICK_INTERVAL)
673
						{
674
							adLastClicked[playerid] = 0;
675
					#endif
676
					new tmp_dialogid = adDialogID[playerid], tmp_itemid = adItemID[playerid];
677
					ShowPlayerAltDialog(playerid, AD_INVALID_ID, -1, "", "", "");
678
					CallRemoteFunction("OnAltDialogResponse", "iiii", playerid, tmp_dialogid, 1, tmp_itemid);
679-
					#if FAST_DOUBLE_CLICK
679+
					#if AD_FAST_DOUBLE_CLICK
680
						}
681
						else adLastClicked[playerid] = gtc;
682
					#endif
683
				}
684
				else
685
				{
686
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][11], AD_SELECTED_ITEM_BOX_COLOR);
687
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][11]);
688
					if(adItemID[playerid] > 7) adItemID[playerid] %= 8;
689
					PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4], AD_ITEMS_BOX_COLOR);
690
					PlayerTextDrawShow(playerid, adArrayPTDs[playerid][adItemID[playerid] + 4]);
691
					adItemID[playerid] = 7 + (adPageID[playerid] * 8);
692-
					#if FAST_DOUBLE_CLICK
692+
					#if AD_FAST_DOUBLE_CLICK
693
						adLastClicked[playerid] = gtc;
694
					#endif
695
				}
696
			}
697
		}
698
	}
699
	#if defined ad_OnPlayerClickPlayerTextDraw
700
		return ad_OnPlayerClickPlayerTextDraw(playerid, playertextid);
701
	#else
702
		return 0;
703
	#endif
704
}
705
706
#if defined _ALS_OnPlayerClickPlayerTextDra\
707
	|| defined _ALS_OnPlayerClickPlayerTD
708
	#undef OnPlayerClickPlayerTextDraw
709
#else
710
	#define _ALS_OnPlayerClickPlayerTextDra
711
	#define _ALS_OnPlayerClickPlayerTD
712
#endif
713
#define OnPlayerClickPlayerTextDraw ad_OnPlayerClickPlayerTextDraw
714
#if defined ad_OnPlayerClickPlayerTextDraw
715
	forward ad_OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid);
716
#endif
717
718-
#if FAST_DOUBLE_CLICK
718+
#if AD_FAST_DOUBLE_CLICK
719-
	#undef MAX_CLICK_INTERVAL
719+
	#undef AD_MAX_CLICK_INTERVAL
720
#endif
721
722-
#undef FAST_DOUBLE_CLICK
722+
#undef AD_FAST_DOUBLE_CLICK
723
724
ShowPlayerAltDialog(playerid, dialogid, style, caption[], info[], button1[], button2[] = "")
725
{
726
	if(IsPlayerConnected(playerid))
727
	{
728
		new i;
729
		adDialogID[playerid] = AD_INVALID_ID;
730
		for(i = (AD_MAX_DIALOG_PAGES * 8) - 1; i >= 0; --i) adItems[playerid][i]{0} = EOS;
731
		#undef AD_MAX_DIALOG_PAGES
732
		for(i = sizeof(adArrayTDs) - 1; i >= 0; --i) TextDrawHideForPlayer(playerid, adArrayTDs[i]);
733
		for(i = sizeof(adArrayPTDs[]) - 1; i >= 0; --i)
734
		{
735
			PlayerTextDrawDestroy(playerid, adArrayPTDs[playerid][i]);
736
			adArrayPTDs[playerid][i] = PlayerText:65535;
737
		}
738
		if(dialogid <= AD_INVALID_ID)
739
		{
740
			adIgnoreEsc[playerid] = true;
741
			return CancelSelectTextDraw(playerid);
742
		}
743
		if(style == AD_STYLE_LIST)
744
		{
745
			adPageID[playerid] = 0;
746
			adItemID[playerid] = 0;
747
			adDialogID[playerid] = dialogid;
748
749
			adArrayPTDs[playerid][4] = CreatePlayerTextDraw(playerid, 464.0, 155.0, "_"); //Item 1 box
750
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][4], 181.0, 12.0);
751
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][4], 0.0, 1.3);
752
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][4], 1);
753
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][4], AD_SELECTED_ITEM_BOX_COLOR);
754
			#undef AD_SELECTED_ITEM_BOX_COLOR
755
756
			adArrayPTDs[playerid][5] = CreatePlayerTextDraw(playerid, 464.0, 170.5, "_"); //Item 2 box
757
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][5], 181.0, 12.0);
758
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][5], 0.0, 1.3);
759
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][5], 1);
760
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][5], AD_ITEMS_BOX_COLOR);
761
762
			adArrayPTDs[playerid][6] = CreatePlayerTextDraw(playerid, 464.0, 185.8, "_"); //Item 3 box
763
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][6], 181.0, 12.0);
764
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][6], 0.0, 1.3);
765
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][6], 1);
766
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][6], AD_ITEMS_BOX_COLOR);
767
768
			adArrayPTDs[playerid][7] = CreatePlayerTextDraw(playerid, 464.0, 201.0, "_"); //Item 4 box
769
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][7], 181.0, 12.0);
770
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][7], 0.0, 1.3);
771
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][7], 1);
772
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][7], AD_ITEMS_BOX_COLOR);
773
774
			adArrayPTDs[playerid][8] = CreatePlayerTextDraw(playerid, 464.0, 216.2, "_"); //Item 5 box
775
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][8], 181.0, 12.0);
776
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][8], 0.0, 1.3);
777
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][8], 1);
778
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][8], AD_ITEMS_BOX_COLOR);
779
780
			adArrayPTDs[playerid][9] = CreatePlayerTextDraw(playerid, 464.0, 231.2, "_"); //Item 6 box
781
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][9], 181.0, 12.0);
782
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][9], 0.0, 1.3);
783
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][9], 1);
784
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][9], AD_ITEMS_BOX_COLOR);
785
786
			adArrayPTDs[playerid][10] = CreatePlayerTextDraw(playerid, 464.0, 246.5, "_"); //Item 7 box
787
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][10], 181.0, 12.0);
788
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][10], 0.0, 1.3);
789
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][10], 1);
790
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][10], AD_ITEMS_BOX_COLOR);
791
792
			adArrayPTDs[playerid][11] = CreatePlayerTextDraw(playerid, 464.0, 261.8, "_"); //Item 8 box
793
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][11], 181.0, 12.0);
794
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][11], 0.0, 1.3);
795
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][11], 1);
796
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][11], AD_ITEMS_BOX_COLOR);
797
			#undef AD_ITEMS_BOX_COLOR
798
799
			adArrayPTDs[playerid][12] = CreatePlayerTextDraw(playerid, 191.0, 156.3, ""); //Item 1
800
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][12], 2);
801
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][12], 460.0, 13.6);
802
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][12], 0.27, 0.9);
803
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][12], AD_ITEMS_COLOR);
804
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][12], 0);
805
			PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][12], 1);
806
807
			adArrayPTDs[playerid][13] = CreatePlayerTextDraw(playerid, 191.0, 171.8, ""); //Item 2
808
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][13], 2);
809
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][13], 460.0, 13.6);
810
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][13], 0.27, 0.9);
811
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][13], AD_ITEMS_COLOR);
812
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][13], 0);
813
			PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][13], 1);
814
815
			adArrayPTDs[playerid][14] = CreatePlayerTextDraw(playerid, 191.0, 187.3, ""); //Item 3
816
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][14], 2);
817
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][14], 460.0, 13.6);
818
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][14], 0.27, 0.9);
819
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][14], AD_ITEMS_COLOR);
820
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][14], 0);
821
			PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][14], 1);
822
823
			adArrayPTDs[playerid][15] = CreatePlayerTextDraw(playerid, 191.0, 202.6, ""); //Item 4
824
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][15], 2);
825
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][15], 460.0, 13.6);
826
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][15], 0.27, 0.9);
827
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][15], AD_ITEMS_COLOR);
828
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][15], 0);
829
			PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][15], 1);
830
831
			adArrayPTDs[playerid][16] = CreatePlayerTextDraw(playerid, 191.0, 217.6, ""); //Item 5
832
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][16], 2);
833
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][16], 460.0, 13.6);
834
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][16], 0.27, 0.9);
835
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][16], AD_ITEMS_COLOR);
836
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][16], 0);
837
			PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][16], 1);
838
839
			adArrayPTDs[playerid][17] = CreatePlayerTextDraw(playerid, 191.0, 232.7, ""); //Item 6
840
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][17], 2);
841
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][17], 460.0, 13.6);
842
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][17], 0.27, 0.9);
843
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][17], AD_ITEMS_COLOR);
844
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][17], 0);
845
			PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][17], 1);
846
847
			adArrayPTDs[playerid][18] = CreatePlayerTextDraw(playerid, 191.0, 247.9, ""); //Item 7
848
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][18], 2);
849
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][18], 460.0, 13.6);
850
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][18], 0.27, 0.9);
851
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][18], AD_ITEMS_COLOR);
852
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][18], 0);
853
			PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][18], 1);
854
855
			adArrayPTDs[playerid][19] = CreatePlayerTextDraw(playerid, 191.0, 263.0, ""); //Item 8
856
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][19], 2);
857
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][19], 460.0, 13.6);
858
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][19], 0.27, 0.9);
859
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][19], AD_ITEMS_COLOR);
860
			#undef AD_ITEMS_COLOR
861
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][19], 0);
862
			PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][19], 1);
863
864
			if(strlen(caption) >= AD_MAX_CAPTION_LENGTH)
865
			{
866
				caption[AD_MAX_CAPTION_LENGTH - 3] = '.';
867
				caption[AD_MAX_CAPTION_LENGTH - 2] = '.';
868
				caption[AD_MAX_CAPTION_LENGTH - 1] = '.';
869
				caption[AD_MAX_CAPTION_LENGTH] = EOS;
870
				#undef AD_MAX_CAPTION_LENGTH
871
			}
872
873
			adArrayPTDs[playerid][0] = CreatePlayerTextDraw(playerid, 188.0, 141.0, caption); //Title
874
			PlayerTextDrawFont(playerid, adArrayPTDs[playerid][0], 2);
875
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][0], 0.27, 0.9);
876
			PlayerTextDrawColor(playerid, adArrayPTDs[playerid][0], AD_TITLE_COLOR);
877
			#undef AD_TITLE_COLOR
878
			PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][0], 0);
879
880
			if(strlen(button1) >= AD_MAX_BUTTONS_LENGTH) button1[AD_MAX_BUTTONS_LENGTH] = EOS;
881
			new b2_len = strlen(button2);
882
			if(b2_len > 0)
883
			{
884
				adArrayPTDs[playerid][1] = CreatePlayerTextDraw(playerid, 289.0, 292.0, button1); //Button 1
885
				PlayerTextDrawAlignment(playerid, adArrayPTDs[playerid][1], 2);
886
				PlayerTextDrawFont(playerid, adArrayPTDs[playerid][1], 2);
887
				PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][1], 12.0, 38.0);
888
				PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][1], 0.27, 0.9);
889
				PlayerTextDrawColor(playerid, adArrayPTDs[playerid][1], AD_BUTTONS_COLOR);
890
				PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][1], 0);
891
				PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][1], 1);
892
893
				if(b2_len >= AD_MAX_BUTTONS_LENGTH) button2[AD_MAX_BUTTONS_LENGTH] = EOS;
894
				#undef AD_MAX_BUTTONS_LENGTH
895
896
				adArrayPTDs[playerid][3] = CreatePlayerTextDraw(playerid, 350.5, 292.0, button2); //Button 2
897
				PlayerTextDrawAlignment(playerid, adArrayPTDs[playerid][3], 2);
898
				PlayerTextDrawFont(playerid, adArrayPTDs[playerid][3], 2);
899
				PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][3], 12.0, 38.0);
900
				PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][3], 0.27, 0.9);
901
				PlayerTextDrawColor(playerid, adArrayPTDs[playerid][3], AD_BUTTONS_COLOR);
902
				PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][3], 0);
903
				PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][3], 1);
904
			}
905
			else
906
			{
907
				adArrayPTDs[playerid][2] = CreatePlayerTextDraw(playerid, 321.0, 292.0, button1); //Button 1 only
908
				PlayerTextDrawAlignment(playerid, adArrayPTDs[playerid][2], 2);
909
				PlayerTextDrawFont(playerid, adArrayPTDs[playerid][2], 2);
910
				PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][2], 12.0, 38.0);
911
				PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][2], 0.27, 0.9);
912
				PlayerTextDrawColor(playerid, adArrayPTDs[playerid][2], AD_BUTTONS_COLOR);
913
				#undef AD_BUTTONS_COLOR
914
				PlayerTextDrawSetShadow(playerid, adArrayPTDs[playerid][2], 0);
915
				PlayerTextDrawSetSelectable(playerid, adArrayPTDs[playerid][2], 1);
916
			}
917
			i = 0;
918
			new c = -1;
919
			for(new j, strtmp[AD_MAX_ITEM_LENGTH], s = strlen(info); i <= s; i++)
920
			{
921
				#undef AD_MAX_ITEM_LENGTH
922
				if(info[i] == '\n' || i == s)
923
				{
924
					if(c + 1 >= sizeof adItems[]) break;
925
					c++;
926
					strmid(strtmp, info, j, i);
927
					strpack(adItems[playerid][c], strtmp);
928
					if(i - j >= sizeof adItems[][] * (cellbits / charbits))
929
					{
930
						adItems[playerid][c]{(sizeof(adItems[][]) * (cellbits / charbits)) - 3} = '.';
931
						adItems[playerid][c]{(sizeof(adItems[][]) * (cellbits / charbits)) - 2} = '.';
932
						adItems[playerid][c]{(sizeof(adItems[][]) * (cellbits / charbits)) - 1} = '.';
933
					}
934
					if(c < 8) PlayerTextDrawSetString(playerid, adArrayPTDs[playerid][12 + c], adItems[playerid][c]);
935
					j = i + 1;
936
				}
937
			}
938
			adMaxItems[playerid] = c;
939
940
			adArrayPTDs[playerid][20] = CreatePlayerTextDraw(playerid, 470.0, 170.3, "_"); //Scroll box
941
			PlayerTextDrawTextSize(playerid, adArrayPTDs[playerid][20], 460.0, 5.0);
942
			PlayerTextDrawLetterSize(playerid, adArrayPTDs[playerid][20], 0.0, 9.8 / (floatround(c / 8, floatround_tozero) + 1));
943
			PlayerTextDrawUseBox(playerid, adArrayPTDs[playerid][20], 1);
944
			PlayerTextDrawBoxColor(playerid, adArrayPTDs[playerid][20], AD_SCROLL_BOX_COLOR);
945
			#undef AD_SCROLL_BOX_COLOR
946
947
			for(i = sizeof(adArrayTDs) - 1; i >= 0; --i)
948
			{
949
				if(c < 8 && (6 <= i <= 7 || 9 <= i <= 10)
950
				|| b2_len > 0 && i == 5 || b2_len == 0 && 3 <= i <= 4) continue;
951
				TextDrawShowForPlayer(playerid, adArrayTDs[i]);
952
			}
953
			for(i = sizeof(adArrayPTDs[]) - 1; i >= 0; --i)
954
			{
955
				if(c < 8 && i == 20) continue;
956
				PlayerTextDrawShow(playerid, adArrayPTDs[playerid][i]);
957
			}
958
			return SelectTextDraw(playerid, AD_SELECTION_COLOR);
959
			#undef AD_SELECTION_COLOR
960
		}
961
	}
962
	return 0;
963
}
964
965
stock GetPlayerAltDialog(playerid)
966
{
967
	if(!IsPlayerConnected(playerid)) return AD_INVALID_ID;
968
	return adDialogID[playerid];
969
}