      BASIC. 
   '#'  ';'.       .

 :

VAR var1, var2, ...
	-  .         
   .   3  - ,   .    
     UO,        2 
 -   .        .
:
	VAR i, j
	VAR k=123
	VAR str=" "
         '[]'.  str[0] 
    str.      
 '='
:
	i=123
	j=i+5*sin(PI)
	k=LEN(str+"bla bla bla")


DIM array1[size], array2[size], ...
	-  .      ,  
    . 
:
	DIM A[10]


SUB function_name(parameters)
	...
	RETURN value
	...
ENDSUB
	-  .       RETURN
   .      RETURN 
RETURN    -    .
:
	SUB sub_without_parameters()
	ENDSUB

	SUB make_a_summ(a,b)
		RETURN a+b
	ENDSUB


IF condition THEN
	...
ENDIF
	- IF-THEN .    "<",">","<=",">=","==","<>"
    , .  "AND, "OR", "NOT"
  .    "&&"  "AND"  "||"  "OR".
   FALSE,   - TRUE.


IF condition THEN
	...
ELSE
	...
ENDIF
	- IF-THEN-ELSE


Label_name:
	-  .


GOTO label_name
	-   .    GOTO  ,   
 GOTO  SUB.


REPEAT
	...
UNTIL condition
	- "..."    ,  condition   TRUE.  
    .


WHILE condition
	...
WEND
	- "..."   condition - TRUE. 


FOR variable=start_value TO end_value [STEP step]
	...
NEXT 
	-   FOR,   BASIC.      
NEXT.   . 




  Ultima Online    UO
  :
    UO.Print("")   -     .
    UO.Exec("")  -  .  
                             .
    UO.Say("-")   -    -.
    UO.Press(KeyCode[,Count[,Delay]]) -   .
         KeyCode    -   .
         Count      - .  .
         Delay      -   .
    UO.LClick(X,Y)      -     .
    UO.RClick(X,Y)      -     .
    UO.LDblClick(X,Y)   -      .
    UO.RDblClick(X,Y)   -      .
    UO.Drag(X1,Y1, X2,Y2 [,amount])   -  -.
    ,     .
    "  "   .
    " "    .
    Wait(  )  
  ,    !
    :
    UO.Life, UO.Mana, UO.Stamina, UO.STR, UO.INT, UO.DEX,
    UO.Weight, UO.Armor, UO.Gold, UO.BM, UO.BP, UO.GA, UO.GS,
    UO.MR, UO.NS, UO.SA, UO.SS, UO.VA, UO.EN, UO.WH, UO.FD,
    UO.BR, UO.H, UO.C, UO.M, UO.L, UO.B, UO.AR, UO.BT


   :
Wait()
	-      .
:
	Wait(1000)		#  1 


Message("Mesage text"[,"Caption"])
	-      OK. "Caption"  .
:
	Message("Press OK to continue running script")


:
VAL(string_variable)
	-     .

STR(numeric_value)
	-    .    
      Ultima Online.
:
	UO.Print("  : "+STR(UO.Life))

---------------------------------------------
 :

sub WaitWeightToChange(OldWeight)
	for var r=0 to 40
		if UO.Weight<>OldWeight then
			return 1
		end if
		wait(200)
	next
	return 0
end sub

sub main()
	var weight
	var i
	while UO.Gold<150000
		for i=1 to 3
Restart:
			UO.Press(27)
			weight=UO.Weight
			UO.Exec("buy fish")
			if WaitWeightToChange(weight)==0 then
				goto Restart
			end if

			weight=UO.Weight
			UO.Exec("waittargettype Fish1")
			UO.Exec("usetype knife")
			WaitWeightToChange(weight)

			weight=UO.Weight
			UO.Exec("waittargettype Fish2")
			UO.Exec("usetype knife")
			WaitWeightToChange(weight)

			weight=UO.Weight
			UO.Exec("waittargettype Fish3")
			UO.Exec("usetype knife")
			WaitWeightToChange(weight)

			weight=UO.Weight
			UO.Exec("waittargettype Fish4")
			UO.Exec("usetype knife")
			WaitWeightToChange(weight)
   		next

		weight=UO.Weight
		UO.Exec("sell steaks")
		WaitWeightToChange(weight)
	wend
end sub

    "main"  .      ( 
  ",buy fish"  Injection,      
 4    .    "knife"   0x0f51,
"Fish1"-"Fish4"  0x09cc-0x09cf   " " Injection.
  .  ,      >150000.

        WAIT(...)  
    .      ///
   .       buy/sell
    . 

          
Ultima Online.   WaitForSpellToCast() 
WaitUntilServerSays("the spell fizzles")...
