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