Jump to content
EnZyM

Unlocks im LAN

Recommended Posts

Auch auf die Gefahr in, daß ich jetzt gebasht werde: Können im LAN die Unlocks (Vanilla, am besten auch SF) irgendwie freigeschaltet werden?

Zur Erklärung: wir haben heute Abend´ne LAN-Party und ich muß jetzt arbeiten gehen, hab deshalb nicht groß Zeit rumzusuchen :D .

Link to comment
Share on other sites

Halo!

falls es nich schon zu spät ist:

du gehst in deinen ea ordner und dann auf phyton. dort auf bf2 stats und unlocks mit editor öffnen. das sieht so aus

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,

}

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]

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 = [1, 1, 1, 1, 1, 1, 1]

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)

dort wo die einsen sind sind vorher nullen. diese einfach zu einsen machen.

ABER NICHT VERGESSEN. VON DEM STATS ORDNER EINE SICHERHEITSKOPIE MACHEN SONST WERDET IHR GEBANNT ALSO NACH DER LAN DIE BACKUPS WIEDER ZURÜCK WENN IHR ONLINE SPIELT"!!!!!!!

mfg

hitk1ng

Link to comment
Share on other sites

Nein, nicht zu spät! Hab grad noch Deine Antwort gelesen, werde meinen Krempel jetzt abbauen und dann in den Krieg ziehen *lol* .

:danke:

Link to comment
Share on other sites

Moin!

@ enzym

kein problem.

nu zu sf. Ihr müsst mal sehen. Ich habe es selber noch nicht ausprobiert. Geht einfach mal bei mods in EA ordner. Da müsste special forces sein. Mal gucken ob die stats dateien auch bei phyton sind. Falls ihr das findet, einfach mal gucken ob der text genauso wie beim normalen BF2 aussieht. Wenn nicht, mal gucken....

UND NICHT DIE SICHERHEITSKOPIE VERGESSEN!!!!

hitk1ng

Link to comment
Share on other sites

also ich hab ma ausprobiert (hab auch ne sicherheitkopie erstellt B) ) also da ist der gleicht text halt nur mit mehr 0en die man zu 1en machen muss aber bei mir hats nicht geklappt.

Link to comment
Share on other sites

Geht das ganze auch noch mit den Patch 1.2? Hab es probiert aber irgendwie ging es nicht.Kann gut sein das ich etwas flasch gemacht habe.

Link to comment
Share on other sites

Holla!

Also ich muss sagen ich hab das mit der unlocks.py früher schonmal probiert und damals hatts auch schon nicht funktioniert habs nun nochmal versucht und wieder gings nicht. Geht das denn wirklich bei irgendwem?

gehts denn mit dem neuen patch immer noch

ich muesste alles richtig gemacht haben aber ich poste dennoch mal den inhalt der unlocks.py

------------------------------------------------------------------------------------------------------------

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 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

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)

----------------------------------------------------------------------------------------------------------

muesste doch so stimmen oder?

muss man denn noch was dabei beachten wenn man im lan mit allen waffen spielen will?

Punkbuster aus evtl.

ich hab mich mit ne offline account im spiel angemeldet und dann eifach nen lan bzw einzelspieler server aufgemacht (bei beiden gings nicht!)

Gibts denn kein tool indem man mal gescheit alles einstellen kann für Lan server.

andere spiele bekommen das doch auch gebacken.

ich blick auch nicht warum der lanserver das mit den waffen usw nicht steuern kann.

Wäre echt schade wenn man im LAN nur mit den standard waffen spielen kann . ein Mod in dem alles freigeschalten ist würde mich auch schon glücklich machen...

naja hoffe dass jemand mehr weiss

Danke

Link to comment
Share on other sites

Ich habe auch das Problem.Ob es bei der Vollversion nicht funktioniert?

Denn der obere Tipp dürfte für die Demo gewesen sein oder?

Link to comment
Share on other sites

Ich hab das auchschonmal so versucht. ging bei mir aber net. hatte damals schon patch 1.2 drauf, hab jetz 1.21.aber das geht auch nicht. woran könnte das liegen?

Link to comment
Share on other sites

Ich hab das auchschonmal so versucht. ging bei mir aber net. hatte damals schon patch 1.2 drauf, hab jetz 1.21.aber das geht auch nicht. woran könnte das liegen?

weil es seit den 1.03 Patch nicht mehr geht ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.