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


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

code ss13

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

#61 12xilluks или Albert Xill

12xilluks или Albert Xill

    Ветеран космонавтики

  • Employee
  • 4647 сообщений
  • Byond:12xilluks
  • Discord:12xilluks#1912
  • Городпобратим

Отправлено 15 July 2013 - 07:15

Просмотр сообщенияZLOFENIX (14 July 2013 - 23:53) писал:

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

#62 ZLOFENIX

ZLOFENIX

    Генерал пальма

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

Отправлено 15 July 2013 - 20:45

Как это в реальности не помню, но помню куски ссылок забитых текстом.
Если переменную можно сохранить - сохрани.
Если переменная входит в какой-то параметр - не пиши переменную.
Всегда проверяй переменные от клиента, иначе будет текущий багопиздец.


#63 Editor TEH Chaos-neutral

Editor TEH Chaos-neutral

    ­­­­­­­­­­

  • Detective
  • 4964 сообщений
  

Отправлено 16 July 2013 - 09:39

Цитата

Что означает код:

/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

Цитата

  • Кто вызывает /process()? Бийонд или движок ссочки?
Движок. Окромя Stat() объекты не имеют иных периодически вызываемых методов.

#64 Riddick

Riddick

    Ассистент

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

Отправлено 25 July 2013 - 12: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)

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

#65 tizit

tizit

    /\_/\

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

Отправлено 29 July 2013 - 01:22

Просмотр сообщенияRiddick (25 July 2013 - 12: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 - файл в котором ошибка. Лезешь в файл, там находишь этот прок и смотришь, что он делает.
Скрытый текст

#66 alkoz

alkoz

    Hevi

  • Employee
  • 6401 сообщений
  • Discord:alkoz
     

Отправлено 30 September 2013 - 23:59

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

Изображение

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

Изображение

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

#67 Jarl

Jarl

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

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

Отправлено 01 October 2013 - 09:14

Смотри в код светоплит, люк.
ИзображениеИзображение

#68 alkoz

alkoz

    Hevi

  • Employee
  • 6401 сообщений
  • Discord:alkoz
     

Отправлено 07 October 2013 - 04:42

Ладно, я спрошу по-другому.
Вот код светопола:

/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


На что мне следует обратить внимание? И что мне следует сделать?
Изображение
Скрытый текст

#69 LethalGhost

LethalGhost

    Ветеран космонавтики

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

Отправлено 07 October 2013 - 07:41

Просмотр сообщенияalkoz (07 October 2013 - 04:42) писал:

Ладно, я спрошу по-другому.
Вот код светопола:

/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


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


Там будет:

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().

#70 alkoz

alkoz

    Hevi

  • Employee
  • 6401 сообщений
  • Discord:alkoz
     

Отправлено 07 October 2013 - 19:54

Просмотр сообщенияLethalGhost (07 October 2013 - 07:41) писал:

Там будет:

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().

ВОТ ОН, ВОТ ОН ОТВЕТ МОЕЙ МЕЧТЫ!
Добра тебе.
Изображение
Скрытый текст

#71 Hypela

Hypela

    Заслуженный космонавт

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

Отправлено 07 November 2013 - 16:27

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

#72 Копиц

Копиц

    Твой Бро

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

Отправлено 07 November 2013 - 17:43

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

#73 Hypela

Hypela

    Заслуженный космонавт

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

Отправлено 07 November 2013 - 18:25

Копипастил, он перестаёт жрать свои патроны, совсем.
River Springs смотрит в стену с ненавистью
Комбат аутист ис аривед.

#74 TestUnit

TestUnit

    Вскрываю Искхи как шампанское

  • Employee
  • 3017 сообщений
  • Discord:TestUnit#1075
  • ГородАзжол-Неруб
     

Отправлено 23 November 2013 - 23:51

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

#75 Jarl

Jarl

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

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

Отправлено 24 November 2013 - 07:48

Просмотр сообщенияTestUnit (23 November 2013 - 23:51) писал:

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

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

#76 ACCount

ACCount

    Ветеран космонавтики

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

Отправлено 24 November 2013 - 22:09

Ищи процесс вывода HUD человеков. В поиск названия кнопок интерфейса и вперёд! Причём не обновления, а именно вывода.

Сам сейчас развлекаюсь со слотом костюмного болона.

#77 Guap6512

Guap6512

    Лунатик

  • Employee
  • 1431 сообщений
  • ГородВолгоград
     

Отправлено 06 December 2013 - 14:28

Откуда появляется ошибка "bad argument definition"? Надо было кое-что сделать, скопировал работающий кусок кода, изменив только адрес обьектов. В строчке var/turf/uloc = user.loc выдает эту ошибку, да еще и два раза. Что делать с этим?
Изображение

#78 LethalGhost

LethalGhost

    Ветеран космонавтики

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

Отправлено 06 December 2013 - 15:02

Просмотр сообщенияGuap6512 (06 December 2013 - 14:28) писал:

Откуда появляется ошибка "bad argument definition"? Надо было кое-что сделать, скопировал работающий кусок кода, изменив только адрес обьектов. В строчке var/turf/uloc = user.loc выдает эту ошибку, да еще и два раза. Что делать с этим?
Покажите всю функцию, пожалуйста.

#79 Guap6512

Guap6512

    Лунатик

  • Employee
  • 1431 сообщений
  • ГородВолгоград
     

Отправлено 06 December 2013 - 15:16

/obj/structure/transfer-pipe/trunk/attackby(var/obj/item/I, var/mob/user)

//Disposal constructors
var/obj/structure/disposalconstruct/C = locate() in src.loc
if(C && C.anchored)
return

var/turf/T = src.loc
if(T.intact)
return // prevent interaction with T-scanner revealed pipes
src.add_fingerprint(user)
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = I

if(W.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
// check if anything changed over 2 seconds
var/turf/uloc = user.loc
var/atom/wloc = W.loc
user << "Slicing the transit pipe."
sleep(30)
if(!W.isOn()) return
if(user.loc == uloc && wloc == W.loc)
welded()
else
user << "You must stay still while welding the pipe."
else
user << "You need more welding fuel to cut the pipe."
return

А еще почему-то стало выдавать ошибку в файле дизайнов для РнД - "datum: expected end of statement". В этой строчке:
datum/design
UPD:Решил проблему
Изображение

#80 tizit

tizit

    /\_/\

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

Отправлено 17 January 2014 - 16:02

Поиски по слову Click в коде не дают никаких результатов. Я запилил вывод веселых сообщений при нажатии кнопок мыши. При нажатии правой не выводит ничего, как будто ее нет.
Скрытый текст



Темы с аналогичным тегами code, ss13

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

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