Чем заменить GetNumb?

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Toolmate
Posts: 104
Joined: 2005-08-18 09:09:18
Location: RUSSIA

Чем заменить GetNumb?

Post by Toolmate »

Подскажите чем можно заменить вот ниже приведенную функцию:

Code: Select all

Sub GetNumb(C,I) 
var J,T,K
J=0
K=1
While K>0
  J=J+1
  If (Mid(C,J,1)==' ') Or (J>=Len(C)-1) Then
   If I==0 Then
    T=Val(Left(C,J))
   Else
    T=GetNumb(Right(C,Len(C)-J-1),I-1)
   EndIf
   K=0
  EndIf
wend
UO.Print(T)
return T
endsub


Из-за нее, когда чар доходит до последней точки в макре на мининг он не начинает заново обходить их.

Помница мне Grin что то советовал на счет этого, но я забыл и макр тот стер. :(

Сам макр вот отсюда: viewtopic.php?t=2624&highlight=
-=^NOVA RunUO 2 Server^=-
www.nova-uo.com
сферовское ПВП
IRC Server: irc.netbynet.ru; канал: #nova
Toolmate
Posts: 104
Joined: 2005-08-18 09:09:18
Location: RUSSIA

Post by Toolmate »

up :roll:
-=^NOVA RunUO 2 Server^=-
www.nova-uo.com
сферовское ПВП
IRC Server: irc.netbynet.ru; канал: #nova
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

приведи цепочку раздумий, в результате которых ты пришёл к такому выводу.

ЗЫ влом так просто читать чужой скрипт.
Toolmate
Posts: 104
Joined: 2005-08-18 09:09:18
Location: RUSSIA

Post by Toolmate »

Ну там связвнно что то с двойными пробелами т.к. точки вынесены в отдельный файл, я точно не помню что мне Grin говорил.
-=^NOVA RunUO 2 Server^=-
www.nova-uo.com
сферовское ПВП
IRC Server: irc.netbynet.ru; канал: #nova
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Добавь в конец строки с числами пробел.

ЗЫ: Эта функция сделана с рекурсией. Поэтому если в строке больше 100 чисел - могут полезть проблемы. Если используешь много координат в строке - лучше замени эту функцию на мою GetWord(). Она здесь есть в каждом втором топике.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Toolmate
Posts: 104
Joined: 2005-08-18 09:09:18
Location: RUSSIA

Post by Toolmate »

в файле 33 координаты всего :?

выглядит этот файл c координатами вот так:

Code: Select all

1546 5464 849 -1
**************
1548 5487 851 -1


где "**********" - это остальные 31 число.
-=^NOVA RunUO 2 Server^=-
www.nova-uo.com
сферовское ПВП
IRC Server: irc.netbynet.ru; канал: #nova
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Ну так я тебе сказал же. Добавь пробел в скрипте. то бишь вставь в эту (выше) функцию строчку (куда-нибудь в начало, до цикла):

Code: Select all

c = c + ' '


По идее, надо просто исправить:

Code: Select all

(J>=Len(C)-1)


на

Code: Select all

(J>=Len(C))


но это навскидку. Не тестил и не буду. Проще приписать пробел.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Toolmate
Posts: 104
Joined: 2005-08-18 09:09:18
Location: RUSSIA

Post by Toolmate »

В таком случае он идет просто к несуществующей точке.
№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№
Ну вобщем я сделал через другой "проход", когда он доходит до 33 тайла макр просто перезапускается. На больше мне познаний не хватило :) :P
-=^NOVA RunUO 2 Server^=-
www.nova-uo.com
сферовское ПВП
IRC Server: irc.netbynet.ru; канал: #nova
Post Reply