Page 1 of 1

Случайное выражение из массива в переменную

Posted: 2006-08-23 00:38:09
by 1a2a3a4a5a6a
Как вывести одно из значений в массиве в переменную?
Т.е. у меня есть массив на 100 значений, допустим цифры 1-100.
Как сделать, чтобы в переменную chislo при каждом вызывании этой переменной была разная цифра из массива?

Re: Случайное выражение из массива в переменную

Posted: 2006-08-23 00:53:38
by Nmy
1a2a3a4a5a6a wrote:Как вывести одно из значений в массиве в переменную?
Т.е. у меня есть массив на 100 значений, допустим цифры 1-100.
Как сделать, чтобы в переменную chislo при каждом вызывании этой переменной была разная цифра из массива?

Code: Select all

uo.Random(maxnumber)
может поможет...

Posted: 2006-08-23 01:16:18
by 1a2a3a4a5a6a
И как это прикрутить к тому что я написал? :?

А написал я вот что:

Code: Select all

sub test()
var i
DIM xa[5]
xa[0] = 'нуль'
xa[1] = 'один'
xa[2] = 'два'
xa[3] = 'три'
xa[4] = 'четыре'

end sub
И надо чтобы в переменную выводилось случайное значение из массива.

Posted: 2006-08-23 01:23:38
by 1a2a3a4a5a6a

Code: Select all

uo.Random(maxnumber)
В maxnumber можно подставить только число.

Posted: 2006-08-23 01:52:22
by Nmy
это выгледит примерно так:

Code: Select all

n = uo.random(100)
uo.findtype(Ftoto[n], -1 ,'hde')
идея такова, но с етим я неработал, вот хз что там получется...
зачем тебе рандом мама мия?!

Posted: 2006-08-23 02:18:12
by Destruction
1a2a3a4a5a6a wrote:И как это прикрутить к тому что я написал? :?

А написал я вот что:

Code: Select all

sub test()
var i
DIM xa[5]
xa[0] = 'нуль'
xa[1] = 'один'
xa[2] = 'два'
xa[3] = 'три'
xa[4] = 'четыре'

end sub
И надо чтобы в переменную выводилось случайное значение из массива.
var chislo = xa[uo.random(4)]

Posted: 2006-08-23 12:42:42
by 1a2a3a4a5a6a
Destruction, ну надо же. %) Спасибо!

Posted: 2009-08-04 14:42:28
by Crach!

Code: Select all

sub test()
var i
DIM xa[5]
xa[0] = 'один'
xa[1] = 'два'
xa[2] = 'три'
xa[3] = 'четыре'
xa[4] = 'пять'
for i = 0 to 4
var chislo = xa[uo.random(i)]
uo.say(str(chislo))
end sub
ваще пахать не хочет(((
помогите люди добрые

Posted: 2009-08-04 14:57:40
by Kynep
Цикл

Code: Select all

for
...
next
не закрыт.

Posted: 2009-08-04 14:59:37
by Crach!
ЙОПТ Я МУДАК!! купер большое спасибо щас попробую!

Posted: 2009-08-04 15:05:16
by Kynep
Crach! wrote:ЙОПТ Я МУДАК!! купер большое спасибо щас попробую!
Скорее всего понадобиться такой ход:

Code: Select all

uo.say(chislo)
Ведь в массиве все переменные строковые, зачем str, ошибка будет.

Posted: 2009-08-04 15:29:48
by Crach!
блин,то ли я дурак то ли инжект тупит

Code: Select all

sub test()
	var i
	DIM xa[5]
	xa[0] = 'sa'
	xa[1] = 'as'
	xa[2] = 's'
	xa[3] = 'd'
	xa[4] = 'sd'
i =	uo.random(4)
		uo.say(str(xa[i]))
end sub
вот,и все равно как назло оно не пашет
по идее ведь он полжен выводить одно из 5ти выражений а вместо этого но просто печатает "0"=((

Posted: 2009-08-04 15:40:27
by Kynep
Crach! wrote:блин,то ли я дурак то ли инжект тупит
Ты не так меня понял:

Code: Select all

sub test()
var i, chislo
DIM xa[5]
xa[0] = 'один'
xa[1] = 'два'
xa[2] = 'три'
xa[3] = 'четыре'
xa[4] = 'пять'
for i = 0 to 4
chislo = xa[uo.random(i)]
uo.say(chislo)
next
end sub

Posted: 2009-08-04 16:23:03
by Crach!
Unhandled exception in parser
по если меня переменную i на 5 то все пашет :D

Posted: 2009-08-04 16:27:50
by Crach!
и ещё один тупой вопрос
слушайте как сделать так что бы один и тот же вариант не повторялся,например что бы он не кричал 2 раза три и т.п.

Posted: 2009-08-04 16:33:09
by Kynep
Crach! wrote:Unhandled exception in parser
по если меня переменную i на 5 то все пашет :D
Логично, т.к. выражение

Code: Select all

random(0)
Не может быть рабочим по-умолчанию, отсюда и ошибка, в этом случае он не выдаст результат переменной

Code: Select all

xa[0] = 'нуль'
Crach! wrote: слушайте как сделать так что бы один и тот же вариант не повторялся,например что бы он не кричал 2 раза три и т.п.
Сложно и не зачем.

Posted: 2009-08-04 18:48:28
by Mirage
Скрипт с нашего форума:

Code: Select all

# by Roneon :)
sub amsgs()
var i
dim a[15]
a[0]='эй, потсан'
a[1]='мелочь есть?'
a[2]='есть прикурить?'
a[3]='ты чо такой дерзкий?'
a[4]='э, ты с какого района?'
a[5]='ты кто па жизни-то?'
a[6]='найду - моё?'
a[7]='дай мобилу позвонить'
a[8]='ты на районе никто, понял?'
a[9]='давай мобилу и деньги'
a[10]='давай чё у тебя там в карманах'
a[11]='чтоб я тя больше здесь не видел'
a[12]='дай потсанам на пиво'
a[13]='да я те ща е@ало раскраю, ты понял?'
a[14]='мой друг сказал, что ты его [вырезано] послал. нет? хочешь сказать, мой друг - пи@дабол?!'
while true
i=uo.random(14)
uo.sayu(a[i])
wait(5000)
wend
end sub
как то так

Posted: 2009-08-05 19:48:32
by Crach!
слушайте как сделать так что бы один и тот же вариант не повторялся,например что бы он не кричал 2 раза три и т.п.

Сложно и не зачем.



есть зачем,мне надо написать скрипт на разбивание 2х команд!!

Posted: 2009-08-05 21:19:35
by Mirage
Crach! wrote:есть зачем,мне надо написать скрипт на разбивание 2х команд!!
Ну эээ... Напиши :roll:

сравнение 2-х массивом. При юзе числа его записывать во второй массив и игнорить. :shock:

либо каждый раз задавать константу типо если х= 3 то х=3+1



бзв не проще ОБЫЧНО массив использовать? Просто задать в беспорядок типы.

Posted: 2009-08-07 14:23:11
by Crach!
ну тогда скажи как игнорить не массивы а числа О_О
и ваще пересети из одного массива в другой это совсем что то запредельнгое