Comment modifier un fichier python sur BF2142. - Python - Programmation
Marsh Posté le 25-10-2009 à 02:44:09
1/ Change le titre
2/ utilises la balise [code=python]
3/ tu veux tricher en fait ?
Marsh Posté le 25-10-2009 à 12:30:19
Non je veux pas vraiment tricher je veux juste que ce soit mon ordi qui héberge les rangs des joueurs et donc éviter de payer eliot ness qui ne fait que profiter du système.
Je connais un modder qui essaye en ce moment de faire cette modif, je crois qu'il est en passe de réussir.
Je pense pas que ce soit illégale?
Pour information ce n'est que la démo du jeu, plusieurs servers sont déjà ranked sur la démo alors que c'est censer être impossible.
Cdt,
Marsh Posté le 20-05-2010 à 21:45:08
Bonsoir,
Ben j'ai le script si quelqu'un le veut, contactez moi.
Au revoir.
Marsh Posté le 25-10-2009 à 02:29:03
Bonjour,
Voila je tiens un serveur sur BF2142 et je souhaiterais qu'il soit ranked sans devoir payer eliot ness.
J'ai trouver ce fichier, ce pendant je ne comprends pas grand chose à ce type de language.
Je voudrais par exemple qu'a 50 points le joueur passe au rang n°1, à 150 au rang n°2....
Je suppose que je dois changer le dernier paragraphe, non?
Je pense également que je dois "initialiser" ce fichier, il a un fichier nommé init.py qui est vide, je pensais mettre :
import rank
rank.init()
Mais bon je suis un gros noob en cette matière.
Merci pour vos éclaircissements!
# rank upgrades
import host
import bf2.PlayerManager
import bf2.Timer
from bf2.stats.constants import *
from bf2 import g_debug
def init():
# Events
if bf2.serverSettings.getUseGlobalRank():
host.registerHandler('PlayerConnect', onPlayerConnect, 1)
host.registerHandler('PlayerStatsResponse', onStatsResponse, 1)
host.registerGameStatusHandler(onGameStatusChanged)
# Connect already connected players if reinitializing
for p in bf2.playerManager.getPlayers():
onPlayerConnect(p)
if g_debug: print "Rank module initialized"
def onGameStatusChanged(status):
if status == bf2.GameStatus.Playing:
pass
else:
if g_debug: print "Destroyed timer"
def onUpdate(data):
for p in bf2.playerManager.getPlayers():
if p.isAlive():
checkRank(p)
### Event hooks
def onPlayerConnect(player):
#id = player.index
if player.score.rank == -1:
player.score.rank = 0
# request rank
if bf2.serverSettings.getUseGlobalRank():
if player.getProfileId() > 2000:
success = host.pers_plrRequestStats(player.index, 1, "&mode=base", 0)
else:
if g_debug: print "Player %d had no profile id, can't request rank" % player.index
if g_debug: print "Added player %d to rank checking" % (player.index)
def onStatsResponse(succeeded, player, stats):
if player == None:
playerIndex = "unknown"
else:
playerIndex = player.index
if not "rnk" in stats:
if g_debug: print "rank not found, aborting"
return
if g_debug: print "Rank received for player ", playerIndex, ":", host.pers_getStatsKeyVal("rnk", player.getProfileId())
if not player: return
value = int( host.pers_getStatsKeyVal("rnk", player.getProfileId()) )
if g_debug: print "Player",player.index,"Rank:", value
player.score.rank = value
player.stats.rank = value
Message édité par LeNarvalo le 25-10-2009 à 12:24:06