Code: Select all
if uo.getgraphic('finditem')=='0x0EED' || uo.getgraphic('finditem')=='0x13B5' thenCode: Select all
if uo.injournal("You put|You can't") thenModerators: Murderator+, Murderator
Code: Select all
if uo.getgraphic('finditem')=='0x0EED' || uo.getgraphic('finditem')=='0x13B5' thenCode: Select all
if uo.injournal("You put|You can't") thenCode: Select all
sub main()
#uo.Print(uo.GetGraphic("self"))
uo.Print(str(TypeIn("0x0191|0x0191|0x0191|0x0191|0x0190|0x0191|0x0190|0x0191", uo.GetGraphic("self"))))
end sub
sub TypeIn(types, type)
var types_size = int((len(types)+1)/7)
var index = 0
while types_size
if mid(types, index*7, 6) == type then
return index
end if
index = index+1
types_size = types_size-1
wend
return -1
end subCode: Select all
sub main()
var z=uo.getgraphic('self')
if types(z)==true then
uo.print('Совпадает')
else
uo.print('Не совпадает')
endif
end sub
Sub types(type)
var a
dim t[2]
t[0]='0x0191'
t[1]='0x0190'
for a=0 to 1
if type==t[a] then
return true
endif
next
end sub
Code: Select all
int(len(...))Code: Select all
int((len(types)+1)/7) Code: Select all
int(56/7)Code: Select all
int(8)Code: Select all
Sub GetWord( st, nom )
; (c) Edred
; Возвращает слово из строки str за номером num
; если такого слова нет - возвращаем ''
;
; Разделителем слов считаем пробел. Несколько пробелов подряд считаются за один.
; Функция сделана без рекурсии специально для считывания слов из сверхдлинных строк!
;
VAR tmpst, i, dlin, kol = 0, start = 0
dlin = len( st )
For i=0 To dlin - 1
If mid( st, i, 1 ) == ' ' OR i == dlin - 1 Then
kol = kol + 1
If kol == nom Then
; это первый пробел после нужного нам слова
tmpst = mid( st, start, i - start )
return tmpst
Else
While mid( st, i, 1 ) == ' '
i = i + 1
Wend
If kol == nom - 1 Then
start = i
Endif
Endif
Endif
Next
tmpst = ''
return tmpst
endsub
На данном примере, что вы посоветуете прочитать перед подобной литературой?Часть I. Основы 32-битного программирования в Windows
Глава 1. Средства программирования в Windows
I
В данной главе я намерен дать некоторую вводную информацию по средствам программирования на языке ассемблера. Данная глава предназначена для начинающих программирование на ассемблере, поэтому программистам более опытным ее можно пропустить без особого ущерба для себя.
Прежде всего замечу, что в названии главы есть некоторая натяжка, т.к. технологии трансляции и в MS DOS, и в Windows весьма схожи. Однако программирование в MS DOS уходит в прошлое.
Двум стадиям трансляции соответствуют две основные программы: ассемблер ML.EXE и редактор связей LINK.EXE 7 (или TASM32.EXE и TLINK32.EXE в Турбо Ассемблере).
Пусть файл с текстом программы на языке ассемблера называется PROG.ASM, тогда, не вдаваясь в подробный анализ, две стадии трансляции будут выглядеть следующим образом: c:\masm32\bin\ml /c /coff PROG.ASM - в результате появляется модуль PROG.OBJ, а также c:\masm32\bin\link /SUBSYSTEM:WINDOWS PROG.OBJ - в результате появляется исполняемый модуль PROG.EXE. Как Вы, я надеюсь, догадались (Я долго ржал - вообще непонял о чём это?) /с и /coff являются параметрами программы ML.EXE, a /SUBSYSTEM:WINDOWS является параметром для программы LINK.EXE. О других ключах этих программ более подробно см. Гл. 1.5.
Code: Select all
@echo off
f:\masm32\bin\ml /coff /c %1.asm
f:\masm32\bin\link /SUBSYSTEM:CONSOLE %1.obj
@echo on