JSinx пишет: Раз буквально так воспринимается пример строки, который был просто как пример, чтобы понять где не работает, приложу кусок кода:
А как воспринимать код когда спрашивают о ошибке? Это вообще то не свободное творчество, а жесткие правила программирования.
JSinx пишет: и получается что если я напишу вот так
CODE:
if (aaa = 'место') {}
то код бота будет выполняться, но иногда вдруг падать?
Ага
Этот падает с этим "примерным выкладывание кода"
CODE:string aaa="место";
int e;
int t[1];
if (aaa = 'место') {e=0;}
t[e]=5;
messagebox (t[e]);
Этот нет
CODE:string aaa="место";
int e;
int t[1];
if (aaa == "место") {e=0;}
t[e]=5;
messagebox (t[e]);
(Добавление)
С таймерами надо быть аккуратным.
Дело в том, что таймер может выполниться в любое время (то есть когда ему придет время) и вклинить свое выполнение между любыми участками кода. Поэтому для таймера желательно использовать переменные и даже функции которые не используются в скрипте.
Пример неправильного программирования:
CODE:int at_count=0;
int b[1];
string cur_status="attack";
enabletimer(0);
loop()
{
at_count=0;
//если вызов таймера будет тут, то at_count увеличится на 1 и будет 1
// а b массив на один элемент и получится что в следующей строке будет вылазить за пределы выделенной памяти.
b[at_count]=5;
}
CREATE_TIMER(0, 10)
{
if (cur_status == "attack") { at_count++; }
} |