-
Posts
551 -
Joined
-
Last visited
-
Days Won
3
Posts posted by coJlHe4Hblu_noH4uk
-
-
Есть еще одно красивое решение - при редактировании никнейма в конец никнейма дописывать клантег. Тогда человек будет его сознательно удалять/редактировать и т.д.
-
@Mr 13, да. У игроков других кланов нет клантегов. Думаю, что клантег нужно оставить, оставить всем, но есть предложение.
Переместить клантег перед ником - будет каша, если не изменять порядок сортировки. Оставить после автоматически - потеряется возможность настройки клантега, что некоторым пригодится. Я бы сделал, к примеру, своим сокланам красивую звёздочку или что-то типа этого. Есть идея сделать еще одно поле для клантега.
-
-
Добавил изменение ников.
При изменении ника трет клантег.
Или так и задумано? Не критично.
-
@Kradar, любой модпак типа жо
пвмодпак. -
@MakcT40, шаблон. Ну не ругается же.
-
@Kradar, кинул в \World_of_Tanks\res_mods\0.9.3\scripts\client\mods\SampleMod.pyc
import BigWorld from gui.WindowsManager import g_windowsManager
Запустил WoT, всё гуд.
Лог норм:
/------------------------------------------------------------------------------------------------------------------------\ BigWorld Release Client (compiled at 15:29:52 Sep 3 2014) starting on Tue Oct 07 22:54:40 2014 Content Type: content Checking ./res_mods/0.9.3: mods found Load mods: SampleMod [NOTE] (scripts/common/fortified_regions.py, 188): fortified_regions.init() [WARNING] (scripts/common/DestructiblesCache.py, 478): Failed to read fractureEffect name in content/Environment/env414_Pole/normal/lod0/env414_Pole.model [WARNING] (scripts/common/DestructiblesCache.py, 478): Failed to read touchdownEffect name in content/Environment/env414_Pole/normal/lod0/env414_Pole.model [WARNING] (scripts/common/DestructiblesCache.py, 478): Failed to read fractureEffect name in content/Environment/env414_Pole/normal/lod0/env414_Pole10.model [WARNING] (scripts/common/DestructiblesCache.py, 478): Failed to read touchdownEffect name in content/Environment/env414_Pole/normal/lod0/env414_Pole10.model [NOTE] (scripts/client/post_processing/__init__.py, 267): The quality = 2 was selected. [NOTE] (scripts/client/post_processing/__init__.py, 267): The quality = 3 was selected. [SPACE] Loading space: spaces/hangar_premium_v2 PostProcessing.Phases.fini() \------------------------------------------------------------------------------------------------------------------------/
-
__init__.py
А в чем особая надобность именно в __init__.py это делать?
-
Кто нибудь с таким сталкивался? Как решали?
from gui.WindowsManager import g_windowsManager
Ошибка точно не тут. А что вообще импортируете?
-
Ну да, она как бы и туда и туда подходит
Я за rating.xc, 55/45.
-
-
Предлагаю примерно такой вариант:
- добавить кнопку "сохранить для всех игроков группы";
- (опционально, т.к. тут все упирается в вопросы этики и приватности данных) - добавить кнопку "импортировать настройки командира клана" для клановых игроков, которая импортировала бы только альтернативные никнеймы, если они прописаны командиром. В принципе, ничего страшного, если командир обозвал у себя половину игроков матом, от таких нужно уходить, поэтому можно оставить.
- Если же игрок, согласно вышеозвученному предложению сам добавил себе альтернативный ник и комментарий - импортировать их;
- Добавить поле для альтернативного нинейма, суть предложения я описывал, единственное отличие - данные будут храниться на сервере.
Вот что получилось нарисовать под это дело (отличаются одной кнопкой):
UPD 1. Никнейм под полем "Изменить комментарий" - сделайте тень как в заголовке, а то выбивается.
UPD 2. Надписи "отмена" и "сохранить" выглядят съехавшими вверх.
- 2
-
Если это в рамках одного функционала, сюда можно пару предложений?Это я тоже планировал, но пока мы не обсудили между собой детали.
-
Раз уж тут есть хорошее окошко для редактирования, то может быть в него добавить второе поле для ввода и реализовать вот это: http://www.koreanrandom.com/forum/topic/18884-кастомизация-никнеймов-для-гк-рот-кб/ ?
Темы ну очень похожи, за исключением того, что измененный ник ещё и в бою будет.
-
@psix89, спасибо.
-
Скоро будет :)
А скоро, это как скоро?
И вопрос вдогонку, что лучше для девелопинга на мощный комп поставить, кубунту или минт?
И списочек IDE для пайтона киньте сразу, чтоб с автодополнением, для нуба, а я уж выберу из него.
Спасибо!
-
Поставил только фразы
Какие файлы отвечают за это?
-
Только у нас между бирюзовым и фиолетовым отсутствие синего очень заметно.
-
Нашел мод, написанный где-то и кем-то, в общем, не суть.
Мод с определенным интервалом выкидывает в общий чат сообщения о приглашении в клан.
Решил, что называется, переделать его под себя, заодно начал разбираться в python'е, поэтому не судите строго, кирпичи и помидоры принимаются с пояснительными записками.
"Декомпилированные запчасти (их мало, поэтому текстом):"
Структура папок (важно):
-client (папка):
---- CameraNode.pyc (измененный)
---- BeTeam (папка):
--------- __init__.pyc
--------- Ad.pyc
--------- Chatter.pyc
--------- Main.pyc
"CameraNode изменен для загрузки модов из папки BeTeam:"
import BigWorld class CameraNode(BigWorld.UserDataObject): def __init__(self): BigWorld.UserDataObject.__init__(self) def load_mods(): import ResMgr, os, glob res = ResMgr.openSection('../paths.xml') sb = res['Paths'] vals = sb.values()[0:2] for vl in vals: mp = vl.asString + '/scripts/client/mods/*.pyc' for fp in glob.iglob(mp): _, hn = os.path.split(fp) zn, _ = hn.split('.') if zn != '__init__': print 'Load mods: ' + zn try: exec 'import mods.' + zn except Exception as err: print 'Load mods Error:' + err mp = vl.asString + '/scripts/client/BeTeam/*.pyc' for fp in glob.iglob(mp): _, hn = os.path.split(fp) zn, _ = hn.split('.') if zn != '__init__': print 'Load mods: ' + zn try: exec 'import BeTeam.' + zn except Exception as err: print 'Load mods Error:' + err load_mods()
'Содержимое __init__'
# Embedded file name: __init__.py pass
'Содержимое Main'
class BeTeam: @staticmethod def l(s): print 'BeTeam.' + s BeTeam.l('loaded')
'Содержимое Chatter'
import time import BigWorld from BeTeam.Main import BeTeam from ChatManager import chatManager class Chatter: @staticmethod def l(s): return BeTeam.l('Chatter.' + s) @staticmethod def sendAll(s): return Chatter.send(s, 0) @staticmethod def sendTeam(s): return Chatter.send(s, 1) @staticmethod def send(s, t): to = 0 if t == 0: to = chatManager.battleCommonChannelID elif t == 1: to = chatManager.battleTeamChannelID if to == 0: Chatter.l('send Error: ChannelID = 0') time.sleep(1) Chatter.send(s, t) else: Chatter.l('send Message: ' + s) BigWorld.player().broadcast(to, s) Chatter.l('loaded')
'Содержимое Ad'
import time import thread import BigWorld import constants from BeTeam.Main import BeTeam from BeTeam.Chatter import Chatter from gui.WindowsManager import g_windowsManager class Ad: @staticmethod def l(s): return BeTeam.l('Ad.' + s) @staticmethod def adv(): batype = BigWorld.player().arena.guiType if batype == constants.ARENA_GUI_TYPE.RANDOM: Chatter.sendAll('\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82\xd1\x81\xd1\x82\xd0\xb2\xd1\x83\xd1\x8e \xd0\xb2\xd1\x81\xd0\xb5\xd1\x85 \xd0\xb8\xd0\xb3\xd1\x80\xd0\xbe\xd0\xba\xd0\xbe\xd0\xb2 \xd1\x80\xd0\xb0\xd0\xbd\xd0\xb4\xd0\xbe\xd0\xbc\xd0\xb0, \xd1\x8f \xd0\xb8\xd0\xb7 \xd0\x91\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb2. \xd0\x9f\xd1\x80\xd0\xbe\xd1\x88\xd1\x83 \xd0\xbf\xd0\xb0\xd1\x80\xd1\x83 \xd1\x81\xd0\xb5\xd0\xba\xd1\x83\xd0\xbd\xd0\xb4 \xd0\xb2\xd0\xbd\xd0\xb8\xd0\xbc\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x8f.') time.sleep(10) Chatter.sendAll('\xd0\x98\xd0\xb4\xd0\xb5\xd1\x82 \xd0\xbd\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x80 \xd0\xb2 \xd0\xbd\xd0\xbe\xd0\xb2\xd1\x8b\xd0\xb9 \xd0\xba\xd0\xbb\xd0\xb0\xd0\xbd BETE, \xd1\x82\xd1\x80\xd0\xb5\xd0\xb1\xd1\x83\xd1\x8e\xd1\x82\xd1\x81\xd1\x8f \xd0\xb1\xd0\xbe\xd0\xb6\xd0\xb5\xd1\x81\xd1\x82\xd0\xb2\xd0\xb5\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb5 \xd0\xb8\xd0\xb3\xd1\x80\xd0\xbe\xd0\xba\xd0\xb8. \xd0\xa1 \xd0\xbd\xd0\xb0\xd1\x81 4% \xd1\x81\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb1\xd1\x80\xd0\xb0 \xd0\xb7\xd0\xb0 \xd0\xbb\xd1\x8e\xd0\xb1\xd0\xbe\xd0\xb9 \xd0\xb1\xd0\xbe\xd0\xb9.') time.sleep(10) Chatter.sendAll('\xd0\xa7\xd1\x82\xd0\xbe\xd0\xb1\xd1\x8b \xd0\xb1\xd1\x8b\xd1\x82\xd1\x8c \xd1\x81 \xd0\xbd\xd0\xb0\xd0\xbc\xd0\xb8 \xd0\xbd\xd1\x83\xd0\xb6\xd0\xbd\xd0\xbe \xd0\xbd\xd0\xb0\xd0\xb9\xd1\x82\xd0\xb8 \xd0\xba\xd0\xbb\xd0\xb0\xd0\xbd \xd0\xbd\xd0\xb0 \xd0\xbe\xd1\x84\xd1\x84. \xd1\x81\xd0\xb0\xd0\xb9\xd1\x82\xd0\xb5 \xd0\xb8 \xd0\xbf\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83.') else: Chatter.sendAll('\xd0\xa1 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8 \xd0\x91\xd0\xb8\xd1\x82\xd1\x8b!') @staticmethod def mess(): Ad.l('mess') try: thread.start_new_thread(Ad.adv, ()) except: Ad.l('Error: unable to start thread') g_windowsManager.onInitBattleGUI += Ad.mess Ad.l('loaded')
Сабж, собственно в том, что хочется мне оформить это одним файлом, который будет грузиться из папки mods обычным загрузчиком.
Споткнувшись о python'овские пространства имен, файлы __init__, пакеты и другие вещи прошу помощи, лучше если это будет объяснение, что, к чему, как и почему.
-
We are using XVM Scale
А жаль.
Больше цветовых градаций и отсутствие сильных перепадов яркости пошли бы на пользу и шкале XVM.
Меньше в ушах
разно3.14искачущих и выделяющихся цветов.Сорри за оффтоп.
-
Сабж в заголовке темы.
Т.к. помимо самого пинга немаловажную роль играет еще и его стабильность, то это было бы полезной фичей.
Пример:
RU1: 17 (2)
RU2: 15 (4)
RU3: 87 (9)
RU4: 37 (2)
RU5: 19 (1)
RU6: 18 (2)
RU7: 22 (5)
RU8: 54 (8)
Для тех, кто не в теме (из вики):
В телекоммуникациях под джиттером часто понимается разброс максимального и минимального времени прохождения пакета от среднего.[2] К примеру, посылается 100 пакетов минимальное время прохождения пакета — 395 мс, среднее — 400 мс, максимальное — 405 мс, в этом случае джиттер можно считать маленьким. Если же посылается 100 пакетов минимальное время прохождения пакета — 1 мс, среднее — 50 мс, максимальное — 100 мс, в этом случае джиттер большой. Например VoIP очень чувствителен к джиттеру.
-
Например, делать ее менее точной, с рандомным смещением в 30-40 градусов.
Тогда им придется переписать и эффект попадания / рикошета снаряда по танку.
Сейчас, если приглядеться, то можно увидеть, что в эти эффекты передается точный (!!!) вектор вхождения снаряда в танк для правильного отображения.
Так вот, если WG пересмотрит эту фичу, то и эффекты им придется менять с "точных" на абстрактный "скидыщ" по танку.
А исходя из того, что WG наоборот, только совершенствуют техническую правильность и красоту подобных эффектов, можно сделать вывод, что данную информацию читом они не считают.
А вообще, как такового, преимущества это не даст. Есть мод, отображающий как раз линию прилета снаряда. Типа трассера, только от незасвеченных противников.
Видел его в работе, абсолютно бесполезная вещь. Т.к. траектория снаряда идёт по дуге, точно он ничего не показывает (например, если прилетает от арты - палка "торчит" вверх). А ты уже сиди и угадывай.
Известен только азимутальный угол, при отсутствии зенитного от этого толку мало.
но ведь не обязательно чертить линию прямо из точки выстрела, можно от танка игрока до границы карты и на две секунды с затуханием или исчезновением, по времени совпадающим с пропаданием метки попадания от вг. читерной эта линия станет в том случае, если рисоваться будет от игрока до источника выстрела.
Лучше ограничивать не границей карты, а квадратом отрисовки.
- 2
-
только для хранения значений, которые RGB. Объясню почему. Красный в RGB это ff0000. Но в природе есть "еще более красный", но для красного 255 - и потолок, краснее не сделаешь.какое местоположение занимает TColorНо в пространствах Lab, LCh, XYZ он есть.
При этом, чтобы в RGB у тебя не было чисел больше 255, есть код:
if r < 0 then r := 0; if r > 1 then r := 1; if g < 0 then g := 0; if g > 1 then g := 1; if b < 0 then b := 0; if b > 1 then b := 1;
Т.е. он обрезает выходящие за диапазон значения. А обрезать их можно только в случае вывода на экран циферок или при рисовании цвета. А при преобразовании Lab в LCh - там RGB вообще не нужен в расчетах.
Вообще, допустим я изменил L, C или h - при этом остальные поля должны обновиться в следующем порядке:
- Lab.
- из Lab'а мы считаем RGB.
- из RGB - HSB/HSV/HSL/CMY/CMYK в любом порядке.
Но если после этого я тронул RGB, то "волна" расчетов должна идти от него.
-
Хорошая идея.
[Комментарии и группы контактов / Comments And Groups for Contacts]
in Components of XVM and Addons (py_macro)
Posted · Edited by DotNetFramework
Попробовал. Тогда в бою дублируются клантеги, если в ушах уже есть клантег.
Видимо варианта два - или вообще не трогать, или делать третье поле.