Перейти к содержимому


KS


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 55

#41 Jarl

Jarl

    Лазанья с Шепардом

  • Employee
  • 7514 сообщений
  • ГородЕкатеринбург

Отправлено 25 August 2014 - 10:58

Можешь сделать как когда-то я: Когда его немного попинают, оно "падает" %сторона света% проверяя на наличие непроходимых турфов и структур спавня в нескольких тайлах по бревну, кучки веток рядом.
ИзображениеИзображение

#42 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 28 August 2014 - 00:06

Господа, есть несколько вопросов
1.Как запилить чтобы это производилось само собой
Скрытый текст
2.как запилить рандомное движение, но не конвульсии, которые у меня сейчас, а вроде патруля.
3.Как сделать проверку на достижение цели в Walk_To?
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н

#43 Jarl

Jarl

    Лазанья с Шепардом

  • Employee
  • 7514 сообщений
  • ГородЕкатеринбург

Отправлено 28 August 2014 - 00:19

1. Само собой? Без костылей тут не уйти. Лучше грамотно вставь этот процесс в открытиезакрытие() двери.
2. Можешь заставить его выбирать рандомное направление и делать рандомное количество шагов. Например так: "сделай rand(3,6) шагов в любом направлении, goto 1"
3. if (target_turf = walker.loc)......
ИзображениеИзображение

#44 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 28 August 2014 - 00:41

окей, все понятно. Спасибо.
Еще 1 вопрос, как сделать одноразовые Verb ?
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н

#45 Jarl

Jarl

    Лазанья с Шепардом

  • Employee
  • 7514 сообщений
  • ГородЕкатеринбург

Отправлено 28 August 2014 - 08:58

proc/MyOnceUseVerb()
    Honk(9000)
    usr.client.verbs -= /proc/MyOnceUseVerb

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

Вроде синтаксис такой (давно не писал, подзабыл). Посмотри в педалевербах ссочки, как то так.
ИзображениеИзображение

#46 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 30 August 2014 - 21:38

/mob/legioner
var/hp = 50
var/manna = 100
name = "Легионер"

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

#47 Jarl

Jarl

    Лазанья с Шепардом

  • Employee
  • 7514 сообщений
  • ГородЕкатеринбург

Отправлено 30 August 2014 - 21:49

Такое ощущение, что ты вовсе ничего не знаешь. Мое видение стартует тут.

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

#48 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 30 August 2014 - 22:20

Мало что я знаю, поэтому пилю что-то свое, чтобы научится.

Просмотр сообщенияJarlo (30 August 2014 - 21:49) писал:

Такое ощущение, что ты вовсе ничего не знаешь. Мое видение стартует тут.

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

#49 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 30 August 2014 - 23:16

Как прилепить небольшое окошко в уголке экрана? Hud Дервен помог, спасибо.
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н

#50 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 31 August 2014 - 01:09

Подкиньте пару простейших скриптов для мобов(движение\убегание), хочу понять как они работают
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н

#51 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 31 August 2014 - 01:51

Разработка временно приостановленна, уезжаю в другой город без инета.
Поэтому сразу парочка реквестов.

1- Как можно сделать НПС торговца? Сама суть, можно без кода
2- Стоит ли  разделять металлы на железо\медь и прочее?
3- Наложение спрайтов друг на друга. (Не обязательно, в F1 вроде бы расписано понятно)
4- как сделать смерть и респавн: через определенное время или через определенного NPC?
6- Подкиньте идеи различной магии.
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н

#52 Macleod962

Macleod962

    oldboy

  • Employee
  • 1851 сообщений
  • ГородScotland
  

Отправлено 04 September 2014 - 20:25

1. Объект с аттакбаем и последующим окном. Ну, знаешь, если это домик или какой-то прилавок и ты щелкаешь по нему пустой рукой, то выводится меню. Окно уже пробуй сделать как в различных РПГ. Слева твои вещички, справа то, что в продаже. Ну, или если он только продает, то делай список. Используй лист, топик. Смотри аттакбай.
2. Стоит.
3. Оверлеи. В Ф1 посмотри, да.
4. Решись как сделать. И вообще, какой? С сохранением инвентаря моба или как? Вообще, используй sleep(), spawn().
И все же, если, скажем, тот же легионер умер, то просто создай нового через какой-то объект. Алтарь, может быть. Но опять же, стратегия? Ты уже придумал как вести счет ресурсам и мобам? Ах, да. Циклы.
5. ???
6. И опять. Не понятно, РТС это или РПГ какая.
Но посмотри в спеллы. Есть полезный фаерболл, есть мисл. Тоже можно посмотреть, полезно. Делай через view().
Опять же, если стратегия и есть различные маги. Допустим, маг огня, какого-нибудь. Тогда, вот:
1) Магический факел.
2) Огненная стрела.
3) Огненный дождь.
Сначала сделай свой-чужой. Раздели на группы. Цвета, например. Будут красные и синие, допустим. Есть у иконок rgb. Смотри в Ф1. Это все надо для исключения массовых убийств среди своих. Хотя, это может быть весело.
1) Проще простого. Если маг в темноте, активирует этот верб. Самому магу просто изменяешь переменную luminosity. Можно еще col_rbg сделать, если имеется цветное освещение. Спустя секунд 20-30, возвращаешь на свои места. Вот. Ну затрата маны и прочее - мелочи и тут дураку понятно.
2) Смотри мисл или фаерболл у того же мага. Можно сделать по такому принципу, а можно чуть иначе, прожектайлом. Тут и нужно свой-чужой, чтобы не проебаться и, маг же моб, ему надо пометить цели, по которым НЕ надо стрелять. И когда пометишь, он будет выборочно в зоне видимости(view) всех херачить этим, вот. Ну, как поджигать цель, говорить не нужно? Лучше сделать свою симуляцию огня на мобе. Это довольно просто, если изучил декременты.
3) Веселая такая штука. Ну, при активации, наносит урон и поджигает всех вокруг, кроме самого мага. Используй range(), чтобы указать радиус. Добавляй различные эффекты. Можно сделать создание объектов в зоне удара с определенными спрайтами. Как только ударят, удаляются. Ну ты понял, да? В общем... Забавнее сделать этот дождь рандомным. Тогда используй еще и prob().
Спеллы делай через верб. Можно и на интерфейсе запилить какую-нибудь красивую книжку, из которой вываливается еще ряд иконок при щелчке. И тогда можно как в скуриме, ну знаешь, поджечь руки и метнуть огонь, а можно просто их поджечь и разжечь... Короче, это сложнее и я так пытаюсь сделать, но так краше. НО! У тебя же стратегия или вроде того, а значит мобам нужны именно вербы.

Такие дела. Вообще, рекомендую послушать других людей, но если поможет хоть как-то, то хорошо.

ONLY COWARDS LIVE FOREVER

Рыбалочка

#53 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 05 September 2014 - 12:28

Спасибо за ответ, пока до ноута доберусь- все обдумаю. И да,про жанр... Опирайтесь на игру маджести, но герои тоже игроки
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н

#54 Jarl

Jarl

    Лазанья с Шепардом

  • Employee
  • 7514 сообщений
  • ГородЕкатеринбург

Отправлено 05 September 2014 - 13:25

Время респавна можно несложно сделать.
Есть такая у мира переменная, как timeofday. Т.е. время СЕЙЧАС.
/mob/soldier
/proc/Death()
        Могу предложить добавить в список StuffToRespawn (сделать игре автотикер, который каждые пять \ десять \ минуту будет чекать этот лист), но это говнокод, лучше придумай вариант эффективнее.
№№Died = true
№№TimeOfDeath = world.timeofday
/proc/Respawn()
№№if(timeofday > TimeOfDeath + 10*secondstorespawn)
№№№Died = false
ИзображениеИзображение

#55 MrNoize

MrNoize

    Не правда

  • Employee
  • 2410 сообщений

Отправлено 26 September 2014 - 19:41

Вкину как я сюда, может кто то что то запидит пока  у меня первокуропроблемы
http://vk.com/doc972...849772d01&api=1
В жизни ведь как? Сначала не везет, не везет, потом КАААААК НЕ ПОВЕЗЕТ и опять не везет, не везет, не везет...©Dzen с форума про Д2Н

#56 Jarl

Jarl

    Лазанья с Шепардом

  • Employee
  • 7514 сообщений
  • ГородЕкатеринбург

Отправлено 27 September 2014 - 18:24

1)
/mob/player/hero
  New(loc, var/CKEY)
    ..()
    ckey = CKEY
    new /obj/hud/armor_tors(src)


obj/hud/armor_tors
  layer =MOB_LAYER
  icon = 'hud.dmi'
  icon_state = "hero_tors"

  New(client/C)
    screen_loc="17,16"
    C.screen+=src

Вот тут тупо.
У штанишек при спавне аргумент - клиент. А ты ему МОБА даешь как аргумент, присмотрись. Тут рантайм. Вместо выделенного нужно поставить "client".

2)
usr << "Извените...

3) Не уверен, что тебе нужен отдельный кусок интерфейса под выбор класса. Поразмысли над тегом <A>, процессами клиента browse() и Topic()

4)move_selected_to() зациклен.
ИзображениеИзображение


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных