ахуеть. что за способ усложнить все
просто дампить content.bundle и там уже посредством кода немного посчитать, на юц(не реклама) даже есть гайд по дампу
на юц(ноад) лежат актуальные паттерны. покажи мне код, мб ты там объебался где то, ибо я долгое время на тупой ошибке стоял
STAND_MULTIPLIER = 1.89
STAND_MULTIPLIER_HMLMG = 2.0
patternM39 = [(1.14652,-1.99046),(1.15115,-1.99931),(1.1944,-2.23318),(1.11963,-1.98993),(0.905363,-2.03262),(1.12078,-2.05439),(1.22656,-1.93494),(1.40371,-2.16363),(1.43636,-2.06039),(1.21554,-2.19144),(0.919284,-2.05237),(0.962183,-1.82724),(1.39457,-2.09455),(0.979466,-1.87065),(1.1478,-1.85357),(1.42778,-1.82223),(1.17927,-2.27888),(1.39005,-2.19904),(1.02765,-2.27865),(1.3145,-2.22766)]
patternSKS = [(0.000000, -1.966075), (0.000000, -2.455723), (0.320768, -2.075308), (0.565088, -2.073886),
(0.911924, -2.322124), (1.081000, -2.622581), (1.431705, -2.164627), (1.500359, -2.165166),
(1.450049, -2.298362), (1.369828, -2.133563), (1.476682, -2.002966), (1.827930, -2.159637),
(1.661027, -2.234897), (1.214138, -2.018232), (1.852968, -2.239446)]
patternHANDMADESMG = [(0.0, -0.9)]
patternHCRev = [(0.0, -5.82)]
patternMinigun = [(0.0, -0.32)]
patternM92 = [(-0.343479,-3.22051),(-0.203928,-4.51547),(-0.0132804,-4.43665),(-0.237955,-4.41395),(0.520563,-4.6145),(-0.126101,-4.68017),(0.373599,-4.41922),(-0.482411,-4.49547),(0.276008,-4.6769),(0.0990919,-4.46514),(0.24304,-4.72212),(0.240032,-4.22377),(0.0103066,-4.27783),(-0.527334,-4.58037),(-0.0375055,-4.30242)]
patternAK = [(0,-2.28175),(0.352196,-2.11733),(0.749058,-1.88286),(1.03369,-2.53756),(1.15958,-2.22322),(0.957989,-2.16986),(1.41611,-2.20563),(1.16272,-2.38595),(1.45422,-1.9862),(1.18666,-2.2206),(1.24259,-1.93319),(1.76587,-2.26385),(1.51724,-2.21824),(1.865,-1.94152),(1.15924,-2.56947),(1.7625,-2.09934),(1.68074,-2.54986),(1.47763,-2.05981),(1.51688,-2.33391),(1.85597,-2.55094),(1.55909,-1.99513),(1.2071,-2.36717),(1.30746,-2.19518),(1.14137,-2.4542),(1.27792,-1.94657),(1.74332,-2.19145),(1.30736,-2.36673),(1.85593,-2.58247),(1.47883,-2.15333),(1.83303,-2.36597)]
patternSMG = [(-0.114414, -0.680635), (0.008685, -0.676597), (0.010312, -0.682837), (0.064825, -0.691344),
(0.104075, -0.655617), (-0.088118, -0.660429), (0.089906, -0.675183), (0.037071, -0.632623),
(0.178466, -0.634737), (0.034653, -0.669444), (-0.082658, -0.664827), (0.025551, -0.636631),
(0.082413, -0.647118), (-0.123305, -0.662104), (0.028164, -0.662354), (-0.117345, -0.693474),
(-0.268777, -0.661122), (-0.053086, -0.677493), (0.004238, -0.647037), (0.014169, -0.551440),
(-0.009907, -0.552079), (0.044076, -0.577694), (-0.043187, -0.549581)]
patternLR300 = [(-0,-2.22852),(0.257704,-1.55769),(-0.426213,-1.74191),(-0.279069,-2.01007),(0.019575,-1.64606),(-0.571997,-2.09523),(0,-1.82814),(0.618539,-1.69184),(0.429598,-2.10252),(-0.145314,-1.92988),(0.41971,-1.72541),(-0.482175,-1.76822),(-0.529185,-2.06105),(0.500615,-2.1067),(0.301858,-1.51518),(-0.245394,-1.59873),(0.147148,-1.5798),(-0.321177,-1.95539),(0.646112,-1.68345),(-0.138339,-1.5362),(0.129326,-1.65653),(0.668677,-1.85238),(-0.692364,-1.77786),(-0.40879,-2.05902),(-0.628401,-2.08788),(0.467705,-2.15624),(0.183408,-2.23932),(0.430342,-1.93029),(-0.745164,-2.21221),(-0.44525,-2.07185)]
patternM249 = [(-0.000512014,-1.53667),(0.399526,-1.7672),(0.870053,-1.94317),(0.888596,-1.66724),(0.945038,-1.98021),(0.914048,-1.9216),(0.892929,-1.91324),(0.943985,-1.67722),(0.954558,-1.74819),(0.697794,-1.92085),(0.707094,-1.66836),(0.737913,-1.50607),(0.858375,-1.65162),(1.12063,-1.79867),(0.978934,-1.61525),(0.902902,-1.50711),(0.754932,-1.80268),(0.659414,-1.96078),(0.954693,-1.86569),(0.804442,-1.72533),(0.79999,-1.68084),(0.716725,-1.8033),(0.769351,-1.9177),(0.887931,-1.8707),(0.669861,-1.79478),(0.327913,-1.61343),(-0.110996,-1.83604),(-0.0664425,-1.77492),(0.00427055,-1.63162),(0.0167351,-1.65692),(0.00348282,-1.72002),(-0.00349808,-1.7279),(-0.00135231,-1.54709),(0.000429153,-1.88479),(0.000339508,-1.8547),(-2.28882e-05,-1.508),(-6.10352e-05,-1.64063),(-1.14441e-05,-1.65876),(1.90735,-1.63849),(1.90735,-1.55549),(1.90735,-1.72795),(1.90735,-1.98021),(1.90735,-1.64007),(1.90735,-1.80909),(1.90735,-1.99899),(1.90735,-1.59853),(1.90735,-1.92051),(1.90735,-1.94473),(1.90735,-1.81293),(1.90735,-1.81107),(1.90735,-1.50132),(1.90735,-1.87547),(1.90735,-1.78477),(1.90735,-1.9991),(1.90735,-1.61153),(1.90735,-1.59251),(1.90735,-1.98849),(1.90735,-1.94756),(1.90735,-1.56637),(1.90735,-1.90818),(1.90735,-1.91062),(1.90735,-1.63354),(1.90735,-1.84863),(1.90735,-1.57845),(1.90735,-1.89905),(1.90735,-1.80269),(1.90735,-1.57746),(1.90735,-1.62008),(1.90735,-1.63344),(1.90735,-1.90125),(1.90735,-1.837),(1.90735,-1.95166),(1.90735,-1.55095),(1.90735,-1.84138),(1.90735,-1.88205),(1.90735,-1.58704),(1.90735,-1.75845),(1.90735,-1.58787),(1.90735,-1.66854),(1.90735,-1.67543),(1.90735,-1.81213),(1.90735,-1.58635),(1.90735,-1.74206),(1.90735,-1.88331),(1.90735,-1.85199),(1.90735,-1.74797),(1.90735,-1.81284),(1.90735,-1.84394),(1.90735,-1.557),(1.90735,-1.5703),(1.90735,-1.86254),(1.90735,-1.88752),(1.90735,-1.66422),(1.90735,-1.51808),(1.90735,-1.60425),(1.90735,-1.67941),(1.90735,-1.97837),(1.90735,-1.79105),(1.90735,-1.62416),(1.90735,-1.64162)]
patternMP5 = [(0.186855,-1.01539),(-0.00582471,-0.502106),(-0.156195,-1.0342),(-0.519372,-0.640153),(0.683609,-1.12788),(0.310928,-1.17064),(-0.346069,-1.1609),(0.346069,-0.828522),(-0.150244,-1.35938),(-0.829917,-0.805479),(0.0107228,-0.833481),(0.603524,-0.68002),(0.365914,-1.40486),(-0.122424,-0.6371),(-0.586912,-1.43886),(-0.0769039,-0.782345),(0.27511,-1.41134),(-0.488871,-1.12544),(0.899568,-1.08393),(-0.512211,-0.523671),(0.612643,-1.15884),(-0.797758,-0.985532),(0.00152647,-0.801915),(0.667478,-1.37934),(-0.871246,-1.10308),(0,-1.32732),(0,-0.790142),(0,-0.600323),(0,-0.512421),(0.612577,-1.03316)]
patternGlock = [(0.0, -1.35)]
patternPython = [(0.168908,-6.07593),(0.154553,-7.89457),(-0.515888,-7.85533),(-0.610595,-7.99365),(-0.862795,-7.90264),(-0.35346,-7.60835)]
patternRevolver = [(-0.56025,-2.15582),(-0.274279,-3.55147),(0.17369,-2.04761),(-0.512234,-3.35569),(0.0444064,-3.56844),(-0.510222,-3.17032),(-0.0671461,-2.11841),(-0.153973,-1.9469)]
patternSAP = [(0.444277,-1.20431),(0.320905,-1.43547),(-0.221031,-1.3841),(0.257982,-1.39677),(-0.0800682,-1.22512),(-0.308558,-1.20126),(-0.0836911,-1.34777),(0.53502,-1.30657),(-0.349435,-1.47329),(-0.0948077,-1.48178)]
patternSAR = [(-0.0496203,-1.37012),(0.0455736,-1.4735),(-0.232006,-1.44247),(-0.231727,-1.75503),(-0.119118,-1.74737),(0.298182,-1.44973),(0.0640724,-1.64438),(-0.283606,-1.54438),(-0.0788845,-1.64492),(-0.182442,-1.75451),(0.018778,-1.55559),(-0.238633,-1.53367),(0.109891,-1.50528),(-0.0198892,-1.6851),(-0.2145,-1.62552),(0.0906142,-1.29492)]
patternThompson = [(-0.114413, -0.680635), (0.008686, -0.676598), (0.010312, -0.682837), (0.064825, -0.691345),
(0.104075, -0.655618), (-0.088118, -0.660429), (0.089906, -0.675183), (0.037071, -0.632623),
(0.178465, -0.634737), (0.034654, -0.669443), (-0.082658, -0.664826), (0.025550, -0.636631),
(0.082414, -0.647118), (-0.123305, -0.662104), (0.028164, -0.662354), (-0.117346, -0.693475),
(-0.268777, -0.661123), (-0.053086, -0.677493), (0.004238, -0.647038)]
patternCustomSMG = [(-0.068057,-0.779404),(-0.00364058,-0.947032),(-0.482141,-0.784474),(0.200499,-0.938706),(-0.190288,-0.785133),(-0.219977,-0.813007),(0.0569503,-0.779714),(-0.0406668,-0.761556),(0.430754,-0.756453),(-0.424053,-0.965289),(0.0168916,-0.964429),(-0.0262704,-0.816567),(0.640342,-0.907307),(0.57987,-0.779178),(0.279788,-0.871991),(-0.614936,-0.935737),(0.426382,-0.873012),(-0.842912,-0.788242),(-0.552917,-0.835244),(0.0829204,-0.950051),(0.0417021,-0.922451),(0.0808415,-0.938047),(0.105007,-0.821222),(0.981122,-0.915225)]
patternNailgun = [(0.45732,-2.24032),(0.446428,-3.28941),(0.433216,-2.27805),(0.0718691,-1.87405),(0.271604,-3.03997),(-0.554384,-1.94188),(-0.286755,-2.04654),(-0.179793,-2.05201),(0.193524,-1.96143),(0.544096,-2.99069),(-0.130297,-2.14273),(-0.203154,-3.26604),(0.462812,-2.37334),(-0.274354,-2.62241),(0.148343,-2.20072),(-0.535494,-1.98691)]
patternHMLMG = [(0.00046141,-1.70373),(-0.410665,-1.52858),(-1.04781,-1.97148),(-1.23484,-1.77256),(-1.02089,-1.67558),(-0.847232,-1.94818),(-1.05537,-1.80832),(-0.642553,-1.53231),(-0.72427,-1.57887),(-0.79258,-1.71587),(-0.655472,-1.76665),(-0.79953,-1.97863),(-1.00677,-1.60855),(-1.17628,-1.90527),(-1.11468,-1.67591),(-0.992532,-1.68983),(-1.19769,-1.76393),(-0.714571,-1.58171),(-1.04679,-1.83975),(-1.2484,-1.63813),(-1.02909,-1.68515),(-0.670227,-1.78585),(-0.690552,-1.5611),(0.0152397,-1.6814),(0.106281,-1.7274),(0.00920868,-1.76259),(-0.0108871,-1.63172),(-0.00400162,-1.72371),(0.00197411,-1.68679),(0.000776291,-1.75064),(-0.000131607,-1.95224),(-0.00018692,-1.98186),(-9.53674,-1.66449),(1.90735e-05,-1.8519),(0,-1.68656),(-5.72205,-1.90157),(-5.72205,-1.72314),(-5.72205,-1.95051),(-5.72205,-1.76209),(-5.72205,-1.95818),(-5.72205,-1.95728),(-5.72205,-1.75122),(-5.72205,-1.8638),(-5.72205,-1.95276),(-5.72205,-1.60731),(-5.72205,-1.91953),(-5.72205,-1.88307),(-5.72205,-1.86624),(-5.72205,-1.7388),(-5.72205,-1.52732),(-5.72205,-1.68088),(-5.72205,-1.94608),(-5.72205,-1.8056),(-5.72205,-1.93314),(-5.72205,-1.5908),(-5.72205,-1.84856),(-5.72205,-1.82395),(-5.72205,-1.98903),(-5.72205,-1.88184),(-5.72205,-1.71681)]
patternPrototype17 = [(-0.214819,-1.17308),(-0.0474587,-1.09976),(-0.245656,-0.968011),(0.12901,-1.13721),(-0.349183,-1.13011),(-0.00752546,-1.10922),(-0.371684,-1.00481),(-0.387903,-1.18878),(0.135088,-1.18786),(-0.369806,-1.02794),(0.187812,-1.12806),(-0.406909,-1.05733),(-0.0979044,-1.08092),(0.188682,-1.09309),(-0.174038,-1.10844),(0.180376,-1.00732),(-0.218424,-1.06684),(0.14374,-1.12224)]
class WeaponData:
def __init__(self, ads_scale, movement_penalty, repeat_delay, pattern):
self.ads_scale = ads_scale
self.movement_penalty = movement_penalty
self.repeat_delay = repeat_delay
self.pattern = pattern
self.rpm = 60.0 / repeat_delay if repeat_delay > 0 else 600
WEAPONS = {
'M39': WeaponData(0.6, 0.5, 0.175, patternM39),
'SKS': WeaponData(0.6, 0.5, 0.15, patternSKS),
'HandMadeSMG': WeaponData(0.5, 0.0, 0.14, patternHANDMADESMG),
'HighCaliberRevolver': WeaponData(0.5, 1.0, 0.7, patternHCRev),
'Minigun': WeaponData(0.5, 3.0, 0.12, patternMinigun),
'M92': WeaponData(0.5, 0.0, 0.15, patternM92),
'AK': WeaponData(0.5, 0.5, 0.1333, patternAK),
'SMG': WeaponData(0.5, 0.0, 0.1, patternSMG),
'LR300': WeaponData(0.75, 0.2, 0.12, patternLR300),
'M249': WeaponData(0.5, 1.25, 0.12, patternM249),
'MP5': WeaponData(0.5, 0.2, 0.1, patternMP5),
'Glock17': WeaponData(0.6, 0.5, 0.1125, patternGlock),
'Python': WeaponData(0.5, 0.0, 0.15, patternPython),
'Revolver': WeaponData(0.6, 0.0, 0.175, patternRevolver),
'Semi-auto pistol': WeaponData(0.6, 0.5, 0.15, patternSAP),
'Semi-auto rifle': WeaponData(0.6, 0.5, 0.175, patternSAR),
'Thompson': WeaponData(0.5, 0.0, 0.13, patternThompson)
}
RECOIL_RAW = {}
for name, weapon in WEAPONS.items():
RECOIL_RAW[name] = {
'coords': weapon.pattern,
'shot_times': [weapon.repeat_delay * 1000] * len(weapon.pattern),
'rpm': weapon.rpm
}
SCOPE_MULTIPLIERS = {
'Default': 1.0,
'Holographic': 1.05,
'x8': 2.0,
'x16': 16.0,
'Handmade': 1.2
}
def screen_multiplier(sensitivity, fov):
return -0.03 * (sensitivity * 3.33) * (fov / 100.0)
def compute_final_offsets(weapon_name, sensitivity, fov, scope_name, state_mult, attach_flags):
data = RECOIL_RAW[weapon_name]
coords = data['coords']
shot_times = data['shot_times']
rpm = data['rpm'] if data['rpm'] is not None else 120.0
sm = screen_multiplier(sensitivity, fov)
scope_mul = SCOPE_MULTIPLIERS.get(scope_name, 1.0)
barrel_mul = 1.0
if attach_flags.get('MuzzleBoost'):
barrel_mul = 0.9
final = []
for i, (x, y) in enumerate(coords):
dx = (x * scope_mul * barrel_mul) / sm * state_mult
dy = (y * scope_mul * barrel_mul) / sm * state_mult
final.append((int(round(dx)), int(round(dy))))
if shot_times and len(shot_times) == len(coords):
delays = [t / 1000.0 for t in shot_times]
else:
delay = (60.0 / rpm if rpm and rpm > 0 else 0.01)
delays = [delay] * len(coords)
return final, delays
ну вот основа