PDA

Просмотр полной версии : [Вопрос] По зашитному, коду.



Zeror_Dalglish
08.06.2014, 16:11
http://pro-pawn.ru/showthread.php?9142-%D0%9F%D0%BE-%D1%86%D0%B8%D1%84%D0%B5%D1%80%D0%B1%D0%BB%D0%B0%D1%82%D1%83 вот, только что расчертил подобное, но я не знаю как сделать что бы каждый раз рандомно было, да использовать функцию рандом в форматирование но как, можете пример показать?

DeimoS
08.06.2014, 16:45
Ну, например

for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button[index_1] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button[index_1] == textdraw_pass_panel_button[index_2])
{
textdraw_pass_panel_button[index_1] = random(10);
index_2 = -1;
}
}
}
textdraw_pass_panel_button - ваш массив, в котором хранятся ID текстдравов кнопок

Zeror_Dalglish
08.06.2014, 16:54
Ну, например

for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button[index_1] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button[index_1] == textdraw_pass_panel_button[index_2])
{
textdraw_pass_panel_button[index_1] = random(10);
index_2 = -1;
}
}
}
textdraw_pass_panel_button - ваш массив, в котором хранятся ID текстдравов кнопок
Они до нажатия, должны уже в разном порядке быть. Если я правильно понимаю выше код ставить в паблик кликобельный ТД

DeimoS
08.06.2014, 17:04
Они до нажатия, должны уже в разном порядке быть. Если я правильно понимаю выше код ставить в паблик кликобельный ТД

Нет. Перед формированием текстдравов нужно ставить. И да, я немного не так объяснил. Сделаем иначе

В начало мода

new textdraw_pass_panel_button_string[10];//Атдуши назвал :3

#define TEXTDRAW_BUTTON_PASSWORD[%0] text_draw_name[%0]
Где text_draw_name - массив, в котором хранятся ID текстдравов КНОПОК (куда цифры вставлять будем). Причём это обязательно должен быть отдельный массив, а не общий для всех текстдравов этого меню.

И теперь перед тем, как показывать игроку текстдрав,

new text_string[2];
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_1]] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_1]] == textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_2]])
{
textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_1]] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_string[TEXTDRAW_BUTTON_PASSWORD[index_1]]);
TextDrawSetString(TEXTDRAW_BUTTON_PASSWORD[index_1], text_string);// Функцию замените на то, что вам нужно. С текстдравами давно не работал и не помню уже ничего
}

Zeror_Dalglish
08.06.2014, 17:37
Где text_draw_name - массив, в котором хранятся ID текстдравов КНОПОК (куда цифры вставлять будем). Причём это обязательно должен быть отдельный массив, а не общий для всех текстдравов этого меню.
Тоесть например кнопка "1" переменная new Pass_Keys_1; какое ей массив, не совсем все понял вчитывался раз 5 :(

DeimoS
08.06.2014, 17:58
Где text_draw_name - массив, в котором хранятся ID текстдравов КНОПОК (куда цифры вставлять будем). Причём это обязательно должен быть отдельный массив, а не общий для всех текстдравов этого меню.
Тоесть например кнопка "1" переменная new Pass_Keys_1; какое ей массив, не совсем все понял вчитывался раз 5 :(

Ну, допустим, у нас под каждую кнопку выделена своя переменная. То бишь

new Pass_Keys_1;
new Pass_Keys_2;
new Pass_Keys_3;
//и так до 10
Это всё надо переделать в

new Pass_Keys[10];

И, соответственно, создание/отображение и прочее переделать из

Pass_Keys_1
в

Pass_Keys[0]
и так далее. После "text_draw_name" заменить на "Pass_Keys"

Zeror_Dalglish
08.06.2014, 18:20
new Pass_Keys[10];
и под этим я называю, ТД кнопок 1 и т.д?

DeimoS
08.06.2014, 18:26
new Pass_Keys[10];
и под этим я называю, ТД кнопок 1 и т.д?

Эмм, код создания текстдравов покажите

Zeror_Dalglish
08.06.2014, 18:29
Эмм, код создания текстдравов покажите
Он громадный, за одно может быть подскажете как то можно оптимизировать?


Textdraw0 = TextDrawCreate(237.199996, 163.271133, "1");
TextDrawLetterSize(Textdraw0, 0.758000, 3.372089);
TextDrawTextSize(Textdraw0, 250.000015, 65.208900);
TextDrawAlignment(Textdraw0, 1);
TextDrawColor(Textdraw0, -1);
TextDrawUseBox(Textdraw0, true);
TextDrawBoxColor(Textdraw0, 255);
TextDrawSetShadow(Textdraw0, 0);
TextDrawSetOutline(Textdraw0, 1);
TextDrawBackgroundColor(Textdraw0, 51);
TextDrawFont(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);

Textdraw1 = TextDrawCreate(264.000000, 156.308883, "usebox");
TextDrawLetterSize(Textdraw1, 0.000000, 4.550493);
TextDrawTextSize(Textdraw1, 223.599990, 0.000000);
TextDrawAlignment(Textdraw1, 1);
TextDrawColor(Textdraw1, -252645718);
TextDrawUseBox(Textdraw1, true);
TextDrawBoxColor(Textdraw1, -2139062017);
TextDrawSetShadow(Textdraw1, 0);
TextDrawSetOutline(Textdraw1, 0);
TextDrawFont(Textdraw1, 0);

Textdraw2 = TextDrawCreate(308.000030, 162.275543, "2");
TextDrawLetterSize(Textdraw2, 0.763201, 3.247644);
TextDrawTextSize(Textdraw2, 327.999969, 17.422222);
TextDrawAlignment(Textdraw2, 1);
TextDrawColor(Textdraw2, -1);
TextDrawUseBox(Textdraw2, true);
TextDrawBoxColor(Textdraw2, 255);
TextDrawSetShadow(Textdraw2, 0);
TextDrawSetOutline(Textdraw2, 1);
TextDrawBackgroundColor(Textdraw2, 51);
TextDrawFont(Textdraw2, 1);
TextDrawSetProportional(Textdraw2, 1);

Textdraw3 = TextDrawCreate(338.399627, 156.806503, "usebox");
TextDrawLetterSize(Textdraw3, 0.000000, 4.573702);
TextDrawTextSize(Textdraw3, 297.599761, 0.000000);
TextDrawAlignment(Textdraw3, 1);
TextDrawColor(Textdraw3, 0);
TextDrawUseBox(Textdraw3, true);
TextDrawBoxColor(Textdraw3, -2139062017);
TextDrawSetShadow(Textdraw3, 0);
TextDrawSetOutline(Textdraw3, 0);
TextDrawFont(Textdraw3, 0);

Textdraw4 = TextDrawCreate(385.599822, 165.760025, "3");
TextDrawLetterSize(Textdraw4, 0.770000, 3.028622);
TextDrawTextSize(Textdraw4, 406.399993, 75.164436);
TextDrawAlignment(Textdraw4, 1);
TextDrawColor(Textdraw4, -1);
TextDrawUseBox(Textdraw4, true);
TextDrawBoxColor(Textdraw4, 255);
TextDrawSetShadow(Textdraw4, 0);
TextDrawSetOutline(Textdraw4, 1);
TextDrawBackgroundColor(Textdraw4, 51);
TextDrawFont(Textdraw4, 1);
TextDrawSetProportional(Textdraw4, 1);

Textdraw5 = TextDrawCreate(414.399688, 157.304367, "usebox");
TextDrawLetterSize(Textdraw5, 0.000000, 4.565803);
TextDrawTextSize(Textdraw5, 373.599670, 0.000000);
TextDrawAlignment(Textdraw5, 1);
TextDrawColor(Textdraw5, 0);
TextDrawUseBox(Textdraw5, true);
TextDrawBoxColor(Textdraw5, -2139062017);
TextDrawSetShadow(Textdraw5, 0);
TextDrawSetOutline(Textdraw5, 0);
TextDrawFont(Textdraw5, 0);

Textdraw6 = TextDrawCreate(232.400054, 230.470977, "4");
TextDrawLetterSize(Textdraw6, 0.853600, 3.352177);
TextDrawTextSize(Textdraw6, 255.599838, 9.955553);
TextDrawAlignment(Textdraw6, 1);
TextDrawColor(Textdraw6, -1);
TextDrawUseBox(Textdraw6, true);
TextDrawBoxColor(Textdraw6, 255);
TextDrawSetShadow(Textdraw6, 0);
TextDrawSetOutline(Textdraw6, 1);
TextDrawBackgroundColor(Textdraw6, 51);
TextDrawFont(Textdraw6, 1);
TextDrawSetProportional(Textdraw6, 1);

Textdraw7 = TextDrawCreate(264.000000, 267.312164, "usebox");
TextDrawLetterSize(Textdraw7, 0.000000, -5.294445);
TextDrawTextSize(Textdraw7, 223.199981, 0.000000);
TextDrawAlignment(Textdraw7, 1);
TextDrawColor(Textdraw7, 0);
TextDrawUseBox(Textdraw7, true);
TextDrawBoxColor(Textdraw7, -2139062017);
TextDrawSetShadow(Textdraw7, 0);
TextDrawSetOutline(Textdraw7, 0);
TextDrawFont(Textdraw7, 0);

Textdraw8 = TextDrawCreate(307.199951, 230.968643, "5");
TextDrawLetterSize(Textdraw8, 0.768400, 3.068443);
TextDrawTextSize(Textdraw8, 325.999908, 10.453332);
TextDrawAlignment(Textdraw8, 1);
TextDrawColor(Textdraw8, -1);
TextDrawUseBox(Textdraw8, true);
TextDrawBoxColor(Textdraw8, 255);
TextDrawSetShadow(Textdraw8, 0);
TextDrawSetOutline(Textdraw8, 1);
TextDrawBackgroundColor(Textdraw8, 51);
TextDrawFont(Textdraw8, 1);
TextDrawSetProportional(Textdraw8, 1);

Textdraw9 = TextDrawCreate(335.999725, 225.002120, "usebox");
TextDrawLetterSize(Textdraw9, 0.000000, 4.605803);
TextDrawTextSize(Textdraw9, 295.199707, 0.000000);
TextDrawAlignment(Textdraw9, 1);
TextDrawColor(Textdraw9, 0);
TextDrawUseBox(Textdraw9, true);
TextDrawBoxColor(Textdraw9, -2139062017);
TextDrawSetShadow(Textdraw9, 0);
TextDrawSetOutline(Textdraw9, 0);
TextDrawFont(Textdraw9, 0);

Textdraw10 = TextDrawCreate(384.399902, 233.955413, "6");
TextDrawLetterSize(Textdraw10, 0.737999, 3.058488);
TextDrawTextSize(Textdraw10, 405.199951, 18.417778);
TextDrawAlignment(Textdraw10, 1);
TextDrawColor(Textdraw10, -1);
TextDrawUseBox(Textdraw10, true);
TextDrawBoxColor(Textdraw10, 255);
TextDrawSetShadow(Textdraw10, 0);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 51);
TextDrawFont(Textdraw10, 1);
TextDrawSetProportional(Textdraw10, 1);

Textdraw11 = TextDrawCreate(415.999969, 225.997787, "usebox");
TextDrawLetterSize(Textdraw11, 0.000000, 4.716419);
TextDrawTextSize(Textdraw11, 374.399963, 0.000000);
TextDrawAlignment(Textdraw11, 1);
TextDrawColor(Textdraw11, 0);
TextDrawUseBox(Textdraw11, true);
TextDrawBoxColor(Textdraw11, -2139062017);
TextDrawSetShadow(Textdraw11, 0);
TextDrawSetOutline(Textdraw11, 0);
TextDrawFont(Textdraw11, 0);

Textdraw12 = TextDrawCreate(233.200057, 291.697509, "7");
TextDrawLetterSize(Textdraw12, 0.809600, 3.128178);
TextDrawTextSize(Textdraw12, 250.399993, 13.937776);
TextDrawAlignment(Textdraw12, 1);
TextDrawColor(Textdraw12, -1);
TextDrawUseBox(Textdraw12, true);
TextDrawBoxColor(Textdraw12, 255);
TextDrawSetShadow(Textdraw12, 0);
TextDrawSetOutline(Textdraw12, 1);
TextDrawBackgroundColor(Textdraw12, 51);
TextDrawFont(Textdraw12, 1);
TextDrawSetProportional(Textdraw12, 1);

Textdraw13 = TextDrawCreate(262.400024, 285.731109, "usebox");
TextDrawLetterSize(Textdraw13, 0.000000, 4.329257);
TextDrawTextSize(Textdraw13, 222.000000, 0.000000);
TextDrawAlignment(Textdraw13, 1);
TextDrawColor(Textdraw13, 0);
TextDrawUseBox(Textdraw13, true);
TextDrawBoxColor(Textdraw13, -2139062017);
TextDrawSetShadow(Textdraw13, 0);
TextDrawSetOutline(Textdraw13, 0);
TextDrawFont(Textdraw13, 0);

Textdraw14 = TextDrawCreate(307.599914, 293.688751, "8");
TextDrawLetterSize(Textdraw14, 0.780000, 2.988799);
TextDrawTextSize(Textdraw14, 326.399993, 13.439996);
TextDrawAlignment(Textdraw14, 1);
TextDrawColor(Textdraw14, -1);
TextDrawUseBox(Textdraw14, true);
TextDrawBoxColor(Textdraw14, 255);
TextDrawSetShadow(Textdraw14, 0);
TextDrawSetOutline(Textdraw14, 1);
TextDrawBackgroundColor(Textdraw14, 51);
TextDrawFont(Textdraw14, 1);
TextDrawSetProportional(Textdraw14, 1);

Textdraw15 = TextDrawCreate(336.399993, 288.220001, "usebox");
TextDrawLetterSize(Textdraw15, 0.000000, 4.052714);
TextDrawTextSize(Textdraw15, 295.600006, 0.000000);
TextDrawAlignment(Textdraw15, 1);
TextDrawColor(Textdraw15, 0);
TextDrawUseBox(Textdraw15, true);
TextDrawBoxColor(Textdraw15, -2139062017);
TextDrawSetShadow(Textdraw15, 0);
TextDrawSetOutline(Textdraw15, 0);
TextDrawFont(Textdraw15, 0);

Textdraw16 = TextDrawCreate(388.400085, 293.688568, "9");
TextDrawLetterSize(Textdraw16, 0.753200, 2.829512);
TextDrawTextSize(Textdraw16, 404.799957, 0.000001);
TextDrawAlignment(Textdraw16, 1);
TextDrawColor(Textdraw16, -1);
TextDrawUseBox(Textdraw16, true);
TextDrawBoxColor(Textdraw16, 255);
TextDrawSetShadow(Textdraw16, 0);
TextDrawSetOutline(Textdraw16, 1);
TextDrawBackgroundColor(Textdraw16, 51);
TextDrawFont(Textdraw16, 1);
TextDrawSetProportional(Textdraw16, 1);

Textdraw17 = TextDrawCreate(416.000000, 288.717773, "usebox");
TextDrawLetterSize(Textdraw17, 0.000000, 3.776174);
TextDrawTextSize(Textdraw17, 375.599975, 0.000000);
TextDrawAlignment(Textdraw17, 1);
TextDrawColor(Textdraw17, 0);
TextDrawUseBox(Textdraw17, true);
TextDrawBoxColor(Textdraw17, -2139062017);
TextDrawSetShadow(Textdraw17, 0);
TextDrawSetOutline(Textdraw17, 0);
TextDrawFont(Textdraw17, 0);

Textdraw18 = TextDrawCreate(309.600006, 348.942260, "0");
TextDrawLetterSize(Textdraw18, 0.782000, 3.148088);
TextDrawTextSize(Textdraw18, 326.399902, 6.968887);
TextDrawAlignment(Textdraw18, 1);
TextDrawColor(Textdraw18, -1);
TextDrawUseBox(Textdraw18, true);
TextDrawBoxColor(Textdraw18, 255);
TextDrawSetShadow(Textdraw18, 0);
TextDrawSetOutline(Textdraw18, 1);
TextDrawBackgroundColor(Textdraw18, 51);
TextDrawFont(Textdraw18, 1);
TextDrawSetProportional(Textdraw18, 1);

Textdraw19 = TextDrawCreate(336.399993, 342.477783, "usebox");
TextDrawLetterSize(Textdraw19, 0.000000, 4.273950);
TextDrawTextSize(Textdraw19, 298.400024, 0.000000);
TextDrawAlignment(Textdraw19, 1);
TextDrawColor(Textdraw19, 0);
TextDrawUseBox(Textdraw19, true);
TextDrawBoxColor(Textdraw19, -2139062017);
TextDrawSetShadow(Textdraw19, 0);
TextDrawSetOutline(Textdraw19, 0);
TextDrawFont(Textdraw19, 0);


Глобальный потому что я забыл переключить в редакторе для игрока, переделаю под игрока.

DeimoS
08.06.2014, 19:21
Для игрока нужно делать только сами цифры и поле, в котором будет выводить текст (если оно есть). Бок и прочее оставьте глобальными и создавайте только при старте сервера (НЕ в OnPlayerConnect).

Оптимизировать тут нечего,. Ну разве что индивидуальные текстдравы сделать одним способом, а глобальные - другим. Вся остальная "оптимизация" на обработку кода машиной никак не повлияет.


Textdraw18 = TextDrawCreate(309.600006, 348.942260, "0");
TextDrawLetterSize(Textdraw18, 0.782000, 3.148088);
TextDrawTextSize(Textdraw18, 326.399902, 6.968887);
TextDrawAlignment(Textdraw18, 1);
TextDrawColor(Textdraw18, -1);
TextDrawUseBox(Textdraw18, true);
TextDrawBoxColor(Textdraw18, 255);
TextDrawSetShadow(Textdraw18, 0);
TextDrawSetOutline(Textdraw18, 1);
TextDrawBackgroundColor(Textdraw18, 51);
TextDrawFont(Textdraw18, 1);
TextDrawSetProportional(Textdraw18, 1);

Textdraw0 = TextDrawCreate(237.199996, 163.271133, "1");
TextDrawLetterSize(Textdraw0, 0.758000, 3.372089);
TextDrawTextSize(Textdraw0, 250.000015, 65.208900);
TextDrawAlignment(Textdraw0, 1);
TextDrawColor(Textdraw0, -1);
TextDrawUseBox(Textdraw0, true);
TextDrawBoxColor(Textdraw0, 255);
TextDrawSetShadow(Textdraw0, 0);
TextDrawSetOutline(Textdraw0, 1);
TextDrawBackgroundColor(Textdraw0, 51);
TextDrawFont(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);

Textdraw2 = TextDrawCreate(308.000030, 162.275543, "2");
TextDrawLetterSize(Textdraw2, 0.763201, 3.247644);
TextDrawTextSize(Textdraw2, 327.999969, 17.422222);
TextDrawAlignment(Textdraw2, 1);
TextDrawColor(Textdraw2, -1);
TextDrawUseBox(Textdraw2, true);
TextDrawBoxColor(Textdraw2, 255);
TextDrawSetShadow(Textdraw2, 0);
TextDrawSetOutline(Textdraw2, 1);
TextDrawBackgroundColor(Textdraw2, 51);
TextDrawFont(Textdraw2, 1);
TextDrawSetProportional(Textdraw2, 1);

Textdraw4 = TextDrawCreate(385.599822, 165.760025, "3");
TextDrawLetterSize(Textdraw4, 0.770000, 3.028622);
TextDrawTextSize(Textdraw4, 406.399993, 75.164436);
TextDrawAlignment(Textdraw4, 1);
TextDrawColor(Textdraw4, -1);
TextDrawUseBox(Textdraw4, true);
TextDrawBoxColor(Textdraw4, 255);
TextDrawSetShadow(Textdraw4, 0);
TextDrawSetOutline(Textdraw4, 1);
TextDrawBackgroundColor(Textdraw4, 51);
TextDrawFont(Textdraw4, 1);
TextDrawSetProportional(Textdraw4, 1);

Textdraw6 = TextDrawCreate(232.400054, 230.470977, "4");
TextDrawLetterSize(Textdraw6, 0.853600, 3.352177);
TextDrawTextSize(Textdraw6, 255.599838, 9.955553);
TextDrawAlignment(Textdraw6, 1);
TextDrawColor(Textdraw6, -1);
TextDrawUseBox(Textdraw6, true);
TextDrawBoxColor(Textdraw6, 255);
TextDrawSetShadow(Textdraw6, 0);
TextDrawSetOutline(Textdraw6, 1);
TextDrawBackgroundColor(Textdraw6, 51);
TextDrawFont(Textdraw6, 1);
TextDrawSetProportional(Textdraw6, 1);

Textdraw8 = TextDrawCreate(307.199951, 230.968643, "5");
TextDrawLetterSize(Textdraw8, 0.768400, 3.068443);
TextDrawTextSize(Textdraw8, 325.999908, 10.453332);
TextDrawAlignment(Textdraw8, 1);
TextDrawColor(Textdraw8, -1);
TextDrawUseBox(Textdraw8, true);
TextDrawBoxColor(Textdraw8, 255);
TextDrawSetShadow(Textdraw8, 0);
TextDrawSetOutline(Textdraw8, 1);
TextDrawBackgroundColor(Textdraw8, 51);
TextDrawFont(Textdraw8, 1);
TextDrawSetProportional(Textdraw8, 1);

Textdraw10 = TextDrawCreate(384.399902, 233.955413, "6");
TextDrawLetterSize(Textdraw10, 0.737999, 3.058488);
TextDrawTextSize(Textdraw10, 405.199951, 18.417778);
TextDrawAlignment(Textdraw10, 1);
TextDrawColor(Textdraw10, -1);
TextDrawUseBox(Textdraw10, true);
TextDrawBoxColor(Textdraw10, 255);
TextDrawSetShadow(Textdraw10, 0);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 51);
TextDrawFont(Textdraw10, 1);
TextDrawSetProportional(Textdraw10, 1);

Textdraw12 = TextDrawCreate(233.200057, 291.697509, "7");
TextDrawLetterSize(Textdraw12, 0.809600, 3.128178);
TextDrawTextSize(Textdraw12, 250.399993, 13.937776);
TextDrawAlignment(Textdraw12, 1);
TextDrawColor(Textdraw12, -1);
TextDrawUseBox(Textdraw12, true);
TextDrawBoxColor(Textdraw12, 255);
TextDrawSetShadow(Textdraw12, 0);
TextDrawSetOutline(Textdraw12, 1);
TextDrawBackgroundColor(Textdraw12, 51);
TextDrawFont(Textdraw12, 1);
TextDrawSetProportional(Textdraw12, 1);

Textdraw14 = TextDrawCreate(307.599914, 293.688751, "8");
TextDrawLetterSize(Textdraw14, 0.780000, 2.988799);
TextDrawTextSize(Textdraw14, 326.399993, 13.439996);
TextDrawAlignment(Textdraw14, 1);
TextDrawColor(Textdraw14, -1);
TextDrawUseBox(Textdraw14, true);
TextDrawBoxColor(Textdraw14, 255);
TextDrawSetShadow(Textdraw14, 0);
TextDrawSetOutline(Textdraw14, 1);
TextDrawBackgroundColor(Textdraw14, 51);
TextDrawFont(Textdraw14, 1);
TextDrawSetProportional(Textdraw14, 1);

Textdraw16 = TextDrawCreate(388.400085, 293.688568, "9");
TextDrawLetterSize(Textdraw16, 0.753200, 2.829512);
TextDrawTextSize(Textdraw16, 404.799957, 0.000001);
TextDrawAlignment(Textdraw16, 1);
TextDrawColor(Textdraw16, -1);
TextDrawUseBox(Textdraw16, true);
TextDrawBoxColor(Textdraw16, 255);
TextDrawSetShadow(Textdraw16, 0);
TextDrawSetOutline(Textdraw16, 1);
TextDrawBackgroundColor(Textdraw16, 51);
TextDrawFont(Textdraw16, 1);
TextDrawSetProportional(Textdraw16, 1);

Textdraw1 = TextDrawCreate(264.000000, 156.308883, "usebox");
TextDrawLetterSize(Textdraw1, 0.000000, 4.550493);
TextDrawTextSize(Textdraw1, 223.599990, 0.000000);
TextDrawAlignment(Textdraw1, 1);
TextDrawColor(Textdraw1, -252645718);
TextDrawUseBox(Textdraw1, true);
TextDrawBoxColor(Textdraw1, -2139062017);
TextDrawSetShadow(Textdraw1, 0);
TextDrawSetOutline(Textdraw1, 0);
TextDrawFont(Textdraw1, 0);

Textdraw3 = TextDrawCreate(338.399627, 156.806503, "usebox");
TextDrawLetterSize(Textdraw3, 0.000000, 4.573702);
TextDrawTextSize(Textdraw3, 297.599761, 0.000000);
TextDrawAlignment(Textdraw3, 1);
TextDrawColor(Textdraw3, 0);
TextDrawUseBox(Textdraw3, true);
TextDrawBoxColor(Textdraw3, -2139062017);
TextDrawSetShadow(Textdraw3, 0);
TextDrawSetOutline(Textdraw3, 0);
TextDrawFont(Textdraw3, 0);

Textdraw5 = TextDrawCreate(414.399688, 157.304367, "usebox");
TextDrawLetterSize(Textdraw5, 0.000000, 4.565803);
TextDrawTextSize(Textdraw5, 373.599670, 0.000000);
TextDrawAlignment(Textdraw5, 1);
TextDrawColor(Textdraw5, 0);
TextDrawUseBox(Textdraw5, true);
TextDrawBoxColor(Textdraw5, -2139062017);
TextDrawSetShadow(Textdraw5, 0);
TextDrawSetOutline(Textdraw5, 0);
TextDrawFont(Textdraw5, 0);

Textdraw7 = TextDrawCreate(264.000000, 267.312164, "usebox");
TextDrawLetterSize(Textdraw7, 0.000000, -5.294445);
TextDrawTextSize(Textdraw7, 223.199981, 0.000000);
TextDrawAlignment(Textdraw7, 1);
TextDrawColor(Textdraw7, 0);
TextDrawUseBox(Textdraw7, true);
TextDrawBoxColor(Textdraw7, -2139062017);
TextDrawSetShadow(Textdraw7, 0);
TextDrawSetOutline(Textdraw7, 0);
TextDrawFont(Textdraw7, 0);

Textdraw9 = TextDrawCreate(335.999725, 225.002120, "usebox");
TextDrawLetterSize(Textdraw9, 0.000000, 4.605803);
TextDrawTextSize(Textdraw9, 295.199707, 0.000000);
TextDrawAlignment(Textdraw9, 1);
TextDrawColor(Textdraw9, 0);
TextDrawUseBox(Textdraw9, true);
TextDrawBoxColor(Textdraw9, -2139062017);
TextDrawSetShadow(Textdraw9, 0);
TextDrawSetOutline(Textdraw9, 0);
TextDrawFont(Textdraw9, 0);

Textdraw11 = TextDrawCreate(415.999969, 225.997787, "usebox");
TextDrawLetterSize(Textdraw11, 0.000000, 4.716419);
TextDrawTextSize(Textdraw11, 374.399963, 0.000000);
TextDrawAlignment(Textdraw11, 1);
TextDrawColor(Textdraw11, 0);
TextDrawUseBox(Textdraw11, true);
TextDrawBoxColor(Textdraw11, -2139062017);
TextDrawSetShadow(Textdraw11, 0);
TextDrawSetOutline(Textdraw11, 0);
TextDrawFont(Textdraw11, 0);

Textdraw13 = TextDrawCreate(262.400024, 285.731109, "usebox");
TextDrawLetterSize(Textdraw13, 0.000000, 4.329257);
TextDrawTextSize(Textdraw13, 222.000000, 0.000000);
TextDrawAlignment(Textdraw13, 1);
TextDrawColor(Textdraw13, 0);
TextDrawUseBox(Textdraw13, true);
TextDrawBoxColor(Textdraw13, -2139062017);
TextDrawSetShadow(Textdraw13, 0);
TextDrawSetOutline(Textdraw13, 0);
TextDrawFont(Textdraw13, 0);

Textdraw15 = TextDrawCreate(336.399993, 288.220001, "usebox");
TextDrawLetterSize(Textdraw15, 0.000000, 4.052714);
TextDrawTextSize(Textdraw15, 295.600006, 0.000000);
TextDrawAlignment(Textdraw15, 1);
TextDrawColor(Textdraw15, 0);
TextDrawUseBox(Textdraw15, true);
TextDrawBoxColor(Textdraw15, -2139062017);
TextDrawSetShadow(Textdraw15, 0);
TextDrawSetOutline(Textdraw15, 0);
TextDrawFont(Textdraw15, 0);

Textdraw17 = TextDrawCreate(416.000000, 288.717773, "usebox");
TextDrawLetterSize(Textdraw17, 0.000000, 3.776174);
TextDrawTextSize(Textdraw17, 375.599975, 0.000000);
TextDrawAlignment(Textdraw17, 1);
TextDrawColor(Textdraw17, 0);
TextDrawUseBox(Textdraw17, true);
TextDrawBoxColor(Textdraw17, -2139062017);
TextDrawSetShadow(Textdraw17, 0);
TextDrawSetOutline(Textdraw17, 0);
TextDrawFont(Textdraw17, 0);

Textdraw19 = TextDrawCreate(336.399993, 342.477783, "usebox");
TextDrawLetterSize(Textdraw19, 0.000000, 4.273950);
TextDrawTextSize(Textdraw19, 298.400024, 0.000000);
TextDrawAlignment(Textdraw19, 1);
TextDrawColor(Textdraw19, 0);
TextDrawUseBox(Textdraw19, true);
TextDrawBoxColor(Textdraw19, -2139062017);
TextDrawSetShadow(Textdraw19, 0);
TextDrawSetOutline(Textdraw19, 0);
TextDrawFont(Textdraw19, 0);
Свой код замените на этот. После нажмите "CTRL + H"
И в верхнее поле введите

Textdraw18
а в нижнее

textdraw_panel_button[0]
и после нажмите "Ок" (или что там будет).

1 - верхнее поле
2 - нижнее поле

1) Textdraw0
2) textdraw_panel_button[1]

1) Textdraw2
2) textdraw_panel_button[2]

1) Textdraw4
2) textdraw_panel_button[3]

1) Textdraw6
2) textdraw_panel_button[4]

1) Textdraw8
2) textdraw_panel_button[5]

1) Textdraw10
2) textdraw_panel_button[6

1) Textdraw12
2) textdraw_panel_button[7]

1) Textdraw14
2) textdraw_panel_button[8]

1) Textdraw16
2) textdraw_panel_button[9]


И далее макрос замените на

#define TEXTDRAW_BUTTON_PASSWORD[%0] textdraw_panel_button[%0]
а так же удалите все переменные, а-ля

new Text: textdraw_panel_button[0];
new Text: textdraw_panel_button[1];
new Text: textdraw_panel_button[2];
//И т.д.
и добавьте вместо них одну

new Text: textdraw_panel_button[10];

Nazarik
08.06.2014, 19:34
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button[index_1] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button[index_1] == textdraw_pass_panel_button[index_2])
{
textdraw_pass_panel_button[index_1] = random(10);
index_2 = -1;
}
}
}



stock Shuffle(array[], size = sizeof array)
{
new
index,
rand,
buffer;

for(; index < size; index ++)
{
rand = random(size);
buffer = array[index];

array[index] = array[rand];
array[rand] = buffer;
}
}

Example code:



new array[10] = {0, 1, ...};
Shuffle(array);

Zeror_Dalglish
08.06.2014, 19:55
Для игрока нужно делать только сами цифры и поле, в котором будет выводить текст (если оно есть). Бок и прочее оставьте глобальными и создавайте только при старте сервера (НЕ в OnPlayerConnect).

Оптимизировать тут нечего,. Ну разве что индивидуальные текстдравы сделать одним способом, а глобальные - другим. Вся остальная "оптимизация" на обработку кода машиной никак не повлияет.


Textdraw18 = TextDrawCreate(309.600006, 348.942260, "0");
TextDrawLetterSize(Textdraw18, 0.782000, 3.148088);
TextDrawTextSize(Textdraw18, 326.399902, 6.968887);
TextDrawAlignment(Textdraw18, 1);
TextDrawColor(Textdraw18, -1);
TextDrawUseBox(Textdraw18, true);
TextDrawBoxColor(Textdraw18, 255);
TextDrawSetShadow(Textdraw18, 0);
TextDrawSetOutline(Textdraw18, 1);
TextDrawBackgroundColor(Textdraw18, 51);
TextDrawFont(Textdraw18, 1);
TextDrawSetProportional(Textdraw18, 1);

Textdraw0 = TextDrawCreate(237.199996, 163.271133, "1");
TextDrawLetterSize(Textdraw0, 0.758000, 3.372089);
TextDrawTextSize(Textdraw0, 250.000015, 65.208900);
TextDrawAlignment(Textdraw0, 1);
TextDrawColor(Textdraw0, -1);
TextDrawUseBox(Textdraw0, true);
TextDrawBoxColor(Textdraw0, 255);
TextDrawSetShadow(Textdraw0, 0);
TextDrawSetOutline(Textdraw0, 1);
TextDrawBackgroundColor(Textdraw0, 51);
TextDrawFont(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);

Textdraw2 = TextDrawCreate(308.000030, 162.275543, "2");
TextDrawLetterSize(Textdraw2, 0.763201, 3.247644);
TextDrawTextSize(Textdraw2, 327.999969, 17.422222);
TextDrawAlignment(Textdraw2, 1);
TextDrawColor(Textdraw2, -1);
TextDrawUseBox(Textdraw2, true);
TextDrawBoxColor(Textdraw2, 255);
TextDrawSetShadow(Textdraw2, 0);
TextDrawSetOutline(Textdraw2, 1);
TextDrawBackgroundColor(Textdraw2, 51);
TextDrawFont(Textdraw2, 1);
TextDrawSetProportional(Textdraw2, 1);

Textdraw4 = TextDrawCreate(385.599822, 165.760025, "3");
TextDrawLetterSize(Textdraw4, 0.770000, 3.028622);
TextDrawTextSize(Textdraw4, 406.399993, 75.164436);
TextDrawAlignment(Textdraw4, 1);
TextDrawColor(Textdraw4, -1);
TextDrawUseBox(Textdraw4, true);
TextDrawBoxColor(Textdraw4, 255);
TextDrawSetShadow(Textdraw4, 0);
TextDrawSetOutline(Textdraw4, 1);
TextDrawBackgroundColor(Textdraw4, 51);
TextDrawFont(Textdraw4, 1);
TextDrawSetProportional(Textdraw4, 1);

Textdraw6 = TextDrawCreate(232.400054, 230.470977, "4");
TextDrawLetterSize(Textdraw6, 0.853600, 3.352177);
TextDrawTextSize(Textdraw6, 255.599838, 9.955553);
TextDrawAlignment(Textdraw6, 1);
TextDrawColor(Textdraw6, -1);
TextDrawUseBox(Textdraw6, true);
TextDrawBoxColor(Textdraw6, 255);
TextDrawSetShadow(Textdraw6, 0);
TextDrawSetOutline(Textdraw6, 1);
TextDrawBackgroundColor(Textdraw6, 51);
TextDrawFont(Textdraw6, 1);
TextDrawSetProportional(Textdraw6, 1);

Textdraw8 = TextDrawCreate(307.199951, 230.968643, "5");
TextDrawLetterSize(Textdraw8, 0.768400, 3.068443);
TextDrawTextSize(Textdraw8, 325.999908, 10.453332);
TextDrawAlignment(Textdraw8, 1);
TextDrawColor(Textdraw8, -1);
TextDrawUseBox(Textdraw8, true);
TextDrawBoxColor(Textdraw8, 255);
TextDrawSetShadow(Textdraw8, 0);
TextDrawSetOutline(Textdraw8, 1);
TextDrawBackgroundColor(Textdraw8, 51);
TextDrawFont(Textdraw8, 1);
TextDrawSetProportional(Textdraw8, 1);

Textdraw10 = TextDrawCreate(384.399902, 233.955413, "6");
TextDrawLetterSize(Textdraw10, 0.737999, 3.058488);
TextDrawTextSize(Textdraw10, 405.199951, 18.417778);
TextDrawAlignment(Textdraw10, 1);
TextDrawColor(Textdraw10, -1);
TextDrawUseBox(Textdraw10, true);
TextDrawBoxColor(Textdraw10, 255);
TextDrawSetShadow(Textdraw10, 0);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 51);
TextDrawFont(Textdraw10, 1);
TextDrawSetProportional(Textdraw10, 1);

Textdraw12 = TextDrawCreate(233.200057, 291.697509, "7");
TextDrawLetterSize(Textdraw12, 0.809600, 3.128178);
TextDrawTextSize(Textdraw12, 250.399993, 13.937776);
TextDrawAlignment(Textdraw12, 1);
TextDrawColor(Textdraw12, -1);
TextDrawUseBox(Textdraw12, true);
TextDrawBoxColor(Textdraw12, 255);
TextDrawSetShadow(Textdraw12, 0);
TextDrawSetOutline(Textdraw12, 1);
TextDrawBackgroundColor(Textdraw12, 51);
TextDrawFont(Textdraw12, 1);
TextDrawSetProportional(Textdraw12, 1);

Textdraw14 = TextDrawCreate(307.599914, 293.688751, "8");
TextDrawLetterSize(Textdraw14, 0.780000, 2.988799);
TextDrawTextSize(Textdraw14, 326.399993, 13.439996);
TextDrawAlignment(Textdraw14, 1);
TextDrawColor(Textdraw14, -1);
TextDrawUseBox(Textdraw14, true);
TextDrawBoxColor(Textdraw14, 255);
TextDrawSetShadow(Textdraw14, 0);
TextDrawSetOutline(Textdraw14, 1);
TextDrawBackgroundColor(Textdraw14, 51);
TextDrawFont(Textdraw14, 1);
TextDrawSetProportional(Textdraw14, 1);

Textdraw16 = TextDrawCreate(388.400085, 293.688568, "9");
TextDrawLetterSize(Textdraw16, 0.753200, 2.829512);
TextDrawTextSize(Textdraw16, 404.799957, 0.000001);
TextDrawAlignment(Textdraw16, 1);
TextDrawColor(Textdraw16, -1);
TextDrawUseBox(Textdraw16, true);
TextDrawBoxColor(Textdraw16, 255);
TextDrawSetShadow(Textdraw16, 0);
TextDrawSetOutline(Textdraw16, 1);
TextDrawBackgroundColor(Textdraw16, 51);
TextDrawFont(Textdraw16, 1);
TextDrawSetProportional(Textdraw16, 1);

Textdraw1 = TextDrawCreate(264.000000, 156.308883, "usebox");
TextDrawLetterSize(Textdraw1, 0.000000, 4.550493);
TextDrawTextSize(Textdraw1, 223.599990, 0.000000);
TextDrawAlignment(Textdraw1, 1);
TextDrawColor(Textdraw1, -252645718);
TextDrawUseBox(Textdraw1, true);
TextDrawBoxColor(Textdraw1, -2139062017);
TextDrawSetShadow(Textdraw1, 0);
TextDrawSetOutline(Textdraw1, 0);
TextDrawFont(Textdraw1, 0);

Textdraw3 = TextDrawCreate(338.399627, 156.806503, "usebox");
TextDrawLetterSize(Textdraw3, 0.000000, 4.573702);
TextDrawTextSize(Textdraw3, 297.599761, 0.000000);
TextDrawAlignment(Textdraw3, 1);
TextDrawColor(Textdraw3, 0);
TextDrawUseBox(Textdraw3, true);
TextDrawBoxColor(Textdraw3, -2139062017);
TextDrawSetShadow(Textdraw3, 0);
TextDrawSetOutline(Textdraw3, 0);
TextDrawFont(Textdraw3, 0);

Textdraw5 = TextDrawCreate(414.399688, 157.304367, "usebox");
TextDrawLetterSize(Textdraw5, 0.000000, 4.565803);
TextDrawTextSize(Textdraw5, 373.599670, 0.000000);
TextDrawAlignment(Textdraw5, 1);
TextDrawColor(Textdraw5, 0);
TextDrawUseBox(Textdraw5, true);
TextDrawBoxColor(Textdraw5, -2139062017);
TextDrawSetShadow(Textdraw5, 0);
TextDrawSetOutline(Textdraw5, 0);
TextDrawFont(Textdraw5, 0);

Textdraw7 = TextDrawCreate(264.000000, 267.312164, "usebox");
TextDrawLetterSize(Textdraw7, 0.000000, -5.294445);
TextDrawTextSize(Textdraw7, 223.199981, 0.000000);
TextDrawAlignment(Textdraw7, 1);
TextDrawColor(Textdraw7, 0);
TextDrawUseBox(Textdraw7, true);
TextDrawBoxColor(Textdraw7, -2139062017);
TextDrawSetShadow(Textdraw7, 0);
TextDrawSetOutline(Textdraw7, 0);
TextDrawFont(Textdraw7, 0);

Textdraw9 = TextDrawCreate(335.999725, 225.002120, "usebox");
TextDrawLetterSize(Textdraw9, 0.000000, 4.605803);
TextDrawTextSize(Textdraw9, 295.199707, 0.000000);
TextDrawAlignment(Textdraw9, 1);
TextDrawColor(Textdraw9, 0);
TextDrawUseBox(Textdraw9, true);
TextDrawBoxColor(Textdraw9, -2139062017);
TextDrawSetShadow(Textdraw9, 0);
TextDrawSetOutline(Textdraw9, 0);
TextDrawFont(Textdraw9, 0);

Textdraw11 = TextDrawCreate(415.999969, 225.997787, "usebox");
TextDrawLetterSize(Textdraw11, 0.000000, 4.716419);
TextDrawTextSize(Textdraw11, 374.399963, 0.000000);
TextDrawAlignment(Textdraw11, 1);
TextDrawColor(Textdraw11, 0);
TextDrawUseBox(Textdraw11, true);
TextDrawBoxColor(Textdraw11, -2139062017);
TextDrawSetShadow(Textdraw11, 0);
TextDrawSetOutline(Textdraw11, 0);
TextDrawFont(Textdraw11, 0);

Textdraw13 = TextDrawCreate(262.400024, 285.731109, "usebox");
TextDrawLetterSize(Textdraw13, 0.000000, 4.329257);
TextDrawTextSize(Textdraw13, 222.000000, 0.000000);
TextDrawAlignment(Textdraw13, 1);
TextDrawColor(Textdraw13, 0);
TextDrawUseBox(Textdraw13, true);
TextDrawBoxColor(Textdraw13, -2139062017);
TextDrawSetShadow(Textdraw13, 0);
TextDrawSetOutline(Textdraw13, 0);
TextDrawFont(Textdraw13, 0);

Textdraw15 = TextDrawCreate(336.399993, 288.220001, "usebox");
TextDrawLetterSize(Textdraw15, 0.000000, 4.052714);
TextDrawTextSize(Textdraw15, 295.600006, 0.000000);
TextDrawAlignment(Textdraw15, 1);
TextDrawColor(Textdraw15, 0);
TextDrawUseBox(Textdraw15, true);
TextDrawBoxColor(Textdraw15, -2139062017);
TextDrawSetShadow(Textdraw15, 0);
TextDrawSetOutline(Textdraw15, 0);
TextDrawFont(Textdraw15, 0);

Textdraw17 = TextDrawCreate(416.000000, 288.717773, "usebox");
TextDrawLetterSize(Textdraw17, 0.000000, 3.776174);
TextDrawTextSize(Textdraw17, 375.599975, 0.000000);
TextDrawAlignment(Textdraw17, 1);
TextDrawColor(Textdraw17, 0);
TextDrawUseBox(Textdraw17, true);
TextDrawBoxColor(Textdraw17, -2139062017);
TextDrawSetShadow(Textdraw17, 0);
TextDrawSetOutline(Textdraw17, 0);
TextDrawFont(Textdraw17, 0);

Textdraw19 = TextDrawCreate(336.399993, 342.477783, "usebox");
TextDrawLetterSize(Textdraw19, 0.000000, 4.273950);
TextDrawTextSize(Textdraw19, 298.400024, 0.000000);
TextDrawAlignment(Textdraw19, 1);
TextDrawColor(Textdraw19, 0);
TextDrawUseBox(Textdraw19, true);
TextDrawBoxColor(Textdraw19, -2139062017);
TextDrawSetShadow(Textdraw19, 0);
TextDrawSetOutline(Textdraw19, 0);
TextDrawFont(Textdraw19, 0);
Свой код замените на этот. После нажмите "CTRL + H"
И в верхнее поле введите

Textdraw18
а в нижнее

textdraw_panel_button[0]
и после нажмите "Ок" (или что там будет).

1 - верхнее поле
2 - нижнее поле

1) Textdraw0
2) textdraw_panel_button[1]

1) Textdraw2
2) textdraw_panel_button[2]

1) Textdraw4
2) textdraw_panel_button[3]

1) Textdraw6
2) textdraw_panel_button[4]

1) Textdraw8
2) textdraw_panel_button[5]

1) Textdraw10
2) textdraw_panel_button[6

1) Textdraw12
2) textdraw_panel_button[7]

1) Textdraw14
2) textdraw_panel_button[8]

1) Textdraw16
2) textdraw_panel_button[9]


И далее макрос замените на

#define TEXTDRAW_BUTTON_PASSWORD[%0] textdraw_panel_button[%0]
а так же удалите все переменные, а-ля

new Text: textdraw_panel_button[0];
new Text: textdraw_panel_button[1];
new Text: textdraw_panel_button[2];
//И т.д.
и добавьте вместо них одну

new Text: textdraw_panel_button[10];
Тоесть название, создание ТД тоже меня?

A N D R E Y
08.06.2014, 20:27
Тоесть название, создание ТД тоже меня?
Это пример идеального кода...

Zeror_Dalglish
08.06.2014, 20:35
stock Shuffle(array[], size = sizeof array)
{
new
index,
rand,
buffer;

for(; index < size; index ++)
{
rand = random(size);
buffer = array[index];

array[index] = array[rand];
array[rand] = buffer;
}
}

Example code:



new array[10] = {0, 1, ...};
Shuffle(array);



new text_string[2];
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_1]] = random(10); // Тут варинг
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_1]] == textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_2]]) // тут варинг (2)
{
textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_1]] = random(10); // тут варинг
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[index_1]]); // тут варинг
TextDrawSetString(TEXTDRAW_BUTTON_PASSWORD[index_1], text_string);// Функцию замените на то, что вам нужно. С текстдравами давно не работал и не помню уже ничего
}

Все отлично работает вот только варинги, я не знаю тут как их исправить.

Zeror_Dalglish
08.06.2014, 21:10
Теперь вопрос, как проверять что вводиться например...
new admpass = 1111;
Пасс будет 1111
Как его при вводе на кликобельности проверить?

DeimoS
09.06.2014, 09:15
1) Так а какие варнинги то?
2) Записывайте каждую цифру, что вводит игрок, в строку и в конце у вас выйдет строка с введённым паролем

Zeror_Dalglish
09.06.2014, 09:20
1) Так а какие варнинги то?
2) Записывайте каждую цифру, что вводит игрок, в строку и в конце у вас выйдет строка с введённым паролем

Не соответствие тега.


D:\\gamemodes\(420) : warning 213: tag mismatch
D:\r\gamemodes\(428) : warning 213: tag mismatch
D:\\gamemodes\(428) : warning 213: tag mismatch
D:\\gamemodes\(430) : warning 213: tag mismatch
D:\\gamemodes\: warning 213: tag mismatch


- - - Добавлено - - -


1) Так а какие варнинги то?
2) Записывайте каждую цифру, что вводит игрок, в строку и в конце у вас выйдет строка с введённым паролем

Не представляю, как записать.

DeimoS
09.06.2014, 09:24
Покажите как объявляете массив для текстдрава кнопок

Zeror_Dalglish
09.06.2014, 09:25
Покажите как объявляете массив для текстдрава кнопок
new Text: textdraw_panel_button[10];

DeimoS
09.06.2014, 09:27
new text: textdraw_panel_button[10];
пробуйте

Zeror_Dalglish
09.06.2014, 09:30
new text: textdraw_panel_button[10];
пробуйте

Нет, 131 варнинг теперь вообще.

DeimoS
09.06.2014, 09:34
Нет, 131 варнинг теперь вообще.

Хорошо, пойдём другим путём.
Верните всё назад (text на Text) и теперь заменяем сначала макрос

#define TEXTDRAW_BUTTON_PASSWORD[%0] text:textdraw_panel_button[%0]
а после TextDrawSetString

TextDrawSetString(textdraw_panel_button[index_1], text_string);

Zeror_Dalglish
09.06.2014, 09:41
Хорошо, пойдём другим путём.
Верните всё назад (text на Text) и теперь заменяем сначала макрос

#define TEXTDRAW_BUTTON_PASSWORD[%0] text:textdraw_panel_button[%0]
а после TextDrawSetString

TextDrawSetString(textdraw_panel_button[index_1], text_string);
Все, спасибо Вам большое.
С вводом, пароля все таки не понял можете дать пример?

DeimoS
09.06.2014, 09:46
new textdraw_pass_panel_button_string[10];
на

new textdraw_pass_panel_button_string[MAX_PLAYERS][10];



CTRL + H и
1) textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD
2) textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD



Покажите код, срабатывающий при нажатии на текстдравы

Zeror_Dalglish
09.06.2014, 15:09
new textdraw_pass_panel_button_string[10];
на

new textdraw_pass_panel_button_string[MAX_PLAYERS][10];


CTRL + H и
1) textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD
2) textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD



Покажите код, срабатывающий при нажатии на текстдравы

Его ещё нет, т.к не знаю как сделать что бы заполнялись цифры.

DeimoS
09.06.2014, 15:20
Его ещё нет, т.к не знаю как сделать что бы заполнялись цифры.

Эмм, смотрите на какой текстдрав нажал игрок, проверяете какую цифру установила функция рандома в этот текстдрав и записываете эту цифру в строку. После нажатия на следующий текстдрав, делаете всё то же самое, только уже прикрепляете к предыдущему символу новый. И после того, как игрок нажал 6 раз (или какой длинны у вас пароль), проверяете полученную строку с строкой-паролем.

Zeror_Dalglish
09.06.2014, 15:25
Эмм, смотрите на какой текстдрав нажал игрок, проверяете какую цифру установила функция рандома в этот текстдрав и записываете эту цифру в строку. После нажатия на следующий текстдрав, делаете всё то же самое, только уже прикрепляете к предыдущему символу новый. И после того, как игрок нажал 6 раз (или какой длинны у вас пароль), проверяете полученную строку с строкой-паролем.

Дак, это мне понятно мне не понятно, как запомнить например: нажал на 1, потом на 2 как уже запомнить 12?

DeimoS
09.06.2014, 23:48
Дак, это мне понятно мне не понятно, как запомнить например: нажал на 1, потом на 2 как уже запомнить 12?

Эмм, ну создаём массив для хранения символов. Далее смотрим на какую кнопку нажал игрок и узнаём число, которое хранит текстдрав. И уже потом прикрепляем новую цифру к строке (массиву). Всё

Gressie
09.06.2014, 23:51
Эмм, ну создаём массив для хранения символов. Далее смотрим на какую кнопку нажал игрок и узнаём число, которое хранит текстдрав. И уже потом прикрепляем новую цифру к строке (массиву). Всё
Деймос, помоги в моей теме.

Zeror_Dalglish
10.06.2014, 01:15
Эмм, ну создаём массив для хранения символов. Далее смотрим на какую кнопку нажал игрок и узнаём число, которое хранит текстдрав. И уже потом прикрепляем новую цифру к строке (массиву). Всё

Так стоп, например new key_1 а потом new key_2
и потом key_1 + key_2 я не до понимаю, лучшее кодом ;(

DeimoS
10.06.2014, 09:25
Так стоп, например new key_1 а потом new key_2
и потом key_1 + key_2 я не до понимаю, лучшее кодом ;(


new admin_password[MAX_PLAYERS][6];//Название сами подберите под себя. 6 - число цифр, из которых состоит пароль
Ну и теперь при каждом нажатии скрепляйте две строки с помощью strcat (строку и цифру, на которую нажал игроку). А как игрок совершит 6 нажатий, делайте проверку на введённые игроком данные и данные, записанные в аккаунте (пароль).

И в следующий раз я вам помогать не буду больше, если вы опять попытаетесь писать те системы, в которых ничего не смыслите. Ибо сейчас я написал практически всю систему за вас, что, обычно, бесплатно не делают. И это уже не первый раз. Не путайте раздел для вопросов с разделом гуманитарной помощи

Zeror_Dalglish
10.06.2014, 13:53
new admin_password[MAX_PLAYERS][6];//Название сами подберите под себя. 6 - число цифр, из которых состоит пароль
Ну и теперь при каждом нажатии скрепляйте две строки с помощью strcat (строку и цифру, на которую нажал игроку). А как игрок совершит 6 нажатий, делайте проверку на введённые игроком данные и данные, записанные в аккаунте (пароль).

И в следующий раз я вам помогать не буду больше, если вы опять попытаетесь писать те системы, в которых ничего не смыслите. Ибо сейчас я написал практически всю систему за вас, что, обычно, бесплатно не делают. И это уже не первый раз. Не путайте раздел для вопросов с разделом гуманитарной помощи

Все, понятно было давно как объявить пароль, мне не понятно как делать что бы 1 нажал потом 2 и уже 12! А не как пароль, объявить.

DeimoS
10.06.2014, 14:17
Все, понятно было давно как объявить пароль, мне не понятно как делать что бы 1 нажал потом 2 и уже 12! А не как пароль, объявить.

strcat для кого придуман?

Zeror_Dalglish
10.06.2014, 14:28
strcat для кого придуман?

Не работал с ним, не разу.

DeimoS
10.06.2014, 15:01
Не работал с ним, не разу.

google.com - клондайк примеров

Zeror_Dalglish
10.06.2014, 17:40
А если просто сделать так в паблик кликобельности
admin_password[playerid][0] +1; в 1
admin_password[playerid][0] +2; в 2
admin_password[playerid][0] +3; в 3
admin_password[playerid][0] +4; в 4 и т.д?

underwoker
10.06.2014, 18:08
А если просто сделать так в паблик кликобельности
admin_password[playerid][0] +1; в 1
admin_password[playerid][0] +2; в 2
admin_password[playerid][0] +3; в 3
admin_password[playerid][0] +4; в 4 и т.д?
Только strcat. В данном случае у вас будет 10. А значит с паролем не совпадет. Вы же видите сами что это просто будет прибавление.

Zeror_Dalglish
10.06.2014, 18:21
Только strcat. В данном случае у вас будет 10. А значит с паролем не совпадет. Вы же видите сами что это просто будет прибавление.

Поже, уже понял.
Со strcat не работал и не знаю что как там.

DeimoS
10.06.2014, 19:09
Поже, уже понял.
Со strcat не работал и не знаю что как там.

Так, бл*ть, разберитесь. Вы же скриптер, а не просто мимо проходили. За вас никто не выучит и не всунет вам в голову. Вам же говорят, по другому никак не сделать (а если и сделать, получится жуткий костыль). Или же скажите нам спасибо, а сами думайте как сделать иначе, раз лёгкий путь не для вас. Какой смысл нас тут насиловать своим нежеланием изучать то, чем заинтересованы вы, а не мы? Я просто не понимаю некоторых людей...

Zeror_Dalglish
10.06.2014, 20:24
Так, бл*ть, разберитесь. Вы же скриптер, а не просто мимо проходили. За вас никто не выучит и не всунет вам в голову. Вам же говорят, по другому никак не сделать (а если и сделать, получится жуткий костыль). Или же скажите нам спасибо, а сами думайте как сделать иначе, раз лёгкий путь не для вас. Какой смысл нас тут насиловать своим нежеланием изучать то, чем заинтересованы вы, а не мы? Я просто не понимаю некоторых людей...
Все, я нашел код. Теперь понял как делать взял пример с телефона на ТД. Сейчас попробую реализовать с моей идей.

Zeror_Dalglish
11.06.2014, 00:42
Так, бл*ть, разберитесь. Вы же скриптер, а не просто мимо проходили. За вас никто не выучит и не всунет вам в голову. Вам же говорят, по другому никак не сделать (а если и сделать, получится жуткий костыль). Или же скажите нам спасибо, а сами думайте как сделать иначе, раз лёгкий путь не для вас. Какой смысл нас тут насиловать своим нежеланием изучать то, чем заинтересованы вы, а не мы? Я просто не понимаю некоторых людей...



CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < 10; index_1++)
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < 10; index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1)
{
continue;
}
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][0]);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][1]);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][2]);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][3]);
}
}

Подредактировал код перестал работать, не показывает ТД, отдельно пробовал их показать все нормально.

DeimoS
11.06.2014, 00:54
А что показ текстдравов делает в теле цикла?

Zeror_Dalglish
11.06.2014, 00:57
А что показ текстдравов делает в теле цикла?

Я его и за тело переносил, итог 0.

DeimoS
11.06.2014, 01:04
Я его и за тело переносил, итог 0.

И что же вы именно редактировали?

Zeror_Dalglish
11.06.2014, 01:06
И что же вы именно редактировали?

Перевел, на индивидуальный текстдрайвы

DeimoS
11.06.2014, 01:08
И тогда уж как-то так

CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
}
return 1;
}

Zeror_Dalglish
11.06.2014, 01:14
И тогда уж как-то так

CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
}
return 1;
}
Не работает.

DeimoS
11.06.2014, 07:15
Код создания предоставьте

Zeror_Dalglish
11.06.2014, 09:18
Код создания предоставьте

Да, с ним все нормально!
Т.к: я показывал отдельно командой все нормально показало.
Ну ладно..


textdraw_panel_button[playerid][0] = CreatePlayerTextDraw(playerid,303.000000, 280.000000, "0");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][0], 0.829999, 2.999999);
PlayerTextDrawAlignment(playerid,textdraw_panel_button[playerid][0], 1);
PlayerTextDrawColor(playerid,textdraw_panel_button[playerid][0], -1);
PlayerTextDrawSetShadow(playerid,textdraw_panel_button[playerid][0], 0);
PlayerTextDrawSetOutline(playerid,textdraw_panel_button[playerid][0], 1);
PlayerTextDrawBackgroundColor(playerid,textdraw_panel_button[playerid][0], 255);
PlayerTextDrawFont(playerid,textdraw_panel_button[playerid][0], 1);
PlayerTextDrawSetProportional(playerid,textdraw_panel_button[playerid][0], 1);

textdraw_panel_button[playerid][1] = CreatePlayerTextDraw(playerid,250.000000, 172.000000, "1");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][1], 1.170000, 2.999999);
PlayerTextDrawAlignment(playerid,textdraw_panel_button[playerid][1], 1);
PlayerTextDrawColor(playerid,textdraw_panel_button[playerid][1], -1);
PlayerTextDrawSetShadow(playerid,textdraw_panel_button[playerid][1], 0);
PlayerTextDrawSetOutline(playerid,textdraw_panel_button[playerid][1], 1);
PlayerTextDrawBackgroundColor(playerid,textdraw_panel_button[playerid][1], 255);
PlayerTextDrawFont(playerid,textdraw_panel_button[playerid][1], 1);
PlayerTextDrawSetProportional(playerid,textdraw_panel_button[playerid][1], 1);
PlayerTextDrawSetSelectable(playerid,textdraw_panel_button[playerid][1], true);

/* td_panel[playerid][1] = CreatePlayerTextDraw(playerid, 250.000000, 172.000000, "usebox");
PlayerTextDrawLetterSize(playerid, td_panel[playerid][1], 1.170000, 2.999999);
PlayerTextDrawTextSize(playerid, td_panel[playerid][1], 266.000000, 0.000000);
PlayerTextDrawAlignment(playerid, td_panel[playerid][1], 1);
PlayerTextDrawColor(playerid, td_panel[playerid][1], 0);
PlayerTextDrawUseBox(playerid, td_panel[playerid][1], true);
PlayerTextDrawBoxColor(playerid, td_panel[playerid][1], 102);
PlayerTextDrawSetShadow(playerid, td_panel[playerid][1], 0);
PlayerTextDrawSetOutline(playerid, td_panel[playerid][1], 0); */

textdraw_panel_button[playerid][2] = CreatePlayerTextDraw(playerid,275.000000, 172.000000, "2");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][2], 0.830000, 2.999999);
PlayerTextDrawAlignment(playerid,textdraw_panel_button[playerid][2], 1);
PlayerTextDrawColor(playerid,textdraw_panel_button[playerid][2] , -1);
PlayerTextDrawSetShadow(playerid,textdraw_panel_button[playerid][2] , 0);
PlayerTextDrawSetOutline(playerid,textdraw_panel_button[playerid][2] , 1);
PlayerTextDrawBackgroundColor(playerid,textdraw_panel_button[playerid][2] , 255);
PlayerTextDrawFont(playerid,textdraw_panel_button[playerid][2] , 1);
PlayerTextDrawSetProportional(playerid,textdraw_panel_button[playerid][2] , 1);
PlayerTextDrawSetSelectable(playerid,textdraw_panel_button[playerid][2] , true);

/*td_panel[playerid][3] = CreatePlayerTextDraw(playerid, 275.000000, 172.000000, "usebox");
PlayerTextDrawLetterSize(playerid, td_panel[playerid][3], 0.830000, 2.999999);
PlayerTextDrawTextSize(playerid, td_panel[playerid][3], 294.000000, 0.000000);
PlayerTextDrawAlignment(playerid, td_panel[playerid][3], 1);
PlayerTextDrawColor(playerid, td_panel[playerid][3], 0);
PlayerTextDrawUseBox(playerid, td_panel[playerid][3], true);
PlayerTextDrawBoxColor(playerid, td_panel[playerid][3], 102);
PlayerTextDrawSetShadow(playerid, td_panel[playerid][3], 0);
PlayerTextDrawSetOutline(playerid, td_panel[playerid][3], 0); */

textdraw_panel_button[playerid][3] = CreatePlayerTextDraw(playerid,303.000000, 172.000000, "3");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][3] , 0.829999, 2.999999);
PlayerTextDrawAlignment(playerid,textdraw_panel_button[playerid][3] , 1);
PlayerTextDrawColor(playerid,textdraw_panel_button[playerid][3] , -1);
PlayerTextDrawSetShadow(playerid,textdraw_panel_button[playerid][3] , 0);
PlayerTextDrawSetOutline(playerid,textdraw_panel_button[playerid][3] , 1);
PlayerTextDrawBackgroundColor(playerid,textdraw_panel_button[playerid][3] , 255);
PlayerTextDrawFont(playerid,textdraw_panel_button[playerid][3] , 1);
PlayerTextDrawSetProportional(playerid,textdraw_panel_button[playerid][3] , 1);
PlayerTextDrawSetSelectable(playerid,textdraw_panel_button[playerid][3], true);

DeimoS
11.06.2014, 10:35
Ну так сделайте логирование и посмотрите где код срабатывает не так. Какие проблемы то?

CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
printf("index_2 = %d",index_2);
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
print("Тест 1");
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
printf("text_string = %s",text_string);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
print("Тест 2");
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
print("Тест 3");
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
print("Тест 4");
}
return 1;
}

Zeror_Dalglish
11.06.2014, 13:56
Ну так сделайте логирование и посмотрите где код срабатывает не так. Какие проблемы то?

CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
printf("index_2 = %d",index_2);
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
print("Тест 1");
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
printf("text_string = %s",text_string);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
print("Тест 2");
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
print("Тест 3");
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
print("Тест 4");
}
return 1;
}

[12:55:28] index_1 = 0
Все что есть тоесть даже не доходит до показа ТД.

DeimoS
11.06.2014, 16:12
Ну сделайте логи после каждой строки и смотрите после какой выдаёт ошибку. Подключите crashdetect и возможно он ругнётся на что-то. Найдите эту ошибку. Это не трудно

Zeror_Dalglish
11.06.2014, 16:49
Ну сделайте логи после каждой строки и смотрите после какой выдаёт ошибку. Подключите crashdetect и возможно он ругнётся на что-то. Найдите эту ошибку. Это не трудно

В том то и дело, что crashdetect не запуститься, у меня даже DC_CMD не грузит на компе.

- - - Добавлено - - -


В том то и дело, что crashdetect не запуститься, у меня даже DC_CMD не грузит на компе.

Да и искать не надо помойму ясно...


new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);

Выводит только, до сюда значит что то с циклом не?

- - - Добавлено - - -



stock Shuffle(array[], size = sizeof array)
{
new
index,
rand,
buffer;

for(; index < size; index ++)
{
rand = random(size);
buffer = array[index];

array[index] = array[rand];
array[rand] = buffer;
}
}

Example code:



new array[10] = {0, 1, ...};
Shuffle(array);

Как использовать данный код?

Zeror_Dalglish
11.06.2014, 17:17
[16:13:43] New version of CrashDetect is available for download (4.13)
[16:13:49] index_1 = 0
[16:13:49] [debug] Run time error 4: "Array index out of bounds"
[16:13:49] [debug] Accessing element at index 49 past array upper bound 3
[16:13:49] [debug] AMX backtrace:
[16:13:49] [debug] #0 0000d4c0 in public cmd_tdtest (playerid=0, ... <1 argument>) at D:\r\.pwn:400
[16:13:49] [debug] #1 native DC_CMD () [f7466b50] from dc_cmd.so
[16:13:49] [debug] #2 00002210 in public OnPlayerCommandText (playerid=0, cmdtext[]=@0x00048f00 "/tdtest") at D:\Liberty Gang War\pawno\include\dc_cmd.inc:62


400 cтрочка.

textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);

DeimoS
11.06.2014, 17:25
В том то и дело, что crashdetect не запуститься, у меня даже DC_CMD не грузит на компе.

Эмм, невозможно, чтоб вообще не грузило ничего. Не хватает библиотек каких-то и это правится обычной установкой этих самых недостающих библиотек. Но так, чтоб вообще плагины не работали - какой-то бред

- - - Добавлено - - -

Покажите как объявляете переменные для этой системы (ну textdraw_pass_panel_button_str и textdraw_panel_button, или как там вторая)

- - - Добавлено - - -

И вот так сделайте ка

CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
printf("TEXTDRAW_BUTTON_PASSWORD[playerid][index_1] = %d",TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]);
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
printf("index_2 = %d",index_2);
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
print("Тест 1");
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
printf("text_string = %s",text_string);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
print("Тест 2");
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
print("Тест 3");
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
print("Тест 4");
}
return 1;
}
и после логи сюда

Zeror_Dalglish
11.06.2014, 17:33
Эмм, невозможно, чтоб вообще не грузило ничего. Не хватает библиотек каких-то и это правится обычной установкой этих самых недостающих библиотек. Но так, чтоб вообще плагины не работали - какой-то бред

- - - Добавлено - - -

Покажите как объявляете переменные для этой системы (ну textdraw_pass_panel_button_str и textdraw_panel_button, или как там вторая)

- - - Добавлено - - -

И вот так сделайте ка

CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("index_1 = %d",index_1);
printf("TEXTDRAW_BUTTON_PASSWORD[playerid][index_1] = %d",TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]);
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
printf("index_2 = %d",index_2);
if(textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] == textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_2]])
{
textdraw_pass_panel_button_str[playerid][TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]] = random(10);
index_2 = -1;
}
}
print("Тест 1");
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[TEXTDRAW_BUTTON_PASSWORD[playerid][index_1]]);
printf("text_string = %s",text_string);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
print("Тест 2");
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
print("Тест 3");
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
print("Тест 4");
}
return 1;
}
и после логи сюда


[16:32:06] index_1 = 0
[16:32:06] TEXTDRAW_BUTTON_PASSWORD[playerid][index_1] = 49
[16:32:06] [debug] Run time error 4: "Array index out of bounds"
[16:32:06] [debug] Accessing element at index 49 past array upper bound 3
[16:32:06] [debug] AMX backtrace:
[16:32:06] [debug] #0 0000d54c in public cmd_tdtest (playerid=0, ... <1 argument>) at D:\Liberty Gang War\LGW.pwn:401
[16:32:06] [debug] #1 native DC_CMD () [f7466b50] from dc_cmd.so
[16:32:06] [debug] #2 00002210 in public OnPlayerCommandText (playerid=0, cmdtext[]=@0x00048fc4 "/tdtest") at D:\Liberty Gang War\pawno\include\dc_cmd.inc:62

#define TEXTDRAW_BUTTON_PASSWORD[%0] text:textdraw_panel_button[%0]
new PlayerText:textdraw_panel_button[MAX_PLAYERS][4];
new textdraw_pass_panel_button_str[MAX_PLAYERS][4];

DeimoS
11.06.2014, 17:43
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
}
return 1;
}
И макрос можно удалить

Zeror_Dalglish
11.06.2014, 18:38
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
}
return 1;
}
И макрос можно удалить

Ну а как кликобельность?


if(playertextid == textdraw_panel_button[playerid][0])
{
SendClientMessage(playerid,-1,"TEST");
}

Сделал не выводит сообщение.

DeimoS
11.06.2014, 19:21
Если под каждый текстдрав свои действия:

for(new t; t< sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
switch(t)
{
case 0:
{
printf("Вы выбрали первый текстдрав, содержащий цифру %d",textdraw_pass_panel_button_str[playerid][t]);
}
case 1:
{
printf("Вы выбрали второй текстдрав, содержащий цифру %d",textdraw_pass_panel_button_str[playerid][t]);
}
case 2:
{
printf("Вы выбрали третий текстдрав, содержащий цифру %d",textdraw_pass_panel_button_str[playerid][t]);
}//И т.д.
}
}
}
Если же у всех будет одно действие (например, ввод пароля), switch можно не использовать

Zeror_Dalglish
11.06.2014, 21:09
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
switch(t)
{
case 0:
{
strcat(adm_pass_pin_code[playerid],"0");
}
case 1:
{
strcat(adm_pass_pin_code[playerid],"1");
}
case 2:
{
strcat(adm_pass_pin_code[playerid],"2");
}
case 3:
{
strcat(adm_pass_pin_code[playerid],"3");
}
}
}
}

Как то так, но как узнать последнию цифру после которой будет проверяться правильный ли пароль?

DeimoS
11.06.2014, 22:11
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
switch(t)
{
case 0:
{
strcat(adm_pass_pin_code[playerid],"0");
}
case 1:
{
strcat(adm_pass_pin_code[playerid],"1");
}
case 2:
{
strcat(adm_pass_pin_code[playerid],"2");
}
case 3:
{
strcat(adm_pass_pin_code[playerid],"3");
}
}
}
}

Как то так, но как узнать последнию цифру после которой будет проверяться правильный ли пароль?

Эмм, ну самый простой способ - с помощью strlen узнать длину настоящего пароля и после начать считать нажатые кнопки (например,пароль состоит из 6 цифр и после 6 нажатий начинаем проверку паролей). Но тогда у злоумышленников будет готовая инфа по тому, какой пароль у пользователя.
Второй способ - кнопка, а-ля Enter, после нажатия на которую строки сравниваются. Можно много чего придумать. Всё вашей фантазией ограничивается

Zeror_Dalglish
11.06.2014, 22:16
Эмм, ну самый простой способ - с помощью strlen узнать длину настоящего пароля и после начать считать нажатые кнопки (например,пароль состоит из 6 цифр и после 6 нажатий начинаем проверку паролей). Но тогда у злоумышленников будет готовая инфа по тому, какой пароль у пользователя.
Второй способ - кнопка, а-ля Enter, после нажатия на которую строки сравниваются. Можно много чего придумать. Всё вашей фантазией ограничивается
Просто, я хочу то что бы из 6 символов 6 пароль, вводишь 6 символ и начинается счёт

DeimoS
11.06.2014, 22:30
Просто, я хочу то что бы из 6 символов 6 пароль, вводишь 6 символ и начинается счёт

Ну так в чём проблема?

new number_of_clicks[MAX_PLAYERS char];
И потом при каждом выборе одного из текстдравов

if(++number_of_clicks{playerid} >= 6)
{
//Проверяем пароли
}

Можно то же самое через pVar, в конце удаляя этот самый pVar. Суть везде одна

Zeror_Dalglish
11.06.2014, 23:07
Ну так в чём проблема?

new number_of_clicks[MAX_PLAYERS char];
И потом при каждом выборе одного из текстдравов

if(++number_of_clicks{playerid} >= 6)
{
//Проверяем пароли
}

Можно то же самое через pVar, в конце удаляя этот самый pVar. Суть везде одна

А в конце как проверить пароль?
Например new admpass = 9999;
потом textdraw_panel_button[playerid][t] == admpass?

DeimoS
11.06.2014, 23:16
А в конце как проверить пароль?
Например new admpass = 9999;
потом textdraw_panel_button[playerid][t] == admpass?

Эмм, набранные числа записывайте в строку с помощью strcat. А потом две строки проверяйте с помощью strcmp.
Или же полученную в strcat строку конвертируйте в число с помощью strval и потом сверяйте, если у вас пароль хранится в виде числа, а не в виде строки

Zeror_Dalglish
11.06.2014, 23:21
if(++number_of_clicks{playerid} >= 6)
{
//Проверяем пароли
}
Проверяем пароль всмысле? Зачем при каждом выбранном ТД проверять пароль.

DeimoS
11.06.2014, 23:34
if(++number_of_clicks{playerid} >= 6)
{
//Проверяем пароли
}
Проверяем пароль всмысле? Зачем при каждом выбранном ТД проверять пароль.

Вы код разберите сначала, прежде чем писать. Только после 6 нажатий на текстдравы с цифрами будет проверка. И проверять надо набранный игроком пароль с тем, что записан у вас где-то.

Zeror_Dalglish
11.06.2014, 23:58
Вы код разберите сначала, прежде чем писать. Только после 6 нажатий на текстдравы с цифрами будет проверка. И проверять надо набранный игроком пароль с тем, что записан у вас где-то.

Дак ей в итоге все равно в каждый ТД придеться сувать.
Ой я не чего не соображаю как сделать....

- - - Добавлено - - -

Что мы в итоге, со strcat сделаем?

DeimoS
12.06.2014, 08:33
Дак ей в итоге все равно в каждый ТД придеться сувать.
Ой я не чего не соображаю как сделать....

- - - Добавлено - - -

Что мы в итоге, со strcat сделаем?

Какой "каждый"? У вас текстдравы все хранятся в одном массиве и цифры для текстдравов так же хранятся в массиве. Сделайте цикл, как я показывал выше и всё
В примере выше я показывал, что именно мы делаем с strcat...

Охх, давайте начнём с другой стороны. Обрисуйте мне вкратце то, что именно вы хотите сделать и какие шаги вам надо для этого предпринять (не в виде кода, а словами). Вы, похоже, совсем не понимаете как должна работать ваша система

Zeror_Dalglish
12.06.2014, 11:02
Какой "каждый"? У вас текстдравы все хранятся в одном массиве и цифры для текстдравов так же хранятся в массиве. Сделайте цикл, как я показывал выше и всё
В примере выше я показывал, что именно мы делаем с strcat...

Охх, давайте начнём с другой стороны. Обрисуйте мне вкратце то, что именно вы хотите сделать и какие шаги вам надо для этого предпринять (не в виде кода, а словами). Вы, похоже, совсем не понимаете как должна работать ваша система

Я то понимаю, код состоит из 6 значных цифр, после ввода 6 цифры хочу что бы начинался считываться пароль. Все.

DeimoS
12.06.2014, 12:32
Я то понимаю, код состоит из 6 значных цифр, после ввода 6 цифры хочу что бы начинался считываться пароль. Все.

Мой код именно это и делает

Zeror_Dalglish
12.06.2014, 13:14
Мой код именно это и делает

Да, я и не говорю что не делает.
Я не знаю как сверить пароль с истинным паролем!

DeimoS
12.06.2014, 14:45
Да, я и не говорю что не делает.
Я не знаю как сверить пароль с истинным паролем!

Блджад, я же уже писал -_-
Если истинный пароль хранится как строка, используем функцию strcmp
Если же истинный пароль хранится как число, просто конвертируем полученную при вводе строку в число с помощью strval и потом сравниваем как 2 обычных числа.
Всё

Zeror_Dalglish
12.06.2014, 16:05
Блджад, я же уже писал -_-
Если истинный пароль хранится как строка, используем функцию strcmp
Если же истинный пароль хранится как число, просто конвертируем полученную при вводе строку в число с помощью strval и потом сравниваем как 2 обычных числа.
Всё
Как все , на словах. А уже какой день не могу релизовать. Ужс, мне надоело уже...
strval то с чем сравнивать?

DeimoS
12.06.2014, 16:21
Как все просто, на словах. А уже какой день не могу релизовать. Ужс, мне надоело уже...

Это всё от банального незнания предназначения стандартных функций, кои надо тупо заучивать и понимать, по возможности.

//Глобальные массивы
new number_of_clicks[MAX_PLAYERS char], adm_pass_pin_code[MAX_PLAYERS][6];
//При выборе ТД
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == /*переменная с вашим паролем*/)
{
//Выполняем нужное действие и скрываем текстдравы
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}

И да, система не самая оптимизированная вышла и есть куда стремиться, но этим вы занимайтесь сами.

Zeror_Dalglish
12.06.2014, 17:02
Это всё от банального незнания предназначения стандартных функций, кои надо тупо заучивать и понимать, по возможности.

//Глобальные массивы
new number_of_clicks[MAX_PLAYERS char], adm_pass_pin_code[MAX_PLAYERS][6];
//При выборе ТД
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == /*переменная с вашим паролем*/)
{
//Выполняем нужное действие и скрываем текстдравы
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}

И да, система не самая оптимизированная вышла и есть куда стремиться, но этим вы занимайтесь сами.

Ну, спасибо Вам.
Но только почему то пароли не совпадают хотя на 3 жал.


for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}


new admpass = 333333;

Salvacore
12.06.2014, 17:14
Такое чувство что DeimoS обязан.

^_^
12.06.2014, 17:37
Такое чувство что DeimoS обязан.
Это его жизненное предназначение :)

Zeror_Dalglish
12.06.2014, 18:26
Такое чувство что DeimoS обязан.

Он мне не чего, не должен.
Лучшее, бы помог.

A N D R E Y
12.06.2014, 18:59
Он мне не чего, не должен.
Лучшее, бы помог.
И все-таки обязан...

DeimoS
12.06.2014, 18:59
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
printf("\"%d\" | \"%s\" | \"%d\"", admpass, adm_pass_pin_code[playerid], strval(adm_pass_pin_code[playerid]));
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}

и после ввода пароля логи сюда


Это его жизненное предназначение :)

Ага :D "Кто, если не я?" xD

Zeror_Dalglish
12.06.2014, 19:13
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
printf("\"%d\" | \"%s\" | \"%d\"", admpass, adm_pass_pin_code[playerid], strval(adm_pass_pin_code[playerid]));
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}

и после ввода пароля логи сюда



Ага :D "Кто, если не я?" xD


[18:11:38] "333333" | "" | "0"
[18:11:38] "333333" | "" | "0"
[18:11:39] "333333" | "" | "0"
[18:11:39] "333333" | "" | "0"
[18:11:40] "333333" | "" | "0"
[18:11:40] "333333" | "" | "0"
[18:11:41] "333333" | "" | "0"
[18:11:41] "333333" | "" | "0"

Salvacore
12.06.2014, 19:16
Он мне не чего, не должен.
Лучшее, бы помог.
Таким как ты не помогаю, тем более я быдлокодер.

Zeror_Dalglish
12.06.2014, 19:17
Таким как ты не помогаю, тем более я быдлокодер.
Сам, признался.
Не помогаешь - не оффтопь в темке)

DeimoS
12.06.2014, 19:17
А если так

for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
printf("\"%d\" | \"%s\" | \"%d\" | \"%d\" | \"%s\"", admpass, adm_pass_pin_code[playerid], strval(adm_pass_pin_code[playerid]), textdraw_pass_panel_button_str[playerid][t], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
print("Обнуление");
}
break;
}
}

Salvacore
12.06.2014, 19:19
Сам, признался.
Не помогаешь - не оффтопь в темке)
Я помогаю, понять тебе какое ты мять.

Zeror_Dalglish
12.06.2014, 19:23
А если так

for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
strcat(adm_pass_pin_code[playerid], textdraw_pass_panel_button_str[playerid][t]);
printf("\"%d\" | \"%s\" | \"%d\" | \"%d\" | \"%s\"", admpass, adm_pass_pin_code[playerid], strval(adm_pass_pin_code[playerid]), textdraw_pass_panel_button_str[playerid][t], textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
print("Обнуление");
}
break;
}
}


[18:21:08] "333333" | "" | "0" | "3" | ""
[18:21:08] "333333" | "" | "0" | "3" | ""
[18:21:09] "333333" | "" | "0" | "3" | ""
[18:21:09] "333333" | "" | "0" | "3" | ""
[18:21:10] "333333" | "" | "0" | "3" | ""
[18:21:10] "333333" | "" | "0" | "3" | ""
[18:21:10] Обнуление
И ещё Влад вставьте в блокнот логирование там символы какие то.

- - - Добавлено - - -


Я помогаю, понять тебе какое ты мять.

Модер, и оскорбление.
Ты случайно на П-И не модерировал?

DeimoS
12.06.2014, 19:29
А, всё, понял. Моя ошибка. Вот

new number_buff[1];
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
valstr(number_buff,textdraw_pass_panel_button_str[playerid][t]);
strcat(adm_pass_pin_code[playerid], number_buff);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}

Zeror_Dalglish
12.06.2014, 19:33
А, всё, понял. Моя ошибка. Вот

new number_buff[1];
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
valstr(number_buff,textdraw_pass_panel_button_str[playerid][t]);
strcat(adm_pass_pin_code[playerid], number_buff);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
Все, так же.

DeimoS
12.06.2014, 19:37
Ну по старинке

new number_buff[1];
for(new t; t < sizeof(textdraw_panel_button[]); t++)
{
if(playertextid == textdraw_panel_button[playerid][t])
{
valstr(number_buff,textdraw_pass_panel_button_str[playerid][t]);
strcat(adm_pass_pin_code[playerid], number_buff);
printf("\n%d\nadm_pass_pin_code - %s", t, adm_pass_pin_code[playerid]);
printf("number_buff - %s", number_buff);
printf("textdraw_pass_panel_button_str - %d", textdraw_pass_panel_button_str[playerid][t]);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(adm_pass_pin_code[playerid]) == admpass)
{
SendClientMessage(playerid, 0xFF0000FF, "Все норм)");
}
else SendClientMessage(playerid, 0xFF0000FF, "Пароли не совпали! Попробуйте ещё раз");
number_of_clicks{playerid} = 0;
adm_pass_pin_code[playerid][0] = 0;
}
break;
}
}
ибо мне лень вчитываться в код

Zeror_Dalglish
12.06.2014, 19:38
[18:36:29] "333333" | "3" | "3" | "3" | " "
[18:36:30] "333333" | "33" | "33" | "3" | " "
[18:36:30] "333333" | "333" | "333" | "3" | " "
[18:36:31] "333333" | "3333" | "3333" | "3" | " "
[18:36:31] "333333" | "33333" | "33333" | "3" | " "
[18:36:32] "333333" | "33333" | "33333" | "3" | " "
[18:36:32] Обнуление

- - - Добавлено - - -

1 цифра не добираеться..

DeimoS
12.06.2014, 19:40
new adm_pass_pin_code[MAX_PLAYERS][6];
замените на

new adm_pass_pin_code[MAX_PLAYERS][7];
Хотя и 6, по идее, должно хватать

И у вас crashdetect подключён?

Zeror_Dalglish
12.06.2014, 19:48
1
adm_pass_pin_code - 3
[18:43:07] number_buff - 3
[18:43:07] textdraw_pass_panel_button_str - 3
[18:43:08]
1
adm_pass_pin_code - 33
[18:43:08] number_buff - 3
[18:43:08] textdraw_pass_panel_button_str - 3
[18:43:09]
1
adm_pass_pin_code - 333
[18:43:09] number_buff - 3
[18:43:09] textdraw_pass_panel_button_str - 3
[18:43:09]
1
adm_pass_pin_code - 3333
[18:43:09] number_buff - 3
[18:43:09] textdraw_pass_panel_button_str - 3
[18:43:10]
1
adm_pass_pin_code - 33333
[18:43:10] number_buff - 3
[18:43:10] textdraw_pass_panel_button_str - 3
[18:43:11]
1
adm_pass_pin_code - 33333
[18:43:11] number_buff - 3
[18:43:11] textdraw_pass_panel_button_str - 3

Ваш вариант логирование

- - - Добавлено - - -

И у вас crashdetect подключён?
Не чего не выдает

- - - Добавлено - - -


Эту тему просматривают: 2 (пользователей: 2 , гостей: 0)

Zeror_Dalglish,
Salvador
Можешь закрывать, тему огромное спасибо DeimoS!
p.s: увеличил массив.

DeimoS
12.06.2014, 20:05
Если не жалко - поделились бы готовым кодом, дабы никому обидно не было.

Zeror_Dalglish
13.06.2014, 01:03
CMD:tdtest(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
SelectTextDraw(playerid, 0xFDFF40AA);
}
return 1;
}


textdraw_panel_button[playerid][0] = CreatePlayerTextDraw(playerid, 300.000091, 364.390869, "0");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][0], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][0], 316.799957, 13.440001);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][0], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][0], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][0], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][0], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][0], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][0], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][0], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][0], 0);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][0], 1);

textdraw_panel_button[playerid][1] = CreatePlayerTextDraw(playerid, 236.400070, 187.662277, "1");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][1], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][1], 248.399993, 9.955555);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][1], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][1], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][1], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][1], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][1], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][1], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][1], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][1], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][1], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][1], true);

textdraw_panel_button[playerid][2] = CreatePlayerTextDraw(playerid, 300.600036, 188.164535, "2");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][2], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][2], 316.799957, 13.440001);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][2], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][2], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][2], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][2], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][2], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][2], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][2], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][2], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][2], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][2], true);

textdraw_panel_button[playerid][3] = CreatePlayerTextDraw(playerid, 366.799713, 188.666763, "3");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][3], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][3], 382.799987, 13.937779);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][3], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][3], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][3], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][3], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][3], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][3], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][3], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][3], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][3], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][3], true);

textdraw_panel_button[playerid][4] = CreatePlayerTextDraw(playerid, 230.199737, 255.871032, "4");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][4], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][4], 251.200027, 23.395559);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][4], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][4], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][4], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][4], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][4], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][4], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][4], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][4], 0);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][4], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][4], true);

textdraw_panel_button[playerid][5] = CreatePlayerTextDraw(playerid, 300.000061, 256.364440, "5");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][5], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][5], 316.799957, 13.440001);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][5], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][5], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][5], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][5], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][5], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][5], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][5], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][5], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][5], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][5], true);

textdraw_panel_button[playerid][6] = CreatePlayerTextDraw(playerid, 365.399566, 257.862304, "6");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][6], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][6], 382.799987, 13.937779);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][6], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][6], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][6], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][6], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][6], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][6], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][6], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][6], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][6], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][6], true);

textdraw_panel_button[playerid][7] = CreatePlayerTextDraw(playerid, 237.199752, 314.115325, "7");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][7], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][7], 252.000015, 23.395559);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][7], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][7], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][7], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][7], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][7], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][7], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][7], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][7], 0);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][7], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][7], true);

textdraw_panel_button[playerid][8] = CreatePlayerTextDraw(playerid, 300.200073, 314.110992, "8");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][8], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][8], 316.799957, 13.440001);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][8], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][8], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][8], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][8], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][8], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][8], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][8], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][8], 0);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][8], 1);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][8], true);

textdraw_panel_button[playerid][9] = CreatePlayerTextDraw(playerid, 366.799560, 312.124359, "9");
PlayerTextDrawLetterSize(playerid, textdraw_panel_button[playerid][9], 0.733200, 2.983821);
PlayerTextDrawTextSize(playerid, textdraw_panel_button[playerid][9], 382.799987, 13.937779);
PlayerTextDrawAlignment(playerid, textdraw_panel_button[playerid][9], 1);
PlayerTextDrawColor(playerid, textdraw_panel_button[playerid][9], -1);
PlayerTextDrawUseBox(playerid, textdraw_panel_button[playerid][9], true);
PlayerTextDrawBoxColor(playerid, textdraw_panel_button[playerid][9], 255);
PlayerTextDrawSetShadow(playerid, textdraw_panel_button[playerid][9], 0);
PlayerTextDrawSetOutline(playerid, textdraw_panel_button[playerid][9], 1);
PlayerTextDrawBackgroundColor(playerid, textdraw_panel_button[playerid][9], 51);
PlayerTextDrawFont(playerid, textdraw_panel_button[playerid][9], 1);
PlayerTextDrawSetProportional(playerid, textdraw_panel_button[playerid][9], 1);
Не показывает все ТД.
Всего 4 показывает.

DeimoS
13.06.2014, 10:03
Ну так посмотрите сколько итераций делает цикл

for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("%d",index_1);

Zeror_Dalglish
13.06.2014, 12:55
Все, сам все решил.

underwoker
13.06.2014, 13:29
Модер, и оскорбление.
Ты случайно на П-И не модерировал?
А вы именно оттуда? Не забывайте свои посты...

Все, сам все решил.
И где решение того что не показывает текстдравы? Ведь обидно другим будет.

Zeror_Dalglish
13.06.2014, 17:49
else if(PlayerInfo[playerid][pAdmin] >= 1)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("%d",index_1);
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][0]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][1]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][2]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][3]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][4]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][5]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][6]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][7]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][8]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][9]);
SelectTextDraw(playerid, 0xFDFF40AA);
}
}

Ставлю, код в паблик авторизаций даже логирование не срабатыват, и не работает код.

DeimoS
13.06.2014, 22:06
else if(PlayerInfo[playerid][pAdmin] >= 1)
а перед этим какая проверка?

Zeror_Dalglish
13.06.2014, 22:31
else if(PlayerInfo[playerid][pAdmin] >= 1)
а перед этим какая проверка?



forward LoadAccount(playerid, password[]);
public LoadAccount(playerid, password[])
{
new rows, fields, loginmsg2[208];
cache_get_data(rows, fields);
if(!rows)
{
format(loginmsg2,208,"{FFFFFF}Добро пожаловать {1EFF00} {FFE200}!{ffffff}\nВаш ник: {ffcc00}%s {ffffff}\nВаш пинг: {ffcc00}%d{ffffff}\n\nЧтобы начать игру, введите пароль указанный при регистрации!",PlayerInfo[playerid][pName],GetPlayerPing(playerid));
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{ffffff}Авторизация",loginmsg2,"Войти","Отмена");
SendClientMessage(playerid,-1,"Вы ввели не верный пароль");
return 1;
}
PlayerInfo[playerid][pLogged] = 1;
for(new i = 0; i < rows;i++)
{
Reading_DataBase(i,playerid);
}
for(new i = 1; i != sizeof(GZInfo); i++)
{
GangZoneShowForPlayer(playerid,GZInfo[i][id],GZColor(GZInfo[i][gFrak]));
}
PlayerTextDrawShow(playerid, gang[playerid][0]);
PlayerTextDrawShow(playerid, gang[playerid][1]);
PlayerTextDrawShow(playerid, gang[playerid][2]);
PlayerTextDrawShow(playerid, gang[playerid][3]);
PlayerTextDrawShow(playerid, gang[playerid][4]);
PlayerTextDrawShow(playerid, gang[playerid][5]);
PlayerTextDrawShow(playerid, gang[playerid][6]);
PlayerTextDrawShow(playerid, gang[playerid][7]);
PlayerTextDrawShow(playerid, gang[playerid][8]);
PlayerTextDrawShow(playerid, gang[playerid][9]);
PlayerTextDrawShow(playerid, gang[playerid][10]);
PlayerTextDrawShow(playerid, gang[playerid][11]);
if(PlayerInfo[playerid][pInformer_Off_Onn] == 1)
{
TextDrawShowForPlayer(playerid, gang_td[0]);
TextDrawShowForPlayer(playerid, gang_td[1]);
TextDrawShowForPlayer(playerid, gang_td[2]);
TextDrawShowForPlayer(playerid, gang_td[3]);
TextDrawShowForPlayer(playerid, gang_td[4]);
TextDrawShowForPlayer(playerid, gang_td[5]);
TextDrawShowForPlayer(playerid, gang_td[6]);
TextDrawShowForPlayer(playerid, gang_td[7]);
TextDrawShowForPlayer(playerid, gang_td[8]);
TextDrawShowForPlayer(playerid, gang_td[9]);
TextDrawShowForPlayer(playerid, gang_td[10]);
TextDrawShowForPlayer(playerid, gang_td[11]);
}
else if(PlayerInfo[playerid][pInformer_Off_Onn] == 0)
{
TextDrawHideForPlayer(playerid, gang_td[0]);
TextDrawHideForPlayer(playerid, gang_td[1]);
TextDrawHideForPlayer(playerid, gang_td[2]);
TextDrawHideForPlayer(playerid, gang_td[3]);
TextDrawHideForPlayer(playerid, gang_td[4]);
TextDrawHideForPlayer(playerid, gang_td[5]);
TextDrawHideForPlayer(playerid, gang_td[6]);
TextDrawHideForPlayer(playerid, gang_td[7]);
TextDrawHideForPlayer(playerid, gang_td[8]);
TextDrawHideForPlayer(playerid, gang_td[9]);
TextDrawHideForPlayer(playerid, gang_td[10]);
TextDrawHideForPlayer(playerid, gang_td[11]);
}
else if(PlayerInfo[playerid][pAdmin] >= 1)
{
new text_string[2];
for(new index_1; index_1 < sizeof(textdraw_panel_button[]); index_1++)
{
printf("%d",index_1);
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
for(new index_2; index_2 < sizeof(textdraw_pass_panel_button_str[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(textdraw_pass_panel_button_str[playerid][index_1] == textdraw_pass_panel_button_str[playerid][index_2])
{
textdraw_pass_panel_button_str[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",textdraw_pass_panel_button_str[playerid][index_1]);
PlayerTextDrawSetString(playerid, textdraw_panel_button[playerid][index_1], text_string);
PlayerTextDrawShow(playerid, textdraw_panel_button[playerid][index_1]);
PlayerTextDrawSetSelectable(playerid, textdraw_panel_button[playerid][index_1], 1);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][0]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][1]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][2]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][3]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][4]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][5]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][6]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][7]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][8]);
PlayerTextDrawShow(playerid, boxsing_pic_code_adm[playerid][9]);
SelectTextDraw(playerid, 0xFDFF40AA);
}
}
SetPlayerScore(playerid,PlayerInfo[playerid][pKills]);
return 1;
}

DeimoS
13.06.2014, 23:10
Эмм, естественно работать не будет, ибо если одно из условий выше сработает - остальные обрабатываться не будут. Почитайте о предназначении "else if".
В общем

else if(PlayerInfo[playerid][pAdmin] >= 1)
на

if(PlayerInfo[playerid][pAdmin] >= 1)