Архив сообщества
2011 — 2019
Аватар Die Schwarze Sonne

Некоторое количество вопросов.

Автор: Die Schwarze Sonne · 04.06.2013, 16:37 · 22 сообщений

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

Die Schwarze Sonne#1

Конечно, грех создавать отдельную тему, но все таки хочется узнать мнение местных умельцев по следующему поводу.

Необходимо сделать зону. Изначально я выбирал унсимулейт турф, так как там не происходит никаких процессов, связанных с атмосом, как я понял. Но в моей задумке необходимо изменение температур воздуха, и это также относится к процессам атмосферы. В таком случае необходимо использовать симулейт, так как в нем все это возможно. Но возникает проблема, которая была в частности и на Флегетоне. Можно убить атмос там, где его изначально не планируется (планета). То есть граната с легкостью уничтожит всю карту, просто высосав воздух. Как быть в данном случае?

Скопировать ссылку
Recei#4
Editor TEH Chaos-neutral (06 June 2013 - 03:53) писал:

С половиной программиста тебя (репа).

А так - ЯННП. Я так понял, что тебе нужно исключить определенные взаимодействия из атмоса, так? Говори какие.

Нужно отключить атмос, но оставить температуру.

Скопировать ссылку
Die Schwarze Sonne#5
Цитата

А так - ЯННП. Я так понял, что тебе нужно исключить определенные взаимодействия из атмоса, так? Говори какие.

Суть в том, что действие происходит на планете. Убить атмос, создав разгрему на планете - это что-то странное. А вот температуры - вполне, да и располагают сеттингу.

Пока пилю спрайты, много спрайтов, вопрос - как настроить "лежачую" текстуру одежды на человеке?

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

Пока пилю спрайты, много спрайтов, вопрос - как настроить "лежачую" текстуру одежды на человеке?

/mob/living/../var/lying_icon = ...

А так - отдельно выпиливаешь нужные обработки в процедурках у атмоса.

Скопировать ссылку
Die Schwarze Sonne#7
Цитата

/mob/living/../var/lying_icon = ...

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

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

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

А.

//Underwear
if(underwear && !fat && !skeleton)
  var/datum/sprite_accessory/underwear/U = underwear_all[underwear]
  if(U)
   stand_icon.Blend(new /icon(U.icon, "[U.icon_state]_s"), ICON_OVERLAY)
   lying_icon.Blend(new /icon(U.icon, "[U.icon_state]_l"), ICON_OVERLAY)

В конце названия иконки допиши _l

Например:

bear_form_s

bear_form_l

Скопировать ссылку
Die Schwarze Sonne#9

Это параметры одежды? У меня нет лежачей версии конкретной модели в игре, говорю же, а не проблем с этим в целом.

/obj/item/clothing/suit/fire/winterer

name = "winter suit"

desc = "A suit that protects against fire and heat."

icon_state = "winterer"

item_state = "firefighter"

w_class = 4//bulky item

gas_transfer_coefficient = 0.90

permeability_coefficient = 0.50

body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS

slowdown = 1.0

flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT

flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE

heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS

max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE

cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS

min_cold_protection_temperature = FIRESUIT_MIN_COLD_PROTECITON_TEMPERATURE

Скопировать ссылку
Die Schwarze Sonne#11

Лал, мы друг друга не понимаем. Она запилена и вставлена туда, где все остальные модели.

То есть костюм в обычном положении (стоя) - в четырех вариантах, ну, спереди, сзади, с боков, winterer, и winterer2, в лежачем положении. Оба есть, но в игре не видно.

Скопировать ссылку
Die Schwarze Sonne#14
Цитата

Содержимое цитаты отсутствует в сохранённом тексте.

Все равно нихуя не работает.

Скопировать ссылку
Die Schwarze Sonne#16

Именно так и назвал. Спрайты залил в suit.dmi, как и положено, ибо верхняя одежда.

Только смущает, что остальные файлы там же называются "space", "space2", а мои - winterer_s и winterer_l.

Может, не в этом дело? Можешь скинуть код верхнего костюма и какой код в других файлах связан с ним?

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

Блять, верхняя одежда. Тогда правильно называл - winterer, winterer2.

Цитата

/mob/living/carbon/human/update_inv_wear_suit(var/update_icons=1)

if( wear_suit && istype(wear_suit, /obj/item/clothing/suit) )    //TODO check this

if(client && hud_used && hud_used.hud_shown && hud_used.inventory_shown)

wear_suit.screen_loc = ui_oclothing    //TODO

client.screen += wear_suit

overlays -= overlays_lying[SUIT_LAYER]

overlays -= overlays_standing[SUIT_LAYER]

if(FAT in mutations)

if(!wear_suit.flags&ONESIZEFITSALL)

src << "\red You burst out of \the [wear_suit]!"

var/obj/item/clothing/c = wear_suit

wear_suit = null

if(client)

client.screen -= c

c.loc = loc

c.dropped(src)

c.layer = initial(c.layer)

lying        = null

standing    = null

else

if( istype(wear_suit, /obj/item/clothing/suit/straight_jacket) )

drop_from_inventory(handcuffed)

drop_l_hand()

drop_r_hand()

if(wear_suit.blood_DNA)

var/obj/item/clothing/suit/S = wear_suit

lying.overlays        += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "[S.blood_overlay_type]blood2")

standing.overlays    += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "[S.blood_overlay_type]blood")

overlays_lying[SUIT_LAYER]        = lying

overlays_standing[SUIT_LAYER]    = standing

if (src.lying)

overlays += overlays_lying[SUIT_LAYER]

else

overlays += overlays_standing[SUIT_LAYER]

else

overlays -= overlays_lying[SUIT_LAYER]

overlays -= overlays_standing[SUIT_LAYER]

overlays_lying[SUIT_LAYER] = null

overlays_standing[SUIT_LAYER] = null

if(update_icons)   update_icons()

Наворачивай, лол. Связан он с update_icons(), regenerate_icons(), и все-такое. Выделил важные строки.

А так - не знаю. Можешь.... ОТКРЫТЬ МНЕ УДАЛЕННОГО АДМИНА.

Скопировать ссылку
Die Schwarze Sonne#18

Я полный нуб в коде, лучше даже и не браться. Запилить карту (это у меня выходит, как ни странно), спрайты у меня вообще неплохо получаются. А потом найти кодера, который бы помог в реализации задач и учавствовал бы в проекте Eisigen Titania.*перевел взгляд на Эдитора*

Скопировать ссылку
Die Schwarze Sonne#19

Запилил таки, все заработало, огромное спасибо Едитору.

Алсо, как убрать возможность отковырять пол ломиком?

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

Выпилить из пола:

Цитата

if(istype(C, /obj/item/weapon/crowbar) && (!(is_plating())))

if(broken || burnt)

user << "\red You remove the broken plating."

else

if(is_wood_floor())

user << "\red You forcefully pry off the planks, destroying them in the process."

else

user << "\red You remove the [floor_tile.name]."

new floor_tile.type(src)

make_plating()

playsound(src, 'sound/items/Crowbar.ogg', 80, 1)

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

Обратно в Маппинг