singapur22
Не подскажешь какой-нить простой рабочий код с функцией loadstring(s)?
никак не могу написать строку s в правильном виде чтобы в итоге она вернулась как функция+наглядный результат работы.
непонятно зачем нужен вот такой вариант assert(loadstring(s)() когда первый и так должен возвращать строку как функцию и загружать ее....
Насчет скрипта сытости - это всего лишь вариант для человека которого задолбала смерть ГГ во сне...меня она тож в симбионе бесила... и соответственно ему решать применять такой паллиатив или нет.
отредактировал(а) erlik: 12-11-2009 20:22 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Товарищи скриптеры посмотрите пожалуйста...
Функция выводящая сообщения о местонахождении через 90 сек. игрового времени...
Правельно или нет?
local tim = game.time()
function coordination()
if (game.time() - tim)>= 90000 then
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Координаты:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nl_vertex= "..vid.."\\ng_vertex_id= "..gvid"\\nEvil Zone by ФеНиКс "
news_manager.send_tip(db.actor, text, nil, nil, 20000)
end
end
erlik Ну дак ктоже так пишет "напечатать"? print -это функция. А значит слово, которое должно печататься, пишется в скобках. И пришиваемые переменные пишутся вне кавычек. Типа так:
n = "okey"
s = "print("..n..")"
f =loadstring(s)
f()
Очуметь. Я ещё помню Lua. Я думал совсем всё перебъётся скриптовым языком Unity.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
да блин я с этими кавычками и скобками задолбался :-) такая вот муть из них и получается когда не там поставишь...
спасибо за поправку.
а че там перебиваться - я так посмотрел у lua дофига функций экспортнутых из других языков.
таже loadstring - только в других языках у нее немного другие аргументы
я щас так многие луашные функции через другие языки смотрю - на lua же внятных примеров применения функций с данными ваще кот наплакал.
а какой в Unity язык?
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Привет кто поможет как сделать так чтоб допустим через каждые 3,4 минуты сталкеры слали сообщения это что то наподобие как в моде амк. И еще в моде амк где там взять короче алкогольную зависимость
erlik Это верно, в основном пользуются C#. Скорее всего, потомучто его хорошо знают. Но я юзаю js. Точнее он не JavaScript, скорее помесь этих самых трёх языков (C#, Boo, JavaScript). Но гораздо проще, чем они по раздельности. Он и является индивидуальным языком Unity. Кстати, к нему есть подробный мануал, с точными примерами и возможными действиями. Хоть он и на английском, но там всё понятно с первого взгляда, и переводчик не всегда нужен.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
function f(obj,a,lv,gv)
obj = obj:section()
a = vector()
lv = level_vertex_id()
gv = game_vertex_id()
loadstring("alife():create(.."obj"..,.."a.x"..,.."y.x"..,.."z.x"..,.."lv"..,.."gv"..)")()
end
f(arg) --где вместо arg передаем все нужные значения - и вызываем нашу функцию
и надо ли запятые в кавычки ставить?
рановато мне еще в другие языки лезть - с lua бы разобраться чтобы можно было на нем программы писать, а там уж можно и за С# браться и за PHP и PERL и делфи :-) (они мне пока заинтересовали)
отредактировал(а) erlik: 12-11-2009 22:36 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
так баловоство:-) ее ведь можно использовать для передачи переменных при спавне и не писать каждый раз новую функцию длиной в несколько строк - а всего одну строку. экономия :-)
так я в одном примере видел- там в кавычки запятые не ставились
ты уверен?
loadstring("alife():create(..obj..,..a.x..,..y.x..,..z.x..,..lv..,..gv..)")()
вот пример
local f, err = loadstring("return function (arg) " .. str .. " end", name or str)
и вот f=loadstring( ' print("X:",arg.x," Y:",arg.y ) ')
добавлено спустя 3 минут
или ее надо типа так пришивать .."%,".. ?
отредактировал(а) erlik: 12-11-2009 22:46 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Как ты не поймёшь. В print, как ты мог заметить, значения не пришиваются, а просто указываются через запятую. Пришивка производится через двоеточие. При этом двоеточие и переменные указываются вне кавычек, всё остальное пишется в кавычках. Это относится к работе со строками.
На сегодня всё. Я в люлю. Всем спокойной ночи.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
[H.O.Y]
зайди на сайт АМК - там есть тема "справочник по функциям и классам" - это тема по функциям и классам сталкера
_http://www.amk-team.ru/forum/index.php?showtopic=7450
скачай наконец руководство по lua
_http://www.lua.ru/doc/1.html -- страничка с введением
в билде 1935 также есть тутор от разрабов сталкера по разным функциям
это - основа.
остальные пояснения по lua ищи сам в инете - я себе нашел штук 20 разных статей за три-четыре месяца изучения lua
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
function main_menu:OnButton_credits_clicked()
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Позиция:\nX= "..a.x.."\nY= "..a.y.."\nZ= "..a.z.."\nlevel_vertex= "..vid.."\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
Вписываешь в ui_main_menu.script (gamedata/scripts)
В игре выходишь в меню и нажимаешь на "титры". После чего сразу в игру. Там придет сообщение.
Хорошо смеется тот , кто стреляет первым.
S.T.A.L.K.E.R. 1st mini-mod вышел=) скачать в журнале.
ребят, я декомпилировал олл.спавн, поправит там позицыю спавна актора, и его вещи. так вот. скомпилировал, пихнул в игру. спавнится он почемуто на старом месте, а вещи как я прописал, такие и лежат. в чем дело??
создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
singapur22
насчет вчерашнего диалога о функции loadstring
вот здесь ничего пришивать не надо
n = "okey"
s = "print("..n..")"
f =loadstring(s)
правильный вариант такой :-)
n = "okey"
loadstring("print(n)")()
С loadstring я разобрался - там вообще оказывается не надо пришиванием (как я думал вначале) заниматься, кроме каких то особых случаев ... типа когда к строке с операторами надо добавить новую строку или переменную.
вот так можно через loadstring одну таблицу переписать в другую с заменой значения
t ={}
tt = {1,2,3,4,5,6,7,8,9,10}
x = 100
loadstring("for k, v in ipairs (tt) do table.insert(t,v) end for i, j in ipairs(t) do rawset(t,5,x) print(j) end")()
только практической ценности этой функции пока не увидел - разве что он удобна как конструктор функций... щас вот развлекаюсь с ней
rawget() мне непонятна - зачем она если доступ по ключу можно ведь получить через x = t[k]
rawset() другое дело - нужная функция
и с next() ниче не придумал кроме как проверять таблицу if next(t)== nil then
А ты lua вообще забросил увлекшись js :-)?
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.