Zum Inhalt springen
EnZyM

Unlocks im LAN

Empfohlene Beiträge

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden


  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.