Server Help

ASSS Custom Projects - <C> ASSS Flags Module

Cheese - Sun Apr 11, 2010 4:43 am
Post subject: <C> ASSS Flags Module
This is a no-nonsense flags module for ASSS (which really doesnt have a flag module right now) which has all the features of subgame, and most of the improved ASSS settings.

It is an easy system, there is no need to worry about loading python or attaching modules or anything else. It defaults to loading flags from the map files, so you don't even really need to even set any settings up for an arena.

The flag formulas, if you choose to use them, are somewhat more logical.

Included: a .set file, which describes the arena settings the module uses.
When I finish my quickfix mod, simply toss it into the data folder to have them listed in ?quickfix

This is mostly tested, but has too many features to be certain.
Try to break it, and if it does, let me know.
If you want a feature added, let me know.

Known limitations:
random flags: you have to recreate arena to re-random, because for some reason its the only way to reinitialize the flag core...

Source attached.
Any comments/suggestions/ideas would be appreciated.


Update:
Added an interface, which adds a flag touch callback, and can be used to manually change a turf flag's freq.
JoWie - Sun Apr 11, 2010 8:20 am
Post subject:
That limitation is easily fixed:

If the random value is set to a maximum of 50. And at game start 30 is randomly chosen as the flag count, you simply.

Reserve 50 flags during flag gameinitialization.
Set the last 20 flags to FI_NONE at game start
Dr Brain - Sun Apr 11, 2010 9:27 am
Post subject:
How does this differ from the existing flag modules, exactly?
Cheese - Sun Apr 11, 2010 12:38 pm
Post subject:
yes, i suppose i could reserve 256 flags at the start, but thats not the way to do things.

whats your suggestion for changing the carry mode, then?


@dr
its better :)

edit:
Cheese wrote:

Included: a .set file, which describes the arena settings the module uses.


JoWie - Mon Apr 12, 2010 5:56 am
Post subject:
Doesn't it have a range for the random amount of flags?

Why would you ever want a situation where the amount of random flags could be 1 flag in one game and 254 flags in the next.

Oh and I meant setting the state in the FlagInfo.
Something like:
Code: Show/Hide

FlagInfo fi;
flagcore->GetFlags(arena, 123, &fi, 1);
fi.state = FI_NONE;
flagcore->SetFlags(arena, 123, &fi, 1);


This is how fg_wz does it (for example by setting Flag:FlagCount = 10-20)
Cheese - Mon Apr 12, 2010 8:53 pm
Post subject:
JoWie wrote:

Why would you ever want a situation where the amount of random flags could be 1 flag in one game and 254 flags in the next.



it doesnt matter what anyone WANTS, the simple fact that its POSSIBLE means i would have to initially reserve all 256 flags at the creation of EVERY arena.

the question is why isnt the flag core reinitialized after a flag reset?
JoWie - Tue Apr 13, 2010 4:03 pm
Post subject:
Why for every arena? Simply let the max flag count require a recycle. If someone sets 254 as the max, so be it.
Cheese - Sat Apr 24, 2010 5:51 pm
Post subject:
added a callback and interface.
files updated.
Cheese - Sat Apr 05, 2014 3:39 pm
Post subject:
bump
fatrolls - Sat Apr 05, 2014 9:47 pm
Post subject:
Doesn't compile under Cent OS 6.0 Linux Under ASSS 1.4.4, I guess this is for newer ASSS revision

I made a makefile.mk in flags folder with this stuff

Code: Show/Hide

flags_mods = flags

$(eval $(call dl_template,flags))

# dist: public


Code: Show/Hide

[root@test src]# make flags
gcc -std=gnu99 -pipe -I. -Iinclude -I../build  -D_REENTRANT -D_GNU_SOURCE -fPIC -g -Wall   -c -o ../build/flags.o flags/flags.c
flags/flags.c: In function ?checkwin?:
flags/flags.c:56: error: ?Iflagcore? has no member named ?IsWinning?
flags/flags.c:58: error: ?Iflagcore? has no member named ?CountFlags?
flags/flags.c:88: warning: implicit declaration of function ?FOR_EACH_PLAYER_IN_ARENA?
flags/flags.c:89: error: expected ?;? before ?{? token
flags/flags.c:87: warning: unused variable ?link?
flags/flags.c:80: warning: unused variable ?players?
flags/flags.c: At top level:
flags/flags.c:116: error: expected declaration specifiers or ?...? before ?BOOL?
flags/flags.c:116: error: expected declaration specifiers or ?...? before ?BOOL?
flags/flags.c: In function ?newflag?:
flags/flags.c:123: error: ?old? undeclared (first use in this function)
flags/flags.c:123: error: (Each undeclared identifier is reported only once
flags/flags.c:123: error: for each function it appears in.)
flags/flags.c:125: error: ?carried? undeclared (first use in this function)
flags/flags.c:138: error: ?Iflagcore? has no member named ?CountFlags?
flags/flags.c:142: error: ?BOOL? undeclared (first use in this function)
flags/flags.c:142: error: expected ?;? before ?good?
flags/flags.c:145: error: ?good? undeclared (first use in this function)
flags/flags.c: In function ?doinit?:
flags/flags.c:223: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:223: error: too many arguments to function ?newflag?
flags/flags.c:242: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:242: error: too many arguments to function ?newflag?
flags/flags.c:258: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:258: error: too many arguments to function ?newflag?
flags/flags.c: In function ?FlagGain?:
flags/flags.c:274: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:274: error: too many arguments to function ?newflag?
flags/flags.c: In function ?FlagLost?:
flags/flags.c:296: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:296: error: too many arguments to function ?newflag?
flags/flags.c:299: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:299: error: too many arguments to function ?newflag?
flags/flags.c:301: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:301: error: too many arguments to function ?newflag?
flags/flags.c:302: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:302: error: too many arguments to function ?newflag?
flags/flags.c:303: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:303: error: too many arguments to function ?newflag?
flags/flags.c:304: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:304: error: too many arguments to function ?newflag?
flags/flags.c:306: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:306: error: too many arguments to function ?newflag?
flags/flags.c:307: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:307: error: too many arguments to function ?newflag?
flags/flags.c:308: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:308: error: too many arguments to function ?newflag?
flags/flags.c:309: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:309: error: too many arguments to function ?newflag?
flags/flags.c:306: warning: suggest explicit braces to avoid ambiguous ?else?
flags/flags.c: In function ?FlagTouch?:
flags/flags.c:372: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:372: error: too many arguments to function ?newflag?
flags/flags.c:380: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:380: error: too many arguments to function ?newflag?
flags/flags.c: In function ?TurfFlagFreq?:
flags/flags.c:398: error: ?Iflagcore? has no member named ?CountFlags?
flags/flags.c:403: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:403: error: too many arguments to function ?newflag?
flags/flags.c: In function ?FakeFlagTouch?:
flags/flags.c:409: error: ?Iflagcore? has no member named ?CountFlags?
make: *** [../build/flags.o] Error 1
[root@test src]#


Tried the same with the newest ASSS 1.5.0 RC1
Code: Show/Hide

repo: caed2cd011ae4595a0f69c37eebd793601248a37
node: 4bdc00b83cdf17a4dad1f6520205f38f1e911b9e
branch: default
latesttag: 1.5.0rc1
latesttagdistance: 103


Also resulted in a failure also on Cent OS 6.0 Linux

Code: Show/Hide

[root@test src]# make deps
python ../scripts/makedeps.py -I. -Iinclude -I../build  -D_REENTRANT -D_GNU_SOURCE -fPIC -I/usr/include -I/usr/include/mysql -I/usr/include/python2.6 \
                */*.c -P '$(BUILDDIR)/' -o ../build/deps.mk
[root@test src]# make flags
gcc -std=gnu99 -pipe -I. -Iinclude -I../build  -D_REENTRANT -D_GNU_SOURCE -fPIC -g -Wall   -c -o ../build/flags.o flags/flags.c
flags/flags.c:116: error: expected declaration specifiers or ?...? before ?BOOL?
flags/flags.c:116: error: expected declaration specifiers or ?...? before ?BOOL?
flags/flags.c: In function ?newflag?:
flags/flags.c:123: error: ?old? undeclared (first use in this function)
flags/flags.c:123: error: (Each undeclared identifier is reported only once
flags/flags.c:123: error: for each function it appears in.)
flags/flags.c:125: error: ?carried? undeclared (first use in this function)
flags/flags.c:142: error: ?BOOL? undeclared (first use in this function)
flags/flags.c:142: error: expected ?;? before ?good?
flags/flags.c:145: error: ?good? undeclared (first use in this function)
flags/flags.c: In function ?doinit?:
flags/flags.c:223: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:223: error: too many arguments to function ?newflag?
flags/flags.c:242: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:242: error: too many arguments to function ?newflag?
flags/flags.c:258: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:258: error: too many arguments to function ?newflag?
flags/flags.c: In function ?FlagGain?:
flags/flags.c:274: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:274: error: too many arguments to function ?newflag?
flags/flags.c: In function ?FlagLost?:
flags/flags.c:296: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:296: error: too many arguments to function ?newflag?
flags/flags.c:299: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:299: error: too many arguments to function ?newflag?
flags/flags.c:301: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:301: error: too many arguments to function ?newflag?
flags/flags.c:302: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:302: error: too many arguments to function ?newflag?
flags/flags.c:303: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:303: error: too many arguments to function ?newflag?
flags/flags.c:304: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:304: error: too many arguments to function ?newflag?
flags/flags.c:306: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:306: error: too many arguments to function ?newflag?
flags/flags.c:307: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:307: error: too many arguments to function ?newflag?
flags/flags.c:308: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:308: error: too many arguments to function ?newflag?
flags/flags.c:309: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:309: error: too many arguments to function ?newflag?
flags/flags.c:306: warning: suggest explicit braces to avoid ambiguous ?else?
flags/flags.c: In function ?FlagTouch?:
flags/flags.c:372: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:372: error: too many arguments to function ?newflag?
flags/flags.c:380: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:380: error: too many arguments to function ?newflag?
flags/flags.c: In function ?TurfFlagFreq?:
flags/flags.c:403: warning: passing argument 6 of ?newflag? makes pointer from integer without a cast
flags/flags.c:116: note: expected ?struct Player *? but argument is of type ?int?
flags/flags.c:403: error: too many arguments to function ?newflag?
make: *** [../build/flags.o] Error 1
[root@test src]#

fatrolls - Sat Apr 05, 2014 11:06 pm
Post subject:
I thought I edited my own reply but apparently I clicked new reply by accident.

Got it to compile under ASSS 1.5 RC1 for Cent OS 6.0 Linux with a couple of
changes

Code: Show/Hide

[root@test src]# make install flags
gcc -std=gnu99 -pipe -I. -Iinclude -I../build  -D_REENTRANT -D_GNU_SOURCE -fPIC -g -Wall   -c -o ../build/flags.o flags/flags.c
flags/flags.c: In function ?FlagLost?:
flags/flags.c:307: warning: suggest explicit braces to avoid ambiguous ?else?
flags/flags.c: At top level:
flags/flags.c:9: warning: ?cmd? defined but not used
flags/flags.c:13: warning: ?game? defined but not used
gcc -std=gnu99 -pipe  -fPIC  -shared -o ../build/flags.so ../build/flags.o
ln -sf /tools/continuum/asss-1.5/src/core/backtrace /tools/continuum/asss-1.5/build/asss /tools/continuum/asss-1.5/build/dbtool /tools/continuum/asss-1.5/build/database.so /tools/continuum/asss-1.5/build/flags.so /tools/continuum/asss-1.5/build/funky.so /tools/continuum/asss-1.5/build/pymod.so /tools/continuum/asss-1.5/build/scoring.so /tools/continuum/asss-1.5/build/turf.so /tools/continuum/asss-1.5/src/py/exec.py /tools/continuum/asss-1.5/src/py/fg_turf.py /tools/continuum/asss-1.5/src/py/fg_wz.py /tools/continuum/asss-1.5/src/py/fm_password.py /tools/continuum/asss-1.5/src/pymod/optparser.py /tools/continuum/asss-1.5/src/py/watchgreen.py ../bin
Finished symlinking.



change all the BOOL's to bool
change all the TRUE to true
change all the FALSE to false
and add header
Code: Show/Hide

#include <stdbool.h>


I attached it compiled already just put the flags.so file into build folder then create a symlink in the bin folder

Running this command in ssh

Code: Show/Hide

ln -sf /path/to/server/asss-1.5/build/flags.so /path/to/server/asss-1.5/bin



To compile by yourself just run command inside the src folder
Code: Show/Hide

make install flags

Cheese - Sat Apr 05, 2014 11:58 pm
Post subject:
looks like missing headers


this might help:


https://bitbucket.org/roxxkatt/asss-fake-player-platform/src/e290bf4666618c1d59c5febd86ee19789df9ee8e/ASSS%20FPP/linuxdeps.h?at=master
fatrolls - Sun Apr 06, 2014 1:30 am
Post subject:
For anyone who uses this you'll find out you need to change alot of stuff in the Flag Settings here is a cleaned it up fix to use existing Flag words instead of creating new simpler ones. Only new command that didn't exist is the StackFlags

Code: Show/Hide

   fad->m      =cfg->GetInt(a->cfg,"Flag","FlagMode",2);
   fad->mf      =cfg->GetInt(a->cfg,"Flag","MaxFlags",0);
   fad->rf      =cfg->GetInt(a->cfg,"Flag","RandomFlags",0);
   fad->r      =cfg->GetInt(a->cfg,"Flag","FlagReward",0);
   fad->rm      =cfg->GetInt(a->cfg,"Flag","RewardMode",0);
   fad->dr      =cfg->GetInt(a->cfg,"Flag","DropRadius",0);
//   fad->dd      =cfg->GetInt(a->cfg,"Flag","DropDeviation",0);
   fad->tkt   =cfg->GetInt(a->cfg,"Flag","FriendlyTransfer",0);
   fad->sx      =cfg->GetInt(a->cfg,"Flag","SpawnX",512);
   fad->sy      =cfg->GetInt(a->cfg,"Flag","SpawnY",512);
   fad->sr      =cfg->GetInt(a->cfg,"Flag","SpawnRadius",10);
   fad->wd      =cfg->GetInt(a->cfg,"Flag","WinDelay",0);
   fad->rd      =cfg->GetInt(a->cfg,"Flag","ResetDelay",0);
   fad->urd   =cfg->GetInt(a->cfg,"Flag","FlagResetDelay",8640000);
   fad->cf      =cfg->GetInt(a->cfg,"Flag","CarryFlags",0);
   fad->sf      =cfg->GetInt(a->cfg,"Flag","StackFlags",0);


Here is the print out but I can't seem to pick up flags lol
Code: Show/Hide

I <flagcore> {0} setting up flagcore using game flaggame
D <flags> {0} Flag game initialized
D <flags> {0} Set up WarZone flag game
D <flags> {0} Flag 0 on map: (450,684) f=-1
D <flags> {0} Flag 1 on map: (640,597) f=-1
D <flags> {0} Flag 2 on map: (371,638) f=-1
D <flags> {0} Flag 3 on map: (543,560) f=-1
D <flags> {0} Flag 4 on map: (558,567) f=-1
D <flags> {0} Flag 5 on map: (528,662) f=-1
D <flags> {0} Flag 6 on map: (585,583) f=-1
D <flags> {0} Flag 7 on map: (478,325) f=-1
D <flags> {0} Flag 8 on map: (425,459) f=-1
D <flags> {0} Flag 9 on map: (556,452) f=-1
D <flags> {0} Flag 10 on map: (396,470) f=-1
D <flags> {0} Flag 11 on map: (648,477) f=-1
D <flags> {0} Flag 12 on map: (330,664) f=-1
D <flags> {0} Flag 13 on map: (471,694) f=-1
D <flags> {0} Flag 14 on map: (327,429) f=-1
D <flags> {0} Flag 15 on map: (391,411) f=-1
D <flags> {0} Flag 16 on map: (392,644) f=-1
D <flags> {0} Flag 17 on map: (454,361) f=-1
D <flags> {0} Flag 18 on map: (658,342) f=-1
D <flags> {0} Flag 19 on map: (504,401) f=-1
D <flags> {0} Flag 20 on map: (318,393) f=-1
D <flags> {0} Flag 21 on map: (328,691) f=-1
D <flags> {0} Flag 22 on map: (317,421) f=-1
D <flags> {0} Flag 23 on map: (498,646) f=-1
D <flags> {0} Flag 24 on map: (699,395) f=-1
D <flags> {0} Flag 25 on map: (443,317) f=-1
D <flags> {0} Flag 26 on map: (546,410) f=-1
D <flags> {0} Flag 27 on map: (532,647) f=-1
D <flags> {0} Flag 28 on map: (564,390) f=-1
D <flags> {0} Flag 29 on map: (602,333) f=-1


No problem with trench war style flags though...
Code: Show/Hide

I <arenaman> {tw} created arena
I <mapdata> {tw} successfully processed map file 'maps/trench3.lvl'
I <flagcore> {tw} setting up flagcore using game flaggame
D <flags> {tw} Flag game initialized
D <flags> {tw} Set up Static WarZone flag game
D <flags> {tw} Flag 0 on map: (-1,-1) f=-1
D <balls> {tw} ball 0 is at (7983, 7566)
D <balls> {tw} ball 1 is at (8083, 7926)
D <flags> {tw} Flag 0 on map: (-1,-1) f=0
D <flags> {tw} Flag 0 touched by FatRolls on freq 0


This is the confusing part

I probably shouldn't of loaded the flags from modules.conf as flags:flags

Instead of just used the settings arena.conf [Modules]AttachModules=flags seems AttachModules doesn't really do much of anything.

Okay CarryFlags=1
which is 1 = A player can pick up and carry all flags.

Solved it with a quickfix, set CarryFlags=30

Seems CarryFlags=1 doesn't work must be a ASSS Bug


Which looks screwed up like this

Code: Show/Hide

D <flags> {0} Flag game initialized
D <flags> {0} Set up Static WarZone flag game
D <flags> {0} Flag 0 on map: (-1,-1) f=-1
D <flags> {0} Flag 1 on map: (-1,-1) f=-1
D <flags> {0} Flag 2 on map: (-1,-1) f=-1
D <flags> {0} Flag 3 on map: (-1,-1) f=-1
D <flags> {0} Flag 4 on map: (-1,-1) f=-1
D <flags> {0} Flag 5 on map: (-1,-1) f=-1
D <flags> {0} Flag 6 on map: (-1,-1) f=-1
D <flags> {0} Flag 7 on map: (-1,-1) f=-1
D <flags> {0} Flag 8 on map: (-1,-1) f=-1
D <flags> {0} Flag 9 on map: (-1,-1) f=-1
D <flags> {0} Flag 10 on map: (-1,-1) f=-1
D <flags> {0} Flag 11 on map: (-1,-1) f=-1
D <flags> {0} Flag 12 on map: (-1,-1) f=-1
D <flags> {0} Flag 13 on map: (-1,-1) f=-1
D <flags> {0} Flag 14 on map: (-1,-1) f=-1
D <flags> {0} Flag 15 on map: (-1,-1) f=-1
D <flags> {0} Flag 16 on map: (-1,-1) f=-1
D <flags> {0} Flag 17 on map: (-1,-1) f=-1
D <flags> {0} Flag 18 on map: (-1,-1) f=-1
D <flags> {0} Flag 19 on map: (-1,-1) f=-1
D <flags> {0} Flag 20 on map: (-1,-1) f=-1
D <flags> {0} Flag 21 on map: (-1,-1) f=-1
D <flags> {0} Flag 22 on map: (-1,-1) f=-1
D <flags> {0} Flag 23 on map: (-1,-1) f=-1
D <flags> {0} Flag 24 on map: (-1,-1) f=-1
D <flags> {0} Flag 25 on map: (-1,-1) f=-1
D <flags> {0} Flag 26 on map: (-1,-1) f=-1
D <flags> {0} Flag 27 on map: (-1,-1) f=-1
D <flags> {0} Flag 28 on map: (-1,-1) f=-1
D <flags> {0} Flag 29 on map: (-1,-1) f=-1


Now it works
Code: Show/Hide

D <flags> {0} [FatRolls] picked up flag 6
D <flags> {0} [FatRolls] picked up flag 11
D <flags> {0} [FatRolls] picked up flag 29
D <flags> {0} [FatRolls] picked up flag 19
D <flags> {0} [FatRolls] picked up flag 9
D <flags> {0} [FatRolls] picked up flag 21
D <directory> sending information to directory servers
D <flags> {0} Flag 6 on map: (535,424) f=0
D <flags> {0} [FatRolls] dropped flag 6
D <flags> {0} FlagCleanup fid=6 r=0 oldp=FatRolls oldf=0
D <flags> {0} Flag 9 on map: (531,423) f=0
D <flags> {0} [FatRolls] dropped flag 9
D <flags> {0} FlagCleanup fid=9 r=0 oldp=FatRolls oldf=0
D <flags> {0} Flag 11 on map: (535,427) f=0
D <flags> {0} [FatRolls] dropped flag 11
D <flags> {0} FlagCleanup fid=11 r=0 oldp=FatRolls oldf=0
D <flags> {0} Flag 19 on map: (533,427) f=0
D <flags> {0} [FatRolls] dropped flag 19
D <flags> {0} FlagCleanup fid=19 r=0 oldp=FatRolls oldf=0
D <flags> {0} Flag 21 on map: (534,426) f=0
D <flags> {0} [FatRolls] dropped flag 21
D <flags> {0} FlagCleanup fid=21 r=0 oldp=FatRolls oldf=0
D <flags> {0} Flag 29 on map: (533,426) f=0
D <flags> {0} [FatRolls] dropped flag 29
D <flags> {0} FlagCleanup fid=29 r=0 oldp=FatRolls oldf=0


Another bug I found this one is pretty serious
Code: Show/Hide

D <flags> {0} [FatRolls] dropped flag 0 by getting shot in safe
D <flags> {0} FlagCleanup fid=0 r=1 oldp=FatRolls oldf=-1
D <flags> {0} Flag 16 on map: (495,524) f=-1
D <flags> {0} [FatRolls] dropped flag 16 by getting shot in safe
D <flags> {0} FlagCleanup fid=16 r=1 oldp=FatRolls oldf=-1
D <flags> {0} Flag 24 on map: (494,525) f=-1
D <flags> {0} [FatRolls] dropped flag 24 by getting shot in safe
D <flags> {0} FlagCleanup fid=24 r=1 oldp=FatRolls oldf=-1
D <flags> {0} Flag 25 on map: (496,525) f=-1
D <flags> {0} [FatRolls] dropped flag 25 by getting shot in safe
D <flags> {0} FlagCleanup fid=25 r=1 oldp=FatRolls oldf=-1


I never got shot in safe.. I just went into safe with flags and stayed there after like 5-10 seconds it thinks I got shot? nobody in the zone, no bots nobody is shooting me lol
Cheese - Sun Apr 06, 2014 10:33 pm
Post subject:
a lot*
should have*


are you sure your errors arent a direct result of you fiddling around with things?

i have never had problems with this and i have never had complaints from anyone using it, and you seem to be arbitrarily making changes

also the "asss bug" it appears you are getting is probably due to you not recycling the arena after changing amount of flags due to a flagcore limitation

other thing looks like you failing to set the drop location properly
Cheese - Thu Apr 10, 2014 10:33 pm
Post subject:
to everyone else that isnt messing around with things who might be having issues:

doing esc c or ?quickfix in a newer asss zone appears not to contain the setting Flag:Mode, which is a subgame setting that this module uses

it appears setting names have changed since this was made

make sure the following are set:


[Flag]
Mode
MaxFlags
RandomFlags
Reward
RewardMode
DropRadius
TKTransfer
SpawnX
SpawnY
SpawnRadius
WinDelay
ResetDelay
UnwonResetDelay
CarryFlags
StackFlags
JoWie - Tue Apr 15, 2014 6:10 pm
Post subject:
You can add your own entries to quickfix using magic comments in your C code.
Make sure you use "make clean" first. This does not work if you drop a .so or .dll in bin.

There are many examples in src/core/clientset.def like:
Code: Show/Hide

/* cfghelp: Bullet:BulletDamageLevel, arena, int
* Maximum amount of damage that a L1 bullet will cause */

Cheese - Tue Apr 15, 2014 10:11 pm
Post subject:
in my files/quickfix package, the quickfix was modified to accept drop in settings fragments
which is why there should be a fragment in the flags files iirc
to me it seems like a far better solution than comments in files, requiring everyone running a zone to be forced to compile everything after a single change anywhere

however that was awhile ago and i think it has since been broken
Cheese - Wed Feb 18, 2015 12:19 am
Post subject:
cleaned up the code a bit, and probably fixed a some bugs if they existed

updated main post
All times are -5 GMT
View topic
Powered by phpBB 2.0 .0.11 © 2001 phpBB Group