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