Skip to content
View in the app

A better way to browse. Learn more.

主视角中国

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[战地2]单人模式隐藏武器入手方法

Featured Replies

singleplayer模式里直接拿到ONLINE升级才拿得到的武器

  游戏目录\EA GAMES\Battlefield 2 Demo\python\bf2\stats

  打开里面的unlocks.py

  第44行

  def onPlayerConnect(player):  defaultUnlocks = [0, 0, 0, 0, 0, 0, 0]

  host.pers_plrSetUnlocks(player.index, defaultUnlocks, defaultUnlocks)

  把里面defaultUnlocks = [0, 0, 0, 0, 0, 0, 0]的0全部改为1即可.武器多半是欧系,狙击嘛,大家自己去看吧^-^

  千万要记住是defaultUnlocks = [0, 0, 0, 0, 0, 0, 0] ,而不是别的

2142的吗? BF2的?

:o:wacko:

  • 作者

战地2。。。不是2142,我没这么糊涂

  • 4 weeks later...

import host

import bf2.PlayerManager

from bf2.stats.constants import *

from bf2 import g_debug

# map gamespy item ids to kits

unlockItemMap = {

11 : 0,

22 : 1,

33 : 2,

44 : 3,

55 : 4,

66 : 5,

77 : 6,

88 : 1,

99 : 2,

111 : 3,

222 : 4,

333 : 5,

444 : 0,

555 : 6,

}

sessionPlayerUnlockMap = {}

def init():

# Events

host.registerHandler('PlayerConnect', onPlayerConnect, 1)

if bf2.serverSettings.getUseGlobalUnlocks():

host.registerHandler('PlayerUnlocksResponse', onUnlocksResponse, 1)

# Connect already connected players if reinitializing

for p in bf2.playerManager.getPlayers():

onPlayerConnect(p)

if g_debug: print "Unlock module initialized"

class UnlockSet: pass

def onPlayerConnect(player):

defaultUnlocks = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

host.pers_plrSetUnlocks(player.index, defaultUnlocks, defaultUnlocks)

if not player.isAIPlayer():

id = player.index

reconnect = id in sessionPlayerUnlockMap

# always get new unlocks on reconnect/map restart/map change etc

if reconnect:

del sessionPlayerUnlockMap[id]

newUnlockSet = UnlockSet()

newUnlockSet.unlockLevel = {}

for i in range(0, NUM_KIT_TYPES):

newUnlockSet.unlockLevel = 0

sessionPlayerUnlockMap[id] = newUnlockSet

player.unlocks = sessionPlayerUnlockMap[id]

if bf2.serverSettings.getUseGlobalUnlocks():

if player.getProfileId() > 2000:

success = host.pers_plrRequestUnlocks(player.index, 1)

if not success:

if g_debug: print "Failed requesting unlocks"

else:

if g_debug: print "Player %d had no profile id, can't request unlocks" % player.index

if g_debug: print "Added player %d to unlock checking" % (player.index)

def onUnlocksResponse(succeeded, player, unlocks):

if not succeeded:

print "Unlocks request failed for player %d %d: %s" % (player.index, player.getName(), unlocks)

return

# print "Unlocks received for player ", player.getName(), "(",player.index, ") : ", unlocks

# translate gamespy item vector into a kit-based unlock vector handled by game

kitUnlocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

for item in unlocks:

if item in unlockItemMap:

kitUnlocks[unlockItemMap[item]] = 1

if g_debug: print "Kit unlocks: ", kitUnlocks

#We do not yet support giving different unlocks to different teams

host.pers_plrSetUnlocks(player.index, kitUnlocks, kitUnlocks)

  • 作者

真想解玩SF不就完了~~

  • 作者

我也是转的……

  • 4 weeks later...

朋友,谢谢了!我改了,也看见了,你没有骗人,你是善良的!

  • 1 month later...

真的么??。。。

我要试试 ~~嘿嘿

先谢 了

为什么我改了用不了。。。。按照你说的那样改的。。。。郁闷。。。难道有版本限制?不能吧??。。。。。。。

import host

import bf2.PlayerManager

from bf2.stats.constants import *

from bf2 import g_debug

# map gamespy item ids to kits

unlockItemMap = {

11 : 0,

22 : 1,

33 : 2,

44 : 3,

55 : 4,

66 : 5,

77 : 6,

88 : 1,

99 : 2,

111 : 3,

222 : 4,

333 : 5,

444 : 0,

555 : 6,

}

sessionPlayerUnlockMap = {}

def init():

# Events

host.registerHandler('PlayerConnect', onPlayerConnect, 1)

if bf2.serverSettings.getUseGlobalUnlocks():

host.registerHandler('PlayerUnlocksResponse', onUnlocksResponse, 1)

# Connect already connected players if reinitializing

for p in bf2.playerManager.getPlayers():

onPlayerConnect(p)

if g_debug: print "Unlock module initialized"

class UnlockSet: pass

def onPlayerConnect(player):

defaultUnlocks = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

host.pers_plrSetUnlocks(player.index, defaultUnlocks, defaultUnlocks)

if not player.isAIPlayer():

id = player.index

reconnect = id in sessionPlayerUnlockMap

# always get new unlocks on reconnect/map restart/map change etc

if reconnect:

del sessionPlayerUnlockMap[id]

newUnlockSet = UnlockSet()

newUnlockSet.unlockLevel = {}

for i in range(0, NUM_KIT_TYPES):

newUnlockSet.unlockLevel = 0

sessionPlayerUnlockMap[id] = newUnlockSet

player.unlocks = sessionPlayerUnlockMap[id]

if bf2.serverSettings.getUseGlobalUnlocks():

if player.getProfileId() > 2000:

success = host.pers_plrRequestUnlocks(player.index, 1)

if not success:

if g_debug: print "Failed requesting unlocks"

else:

if g_debug: print "Player %d had no profile id, can't request unlocks" % player.index

if g_debug: print "Added player %d to unlock checking" % (player.index)

def onUnlocksResponse(succeeded, player, unlocks):

if not succeeded:

print "Unlocks request failed for player %d %d: %s" % (player.index, player.getName(), unlocks)

return

# print "Unlocks received for player ", player.getName(), "(",player.index, ") : ", unlocks

# translate gamespy item vector into a kit-based unlock vector handled by game

kitUnlocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

for item in unlocks:

if item in unlockItemMap:

kitUnlocks[unlockItemMap[item]] = 1

if g_debug: print "Kit unlocks: ", kitUnlocks

#We do not yet support giving different unlocks to different teams

host.pers_plrSetUnlocks(player.index, kitUnlocks, kitUnlocks)

你看这样。。。。进去不能用解锁武器。。。。再怎么调??

  • 2 months later...

你没看他的游戏目录是

游戏目录\EA GAMES\Battlefield 2 Demo\python\bf2\stats

  • 2 weeks later...

找不到你说的,能告诉我怎么找吗?

  • 3 weeks later...

谢谢楼主了

xiexie

3q~

都有些什么武器呢

我试过了,不行!

谢谢lz,按你的方法改了,不过不起作用!!!!!!!!!

虽然不玩单机 但是顶上

  • 4 weeks later...

谢谢了

  • 2 weeks later...

回去试试 THX~~~~

Create an account or sign in to comment

Account

Navigation

搜索

搜索

设置浏览器推送通知

Chrome(安卓)
  1. 点击地址栏旁边的锁形图标。
  2. 点击 权限 → 通知
  3. 根据需要调整通知设置。
Chrome(桌面)
  1. 点击地址栏中的锁形图标。
  2. 选择 网站设置
  3. 找到 通知,然后根据需要调整设置。