Вопросы по CLEO-скриптингу

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
^ Нет, все-такие не понял. Я пробовал в strstr ставить даже просто "[", но это не вириант. В 0AD3: ведь не работает такое значение "%d". Как можно это записать?
Всю строку из чата напши.

Туплю что то сегодня весь день. Как добавить минус к числу?
Умножить на -1.
 

Niko

Известный
Проверенный
230
271
всё разобрался, написал функцию
Код:
:ToMinus
// call @ToMinus 1 10.0
0087: 1@ = 0@ 
0@ *= 2
0063: 1@ -= 0@  
ret 1 1@
 
  • Нравится
Реакции: MISTER_GONWIK

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Ну это можно, если бы это писал 1 игрок - я к примеру. Полная строка выглядит так: "Спец.агент НИК[ID]: Свободен для зк **"
Теперь один вопрос: у тебя не работает или работает не так, как надо?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Я так пробовал) Тогда выдает /givecontract всем, кто пишет в любые из чатов(общий, фракционный, обычный)
Об этом нужно было сразу писать.
Код:
if and
   0C29: 0 = stristr string1 0@ string2 "Свободен для зк"
   0C18: 2@ = strstr string1 0@ string2 "["
then
end
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Тогда то что идёт после {ffffff} обрезает...
Тогда сделай так:
  1. Выделяешь буфер с размером чуть менее, чем начальная строка;
  2. Пробегаешься по начальной строке посимвольно;
  3. Если встречается символ {(0x7B), то прибавляешь 8 к следующему оффсету(таким образом ты избавляешься от {ffffff}). Другие символы вставляй в новый буфер опкодом 0C15 или можно обойтись другим методом копирования.
 
  • Нравится
Реакции: Woofing Giraffe

Woofing Giraffe

Активный
402
49
Код:
        format 17@ = "cleo\cleo_saves\kek\kek%d.ini" 18@                                                                                                     
        format 16@v = "%s" 17@                                                                                           
        0A9A: 13@ = openfile 16@v mode "w"
Почему крашит? Возможно ли как-то сделать длинный путь для открытия файла? При этом нужно туда вставить переменную.