Page 1 of 2

Python Coding in BF2

Posted: 2008-03-08 20:47
by dbzao
For the ones interested in python coding in BF2, here are a few links that helped me out when I started.

Main Page - BF2 Technical Information Wiki
Object Reference - BF2 Technical Information Wiki
Event Reference - BF2 Technical Information Wiki
Scripts - BF2 Technical Information Wiki
BF2 Coordinates - BF2 Technical Information Wiki
List of available host.rcon invoke commands - BF2 Technical Information Wiki
Official BF Editor Forums -> Python

Also you can check vBF2 python code in mods/bf2/python/game and other mods python code.

If you are new to python, checking online documentation is your best bet. Here are some links that were useful when I started learning the language:

5. Data Structures
3.6.1 String Methods

Re: Python coding in BF2

Posted: 2009-04-22 22:46
by alexandrei07
Hello dbzao, we want to make an Argentinian faction (PR), could you tell me if is necessary to modify the python (pyc) files or it is possible to do this only using the open files (_init_.py , realityconfig_local / private.py) from a patch into a level??, local and dedicated options.

Have the pyc files a pass? I want to open scoringCommon.pyc but Ican't do it.

Image]Image[/URL]



Thanks

Re: Python coding in BF2

Posted: 2009-04-23 00:33
by dbzao
To test your changes you only really need to edit realityconfig_local (when testing locally) or realityconfig_private (if testing in a passworded dedicated server).

Also there are a few other .con and .tweak files you need to edit to make sure things spawn properly like the spawner files in objects_server/common/spawner.

I think there's another thread somewhere with instructions to test new factions.

Re: Python coding in BF2

Posted: 2009-04-23 01:01
by alexandrei07
Ok thanks, I try to make it, about kits and new vehicles , soldiers, etc, We worked in this files and at this time they are operative, but there are not working the kits "ar", for example: crewman_ar, pilot_ar, etc..scoreflags...

link to TH Puerto_Argentino (Port_Stanley):https://www.realitymod.com/forum/f354-community-maps/56973-map-puerto_argentino-wip.html

Re: Python coding in BF2

Posted: 2009-04-23 03:32
by alexandrei07
Hi, I modify realityconfig_local (ar faction) and put into the init.con this setting:

rem gameLogic.setTeamName 1 "US"
gameLogic.setTeamName 1 "AR"
gameLogic.setTeamName 2 "GB"

gameLogic.setTeamLanguage 1 "USEnglish"
gameLogic.setTeamLanguage 2 "GBEnglish"

gameLogic.setTeamFlag 0 "flag_neutral"
rem gameLogic.setTeamFlag 1 "flag_us"
gameLogic.setTeamFlag 1 "flag_ar"
gameLogic.setTeamFlag 2 "flag_gb"


gameLogic.setKit 1 0 "ar_officer" "pr_ar_soldier4"
rem gameLogic.setKit 1 0 "us_officer" "pr_ar_soldier4"
gameLogic.setKit 2 0 "gb_officer" "pr_gb_soldier4"

gameLogic.setKit 1 1 "ar_riflemanab" "pr_ar_soldier2"
rem gameLogic.setKit 1 1 "us_riflemanab" "pr_ar_soldier2"
gameLogic.setKit 2 1 "gb_riflemanab" "pr_gb_soldier2"

gameLogic.setKit 1 2 "ar_rifleman" "pr_ar_soldier3"
rem gameLogic.setKit 1 2 "us_rifleman" "pr_ar_soldier3"
gameLogic.setKit 2 2 "gb_rifleman" "pr_gb_soldier3"

gameLogic.setKit 1 3 "ar_specialist" "pr_ar_soldier1"
rem gameLogic.setKit 1 3 "us_specialist" "pr_ar_soldier1"
gameLogic.setKit 2 3 "gb_specialist" "pr_gb_soldier1"

gameLogic.setKit 1 4 "ar_medic" "pr_ar_soldier2"
rem gameLogic.setKit 1 4 "us_medic" "pr_ar_soldier2"
gameLogic.setKit 2 4 "gb_medic" "pr_gb_soldier2"

gameLogic.setKit 1 5 "" ""
gameLogic.setKit 2 5 "" ""

gameLogic.setKit 1 6 "" ""
gameLogic.setKit 2 6 "" ""

When I deploying ...

Image

realityflags.py error, I can't find this file...what can I do??

I put into a patch level menu_client.zip >>

Scoreboard_flag
minimap_cp
minimap_cpbase
minimap_flag
flag_ar
hugeflag_ar
flaglarge_ar

but I don't know what can I do about memeatlas_020.dds? Is it possible that this produces the error?

Edit:

The error appears at the end of the load of the map


thanks

Re: Python coding in BF2

Posted: 2009-04-23 22:27
by dbzao
Please, don't post in this thread with bugs or unrelated stuff.

If you want, post your own thread about this. This is not the place.

Re: Python coding in BF2

Posted: 2009-04-24 18:00
by alexandrei07
OK, I will do it

sorry , please delete my post.

Re: Python coding in BF2

Posted: 2009-07-14 18:18
by GDICommand
sheesh...python sucks! lol, i only say that cuz it's new to me

im a noob anyway. I know java, I just started learning C (and that gives me **** every time i try to use pointers)...so i dont know many languages.

I'm following your guides though, im gonna try and learn it (even though i think i should get C and C++ down first :P )

Re: Python coding in BF2

Posted: 2009-07-14 19:33
by MAINERROR
I'm not as good as dbzao or Afterdune in Python but I've learned enough to tell you that pretty much all other languages suck compared to Python!

wifi hacker

Hacking Tutorial

Re: Python coding in BF2

Posted: 2009-07-14 20:43
by GDICommand
no way!!!

JAVA RULZZ!! 31337!!!!!

I COULD PROGRAM A BANANA IN JAVA!! cant do that in python

Re: Python coding in BF2

Posted: 2009-07-14 20:49
by MAINERROR
Well you can program a ASCII banana in Python. :p

Re: Python coding in BF2

Posted: 2009-07-15 17:25
by crazy11

Re: [Python Tutorial] Python coding in BF2

Posted: 2010-01-24 13:31
by j0g32
is there some kind of tutorial for beginners ?
I mean, I could read thousands of python tutorials by not knowing wich modules etc. to import and what these methods and callbacks are returning etc. in order to let your script working FOR BATTLEFIELD 2 / Project Reality.
Do i have to completely learn python itself if I'd like to do some coding in Bf2 ?
or is there some kinda small library of knowledge wich would only be needed :P


this wiki: Original python scripting reference documentation - BFEditor
is really helpful, but I can't get started with this:
Nice to know wich methods exist and how they're called but for me as a beginner I couldn't start of with a new script like this ...
It's difficult to say :D but what I'd like to have is something that answers the question:
"Okay, i see
THIS =>

Code: Select all

init():

		bf2.registerHandler('PlayerRevived', onPlayerRevived)

		print "MyScript is now listening for players being revived..."
is the code that engages the script to "listen for players being revived"
But what if I'd like to have the script listen to players entering vehicles ?!?!"

Yeah it's basic stuff, but imo all these python tutorials do not help beginners with scripting for BF2...
Hope you'll understand

thx for responses!

Re: [Python Tutorial] Python coding in BF2

Posted: 2010-02-24 21:54
by POMARANC
it uses version 2, but I'm not sure which subversion
some old info says it's 2.3.4, but maybe it was updated...

Re: [Python Tutorial] Python coding in BF2

Posted: 2010-02-25 19:18
by dbzao
2.3.7 is fine, but bear in mind BF2 has its own set of modules, so not all of original python 2.3 modules are available.

Re: [Python Tutorial] Python coding in BF2

Posted: 2011-11-11 13:12
by armed Jester
hey all,

i want to try out some stuff on our server "gis+ cobat zone PR9.x" and got some questions about it.

first of all; is it legal to change things like "player amount", "sq sice" and "removing nametags" on a locked server.

and; what files have to be modified to do so.

Re: [Python Tutorial] Python coding in BF2

Posted: 2011-11-20 21:33
by BloodyDeed
Afaik nametags would require you to modify the clients files.
I strongly recommend you NOT to change any client files as this if you're not backing up correctly will kick you off the servers due to md5 mismatch.

Player amount is really easy to change, just set the sv.maxPlayers 16 to whatever you want. More than 64 slots is hardcoded and requires assembly skills which is BY FAR more complex than python.

Squadsize is also hardcoded and theres no way to change that without changing the bf2 binaries.


All these question have nothing to do with python tho, would fit better in the server admins forum.