ZLOFENIX (14 July 2013 - 23:53) писал:
#61
Отправлено 15 July 2013 - 07:15
#62
Отправлено 15 July 2013 - 20:45
Если переменную можно сохранить - сохрани.
Если переменная входит в какой-то параметр - не пиши переменную.
Всегда проверяй переменные от клиента, иначе будет текущий багопиздец.
#63
Отправлено 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(0) или spawn() исполнит код после выполнения всего остального кода.
Переменные метода, вызвавшего spawn копируются в блок вызванного кода и действуют отдельно, но изменение переменных объектов будут видны с обоих сторон.
Цитата
Цитата
- Кто вызывает /process()? Бийонд или движок ссочки?
#64
Отправлено 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
Отправлено 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
Отправлено 30 September 2013 - 23:59
А во время теста -
Кто-нибудь может сказать, в чем проблема, и как с этим бороться?
#68
Отправлено 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
Отправлено 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
Отправлено 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
Отправлено 07 November 2013 - 16:27
Комбат аутист ис аривед.
#72
Отправлено 07 November 2013 - 17:43
#73
Отправлено 07 November 2013 - 18:25
Комбат аутист ис аривед.
#74
Отправлено 23 November 2013 - 23:51
#75
Отправлено 24 November 2013 - 07:48
TestUnit (23 November 2013 - 23:51) писал:
А на деле это ебанная ебля. Вы там на блэках кажется ведь ухо вернули - делай третье ухо, но измени название, лол.
#76
Отправлено 24 November 2013 - 22:09
Сам сейчас развлекаюсь со слотом костюмного болона.
#77
Отправлено 06 December 2013 - 14:28
#78
Отправлено 06 December 2013 - 15:02
Guap6512 (06 December 2013 - 14:28) писал:
#79
Отправлено 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/designUPD:Решил проблему
#80
Отправлено 17 January 2014 - 16:02
Темы с аналогичным тегами code, ss13
Другое →
/vg/ →
STARBASEАвтор Ostpol , 03 Jun 2019 SS13, MMO, Sandbox |
|
|
||
Разработка →
Разработка →
SS13 WideScreen PatcherАвтор Larboss , 18 Dec 2018 SS13, WideScreen, Patch |
|
|
||
Space Station 13 →
Архив →
Архив форумных разделов →
Викистанция →
Там, где похоронен старый магАвтор Recei , 28 Jul 2017 wiki, ss13, animus |
|
|
||
Разработка →
Разработка →
Проекты пользователей →
Пикник на могилеАвтор Qwertyo55 , 23 Dec 2016 stalker, ss13, dead, build и 5 еще... |
|
|
||
Space Station 13 →
Архив →
Архив игровых серверов →
Yellow Circus →
Опрос Сборка FTL13Автор chooryou , 28 Aug 2016 FTL13, SS13, FTL, билд FTL13 |
|
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных