| Yoko http://forum.yoko.com.ua/ |
|
| Можно ли задать общую переменную для нескольких скриптов? http://forum.yoko.com.ua/viewtopic.php?f=3&t=7196 |
Page 1 of 1 |
| Author: | Sanch [ 2006-03-30 11:51:21 ] |
| Post subject: | Можно ли задать общую переменную для нескольких скриптов? |
Вот собсно нашел скрипт на мининг где то тут, говарят работает. В это скрипте вначале указаны переменые, не относящиеся к остальным скриптам (sub'ам): Quote: ##################
### Переменные ### ################################################################################################### var Reconnect=1 ## 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект.(не проверял работает или нет с этим скриптом) ### var Food=0 ## - Кушать после сброса руды или нет? 1 - да, 0 - нет. ### var Status=0 ## - Статус руды, показывает скока накопали (для опытных скриптёров) 1 - да, 0 - нет. ### var Chest='0x40011965' ## - ID сундука куда будут выгружаться руду, где должны лежать реги и еда. ### var TypeFood='0x160A' ## - Type еды которую будем кушать.(сейчас фиштейки) ### var CountReg=40 ## - Кол-во регов для подзарядки. ### var OreQty=400 ## - Максимальный вес при котором домой с рудой ### var maxjamp=17 ## - Для рекола (изменять не нужно) var rune=1 ## - Для рекола (изменять не нужно) ################################################################################################### ### Wait - Ждёт сообшения после замаха кирки, чтобы повторить. ## ### Fizzle - Если пришло такое сообшение, то переходим на след. клетку копать. ## ################################################################################################### var Wait1="You put" var Wait2="heavy" var Wait3="location" var Wait4="no ore" var Wait5="but fail" var Wait6="far away" var Wait7="in rock" var Wait8="You can't" var Wait9="nothing here" var Wait10="You have found some" ### var Fizzle1="There is no ore here to mine." var Fizzle2="You can't use the" var Fizzle3="Try mining elsewhere." var Fizzle4="location" ################################################################################################### ################# ### Включалка ### ################# sub Start() If UO.GetGlobal('Maningcheck')=='on' Then UO.SetGlobal('Maningcheck','off') Else UO.Exec('Exec Maning') UO.SetGlobal('Maningcheck','on') EndIf ...... ...... Так вот хотелось бы знать, если указать переменную отдельно (не в скрипте), это как сделано выше, будет ли она работать, можно ли будет ее использовать в других скриптах, можно ли будет ее менять при использовании определенного скрипта? ЗАРАНИЕ СПАСИБО ЗА ИНФУ |
|
| Author: | Grin [ 2006-03-30 12:25:04 ] |
| Post subject: | |
все переменые которые указаны вне скрипта видны и изменяемы в рамках только 1 саба, но этот саб может бвызвать другие сабы и они тоже будут ее видеть. Для каждого саба запущеного ручками создается свое не повторимое пространства скрипта. Общатся между этими пространствами можно только посредством Set(Get)Global Set(Get)Easy + остальные извращаеные варианты для сравнния каждый скрипт в списке защпушеного это отдельный процес который никак не пересекается сдругими... |
|
| Author: | Sanch [ 2006-03-30 12:50:37 ] |
| Post subject: | |
Из выше сказанного я понял следующее, 1 пременная в 2ух скрипт не может использоваться, где бы она не была. Можно по подробней про Set(Get)Global Set(Get)Easy желательно с элементарным примерчиком, в уроках об этом не сказано, буду оч признателен. Просто пишу скрипт под мининг, с телепортацией по разный шахтам, с ходьбой, убийством элемов, сгрузкой, проверкой регов и тд, че то не получается у меня все эти мной написаные скрипты для разных действий между собой работать нормально заставить, ща мучаюсь с телепортом по 5ти шахтам, хочу сделать так чтобы при юзании этого скрипта чар каджый раз телепеотировался по разным рунам, с первой по пятую и так по кругу. хочу примерно следующее: ################## VAR n n = 1 ################## sub teleportation() if n == 1 then телепортация по руне 1 endif if n == 2 then телепортация по руне 2 endif if n == 3 then телепортация по руне 3 endif if n == 4 then телепортация по руне 4 endif if n == 5 then телепортация по руне 5 endif n = n + 1 if n > 5 then n = 1 endif end sub |
|
| Author: | Grin [ 2006-03-30 16:12:23 ] |
| Post subject: | |
1 переменая в двух скриптах запущеных руками это 2 разных переменых... все тут uo.SetGlobal(имя_переменой_строка, значение_переменой_лобое) uo.SetGlobal("perem1", 1) uo.SetGlobal("perem2", "1") uo.GetGlobal(имя_переменой_строка) возвращает всегда строку тоесть uo.SetGlobal("perem1", 1) uo.GetGlobal("perem1") <> 1 uo.GetGlobal("perem1") == "1" |
|
| Author: | Sanch [ 2006-03-30 18:32:19 ] |
| Post subject: | |
Ок, супер, буду пробовать, большое спасибо если не секрет можно ли ee увеличивать * = * + 1, и если можно то как это правельно делать? случайно не uo.setglobal('perem1', 'perem1 + 1') если она предварительно была задана uo.setglobal('perem1', '1') |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|