Page 1 of 1

iscurmess.inc

Posted: 16.11.2010 23:34
by xam
Подскажите как он должен выглядеть?

Posted: 17.11.2010 8:13
by Vizit0r
как файл "iscurmess.inc"

Posted: 17.11.2010 9:26
by xam
Vizit0r wrote:как файл "iscurmess.inc"
Это понятно. Не могу вообще понять язык скрипта.. И файлов .ini
Все жизнь писал скрипты на Пилоте. Вот теперь хочу перейти на другой уровень.. Подскажи мне программку или гайдик по написанию а еще лучше подскажите на сайте нашел скрипты на прокачку. Вот если я хочу объедение их в одно целое это реально?

Posted: 17.11.2010 9:57
by Vizit0r
раздел Help, 4 прикрепленных топика вверху. начинать с уроков. читать и разбираться.

все реально.

язык - обычный стандартный паскаль, не мутно-языки типа изи, инжекта или пилота.

inc а не ini, это разные вещи.

содержимое файлов .inc - это просто процедуры, которые используются в разных скриптах, и для удобства и уменьшения скрипта вынесены в отдельные файлы.
при компиляции скрипта эти функции\процедуры просто добавляются в основной скрипт, и все.

Posted: 17.11.2010 10:14
by xam
Vizit0r wrote:раздел Help, 4 прикрепленных топика вверху. начинать с уроков. читать и разбираться.

все реально.

язык - обычный стандартный паскаль, не мутно-языки типа изи, инжекта или пилота.

inc а не ini, это разные вещи.

содержимое файлов .inc - это просто процедуры, которые используются в разных скриптах, и для удобства и уменьшения скрипта вынесены в отдельные файлы.
при компиляции скрипта эти функции\процедуры просто добавляются в основной скрипт, и все.
Да это я понял .inc процедуры я создал благодаря форому.Но создать iscurmess.inc не смог. пробовал но ни чего не получилось и гайда тоже не нашнл( И в разделе Help с первого урока я застрял

Code: Select all

program Say; 
 const 
  Hello = 'Привет,'; 
 var 
   World : String; 
 Begin 
     World := ‘Ультима!’; 
     UOSay(Hello + ‘ ‘ + World); 
 End.
Почему то программа меня останавливает World := ‘Ультима!’;

Posted: 17.11.2010 10:27
by Vizit0r
если я правильно понимаю - закрывающая кавычка должна быть прямой, а не обратной.
World := 'Ультима!';

Posted: 17.11.2010 10:28
by xam
Vizit0r wrote:если я правильно понимаю - закрывающая кавычка должна быть прямой, а не обратной.
World := 'Ультима!';
Я тоже об этом подумал но.... Все равно не прокатило)

Posted: 17.11.2010 10:30
by Vizit0r
и тут тоже
UOSay(Hello + '' + World);

исправляю в уроках тоже сразу

Posted: 17.11.2010 10:43
by xam
Все работает... А теперь буду дальше пробовать

Posted: 17.11.2010 10:51
by Vizit0r
где видел обратные кавычки - в уроках исправил

Posted: 17.11.2010 11:00
by xam
iscurmess.inc так вы и не показали ка должен выглядит этот файл) и подскажите чем скрипты от инжекта отличаются от стеел
к примеру.

Code: Select all

/ ========================== Arms Lore
sub arms()  
while not uo.dead()  
uo.useskill('Arms Lore')  
uo.waittargetlast()  
wait(2000)  
wend  
end sub


/ ========================== Hiding
sub hide()  
while not uo.dead()  
uo.useskill('Hiding')  
wait(3000)  
wend  
end sub


/ ========================== Animal Lore
sub an()  
while not uo.dead()  
uo.waittargetself()  
uo.useskill('Animal Lore')  
wait(1500)  
wend  
end sub


/ ========================== Item Identification
sub id()  
while not uo.dead()  
uo.useskill('Item Identification')  
uo.waittargetlast()  
wait(1500)  
wend  
end sub


/ ========================== Detect Hidden
sub detect()  
while not uo.dead()  
uo.useskill('Detect Hidden')  
wait(1200)  
wend  
end sub


/ ========================== Evaluating Intelligence
sub eval()  
while not uo.dead()  
uo.useskill('Evaluating Intelligence')  
uo.waittargetself()  
wait(1500)  
wend  
end sub


/ ========================== Musicanship
sub music()  
while not uo.dead()  
uo.usetype('0x0EB3')  
wait(1500)  
wend  
end sub
Если я не хочу особо заморачиваться и хочу их пустить просто через wait как мой скрипт должен выглядеть в формате Object Pascal. И в стелсе с какими переменными мне использовать.
И пример из UOpilot Рекал по скролу с инвизом

Code: Select all

set $anm An mani
set $ane An Ex Por
set $por Por Ort Grav
set $inpor In Vas Por
set $inpr In Por Ylem
set $u you see
set $inhur In Hur Jux Ylem
set $vas Vas Corp Por
set $iep In Ex Grav 

set #basex 923
set #basey 2346
if ( charposx = #basex ) or ( charposy = #basey )
start_script 0
start_script 2
end_if
:lol
if ( charposx <> #basex ) or ( charposy <> #basey )
    if (lastmsg = $ignor1)
        goto lol
    end_if 
    if ( lastmsg = $iep ) or( lastmsg = $inpr ) or ( lastmsg = $inpor ) or ( lastmsg = $anm ) or ( lastmsg = $por ) or ( lastmsg = $ane ) or ( hits < str ) or ( lastmsg = $u ) or ( lastmsg = $inhur ) or ( lastmsg = $vas )
        pause_script 0
        pause_script 2
        wait 500
        send f10 2000
        if ( charposx = #basex ) or ( charposy = #basey )
        send f10 2000
        END_IF

    end_if
    if lastmsg fizzle
        send f10 2000
    end_if
    if hits < 100
        send f7 3000
    end_if
end_if
Это мои простенькие скрипты. Я просто где то еще не понял... Все не как не могу разобраться с языком

Posted: 17.11.2010 12:26
by Fenix
Скрипты инжекта отличаются от скриптов стелса ипользуемым языком "программирования". Стелс использует модификацию Object Pascal. Инжект использует модификацию Basic. Плюс различия в доступных методах.
К примеру, реализация на инжект-скрипте:

Code: Select all

/ ========================== Arms Lore 
sub arms()  
while not uo.dead()  
uo.useskill('Arms Lore')  
uo.waittargetlast()  
wait(2000)  
wend  
end sub
Реализция того же для стелс-скрипта:

Code: Select all

// ========================== Arms Lore 
procedure arms;
  while not Dead do begin
    UseSkill('Arms Lore');
    WaitTargetLast;
    Wait(2000);
  end;
end;
А насчет твоего скрипта на пилоте - даже не знаю как это должно выглядить в стелсе. Всё зависит от того, что ты делаешь. В пилоте все операции с ультимой сводятся к передаче оконных сообщений главному окну клиента ультимы. В стелсе работа идёт непосредственно с сервером через отправку пакетов.