Yoko

All sides of Injection
It is currently 2026-02-17 13:14:03

All times are UTC+02:00




Post new topic  Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Синтаксис if
PostPosted: 2005-03-02 12:03:48 
Offline

Joined: 2004-06-30 07:01:21
Posts: 20
Можно ли после условного оператора if операторы условия писать в столбик, например:

if
условие 1
условие 2
условие 3
...
условие n
then
оператор 1
оператор 2
оператор 3
...
оператор m
else
оператор 1
оператор 2
оператор 3
...
оператор k
end if

Вопрос жизни и смерти =)


Top
   
 Post subject:
PostPosted: 2005-03-02 12:18:49 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Ты это хотел получить?
Code:
If Us1 Then
   Op1
Else
   If Us2 Then
      Op2
   Else
      If Us3 Then
         Op3
      Else
      Endif
   Endif
Endif


или это?
Code:
If Us1 Then
   Op1
Else
   Op1-1
Endif

If Us1 Then
   Op2
Else
   Op2-1
Endif

If Us1 Then
   Op3
Else
   Op3-1
Endif


Top
   
 Post subject:
PostPosted: 2005-03-02 12:25:00 
Offline

Joined: 2004-06-30 07:01:21
Posts: 20
Ни то ни то
Я хотел спросить, можно ли записывать операторы условия не в строчку
if (условие 1) OR (условие 2) OR (условие 3) ...(условие n) then
а в столбик
if
условие 1
условие 2
условие 3
...
условие n
then


Top
   
 Post subject:
PostPosted: 2005-03-02 12:29:14 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Да можно символ \ спробелом перед ним - перевести на другою строку продолжение этой. Но автор говорит, что лучше не использовать.


Top
   
 Post subject:
PostPosted: 2005-03-02 12:35:04 
Offline

Joined: 2004-06-30 07:01:21
Posts: 20
А поподробнее можно насчёт символа \ ??

Просто у меня в скрипте на мининг идёт проверка на последнее сообщение журнала:

if (uo.LastMessage()=="Where do you want to use the Rose pickaxe crafted by Tomas") ...(условий на 4 строчки скрипта) OR (uo.LastMessage()=="You must wait to perform another action") OR (uo.LastMessage()=="You loosen some rocks but fail to find any useable ore.") then

при попытке запустить скрипт с такой "строкой =)" выдаёт ошибку в последней строке (перенесённого текста) Parse Error. Если условие закоментировать-то всё в порядке. То есть ошибка где-то в нём, как я подозреваю из-за переноса слов и букв одного слова на другую строку...


Top
   
 Post subject:
PostPosted: 2005-03-02 12:46:01 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1964
Quote:
if (uo.LastMessage()=="Where do you want to use the Rose pickaxe crafted by Tomas") OR (uo.LastMessage()=="Where do you want to use the Rose pickaxe?") OR (uo.LastMessage()=="Tomas: You have hidden yourself well") OR (uo.LastMessage()=="You put the iron ores in your pack.") OR (uo.LastMessage()=="You put the iron ore in your pack.") OR (uo.LastMessage()=="You put the Stone ores in your pack.") OR (uo.LastMessage()=="You put the Stone ore in your pack.") OR (uo.LastMessage()=="You put the Clay ores in your pack.") OR (uo.LastMessage()=="You put the Clay ore in your pack.") OR (uo.LastMessage()=="You put the Rusty ores in your pack.") OR (uo.LastMessage()=="You put the Rusty ore in your pack.") OR (uo.LastMessage()=="You put the Old Copper ores in your pack.") OR (uo.LastMessage()=="You put the Old Copper ore in your pack.") OR (uo.LastMessage()=="You put the Dull Copper ores in your pack.") OR (uo.LastMessage()=="You put the Dull Copper ore in your pack.") OR (uo.LastMessage()=="You put the Bronze ores in your pack.") OR (uo.LastMessage()=="You put the Bronze ore in your pack.") OR (uo.LastMessage()=="You put the Sandstone ores in your pack.") OR (uo.LastMessage()=="You put the Sandstone ore in your pack.") OR (uo.LastMessage()=="You put the Marble ores in your pack.") OR (uo.LastMessage()=="You put the Marble ore in your pack.") OR (uo.LastMessage()=="You put the Copper ores in your pack.") OR (uo.LastMessage()=="You put the Copper ore in your pack.") OR (uo.LastMessage()=="You put the Rose ores in your pack.") OR (uo.LastMessage()=="You put the Rose ore in your pack.") OR (uo.LastMessage()=="You put the Shadow ores in your pack.") OR (uo.LastMessage()=="You put the Shadow ore in your pack.") OR (uo.LastMessage()=="You put the Silver ores in your pack.") OR (uo.LastMessage()=="You put the Silver ore in your pack.") OR (uo.LastMessage()=="You put the Golden ores in your pack.") OR (uo.LastMessage()=="You put the Golden ore in your pack.") OR (uo.LastMessage()=="You loosen some rocks but fail to find any useable ore.") OR (uo.LastMessage()=="You put the Agapite ores in your pack.") OR (uo.LastMessage()=="You put the Agapite ore in your pack.") OR (uo.LastMessage()=="You put the Blood Rock ores in your pack.") OR (uo.LastMessage()=="You put the Blood Rock ore in your pack.") OR (uo.LastMessage()=="You put the Verite ore in your pack.") OR (uo.LastMessage()=="You put the Verite ores in your pack.") OR (uo.LastMessage()=="You put the Valorite ore in your pack.") OR (uo.LastMessage()=="You put the Valorite ores in your pack.") OR (uo.LastMessage()=="You are starving") OR (uo.LastMessage()=="") OR (uo.LastMessage()=="You are hungry") OR (uo.LastMessage()=="You put the Mytheril ore in your pack.") OR (uo.LastMessage()=="You put the Mytheril ores in your pack.") OR (uo.LastMessage()=="You put the Lava ore in your pack.") OR (uo.LastMessage()=="You put the Lava ores in your pack.") OR (uo.LastMessage()=="World save has been initiated.") OR (uo.LastMessage()=="Try mining in rock.") OR (uo.LastMessage()=="Server is being PAUSED for Resync.") OR (uo.LastMessage()=="Resync Complete!") OR (uo.LastMessage()=="You put the Black Rock ore in your pack.") OR (uo.LastMessage()=="You put the Black Rock ores in your pack.") OR (uo.LastMessage()=="You put the Crystal ore in your pack.") OR (uo.LastMessage()=="You have been revealed") OR (uo.LastMessage()=="Giant Spider") (uo.LastMessage()=="You put the Crystall ores in your pack.") OR (uo.LastMessage()=="There is no ore here to mine.") OR (uo.LastMessage()=="You are starving.") OR (uo.LastMessage()=="Tomas: Kal Ort Por ") OR (uo.LastMessage()=="You enter a meditative trance.") OR (uo.LastMessage()=="You are very hungry") OR (uo.LastMessage()=="Tomas: You have hidden yourself well") OR (uo.LastMessage()=="Hind") OR (uo.LastMessage()=="You must wait to perform another action") OR (uo.LastMessage()=="You loosen some rocks but fail to find any useable ore.") then


а с головой ты точно дружен???

if uo.injournal("Where do|You put the|You|Resync|rock|revealed|no ore|Ort|trance|very|hidden|Hind") then
uo.deletejournal()
...
end if


Top
   
 Post subject:
PostPosted: 2005-03-02 12:51:05 
Offline

Joined: 2004-06-30 07:01:21
Posts: 20
Хм...осмысляет =)

А ещё, если использовать UO.LastMessage() можно ли использовать куски фраз так же как с UO.InJournal("You put"), или только фразы целиком??


Top
   
 Post subject:
PostPosted: 2005-03-02 12:52:15 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Дословно: \ - продолжение строчки переходит на следующую, перед \ должен стоять пробел!!! Нельзя пихать в середину слова!!! Да и вообще, лучше не использовать.


Top
   
 Post subject:
PostPosted: 2005-03-02 12:57:44 
Offline

Joined: 2004-06-30 07:01:21
Posts: 20
Yoko wrote:
Quote:
а с головой ты точно дружен???

if uo.injournal("Where do|You put the|You|Resync|rock|revealed|no ore|Ort|trance|very|hidden|Hind") then
uo.deletejournal()
...
end if

Не всегда =)

А через такие разделители можно писать, или ты для сокращения так??


Top
   
 Post subject:
PostPosted: 2005-03-02 12:58:22 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1964
shnur wrote:
Хм...осмысляет =)

А ещё, если использовать UO.LastMessage() можно ли использовать куски фраз так же как с UO.InJournal("You put"), или только фразы целиком??


uo.[yhlp_LastMessage] возвращает тебе текст. Оператора частичного сравнения двух текстов нет.

shnur wrote:
А через такие разделители можно писать, или ты для сокращения так??


начиная с некоторой версии через вертикальную черту.
для более старых версий - та же бодяга через OR, но всё равно она будет на порядок короче твоего паровоза


Top
   
 Post subject:
PostPosted: 2005-03-02 13:03:37 
Offline

Joined: 2004-06-30 07:01:21
Posts: 20
501.22 Надеюсь подойдёт...


Top
   
 Post subject:
PostPosted: 2005-03-02 13:47:57 
Offline

Joined: 2004-06-30 07:01:21
Posts: 20
Подскажите, а когда я делаю UO.DeleteJournal() в самом клиенте я увижу что он очистился, или только инжа среагирует??


Top
   
 Post subject:
PostPosted: 2005-03-02 17:22:20 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1964
к клиентскому журналу инжектовский никакого отношения не имеет

,[yhlp_showjournal]


Top
   
 Post subject:
PostPosted: 2005-03-05 13:49:22 
Offline

Joined: 2004-06-30 07:01:21
Posts: 20
if UO.InJournaL("You loosen") OR UO.InJournaL("no ore hire to mine") OR UO.InJournaL("hide") OR UO.InJournaL("Spider") OR UO.InJournaL("hidden") OR UO.InJournaL("Ort") OR UO.InJournaL("fizzle") OR UO.InJournaL("Tipok") OR UO.InJournaL("rocks") OR UO.InJournaL("You put") OR UO.InJournaL("Resync") OR UO.InJournaL("World save") OR UO.InJournaL("revealed") OR UO.InJournaL("You must") OR UO.InJournaL("You are") OR UO.InJournaL("Try") OR UO.InJournaL("Where do") OR UO.InJournaL("trance") OR UO.InJournaL("rune") then

Вот такая строка и вот такая

if UO.InJournaL("You loosen|There is no|Hide|Spider|hidden|Ort|fizzle|Tipok|rocks|You put|Resync|World save|revealed|You must|You are|Try|Where do|trance|rune") then


не выдают ошибок, но и условие не проверяется...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 14 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited