Архив сообщества
2011 — 2019
Аватар MrNoize

KS

Автор: MrNoize · 13.07.2014, 14:23 · 56 сообщений

Сообщений в теме: 56

MrNoize#26
Кто может взять файлы и затестить их?
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
MrNoize#27
как заставить моба идти к чему-то? Через Walk


/mob/AI/lumberjack
    icon_state = "lumberjack"
    verb
        SMASH()
            set src in view(1)
            lumberjacks = lumberjacks - 1
            del src
        Cut()
            set src in view(1)
            Move(tree,0,0,0)

Надо двигаться к ближайшему tree
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
tizit#28
Кинь сюда файлы, кто-нибудь да затестит.
0
Спойлер
Цитата
Собственно, форумные кукаретики как всегда в ударе и извернули всё так, как им удобно.
Скопировать ссылку
Jarl#29
Простейший для осмысления пример.

/mob/AI/lumberjack
var/turf/Home
var/wood = 0

New(loc)
  Home = loc

verb
       Delete()
           set src in view(1)
           jumberjacks--
           Del()

        Work()//На работку!
           set src in view(1)
           for(var/obj/tree/T in range(src,5))
              walk_to(src,T)//Проверь синтаксис
              Cut(T)
              if(wood >= 30)break
           if(Home)walk_to(src,Home)


    proc/Cut(var/obj/tree/T)
           if(T)//check
              while(wood < 30 && T.HasWoodIn)
                      wood++
                      T.HasWoodIn
               if(!T.HasWoodIn) T.Del()

//Если в дереве кончилось дерево - прекратить и удалить
0
ИзображениеИзображение
Скопировать ссылку
MrNoize#30
Я не смог заставить его даже идти к дереву, может наглядно сможете помочь.
http://rghost.ru/57007545
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
Jarl#31
walk_to(src,/obj/tree,0,0,0)
Мне кажется, что это не будет работать. Волк-ту принимает два предмета (моувбл атом), их же обрабатывает. Ты же дал ему предмет и адреспредмета. Смекаешь?
0
ИзображениеИзображение
Скопировать ссылку
MrNoize#32
надо переменную захуячить?
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
MrNoize#33
Как сделать рандомопоявление деревьев? Самое простое: есть переменная- количество деревьев, они рандомно спаунятся в турфах травы
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
MrNoize#34
Вопрос 2: как узнать координаты объекта? ну например
obj/xynta
=xynta.x=5
=xynta.y=8
==if ( var/brashka == 5) xynta.z = 2
==else repeat

= это таб
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
Jarl#35
MrNoize (31 July 2014 - 08:04) писал: писал:
Как сделать рандомопоявление деревьев? Самое простое: есть переменная- количество деревьев, они рандомно спаунятся в турфах травы
for(var/i; i < amount+1; i++)
tabnew /obj/tree/(locate(rand(1,world.maxx), rand(1,world.maxy), 1))


Как сделать спавн лишь на турфе травы без толстых костылей мне в голове не приходит. Можешь сделать проверку if(!istype(tree.loc,/turf/grass)) i-- .
Не забудь проверку на наличие дерева в том тайле.

MrNoize (31 July 2014 - 08:11) писал: писал:
loc - переменная вектор в трех измерениях.
Из нее можно выудить координаты так:
if(something.X == 5) something.X = 2
1
ИзображениеИзображение
Скопировать ссылку
MrNoize#36
Jarlo (31 July 2014 - 08:50) писал: писал:
for(var/i; i < amount+1; i++)
tabnew /obj/tree/(locate(rand(1,world.maxx), rand(1,world.maxy), 1))
Попробую потом это в list запихнуть, спасибо. Как будет время- проверю
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
Guap6512#37
Заинтересовался в этом проджекте, сегодня полдня ковырял, пока без интернета сидел. Буду помогать по мере сил.
0
Изображение
Скопировать ссылку
MrNoize#38
winshow(src,"Spawn",show=0)

code\mobs.dm:16:error: winshow: expected 2 to 3 arguments (found 1)

ЧЯДНТ?
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
MrNoize#39
Еще вопросик, как можно по-красивому реализовать рубку дерева? ВОт есть 3 моих варианта
1- Дерево, у дерева есть определенная переменная WOOD.
Лесорубы берут потихоньку из дерева ресурсы и когда WOOD == 0 дерево удаляется
2- У дерева есть Hits и когда лесорубы подходят Hits --, и рандомно спаунится от 1 до 2 итемов дерева
3.- У дерева есть HP когда HP == 0 дерево ломается, спавня после себя рандомное количество итемов дерева
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
Jarl#41
Можешь сделать как когда-то я: Когда его немного попинают, оно "падает" %сторона света% проверяя на наличие непроходимых турфов и структур спавня в нескольких тайлах по бревну, кучки веток рядом.
0
ИзображениеИзображение
Скопировать ссылку
MrNoize#42
Господа, есть несколько вопросов
1.Как запилить чтобы это производилось само собой
Спойлер
proc/test_open()
   if(src.open == 0) icon_state = "tonnel_open"
   else icon_state = "tonnel_close"
2.как запилить рандомное движение, но не конвульсии, которые у меня сейчас, а вроде патруля.
3.Как сделать проверку на достижение цели в Walk_To?
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
Jarl#43
1. Само собой? Без костылей тут не уйти. Лучше грамотно вставь этот процесс в открытиезакрытие() двери.
2. Можешь заставить его выбирать рандомное направление и делать рандомное количество шагов. Например так: "сделай rand(3,6) шагов в любом направлении, goto 1"
3. if (target_turf = walker.loc)......
1
ИзображениеИзображение
Скопировать ссылку
MrNoize#44
окей, все понятно. Спасибо.
Еще 1 вопрос, как сделать одноразовые Verb ?
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
Jarl#45
proc/MyOnceUseVerb()
    Honk(9000)
    usr.client.verbs -= /proc/MyOnceUseVerb

Client/New()
   ..()
   src.verbs += /proc/MyOnceUseVerb

Вроде синтаксис такой (давно не писал, подзабыл). Посмотри в педалевербах ссочки, как то так.
0
ИзображениеИзображение
Скопировать ссылку
MrNoize#46
/mob/legioner
var/hp = 50
var/manna = 100
name = "Легионер"

Как заспавнить этого же легионера, но с увеличенным ХП и другим name?
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
Jarl#47
Такое ощущение, что ты вовсе ничего не знаешь. Мое видение стартует тут.

В синтаксисе у процессов есть СКОБКИ "( )".
В них пишутся аргументы.
При объявлении процесса можно в скобках var'ать свои аргументы.
Например так
/mob/legioner
    New(loc, var/HP, var/Name)
         ..()
         hp = hp; name = Name
0
ИзображениеИзображение
Скопировать ссылку
MrNoize#48
Мало что я знаю, поэтому пилю что-то свое, чтобы научится.

Jarlo (30 August 2014 - 10:49) писал: писал:
Такое ощущение, что ты вовсе ничего не знаешь. Мое видение стартует тут.

В синтаксисе у процессов есть СКОБКИ "( )".
В них пишутся аргументы.
При объявлении процесса можно в скобках var'ать свои аргументы.
Например так
/mob/legioner
New(loc, var/HP, var/Name)
..()
hp = hp; name = Name
ЯРЛО, ты даже не представляешь как ты помог мне своим ответом. Ты помог мне заложить фундамент мультиплеера
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
MrNoize#49
Как прилепить небольшое окошко в уголке экрана? Hud Дервен помог, спасибо.
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку
MrNoize#50
Подкиньте пару простейших скриптов для мобов(движение\убегание), хочу понять как они работают
0
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н
Скопировать ссылку

Обратно в Кодинг