diff --git a/code/controllers/subsystem/tickets/mentor_tickets.dm b/code/controllers/subsystem/tickets/mentor_tickets.dm
index 41b5a9522892..13514c18bd63 100644
--- a/code/controllers/subsystem/tickets/mentor_tickets.dm
+++ b/code/controllers/subsystem/tickets/mentor_tickets.dm
@@ -9,12 +9,12 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets
name = "Mentor Tickets"
offline_implications = "Mentor tickets will no longer be marked as stale. No immediate action is needed."
ticket_system_name = "Mentor Tickets"
- ticket_name = "Mentor Ticket"
+ ticket_name = "Ментор тикет"
span_class = "mentorhelp"
anchor_link_extra = ";is_mhelp=1"
ticket_help_type = "Mentorhelp"
ticket_help_span = "mentorhelp"
- other_ticket_name = "Admin"
+ other_ticket_name = "Админ"
other_ticket_permission = R_ADMIN
close_rights = R_MENTOR | R_ADMIN
rights_needed = R_MENTOR | R_ADMIN | R_MOD
@@ -22,20 +22,20 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets
/datum/controller/subsystem/tickets/mentor_tickets/Initialize()
..()
- close_messages = list("- [ticket_name] Closed -",
- "Please try to be as descriptive as possible in mentor helps. Mentors do not know the full situation you're in and need more information to give you a helpful response.",
- "Your [ticket_name] has now been closed.")
+ close_messages = list("- [ticket_name] Закрыт -",
+ "Пожалуйста, старайтесь как можно более подробно описывать информацию в ментор-хелпе. Менторы не знают всю ситуацию, в которой вы находитесь, и им необходимо больше информации для предоставления вам помощи.",
+ "Ваш [ticket_name] был закрыт.")
- response_phrases = list("Known Bug" = "Unfortunately, that's a known bug. Hopefully it gets fixed soon.",
- "TM Bug" = "Unfortunately, that's a bug with a current test merge. It should go away when the test merge is removed or fixed.",
- "Clear Cache" = "To fix a blank screen, go to the 'Special Verbs' tab and press 'Reload UI Resources'. If that fails, clear your BYOND cache (instructions provided with 'Reload UI Resources'). If that still fails, please ask for help again, stating you have already done these steps.",
- "Experiment!" = "Experiment! Part of the joy of this game is trying out various things, and dealing with the consequences if/when they go horribly wrong.",
- "How to Objectives" = "There are lots of ways to accomplish your objectives as an antagonist. A direct frontal assault may work, provided you can get in and out before backup arrives. Sneaking in can work, too, as long as you're quick and avoid prying eyes. But don't forget roleplaying methods! Tricking your target into a maze of bear traps is much more interesting than just shooting them with a gun. Even if it fails, you and your target (or its guardians) are likely to have more fun this way, and that's the most important part.",
- "MHelp was in Russian" = "Привет! Ты попал на английский Paradise сервер. Возможно, ты ошибся. Русский имеет такое название: SS220\[RU]."
+ response_phrases = list("Известный баг" = "К сожалению, это известный баг. Надеемся, он скоро будет исправлен.",
+ "Баг ТМа" = "К сожалению, это ошибка текущего тестового обновления (ТМ - TestMerge). Она должна исчезнуть после того, как ТМ снимут или пофиксят.",
+ "Почисти Кэш" = "Чтобы исправить пустой экран, перейдите во вкладку 'Special Verbs' и нажмите 'Reload UI Resources'. Если это не поможет, очистите Кэш Byond, для этого закройте все процессы 'Dream Maker', перейдите в Byond, нажмите шестерёнку и выберите 'Preferences', во вкладке 'Games' будет кнопка 'Clear Cache'. Если ни один из этих способов не помог, советуем обратиться в 'paradise-help' чат на дискорд сервере.",
+ "Эксперементируй!" = "Эксперементируй! Большая часть удовольствия от этой игры, состоит в том, чтобы пробовать различные вещи и бороться с последствиями, если что-то пошло не так.",
+ "Как выполнить цель" = "Есть множество способов выполнить цель на антаге. Если вы собрались действовать напролом, постарайтесь убедиться в том, что успеете войти и выйти до прибытия подкрепления. Стелс тоже может сработать, если вы будете действовать быстро и избегать лишнего внимания. Но не забывайте об РП способах! Заманить цель в ловушку гораздо интереснее, чем разрядить в неё барабан с револьвера. Даже если вы не преуспеете, таким образом все стороны явно получат больше удовольствия.",
+ "Английский тикет" = "Hello! You've reached the Russian Paradise server. Perhaps you've mistaken. The English one has this name: \[Paradise Station]."
)
if(GLOB.configuration.url.github_url)
- response_phrases["New Bug"] = "That sounds like a bug! To report it, please go to our Github page. Then go to 'Issues', click 'New Issue', and fill out the report form. If the report would reveal current-round information, file it after the round ends."
+ response_phrases["Новый баг"] = "Звучит как баг! Чтобы сообщить о нём, пожалуйста, перейдите на наш GitHub. После чего перейдите в 'Issues', нажмите 'New Issue' и заполните форму. Если в репорте будет информация с текущего раунда, отправьте ее только после его окончания. В качестве альтернативы вы можете написать в канал 'ss13-трекер' нашего дискорд сервера, однако репорты с GitHub обрабатываются быстрее!"
var/unsorted_responses = list()
for(var/key in response_phrases) //build a new list based on the short descriptive keys of the master list so we can send this as the input instead of the full paragraphs to the admin choosing which autoresponse
@@ -56,19 +56,19 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets
var/datum/ticket/T = allTickets[N]
var/client/C = usr.client
if((T.staffAssigned && T.staffAssigned != C) || (T.lastStaffResponse && T.lastStaffResponse != C) || ((T.ticketState != TICKET_OPEN) && (T.ticketState != TICKET_STALE))) //if someone took this ticket, is it the same mentor who is autoresponding? if so, then skip the warning
- if(alert(usr, "[T.ticketState == TICKET_OPEN ? "Another mentor appears to already be handling this." : "This ticket is already marked as closed or resolved"] Are you sure you want to continue?", "Confirmation", "Yes", "No") != "Yes")
+ if(alert(usr, "[T.ticketState == TICKET_OPEN ? "Другой ментор уже занимается вопросом." : "Этот тикет уже помечен как решённый или закрытый."] Вы уверены что хотите продолжить?", "Подтверждение", "Да", "Нет") != "Да")
return
T.assignStaff(C)
- var/message_key = input("Select an autoresponse. This will mark the ticket as resolved.", "Autoresponse") as null|anything in sortTim(sorted_responses, GLOBAL_PROC_REF(cmp_text_asc)) //use sortTim and cmp_text_asc to sort alphabetically
+ var/message_key = input("Выберите автоответ. Это пометит тикет как решённый.", "Автоответ") as null|anything in sortTim(sorted_responses, GLOBAL_PROC_REF(cmp_text_asc)) //use sortTim and cmp_text_asc to sort alphabetically
var/client/ticket_owner = get_client_by_ckey(T.client_ckey)
if(message_key == null)
T.staffAssigned = null //if they cancel we dont need to hold this ticket anymore
return
SEND_SOUND(returnClient(N), sound('sound/effects/adminhelp.ogg'))
- to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [response_phrases[message_key]]") //for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key]
- message_staff("[C] has auto responded to [ticket_owner]\'s mentorhelp with: [message_key]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key
- T.lastStaffResponse = "Autoresponse: [message_key]"
+ to_chat_safe(returnClient(N), "[key_name_hidden(C)] использует автоответ: [response_phrases[message_key]]") //for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key]
+ message_staff("[C] ипользовал автоответ в ментор-тикете [ticket_owner]: [message_key]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key
+ T.lastStaffResponse = "Автоответ: [message_key]"
resolveTicket(N)
- log_game("[C] has auto responded to [ticket_owner]\'s mentorhelp with: [response_phrases[message_key]]")
+ log_game("[C] ипользовал автоответ в ментор-тикете [ticket_owner]: [response_phrases[message_key]]")
diff --git a/code/controllers/subsystem/tickets/tickets.dm b/code/controllers/subsystem/tickets/tickets.dm
index a349ba9acf3d..f688d9b13619 100644
--- a/code/controllers/subsystem/tickets/tickets.dm
+++ b/code/controllers/subsystem/tickets/tickets.dm
@@ -2,7 +2,7 @@
#define TICKET_STAFF_MESSAGE_PREFIX 2
SUBSYSTEM_DEF(tickets)
- name = "Admin Tickets"
+ name = "Админ Тикет"
init_order = INIT_ORDER_TICKETS
wait = 300
priority = FIRE_PRIORITY_TICKETS
@@ -11,7 +11,7 @@ SUBSYSTEM_DEF(tickets)
var/span_class = "adminticket"
var/ticket_system_name = "Admin Tickets"
- var/ticket_name = "Admin Ticket"
+ var/ticket_name = "Админ тикет"
var/close_rights = R_ADMIN
var/rights_needed = R_ADMIN | R_MOD
@@ -21,7 +21,7 @@ SUBSYSTEM_DEF(tickets)
var/ticket_help_type = "Adminhelp"
var/ticket_help_span = "adminhelp"
/// The name of the other ticket type to convert to
- var/other_ticket_name = "Mentor"
+ var/other_ticket_name = "Ментор"
/// Which permission to look for when seeing if there is staff available for the other ticket type
var/other_ticket_permission = R_MENTOR
var/list/close_messages
@@ -44,29 +44,29 @@ SUBSYSTEM_DEF(tickets)
.["custom"] = cust
/datum/controller/subsystem/tickets/Initialize()
- close_messages = list("- [ticket_name] Rejected! -",
- "Please try to be calm, clear, and descriptive in admin helps, do not assume the staff member has seen any related events, and clearly state the names of anybody you are reporting. If you asked a question, please ensure it was clear what you were asking.",
- "Your [ticket_name] has now been closed.")
-
- response_phrases = list("Thanks" = "Thanks for the ahelp!",
- "Handling It" = "The issue is being looked into, thanks.",
- "Already Resolved" = "The problem has been resolved already.",
- "Mentorhelp" = "Please redirect your question to Mentorhelp, as they are better experienced with these types of questions.",
- "Happens Again" = "Thanks, let us know if it continues to happen.",
- "Clear Cache" = "To fix a blank screen, go to the 'Special Verbs' tab and press 'Reload UI Resources'. If that fails, clear your BYOND cache (instructions provided with 'Reload UI Resources'). If that still fails, please adminhelp again, stating you have already done the following." ,
- "IC Issue" = "This is an In Character (IC) issue and will not be handled by admins. You could speak to Security, Internal Affairs, a Departmental Head, Nanotrasen Representative, or any other relevant authority currently on station.",
- "Reject" = "Reject",
+ close_messages = list("- [ticket_name] Отклонён! -",
+ "Пожалуйста, постарайтесь сохранять спокойствие в админ-хелпе, не предполагайте, что администратор видел какие-либо действия, о которых вы хотите сообщить, чётко называйте имена тех, на кого вы жалуетесь, и описывайте ситуацию. Если вы задали вопрос, пожалуйста, убедитесь, что вам ясно, о чём вы вообще спросили.",
+ "Ваш [ticket_name] был закрыт.")
+
+ response_phrases = list("Спасибо" = "Спасибо за сигнал!",
+ "Разбираемся" = "Вопрос изучается, спасибо.",
+ "Уже решено" = "Проблема уже решена.",
+ "Ментор-хелп" = "Пожалуйста, перенаправьте свой вопрос в ментор-хелп, так как они лучше разбираются в этом вопросе.",
+ "Сообщите, если это продолжится" = "Спасибо, дайте нам знать если это будет продолжаться.",
+ "Почисти Кэш" = "Чтобы исправить пустой экран, перейдите во вкладку 'Special Verbs' и нажмите 'Reload UI Resources'. Если это не поможет, очистите Кэш Byond, для этого закройте все процессы 'Dream Maker', перейдите в Byond, нажмите шестерёнку и выберите 'Preferences', во вкладке 'Games' будет кнопка 'Clear Cache'. Если ни один из этих способов не помог, советуем обратиться в 'paradise-help' чат на дискорд сервере.",
+ "IC Issue" = "Это игровой момент (IC), и он не будет рассматриваться администрацией. Вы можете обратиться в службу безопасности, к агенту внутренних дел, главе отдела, представителю Нанотрейзен или к любому другому представителю власти, который находится на станции.",
+ "Отклонить" = "Reject",
"Man Up" = "Man Up",
)
- if(GLOB.configuration.url.banappeals_url)
- response_phrases["Appeal on the Forums"] = "Appealing a ban must occur on the forums. Privately messaging, or adminhelping about your ban will not resolve it. To appeal your ban, please head to [GLOB.configuration.url.banappeals_url]"
+ /* if(GLOB.configuration.url.banappeals_url)
+ response_phrases["Appeal on the Forums"] = "Appealing a ban must occur on the forums. Privately messaging, or adminhelping about your ban will not resolve it. To appeal your ban, please head to [GLOB.configuration.url.banappeals_url]"*/
if(GLOB.configuration.url.github_url)
- response_phrases["Github Issue Report"] = "To report a bug, please go to our Github page. Then go to 'Issues'. Then 'New Issue'. Then fill out the report form. If the report would reveal current-round information, file it after the round ends."
+ response_phrases["Новый баг"] = "Звучит как баг! Чтобы сообщить о нём, пожалуйста, перейдите на наш GitHub. После чего перейдите в 'Issues', нажмите 'New Issue' и заполните форму. Если в репорте будет информация с текущего раунда, отправьте ее только после его окончания. В качестве альтернативы вы можете написать в канал 'ss13-трекер' нашего дискорд сервера, однако репорты с GitHub обрабатываются быстрее!"
- if(GLOB.configuration.url.exploit_url)
- response_phrases["Exploit Report"] = "To report an exploit, please go to our Exploit Report page. Then 'Start New Topic'. Then fill out the topic with as much information about the exploit that you can. If possible, add steps taken to reproduce the exploit. The Development Team will be informed automatically of the post."
+ /*if(GLOB.configuration.url.exploit_url)
+ response_phrases["Exploit Report"] = "To report an exploit, please go to our Exploit Report page. Then 'Start New Topic'. Then fill out the topic with as much information about the exploit that you can. If possible, add steps taken to reproduce the exploit. The Development Team will be informed automatically of the post."*/
var/unsorted_responses = list()
for(var/key in response_phrases) //build a new list based on the short descriptive keys of the master list so we can send this as the input instead of the full paragraphs to the admin choosing which autoresponse
@@ -79,10 +79,10 @@ SUBSYSTEM_DEF(tickets)
var/report
for(var/num in stales)
report += "[num], "
- message_staff("Tickets [report] have been open for over [TICKET_TIMEOUT / 600] minutes. Changing status to stale.")
+ message_staff("Тикеты [report] были открыты более [TICKET_TIMEOUT / 600] минут. Изменения статуса на устаревший.")
/datum/controller/subsystem/tickets/get_stat_details()
- return "Tickets: [LAZYLEN(allTickets)]"
+ return "Тикеты: [LAZYLEN(allTickets)]"
/datum/controller/subsystem/tickets/proc/checkStaleness()
var/stales = list()
@@ -125,7 +125,7 @@ SUBSYSTEM_DEF(tickets)
ticketNum = T.ticketNum
T.addResponse(C, text)
T.setCooldownPeriod()
- to_chat(C.mob, "Your [ticket_name] #[ticketNum] remains open! Visit \"My tickets\" under the Admin Tab to view it.")
+ to_chat(C.mob, "Ваш [ticket_name] #[ticketNum] остаётся открытым! Откройте \"My tickets\" во вкладке Admin для просмотра.")
var/url_message = makeUrlMessage(C, text, ticketNum)
message_staff(url_message, NONE, TRUE)
return T
@@ -157,10 +157,10 @@ SUBSYSTEM_DEF(tickets)
L += "[ticket_help_type]: [key_and_name] "
if(M)
L += "([ADMIN_QUE(M,"?")]) ([ADMIN_PP(M,"PP")]) ([ADMIN_VV(M,"VV")]) ([ADMIN_TP(M,"TP")]) ([ADMIN_SM(M,"SM")]) ([admin_jump_link(M)])"
- L += "(TICKET) "
- L += "[isAI(M) ? "(CL)" : ""] (TAKE) "
- L += "(RESOLVE) (AUTO) "
- L += "(CONVERT) : [msg]"
+ L += "(ТИКЕТ) "
+ L += "[isAI(M) ? "(ЗАКОНЫ)" : ""] (ВЗЯТЬ) "
+ L += "(РЕШИТЬ) (АВТО) "
+ L += "(КОНВЕРТ) : [msg]"
return L.Join()
//Open a new ticket and populate details then add to the list of open tickets
@@ -180,7 +180,7 @@ SUBSYSTEM_DEF(tickets)
T.mobControlled = C.mob
//Inform the user that they have opened a ticket
- to_chat(C, "You have opened [ticket_name] number #[(getTicketCounter() - 1)]! Please be patient and we will help you soon!")
+ to_chat(C, "Вы открыли [ticket_name] номер #[(getTicketCounter() - 1)]! Ожидайте, мы вам поможем!")
SEND_SOUND(C, sound('sound/effects/adminticketopen.ogg'))
message_staff(url_title, NONE, TRUE)
@@ -190,8 +190,8 @@ SUBSYSTEM_DEF(tickets)
/datum/controller/subsystem/tickets/proc/openTicket(N)
var/datum/ticket/T = allTickets[N]
if(T.ticketState != TICKET_OPEN)
- message_staff("[usr.client] / ([usr]) re-opened [ticket_name] number [N]")
- to_chat_safe(returnClient(N), "Your [ticket_name] has been re-opened.")
+ message_staff("[usr.client] / ([usr]) переоткрыл [ticket_name] номер [N]")
+ to_chat_safe(returnClient(N), "Ваш [ticket_name] был переоткрыт.")
T.ticketState = TICKET_OPEN
return TRUE
@@ -200,8 +200,8 @@ SUBSYSTEM_DEF(tickets)
var/datum/ticket/T = allTickets[N]
if(T.ticketState != TICKET_RESOLVED)
T.ticketState = TICKET_RESOLVED
- message_staff("[usr.client] / ([usr]) resolved [ticket_name] number [N]")
- to_chat_safe(returnClient(N), "Your [ticket_name] has now been resolved.")
+ message_staff("[usr.client] / ([usr]) решил [ticket_name] номер [N]")
+ to_chat_safe(returnClient(N), "Ваш [ticket_name] был решён.")
return TRUE
/datum/controller/subsystem/tickets/proc/addResponse(list/tickets, who, message)
@@ -213,21 +213,21 @@ SUBSYSTEM_DEF(tickets)
/datum/controller/subsystem/tickets/proc/convert_to_other_ticket(ticketId)
if(!check_rights(rights_needed))
return
- if(alert("Are you sure to convert this ticket to an '[other_ticket_name]' ticket?", null,"Yes","No") != "Yes")
+ if(alert("Вы уверены что хотите конвертировать в '[other_ticket_name]' тикет?", null,"Да","Нет") != "Да")
return
if(!other_ticket_system_staff_check())
return
var/datum/ticket/T = allTickets[ticketId]
if(T.ticket_converted)
- to_chat(usr, "This ticket has already been converted!")
+ to_chat(usr, "Этот тикет уже конвертирован!")
return
convert_ticket(T)
- message_staff("[usr.client] / ([usr]) converted [ticket_name] number [ticketId]")
+ message_staff("[usr.client] / ([usr]) конвертировал [ticket_name] номер [ticketId]")
/datum/controller/subsystem/tickets/proc/other_ticket_system_staff_check()
var/list/staff = staff_countup(other_ticket_permission)
if(!staff[1])
- if(alert("No active staff online to answer the ticket. Are you sure you want to convert the ticket?", null, "No", "Yes") != "Yes")
+ if(alert("Нет активных администраторов/менторов. Вы уверены что хотите конвертировать?", null, "Нет", "Да") != "Да")
return FALSE
return TRUE
@@ -235,14 +235,14 @@ SUBSYSTEM_DEF(tickets)
var/client/C = usr.client
var/client/owner = get_client_by_ckey(T.client_ckey)
if(!owner)
- to_chat(C, "Can't convert the ticket of a disconnected user.")
+ to_chat(C, "[key_name_hidden(C)] has converted your ticket to a [other_ticket_name] ticket.",\
- "Be sure to use the correct type of help next time!"))
- message_staff("[C] has converted ticket number [T.ticketNum] to a [other_ticket_name] ticket.")
- log_game("[C] has converted ticket number [T.ticketNum] to a [other_ticket_name] ticket.")
+ to_chat_safe(owner, list("[key_name_hidden(C)] конвертировал ваш тикет в [other_ticket_name] тикет.",\
+ "Постарайтесь использовать правильный тикет в следующий раз!"))
+ message_staff("[C] конвертировал тикет номер [T.ticketNum] в [other_ticket_name] тикет.")
+ log_game("[C] конвертировал тикет номер [T.ticketNum] в [other_ticket_name] тикет.")
create_other_system_ticket(T)
/datum/controller/subsystem/tickets/proc/create_other_system_ticket(datum/ticket/T)
@@ -256,44 +256,44 @@ SUBSYSTEM_DEF(tickets)
var/datum/ticket/T = allTickets[N]
var/client/C = usr.client
if((T.staffAssigned && T.staffAssigned != C) || (T.lastStaffResponse && T.lastStaffResponse != C) || ((T.ticketState != TICKET_OPEN) && (T.ticketState != TICKET_STALE))) //if someone took this ticket, is it the same admin who is autoresponding? if so, then skip the warning
- if(alert(usr, "[T.ticketState == TICKET_OPEN ? "Another admin appears to already be handling this." : "This ticket is already marked as closed or resolved"] Are you sure you want to continue?", "Confirmation", "Yes", "No") != "Yes")
+ if(alert(usr, "[T.ticketState == TICKET_OPEN ? "Другой администратор уже разбирается." : "Этот тикет уже помечен как решённый или закрытый."] Вы уверены что хотите продолжить?", "Подтверждение", "Да", "Нет") != "Да")
return
T.assignStaff(C)
- var/message_key = input("Select an autoresponse. This will mark the ticket as resolved.", "Autoresponse") as null|anything in sorted_responses
+ var/message_key = input("Выберите автоответ. Это пометит тикет как решённый.", "Автоответ") as null|anything in sorted_responses
var/client/ticket_owner = get_client_by_ckey(T.client_ckey)
if(!ticket_owner)
- to_chat(C, "Can't respond to the ticket of a disconnected user.")
+ to_chat(C, "Невозможно ответить на тикет отключённого игрока.")
return
switch(message_key)
if(null) //they cancelled
T.staffAssigned = null //if they cancel we dont need to hold this ticket anymore
return
- if("Reject")
+ if("Отклонить")
if(!closeTicket(N))
- to_chat(C, "Unable to close ticket")
+ to_chat(C, "Невозможно закрыть тикет")
if("Man Up")
C.man_up(returnClient(N))
- T.lastStaffResponse = "Autoresponse: [message_key]"
+ T.lastStaffResponse = "Автоответ: [message_key]"
resolveTicket(N)
- message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with: [message_key]")
- log_game("[C] has auto responded to [T.client_ckey]\'s adminhelp with: [response_phrases[message_key]]")
- if("Mentorhelp")
+ message_staff("[C] ипользовал автоответ в админ-тикете [ticket_owner]: [message_key]")
+ log_game("[C] ипользовал автоответ в админ-тикете [T.client_ckey]: [response_phrases[message_key]]")
+ if("Ментор-хелп")
convert_ticket(T)
else
SEND_SOUND(returnClient(N), sound('sound/effects/adminhelp.ogg'))
- to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [response_phrases[message_key]]")//for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key]
- message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with: [message_key]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key
- T.lastStaffResponse = "Autoresponse: [message_key]"
+ to_chat_safe(returnClient(N), "[key_name_hidden(C)] использует автоответ: [response_phrases[message_key]]")//for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key]
+ message_staff("[C] ипользовал автоответ в админ-тикете [ticket_owner]: [message_key]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key
+ T.lastStaffResponse = "Автоответ: [message_key]"
resolveTicket(N)
- log_game("[C] has auto responded to [ticket_owner]\'s adminhelp with: [response_phrases[message_key]]")
+ log_game("[C] ипользовал автоответ в админ-тикете [ticket_owner]: [response_phrases[message_key]]")
//Set ticket state with key N to closed
/datum/controller/subsystem/tickets/proc/closeTicket(N)
var/datum/ticket/T = allTickets[N]
if(T.ticketState != TICKET_CLOSED)
- message_staff("[usr.client] / ([usr]) closed [ticket_name] number [N]")
+ message_staff("[usr.client] / ([usr]) закрыл [ticket_name] номер [N]")
to_chat_safe(returnClient(N), close_messages)
T.ticketState = TICKET_CLOSED
return TRUE
@@ -324,7 +324,7 @@ SUBSYSTEM_DEF(tickets)
/datum/controller/subsystem/tickets/proc/assignStaffToTicket(client/C, N)
var/datum/ticket/T = allTickets[N]
- if(T.staffAssigned != null && T.staffAssigned != C && alert("Ticket is already assigned to [T.staffAssigned.ckey]. Are you sure you want to take it?", "Take ticket", "Yes", "No") != "Yes")
+ if(T.staffAssigned != null && T.staffAssigned != C && alert("Тикет уже взял [T.staffAssigned.ckey]. Вы уверены что хотите взять его?", "Взять тикет", "Да", "Нет") != "Да")
return FALSE
T.assignStaff(C)
return TRUE