op-hui / mu2ch

MUD for anoynmous, based on evennia framework
4 stars 4 forks source link

Выбор объекта, когда их несколько #38

Open op-hui opened 9 years ago

op-hui commented 9 years ago
Ты видишь: Дом(#6724)                                                                                                                                  
@tel Дом                                                                                                                                               
More than one match for 'Дом' (please narrow target):                                                                                                  
 1-Дом                                                                                                                                                 
 2-Дом                                                                                                                                                 
Destination not found. 

Должно быть:

Есть несколько объектов "Дом", укажи нужный тебе
  1-Дом
  2-Дом
op-hui commented 9 years ago

это происходит в файле evennia/commands/cmdparser.py

eagle233 commented 9 years ago

Для того что бы перевести выбор объекта надо строки 195, 196, 281 в evennia\evennia\commands\cmdparser.py изменить на соответствующие строки из этого гиста:https://gist.github.com/eagle233/79afd68fff2269d5f86c

op-hui commented 9 years ago

Я поправил их на тестовом сервере. Не вышло, тестирую так: Захожу в общий коридор: @tel 1-Коридор и набираю Прихожка (в этой локации 53 прихожки) ,и мне выводит:

There were multiple matches:
1-прихожка (exit to Прихожка(#752))
2-прихожка (exit to Прихожка(#1045))
3-прихожка (exit to Прихожка(#1388))
....
copyright2015 commented 9 years ago

эта херь обрабатывается jango.conf.settings, в душе не знаю где это. Это где-то совсем в движке. НО. Есть вариант. как запилено с командой CmdExtendedLook. Можно запилить кастомные предупреждения. Можно попробовать запилить метод, который будет проверять мультиматчи и говорить что пиздец. но есть и минус, это нужно прописать каждой команде. и в каждом поиске писать quiet=True.