Для начала.
Используй
нормальный Ide.
Стандартный в топку.
Всегда указывай Local или Global при определении переменной.
Типы объявлять не умеешь.
ИмяПеременной:
Тип
Тоесть:
Надо писать:
Символ точки служит для доступа к методу или свойству типа (почти аналог "\" )
В начале главного файла всегда пиши SuperStrict иначе так и останешься блицером.
А вобще бери на анализ твой код, только отформатированый нормально и рабочий:
SuperStrict
Type Hgt
Field Snd:TSound
Field Name:String
EndType
Type Sound
Global LIST:TList = New TList
Function Load(File:String)
Local k:Int, snd:TSound
While(True)
k = k + 1
snd = Null
snd = LoadSound("Source/Sounds/" + File + "_" + k + ".wav")
If(Snd = Null) Exit
Local S:Hgt = New Hgt
S.Snd = Snd
S.Name = File
ListAddLast(LIST, S)
Wend
EndFunction
Function GetRandom:TSound(file:String)
Local k:Int = 0
Local R:Int
For Local S:Hgt = EachIn LIST
If(S.Name = File) k = k + 1
Next
R = Rand(1, k)
k = 0
For Local S:Hgt = EachIn LIST
If(S.Name = File) k = k + 1
If(k = R) Return S.Snd
Next
EndFunction
EndType
И статусы в аське читай. Я в игрушку гамал какбе и альттабатся было лень.