Это так или иначе не избавит от много часового разглядывания кода .py файлов, что бы понять как это всё работает.А где можно найти информацию по BigWorld.player().
Это так или иначе не избавит от много часового разглядывания кода .py файлов, что бы понять как это всё работает.
Наша задача найти функцию(метод) обрабатывающую нашу пременую (свойство класса), и добавить в неё свой функционал, будь то вывод сообщения на экран через условный оператор if либо какие либо метаморфозы с самим значением.
Файловый поиск, вот это очень даже, шарить по .py исходникам иргы на предмет использования схожего метода или переменой, понится что то типа Архивариус 3000. А то действительно много файловое изучение игры, с кучей импорта в начале кода.
2ZorroJan, я не меньший олень =). Студент 2го курса, сижу вот изучаю ООП. =)
ProstoNoob
Вот я тут ещё файлик набрасал.
Посмотреть вложение 6139
import BigWorld, Vehicle
from Avatar import PlayerAvatar
BigWorld.entity(vehicleID).publicInfo.team == BigWorld.player().team # определение союзника - по ID
BigWorld.entity(vehicleID).isAlive() # определение на то - живой ли - по ID
BigWorld.entity(vehicleID).isPlayer # определение - игрок ли по ID
##### onEnterWorld, onLeaveWorld
import BigWorld
from Avatar import PlayerAvatar
pre_onEnterWorld_init = PlayerAvatar.onEnterWorld
pre_onLeaveWorld_init = PlayerAvatar.onLeaveWorld
def new_onEnterWorld_init(current, prereqs):
pre_onEnterWorld_init(current, prereqs)
# появление в мире (для врагов - засвет)
def new_onLeaveWorld_init(current):
pre_onLeaveWorld_init(current)
# пропадание (для врагов - уход из засвета)
PlayerAvatar.onEnterWorld = new_onEnterWorld_init
PlayerAvatar.onLeaveWorld = new_onLeaveWorld_init
##### VehicleKilled
import BigWorld
from gui.Scaleform.BattleDamageMessages import BattleDamageMessages
def new_onArenaVehicleKilled_init(current, vehicleID, attackerID, reason):
pre_onArenaVehicleKilled_init(current, vehicleID, attackerID, reason)
# действие при убийстве танка
# vehicleID - ID убитого, attackerID - ID атакующего
pre_onArenaVehicleKilled_init = BattleDamageMessages.onArenaVehicleKilled
BattleDamageMessages.onArenaVehicleKilled = new_onArenaVehicleKilled_init
##### VehicleKilled
import BigWorld
from gui.WindowsManager import g_windowsManager
def __onVehicleKilled(targetID, atackerID, reason):
def __startBattle():
BigWorld.player().arena.onVehicleKilled += __onVehicleKilled
def __stopBattle():
BigWorld.player().arena.onVehicleKilled -= __onVehicleKilled
g_windowsManager.onInitBattleGUI += __startBattle
g_windowsManager.onDestroyBattleGUI += __stopBattle
##### PlayerHandleKey
import BigWorld
from Avatar import PlayerAvatar
import Keys
def new_PlayerHandleKey_init(current, isDown, key, mods):
pre_PlayerHandleKey_init(current, isDown, key, mods)
if key == getattr(Keys, 'KEY_F10', None) and isDown:
# действие при нажатии клавиши F10 (пример)
pre_PlayerHandleKey_init = PlayerAvatar.handleKey
PlayerAvatar.handleKey = new_PlayerHandleKey_init
##### showTracer
import BigWorld
from Avatar import PlayerAvatar
def new_showTracer(current, shooterID, shotID, isRicochet, effectsIndex, refStartPoint, velocity, gravity, maxShotDist):
pre_showTracer(current, shooterID, shotID, isRicochet, effectsIndex, refStartPoint, velocity, gravity, maxShotDist)
# действие при запуске трассера (выстрел танка)
pre_showTracer = PlayerAvatar.showTracer
PlayerAvatar.showTracer = new_showTracer
##### onArenaPeriodChange
import BigWorld
from Avatar import PlayerAvatar
from constants import ARENA_PERIOD
def new_onArenaPeriodChange(current, period, periodEndTime, periodLength, periodAdditionalInfo):
pre_onArenaPeriodChange(current, period, periodEndTime, periodLength, periodAdditionalInfo)
# действие при различных периодах боя
if period == ARENA_PERIOD.PREBATTLE and period > -1:
# действие при начале отсчёта
if period == ARENA_PERIOD.BATTLE and period > -1:
# действие при окончании отсчёта, начале боя
pre_onArenaPeriodChange = PlayerAvatar._PlayerAvatar__onArenaPeriodChange
PlayerAvatar._PlayerAvatar__onArenaPeriodChange = new_onArenaPeriodChange
##### onBecomePlayer
import BigWorld
from Account import PlayerAccount
from messenger import MessengerEntry
def new_onBecomePlayer_init(current):
pre_onBecomePlayer_init(current)
# действие при входе в ангар на старте игры
SystemMessages.pushMessage('<font color="#AA80AA"><B>.....</font>', type = SystemMessages.SM_TYPE.Warning)
pre_onBecomePlayer_init = PlayerAccount.onBecomePlayer
PlayerAccount.onBecomePlayer = new_onBecomePlayer_init
#####
Можно его пополнять постоянно новыми фишками и будет хорошая база знаний для написания модов. Как тебе идея?
Отступы конечно все удалились ))
def new_onEnterWorld_init(current, prereqs):
pre_onEnterWorld_init(current, prereqs)
# появление в мире (для врагов - засвет, для всех танков)
def new_onLeaveWorld_init(current):
pre_onLeaveWorld_init(current)
# пропадание (для врагов - уход из засвета, для всех танков)
Доброго времени суток! Ребят ни у кого нету набора для изменения скриптов, как на другом читерском сайте, а то у них файл удаленСпасибо за внимание
Подскажите книжку питон для чайников, хочу моды пилить
# Embedded file name: ********
Error: array indices must be integers
Error: tuple index out of range
# Embedded file name: ********
Error: tuple index out of range
Полагаю, свежий "Орион" виноват.Все собственно стали использовать один и тот же способ.
'cls': "print '\\n' * 100"
class Employee:
'Common base class for all employees'
empCount = 0
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
def displayCount(self):
print "Total Employee %d" % Employee.empCount
def displayEmployee(self):
print "Name : ", self.name, ", Salary: ", self.salary
Полагаю, свежий "Орион" виноват.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?