параметры функции

Ask for help

Moderators: Murderator+, Murderator

Post Reply
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

параметры функции

Post by zolupo »

объясните ( желательно спримерами )
как работают и как использовать параметры
sub main(x)
где х - параметр
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

Code: Select all

sub abs(a) 
  if a < 0 then
    return -a
  else
    return a
  endif
end sub

Code: Select all

...
var x = abs(y)
...
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

Post by zolupo »

return -a что значит?
непонел я ниче
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

zolupo wrote:return -a что значит?
непонел я ниче

Что-то ты тупишь. :)
return x означает вернуть из функции значение x.
В данном конкретном случае, из функции abs возвращается значение a со знаком минус.
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

Post by zolupo »

хех пример скрипта плс
а то из написаного непонятно ничего
я тупарь:)
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

zolupo wrote:хех пример скрипта плс
а то из написаного непонятно ничего
я тупарь:)

Пример был в моём предыдущем посте.
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Человек просто знает что есть на свети люди которых называют программистами, а комп у него так просто , в игры поиграть.

ПРОЦЕДУРА

sub ИмяПроцедуры(СписокАргументовЧерезЗапятую)
Тело процедуры, ака набор команд обрабатывающих или необрабатывающих переданные аргументы
Выйти из процедуры можно достигнув её конца или по команде return без параметров
end sub

ФУНКЦИЯ

sub ИмяФункции(СписокАргументовЧерезЗапятую)
Тело функции, ака набор команд обрабатывающих или необрабатывающих переданные аргументы
Выйти из функции можно достигнув её конца или по команде return с параметрами. Функция сама по себе подразумевает возврат каких либо значений
end sub
Сделал дело - флуди смело !!!
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

Post by zolupo »

Хех ты прав, я просто в игры играю и инжект знаю на уровне любителя.
А про пример: я имел в виду покажите пример игрового скрипта с объяснениями, потому что я снова ничего не понел:)

Пойти чтоли учебник информатики почитать ..
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

Post by zolupo »

Кстати у меня новый вопрос:

Code: Select all

var n
var Page = 1

for n=1 to Page
[ACTION]
next


Как написать , чтобы чар исполнял действие такое кол-во раз какое записано в Page .
При таком скрипте как я написал выше , чар повторяет действие два раза.
666Man666
Junior Expert
Posts: 474
Joined: 2004-11-13 00:43:55
Location: Киберзадроцк
Contact:

Post by 666Man666 »

zolupo wrote:

Code: Select all

var n
var Page = 1

for n=1 to Page
[ACTION]
next

Вотак )

Code: Select all

var n
var Page = 5(скока хочеш)

for n=1 to Page
[ACTION]
next
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

Post by zolupo »

и че изменилось?
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

zolupo wrote:и че изменилось?

М-да. Тяжело тебе. Там 1 на 5 поменялось еси что !!!
Сделал дело - флуди смело !!!
AlexeyVorotnikov
Junior Expert
Posts: 138
Joined: 2004-09-18 15:12:06

Post by AlexeyVorotnikov »

Хм... Мои педагогические способности исчерпались... :(
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

Post by zolupo »

и че толку оттого что поменялось 1 на 5 ?
я предусматривал так что я переменную Page могу ставить такую какую захочу вопрос не тот был ..
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

zolupo wrote:и че толку оттого что поменялось 1 на 5 ?
я предусматривал так что я переменную Page могу ставить такую какую захочу вопрос не тот был ..
ты попробуй объяснить конкретно на пальцах что именно ты хочешь?

и не лезь в свой ник ;)
люди пытаются помочь в меру своего понимания твоего вопроса.
zolupo
Posts: 53
Joined: 2005-01-27 09:10:39

Post by zolupo »

объясняю
есть скрипт

Code: Select all

sub alchemy()

 var n
 var i=0
 var Page = 1 ; choose the page contains the potion u need
 
    UO.AddObject('RecipeBook') ; choose the recipe book
    UO.Print("Choose the Recipe Book")
    while UO.Targeting()
    wait(100)
    wend
   
 while not UO.Dead() || not UO.InJournal("You don't have bottles")
  UO.UseObject('RecipeBook')
  wait(1500)
   for n=1 to Page
   UO.LClick(470,160)
   wait(1500)
   next
  UO.LClick(295,280)
  wait(500)
  UO.Say(10)
   i=1
   for i=1 to 15
   If UO.InJournal("explodes") || UO.InJournal("choking") then
    UO.DeleteJournal()
    goto Healing
   endif
   wait(3000)
   next
 Healing:
  Repeat
  UO.Bandageself()
  wait(3000)
  Until UO.Life == UO.Str
   wait(500)
 wend
end sub


Pages - номер страницы в книге. Нужно чтобы он листал ее такое количество раз, какое указано в этой переменной .
при
Page = 1
for n=1 to Page

он почему-то перелистывает страницу, нужно чтобы он этого не делал.
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Ясен перец

Цикл

Code: Select all

For i=1 To 1
next

Выполняется 1 раз
Тебе надо чтоб он ваще не выполнялся при Page=1
Тода делай так

Code: Select all

if Page>1 then
for n=1 to Page-1
   UO.LClick(470,160)
   wait(1500)
next
end if


Тут дело не в написании кодов, а в элементарной логике.
При выборе книги уже открывается 1 страница, значит листать не надо. На вторую страницу надо листануть 1 раз, на 3-ю 2 и тд.
Понял ?
Last edited by Askaneli on 2005-03-16 06:00:13, edited 1 time in total.
Сделал дело - флуди смело !!!
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Лучше бы сначала сделать проверку на Page == 1... Не уверен я в устойчивости скриптового модуля в случае появления цикла:

for i = 1 to 0
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Edred wrote:Лучше бы сначала сделать проверку на Page == 1... Не уверен я в устойчивости скриптового модуля в случае появления цикла:

for i = 1 to 0

Сенк, подправил. Хотя проверить бы надо.
Сделал дело - флуди смело !!!
Post Reply