Архив сообщества
2011 — 2019
Аватар 12xilluks или Albert Xill

Мелкие вопросы по теме

Автор: 12xilluks или Albert Xill · 15.02.2013, 16:24 · 352 сообщений

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

longbow#52
DemodiX (22 June 2013 - 21:03) писал:

Так, ну все вроде понятно, а где мне посмотреть полную иерархию всех классов?

Нужно собственноручно писать скрипт.

Частично есть во вкладке Object.

Скопировать ссылку
DemodiX#53
longbow (23 June 2013 - 00:20) писал:

Нужно собственноручно писать скрипт.

Частично есть во вкладке Object.

Ну посмотрим.

Скопировать ссылку
gerrCrazzy#54
  • Что означает код:

    /obj/item/weapon/crossbow/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)
    
    

    И можно ли уточнять в такой конструкции тип(например, mob/living/carbon)?

    Почему не /mob|/obj|/turf|/area?

    В каких случаях можно опускать первый слеш?

  • Где почитать про функцию(?) spawn и по каким правилам происходит захват переменных/значений?

  • Есть ли названия для встроенных типов, таких как числа и строки?

  • Кто вызывает /process()? Бийонд или движок ссочки?

Скопировать ссылку
DemodiX#55

gerrCrazzy (23 June 2013 - 18:09) писал:

  1. Это похоже на простое создание функции. Первое до скобки - имя, после скобки переменные.
Скопировать ссылку
gerrCrazzy#56

Скрытый текст

DemodiX (23 June 2013 - 23:24) писал:

  1. Это похоже на простое создание функции. Первое до скобки - имя, после скобки переменные. Это понятно, интересно какого типа будут аргументы target и user, да и вообще общий смысл такой вот котструкции. Или вот еще объявление фукции: Цитатаgive(mob/receiver as mob in oview(1)) И еще мозговыносящая строчка в функции: Цитатаset src in oview(1)

Уже неактуально, ну странный этот ваш бйонд, давно такой забористой смеси мух с котлетами не видел.

Скопировать ссылку
12xilluks или Albert Xill#61
ZLOFENIX (14 July 2013 - 13:53) писал:

HTML

Остался только один вопрос. Как заставить ссылку вызывать функцию? Сейчас я делаю это очень криво и через постоянные циклы проверки переменной, которую можно таки изменить ссылкой. А нельзя реализовать это нормально?

Скопировать ссылку
ZLOFENIX#62

Как это в реальности не помню, но помню куски ссылок забитых текстом.

Если переменную можно сохранить - сохрани.

Если переменная входит в какой-то параметр - не пиши переменную.

Всегда проверяй переменные от клиента, иначе будет текущий багопиздец.

Скопировать ссылку
Editor TEH Chaos-neutral#63
Цитата

Что означает

:

/obj/item/weapon/crossbow/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)

И можно ли уточнять в такой конструкции тип(например, mob/living/carbon)?

Почему не /mob|/obj|/turf|/area?

В каких случаях можно опускать первый слеш?

Да, можно.

/mob/living/carbon/N as mob

Потому что as тут относиться к нативному типу данных. area, obj, mob, turf, num, null.

Слеш опускается только там, где он подразумевается, лол. В блоках var, proc, например. Обязательно его надо писать, указывая путь к какому-либо объекту.

var

  obj/item/shit/S

proc

  noway()

Но:

var/obj/item/shit/S

и

/obj/item/shit/var/S

Цитата

Где почитать про функцию(?) spawn и по каким правилам происходит захват переменных/значений?

http://www.byond.com...tml#/proc/spawn

spawn(0) или spawn() исполнит код после выполнения всего остального кода.

Переменные метода, вызвавшего spawn копируются в блок вызванного кода и действуют отдельно, но изменение переменных объектов будут видны с обоих сторон.

Цитата

Есть ли названия для встроенных типов, таких как числа и строки?

num, text, null

Цитата

Движок. Окромя Stat() объекты не имеют иных периодически вызываемых методов.

Скопировать ссылку
Riddick#64

Как только запускаю дронов, в консоли ДД начинает спамить этим:

  source file: ed209bot.dm,365

runtime error: Cannot read null.len

proc name: process (/obj/machinery/bot/ed209/process)

Потом(через пару часов или больше) все благополучно виснет.  Замечено это хулиганство на дронах-уборщиках и на охранных.

Т.е. он не может в алгоритме поведения прочитать какую-то переменную, как я понимаю. Помогите навести порядок, я еще не сильно раздупляю код.

Upd

еще такое:

source file: effect_system.dm,213

runtime error: Cannot execute null.delete().

proc name: start (/datum/effect/effect/system/spark_spread/start)

и такое:

source file: life.dm,1061

runtime error: Cannot read null.overlays

proc name: handle regular hud updates (/mob/living/carbon/human/proc/handle_regular_hud_updates)

Что-то где-то не так. Такое ощущение, как-будто какой-то библиотеки нет.

Скопировать ссылку
tizit#65
Riddick (25 July 2013 - 02:47) писал:

Как только запускаю дронов, в консоли ДД начинает спамить этим:

source file: ed209bot.dm,365

runtime error: Cannot read null.len

proc name: process (/obj/machinery/bot/ed209/process)

Потом(через пару часов или больше) все благополучно виснет.  Замечено это хулиганство на дронах-уборщиках и на охранных.

Т.е. он не может в алгоритме поведения прочитать какую-то переменную, как я понимаю. Помогите навести порядок, я еще не сильно раздупляю код.

Upd

еще такое:

source file: effect_system.dm,213

runtime error: Cannot execute null.delete().

proc name: start (/datum/effect/effect/system/spark_spread/start)

и такое:

source file: life.dm,1061

runtime error: Cannot read null.overlays

proc name: handle regular hud updates (/mob/living/carbon/human/proc/handle_regular_hud_updates)

Что-то где-то не так. Такое ощущение, как-будто какой-то библиотеки нет.

source file: ed209bot.dm,365

runtime error: Cannot read null.len

proc name: process (/obj/machinery/bot/ed209/process)

Ошибка получения длинны листа. Файл ed209bot.dm. Ошибка возникает в проке /obj/machinery/bot/ed209/process.

Сам листы пытаюсь понять, могу предположить, что при создании листа объектов не указана его длинна, и поэтому она null, как и весь лист. Можно указывать нулевую длинну, потом она при добавлении объектов увеличивается сама.

или дело может быть не в листе, хотя len имеют только они

В общем, proc name - это тот прок в котором ошибка, а source file - файл в котором ошибка. Лезешь в файл, там находишь этот прок и смотришь, что он делает.

Скопировать ссылку
alkoz#66

Посоны, интересный вопрос. Пилю танцпол, например. Как оно выглядит в ДМ:

Изображение

А во время теста -

Изображение

Кто-нибудь может сказать, в чем проблема, и как с этим бороться?

Скопировать ссылку
alkoz#68

Ладно, я спрошу по-другому.

Вот код светопола:

/turf/simulated/floor/light

name = "Light floor"

luminosity = 5

icon_state = "light_on"

floor_tile = new/obj/item/stack/tile/light

New()

floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well.

var/n = name //just in case commands rename it in the ..() call

..()

spawn(4)

if(src)

update_icon()

name = n

На что мне следует обратить внимание? И что мне следует сделать?

Скопировать ссылку
LethalGhost#69
alkoz (06 October 2013 - 18:42) писал:

Ладно, я спрошу по-другому.

Вот код светопола:

/turf/simulated/floor/light

На что мне следует обратить внимание? И что мне следует сделать?

Там будет:

turf/simulated/floor/proc/update_icon() - Эта штука вызывается при появлении пола там, где я указал.

... - ненужная часть

else if(is_light_floor()) - если это светящийся пол

var/obj/item/stack/tile/light/T = floor_tile

if(T.on)  - если он включен

switch(T.state)  - в зависимости от переменной state будет следующее <- Тут вся твоя проблема

if(0)- State = 0, то пол станет обычным<- Конкретно - этот случай

icon_state = "light_on"

SetLuminosity(5)

if(1) - State = 1, то пол станет рандомным из light_on_flicker(число от 1 до 4)

var/num = pick("1","2","3","4")

icon_state = "light_on_flicker[num]"

SetLuminosity(5)

if(2) - State = 2, то пол получит иконку сломаного

icon_state = "light_on_broken"

SetLuminosity(5)

if(3) - State = 3, то иконка будет как у выключенного пола.

icon_state = "light_off"

SetLuminosity(0)

else - если пол выключен то он получит иконку выключенного пола

SetLuminosity(0)

icon_state = "light_off"

... - еще одна ненужная часть

Что делать? Можно попробовать изменить переменную state на 4, например. Или переписать update_icon().

Скопировать ссылку
alkoz#70
LethalGhost (06 October 2013 - 21:41) писал:

Там будет:

turf/simulated/floor/proc/update_icon()

Что делать? Можно попробовать изменить переменную state на 4, например. Или переписать update_icon().

ВОТ ОН, ВОТ ОН ОТВЕТ МОЕЙ МЕЧТЫ!

Добра тебе.

Скопировать ссылку
Hypela#71

Решил написать свой дробовик с нуля, накодил пули, сам дробовик, в тесте оказалось, что пули, которые вылетают после выстрела (дробовик помповый) имеют ту же текстурку и их снова можно зарядить и ОНИ БУДУТ СТРЕЛЯТЬ. Так вот, как сделать смену иконки пули на гильзу (она отдельная) и почему пули можно снова  зарядить?

Скопировать ссылку
Копиц#72

Я предполагаю, что нужно посмотреть код обычного дробовика и сравнить его с твоим кодом, после чего скопипасти нужное и немного изменить.

Скопировать ссылку
TestUnit#74

Упарывался ли кто-нибудь с добавлением новых слотов для персонажа? Имеется идея и была пара попыток её реализации, но вывести на HUD всё это дело не коим образом не получалось. Старался делать даже как по типу банального слота для комбинезона но возможно что-то упустил. Есть люди которые могут подсказать\направить на путь истинный?

Скопировать ссылку
Jarl#75
TestUnit (23 November 2013 - 13:51) писал:

Упарывался ли кто-нибудь с добавлением новых слотов для персонажа? Имеется идея и была пара попыток её реализации, но вывести на HUD всё это дело не коим образом не получалось. Старался делать даже как по типу банального слота для комбинезона но возможно что-то упустил. Есть люди которые могут подсказать\направить на путь истинный?

Анальный слот?

А на деле это ебанная ебля. Вы там на блэках кажется ведь ухо вернули - делай третье ухо, но измени название, лол.

Скопировать ссылку

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