Yoko
http://forum.yoko.com.ua/

Проблема со скрипт на определение злобности !
http://forum.yoko.com.ua/viewtopic.php?f=3&t=12827
Page 1 of 1

Author:  DarkpSy [ 2007-11-28 19:55:00 ]
Post subject:  Проблема со скрипт на определение злобности !

Вроде все правильно и должно работать, но выдает проста 5 раз
FINDDISTANS=0
item found = 0
И ето возле ББ где куча народу !

Сам скрипт
sub zloba()
Var i
Var color
For i=1 to 5
__uo.ignore('self')
__uo.set('finddistance','i')
__uo.findtype('0x0190','-1','ground')
__if uo.findcount() > 0 then
_____while UO.FindCount() > 0
________if uo.isNPC('finditem') then
___________color=uo.GetNotoriety('finditem')
___________UO.Print( 'Уровень злобноста: ' + str( color ) )
___________wait(1000)
___________uo.ignore('finditem')
_________else
___________UO.Print('призрак')
___________wait(1000)
___________uo.ignore('finditem')
________end if
________wait(2000)
_____wend
_____wait(1000)
__end if
Next
uo.ignorereset()
end sub

И вообсче почемуто проблем с поиском uo.findtype() очень много особенно если искать людей , то ишет то не ищет ,чорт знает что !

Author:  Destruction [ 2007-11-29 09:38:22 ]
Post subject: 

uo.set('finddistance','i')

'i' => str( i )

Author:  DarkpSy [ 2007-11-29 13:29:05 ]
Post subject: 

Вот я все никак не пойму что делает str в хелпе написанно что преобразовывает числа в строчку токо до меня недоводит что ето значит обьяните по подробней ))
вот здесь uo.GetNotoriety('finditem') итак зимеет значения в числах 0-6
но и принтиться же тоже в числах )))
сolor=uo.GetNotoriety('finditem')
UO.Print( 'Уровень злобноста: ' + str( color ) )

Author:  Scripts Writer [ 2007-11-29 15:52:10 ]
Post subject: 

DarkpSy wrote:
Вот я все никак не пойму что делает str в хелпе написанно что преобразовывает числа в строчку токо до меня недоводит что ето значит обьяните по подробней ))
вот здесь uo.GetNotoriety('finditem') итак зимеет значения в числах 0-6
но и принтиться же тоже в числах )))
сolor=uo.GetNotoriety('finditem')
UO.Print( 'Уровень злобноста: ' + str( color ) )


Могу ошибаться, но у тебя uo.GetNotoriety возвращает значение целочисленного типа, а в uo.Print формальный параметр строка или символьный массив.

Вот как раз str делает конвертирование из int -> string (char*)

Author:  volhram [ 2007-11-29 15:52:16 ]
Post subject: 

это из программирования....преобразование типов
если не связывался то просто запомни, что для uo.set() все входные данные - строковые..

Author:  Destruction [ 2007-11-29 17:19:54 ]
Post subject: 

Скриптовый модуль Injection поддерживает три типа данных - число, строка, объект. Речь пойдёт о первых двух.
Итак переменная строкового типа. Что это? - Это набор букв и Injection соответственно будет работать со строковой переменной как с буквами. К строковым переменным так же относятся числа в шестндцатеричной системе счиления (идентификаторы, графические типы, цвета).

Далее - переменная числового типа. Это непосредственно число и Injection будет с такой переменной оперировать как с числом.

Пример.
Code:
var result
var string1 = "123"
var string2 = "456"
result = string1 + string2
uo.print( result ) ; 123456
var number1 = val( string1 )
var number2 = val( string2 )
result = str( number1 + number2 )
uo.print( result ) ; 579


Соответственно разные функции принимают разные типы аргументов, тебе нужно просто запомнить, что все функции вызываемые из строки чата в UO принимают только строковые аргументы.
Например:
Code:
uo.msg( str( uo.getX() ) )
uo.say( str( uo.getY() ) )
uo.privategettile( uo.getX(), uo.getY(), -1, 0, 1000 )

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/