PDA

Просмотр полной версии : [Вопрос] TextDraw - не чего не происходит



Bady
02.04.2015, 21:12
При нажатии на TD не чего не происходит, как будто кликабельности нету даже.


new number_buff[1];
for(new t; t < sizeof(SecurityCodeNumber[]); t++)
{
if(playertextid == SecurityCodeNumber[t][playerid])
{
valstr(number_buff,SecurityCodeStr[playerid][t]);
strcat(SecurityCodeProverka[playerid], number_buff);
if(++number_of_clicks{playerid} >= 6)
{
if(strval(SecurityCodeProverka[playerid]) == pData[playerid][FullSuperKey])
{
SendClientMessage(playerid,COLOR_WHITE,"VERNO");
}
else SendClientMessage(playerid, COLOR_LIGHTRED, "Введите /q(uit) чтобы выйти"),Kick(playerid);
number_of_clicks{playerid} = 0;
SecurityCodeProverka[playerid][0] = 0;
}
break;
}
}



[17:49:45] [debug] Run time error 4: "Array index out of bounds"
[17:49:45] [debug] Accessing element at index 10 past array upper bound 9
[17:49:45] [debug] AMX backtrace:
[17:49:45] [debug] #0 001fe924 in Pin_Code (playerid=0) at C:\Users\Никита\Desktop\Route RP\gamemodes\new.pwn:30815
[17:49:45] [debug] #1 0004040c in public load_player (playerid=0) at C:\Users\Никита\Desktop\Route RP\gamemodes\new.pwn:6505

1.

stock Pin_Code(playerid)
{
new text_string[2];
for(new index_1; index_1 < sizeof(SecurityCodeNumber[]); index_1++)
{
SecurityCodeStr[playerid][index_1] = random(10); // Тут ошибка в crahdetecte
for(new index_2; index_2 < sizeof(SecurityCodeStr[]); index_2++)
{
if(index_1 == 0) break;
if(index_2 == index_1) continue;
if(SecurityCodeStr[playerid][index_1] == SecurityCodeStr[playerid][index_2])
{
SecurityCodeStr[playerid][index_1] = random(10);
index_2 = -1;
}
}
format(text_string,sizeof(text_string),"%d",SecurityCodeStr[playerid][index_1]);
PlayerTextDrawSetString(playerid, SecurityCodeNumber[index_1][playerid], text_string);
PlayerTextDrawShow(playerid, SecurityCodeNumber[index_1][playerid]);
PlayerTextDrawSetSelectable(playerid, SecurityCodeNumber[index_1][playerid], 1);
for(new i = 0; i < 15; i++) PlayerTextDrawShow(playerid, SecurityCode[playerid][i]);
SelectTextDraw(playerid, 0xFDFF40AA);
}
return 1;
}


2.

if(pData[playerid][EnableSuperKey] == 1)
{
if(strcmp(GetIP(playerid),pData[playerid][LastIP])) return Pin_Code(playerid); //Тут ошибка!
else
AccWriteString(player_name [ playerid ],"SuperKeyIP",GetIP(playerid));
}

Bady
04.04.2015, 17:05
Подниму

Nazarik
04.04.2015, 17:38
if(playertextid == SecurityCodeNumber[t][playerid])
->

if(playertextid == SecurityCodeNumber[playerid][t])

Bady
04.04.2015, 21:21
if(playertextid == SecurityCodeNumber[t][playerid])
->

if(playertextid == SecurityCodeNumber[playerid][t])
У меня все правильно там!

new PlayerText:SecurityCodeNumber[10][MAX_PLAYERS];

nonfaktor
04.04.2015, 21:41
valstr(number_buff,SecurityCodeStr[playerid][t]);

SecurityCodeStr[playerid][t]

Bady
05.04.2015, 00:24
valstr(number_buff,SecurityCodeStr[playerid][t]);

SecurityCodeStr[playerid][t]

Все правильно!

new SecurityCodeStr[MAX_PLAYERS][10];

Tony_Rich
05.04.2015, 00:55
Сперва [playerid] потом [t]
А не [t] потом [playerid]

попробуй !

Bady
05.04.2015, 03:28
Сперва [playerid] потом [t]
А не [t] потом [playerid]

попробуй !
Боже мой, это не столь важно, главное как в new указано!

Bady
05.04.2015, 17:17
Обновлена тема, новые обстоятельства!

Bady
07.04.2015, 19:44
Закройте, перенес тему!