Jump to content
!TS JORDAN

[Tutorial] Bounty Hunting Framework [Dialog, DB, Player Interaction] - Updated!

Recommended Posts

Welcome

Today I will be providing the community with a project I have been working on for a while

The Altis Life Bounty Hunters

Please not that I have been coding this at times when I have been extremely tired so if any problems occur just message me or tag me in your comment

I tried to make this as easy as possible for those who do not want to learn how the code is written.

I would like to thank TONIC for providing me with the wantedSystem framework to go off.

Fresqo who provided the fn_markers.sqf script

BoGuu and Alaskavet for being there when I needed some assistance.

Difficulty: EASY PEASY

Version:  Altis Life 4.4 R3

Let's Get Started!!!

1: Download the zip attached, All files I will be using are inside that zip.

2: missionname >> stringtable.xml

find somewhere to put a new package, add:

<Package name="Bounty">
		<Key ID="STR_Bounty_5000">
			<Original>$5,000</Original>
		</Key>
		<Key ID="STR_Bounty_10000">
			<Original>$10,000</Original>
		</Key>
		<Key ID="STR_Bounty_15000">
			<Original>$15,000</Original>
		</Key>
		<Key ID="STR_Bounty_20000">
			<Original>$20,000</Original>
		</Key>
		<Key ID="STR_Bounty_25000">
			<Original>$25,000</Original>
		</Key>
		<Key ID="STR_Bounty_30000">
			<Original>$30,000</Original>
		</Key>
		<Key ID="STR_Bounty_35000">
			<Original>$35,000</Original>
		</Key>
		<Key ID="STR_Bounty_40000">
			<Original>$40,000</Original>
		</Key>
		<Key ID="STR_Bounty_45000">
			<Original>$45,000</Original>
		</Key>
		<Key ID="STR_Bounty_50000">
			<Original>$50,000</Original>
		</Key>
		<Key ID="STR_Bounty_55000">
			<Original>$55,000</Original>
		</Key>
		<Key ID="STR_Bounty_60000">
			<Original>$60,000</Original>
		</Key>
		<Key ID="STR_Bounty_65000">
			<Original>$65,000</Original>
		</Key>
		<Key ID="STR_Bounty_70000">
			<Original>$70,000</Original>
		</Key>
		<Key ID="STR_Bounty_75000">
			<Original>$75,000</Original>
		</Key>
		<Key ID="STR_Bounty_80000">
			<Original>$80,000</Original>
		</Key>
		<Key ID="STR_Bounty_85000">
			<Original>$85,000</Original>
		</Key>
		<Key ID="STR_Bounty_90000">
			<Original>$90,000</Original>
		</Key>
		<Key ID="STR_Bounty_95000">
			<Original>$95,000</Original>
		</Key>
		<Key ID="STR_Bounty_100000">
			<Original>$100,000</Original>
		</Key>
		<Key ID="STR_Bounty_200000">
			<Original>$200,000</Original>
		</Key>
		<Key ID="STR_Bounty_300000">
			<Original>$300,000</Original>
		</Key>
		<Key ID="STR_Bounty_400000">
			<Original>$400,000</Original>
		</Key>
		<Key ID="STR_Bounty_500000">
			<Original>$500,000</Original>
		</Key>
		<Key ID="STR_Bounty_1000000">
			<Original>$1,000,000</Original>
		</Key>
		<Key ID="STR_Bounty_AddP">
            <Original>%1 has been added to the bounty list, he was added for $%2 this has risen he current bounty price to $%3. The last known location has been marked on the map for all bounty hunting units. Normal declaration rules still apply, RDM will be delt with.</Original>
        </Key>
		<Key ID="STR_MAR_bountyW">
            <Original>Bounty Hunters Armory</Original>
        </Key>
		<Key ID="STR_MAR_bounty">
            <Original>Bounty Hunters HQ</Original>
        </Key>
		<Key ID="STR_GNOTF_BountyMSG">
            <Original>You are about to buy a 'Bounty Hunting License' buying this license will give you access to the Bounty Hunters Database, kill someone on the list to get thier bounty! Normal declaration still applys, you can NOT RDM! Do you accept these terms and conditions?</Original>
        </Key>
		<Key ID="STR_bounty_bountyList_notBH">
            <Original>You are not a civilian, only civilians can add people to the bounty list! I suggest you leave!</Original>
        </Key>
		<Key ID="STR_bounty_bountyList_noPlayerSelected">
            <Original>No player on the list was selected! Please select a player.</Original>
        </Key>
		<Key ID="STR_bounty_bountyList_noAmountSelected">
            <Original>No amount was selected, use the drop down menu to select a bounty amount.</Original>
        </Key>
		<Key ID="STR_Bounty_BountyKill">
            <Original>You have collected a bounty of $%1 for killing someone on the bounty list, nice job!</Original>
        </Key>
      		<Key ID="STR_Bounty_Title">
            <Original>Bounty List</Original>
        </Key>
		<Key ID="STR_BountyA_Title">
            <Original>Bounty Hunting Database</Original>
        </Key>
		<Key ID="STR_Bounty_License">
            <Original>Bounty License</Original>
        </Key>
    <Key ID="STR_License_bountyH">
            <Original>Bounty Hunter</Original>
        </Key>
	</Package>

3. missionname >> functions.hpp

Add:

class BountyHunters {
    		file = "core\BountyHunters";
    		class bountyAddMenu {};
    		class bountyAddP {};
    		class bountyBuy {};
    		class bountyGrab {};
    		class bountyHunterReceive {};
    		class bountyInfo {};
    		class bountyKill {};
    		class bountyList {};
    		class bountyMenu {};
    		class markers {};
	};

4. missionname >> CfgRemoteExec.hpp

Add: In the Right Areas

F(life_fnc_bountyHunterReceive,CLIENT)//Bountyhunter
F(life_fnc_bountyList,CLIENT)//Bountyhunter
F(life_fnc_markers,CLIENT)//Bountyhunter
F(life_fnc_bountyReceive,CLIENT)//Bountyhunter


F(life_fnc_bountyAdd,SERVER)//Bountyhunter
F(life_fnc_amountBounty,SERVER)//Bountyhunter
F(life_fnc_bountyFetch,SERVER)//Bountyhunter
F(life_fnc_bountyPerson,SERVER)//Bountyhunter
F(life_fnc_bountyProfUpdate,SERVER)//Bountyhunter
F(life_fnc_bountyRemove,SERVER)//Bountyhunter
F(life_fnc_bountyAlter,SERVER)//Bountyhunter
F(life_fnc_bountyCrimes,SERVER)//Bountyhunter
F(life_fnc_bountyAmountGather,SERVER)//Bountyhunter

5. missionname >> config >> config_license

Add: 

	class bountyH {  
        variable = "bountyH";  
        displayName = "STR_License_bountyH";  
        price = 100000;  
        illegal = false;  
        side = "civ";  
    };

6. missionname >> config >> Master_config

Add under the crimes array: 

	/* Bounty System Settings *
    /* bountys[] = {string, amount, code} */
    bountys[] = {
		{"STR_Bounty_5000", "5000", "1B"},
		{"STR_Bounty_10000", "10000", "2B"},
		{"STR_Bounty_15000", "15000", "3B"},
		{"STR_Bounty_20000", "20000", "4B"},
		{"STR_Bounty_25000", "25000", "5B"},
		{"STR_Bounty_30000", "30000", "6B"},
		{"STR_Bounty_35000", "35000", "7B"},
		{"STR_Bounty_40000", "40000", "8B"},
		{"STR_Bounty_45000", "45000", "9B"},
		{"STR_Bounty_50000", "50000", "10B"},
		{"STR_Bounty_55000", "55000", "11B"},
		{"STR_Bounty_60000", "60000", "12B"},
		{"STR_Bounty_65000", "65000", "13B"},
		{"STR_Bounty_70000", "70000", "14B"},
		{"STR_Bounty_75000", "75000", "15B"},
		{"STR_Bounty_80000", "80000", "16B"},
		{"STR_Bounty_85000", "85000", "17B"},
		{"STR_Bounty_90000", "90000", "18B"},
		{"STR_Bounty_95000", "95000", "19B"},
		{"STR_Bounty_100000", "100000", "20B"},
		{"STR_Bounty_200000", "200000", "21B"},
		{"STR_Bounty_300000", "300000", "22B"},
		{"STR_Bounty_400000", "400000", "23B"},
		{"STR_Bounty_500000", "500000", "24B"},
		{"STR_Bounty_1000000", "1000000", "25B"}
	};

7. missionname >> core >> medical >> fn_onPlayerKilled.sqf
Underneath the last player set variable add:

private _BountyPeeps = [];

{
	if (license_civ_bountyH) then {_BountyPeeps pushBack _x};
} forEach playableUnits;

Then under: 

//Killed by cop stuff...
if (side _killer isEqualTo west && playerSide != west) then {
    life_copRecieve = _killer;
    //Did I rob the federal reserve?
    if (!life_use_atm && {CASH > 0}) then {
        [format [localize "STR_Cop_RobberDead",[CASH] call life_fnc_numberText]] remoteExecCall ["life_fnc_broadcast",RCLIENT];
        CASH = 0;
    };
};

Add:

if (side _killer isEqualTo civilian && {_killer != _unit}) then {
	if (_killer in _BountyPeeps) then {
		life_bountyHunter = _killer;
	};
};	

if (!isNull _killer) then {
    life_removeBounty = true;
};

8. Grab the files in the zip file and place them in the respected folders. 

9. missionname >> dialog >> masterhandler

Add:

#include "bounty_list.hpp"
#include "bounty_addList.hpp"

10. missionname >> core >> configuration

Add under Backend variables

life_removeBounty = false;

11. missionname >> core >> pmenu >>  fn_p_openMenu

Add under case west: 

		ctrlShow[9696,false];
		ctrlShow[9898,false]

Add under case Civ:

		ctrlShow[9696,true];
		ctrlShow[9898,true]

Add under case med:

		ctrlShow[9696,false];
		ctrlShow[9898,false]

NOTE: The numbers are what you guys id you bountyList button as, I have two because I have the button and an icon, you may only have 1!!!

12. missionname >> core >> medical >> fn_respawned.sqf 

Under: 

//Johnny law got me but didn't let the EMS revive me, reward them half the bounty.
if (!isNil "life_copRecieve") then {

    if (life_HC_isActive) then {
        [getPlayerUID player,player,life_copRecieve,true] remoteExecCall ["HC_fnc_wantedBounty",HC_Life];
    } else {
        [getPlayerUID player,player,life_copRecieve,true] remoteExecCall ["life_fnc_wantedBounty",RSERV];
    };
    
	life_copRecieve = nil;
}; 

Add:

if (!isNil "life_bountyHunter") then {

    if (life_HC_isActive) then {
        [getPlayerUID player,player,life_bountyHunter] remoteExecCall ["HC_fnc_amountBounty",HC_Life];
    } else {
        [getPlayerUID player,player,life_bountyHunter] remoteExecCall ["life_fnc_amountBounty",RSERV];
    };
    
	life_bountyHunter = nil;
}; 


//Remove Bounty...
if (life_removeBounty) then {
	if (life_HC_isActive) then {
		[getPlayerUID player] remoteExecCall ["HC_fnc_bountyRemove",HC_Life];
	} else {
		[getPlayerUID player] remoteExecCall ["life_fnc_bountyRemove",RSERV];
	};
};

13. missionname >> core >> civilian >> fn_removeLicense

Add this case:

	//Adds the bountyH license to civs
    case 100: {
			missionNamespace setVariable [LICENSE_VARNAME("bountyH","civ"),true];
	};

14. missionname >> core >> init.sqf 
Under

if (life_HC_isActive) then {
    [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["HC_fnc_wantedProfUpdate",HC_Life];
} else {
    [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["life_fnc_wantedProfUpdate",RSERV];
};

Add: 

if (life_HC_isActive) then {
    [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["HC_fnc_bountyProfUpdate",HC_Life];
} else {
    [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["life_fnc_bountyProfUpdate",RSERV];
};

 

life_server edits:

1. life_server >> config.cpp

Add under life tag above class Jail_Sys:

		//Bounty Hunter
        class Bounty_Sys {
            file = "\life_server\Functions\BountySystem";
            class amountBounty {};
            class bountyRemove {};
            class bountyAdd {};
            class bountyFetch {};
            class bountyProfUpdate {};
			class bountyCrimes {};
			class bountyAmountGather {};
        };

2. Place the bountyFiles life_server side into the folders. 

3. life_server >> init.sqf 
Under:

life_wanted_list = [];

Add:

life_bounty_list = [];

mission.sqf edits:

1. Create the NPC:

Inside the NPC you created add this: 

this enableSimulation false; this allowDamage false; this addAction ["Bounty Hunting ($100,000)", life_fnc_bountyBuy,"",0,false,false,"",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction["<t color = '#D660D6'>Bounty Add</t>",life_fnc_bountyAddMenu,"",0,false,false,"",'']; this addAction["<t color = '#E6F402'>Bounty List</t>",life_fnc_bountyMenu,"",0,false,false,"",''];

 

NOTE: This is the code taken from my mission.sqm file, if you paste that into the editor it WILL NOT work, you have to remove the extra " in the line, there should only be two " " not four.

DATABASE EDIT:

1. Make a new query and run this code: 

USE `altislife`;

CREATE TABLE `bounty` (
  `bountyID` varchar(64) NOT NULL,
  `bountyName` varchar(32) NOT NULL,
  `bounty` int(100) NOT NULL,
  `insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`bountyID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Then Place folders in the right spot and your good to go. :)

 

Now we SHOULD be finished...

Any problems tag me in your comment and I'll reply to them ASAP

I don't think i forgot anything.

 

 

BountyHunter.rar

Edited by !TS JORDAN
  • Like 9
  • Thanks 1

Share this post


Link to post
Share on other sites
8 hours ago, AlaskaVet said:

Should be working 100% I updated the post and did a fresh install on a fresh dev branch server so 5.0.0 and worked great.

Worked fine on 4.4r4

How do I add the $ bounty hunter value in HUD_STATS?

Thanks!

Share this post


Link to post
Share on other sites
39 minutes ago, MCelow said:

Can you help me with this ?

Look at how I do it in the bountyGrab files, and what it talks to then just push it to your status bar say every 3mins or so...

Share this post


Link to post
Share on other sites

 

2 hours ago, !TS JORDAN said:

Look at how I do it in the bountyGrab files, and what it talks to then just push it to your status bar say every 3mins or so...

I'll try, thanks! :D

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

I get Errors in in CFGremoteExec.hpp because of variable double defined. I delete the double defined should it work also ?

15:44:37 Warning Message: File mpmissions\Lingor_Life.lingor3\CfgRemoteExec.hpp, line 163: /CfgRemoteExec/Functions.life_fnc_bountyReceive: Member already defined.
15:44:37 Warning Message: File mpmissions\Lingor_Life.lingor3\CfgRemoteExec.hpp, line 164: /CfgRemoteExec/Functions.life_fnc_wantedBounty: Member already defined.
15:44:37 Warning Message: File mpmissions\Lingor_Life.lingor3\CfgRemoteExec.hpp, line 175: /CfgRemoteExec/Functions.HC_fnc_wantedBounty: Member already defined.

Share this post


Link to post
Share on other sites
19 hours ago, HeWhoMustNotBeNamed said:

I get Errors in in CFGremoteExec.hpp because of variable double defined. I delete the double defined should it work also ?

15:44:37 Warning Message: File mpmissions\Lingor_Life.lingor3\CfgRemoteExec.hpp, line 163: /CfgRemoteExec/Functions.life_fnc_bountyReceive: Member already defined.
15:44:37 Warning Message: File mpmissions\Lingor_Life.lingor3\CfgRemoteExec.hpp, line 164: /CfgRemoteExec/Functions.life_fnc_wantedBounty: Member already defined.
15:44:37 Warning Message: File mpmissions\Lingor_Life.lingor3\CfgRemoteExec.hpp, line 175: /CfgRemoteExec/Functions.HC_fnc_wantedBounty: Member already defined.

Just delete one of the doubled up ones, CNTRL + F

  • Like 1

Share this post


Link to post
Share on other sites
11 hours ago, ToxicRageTv said:

Infistar bans players when they access the list or buy the license. Anyone know how to fix?

I have the same problem, I whitelisted all the displays that the BH system uses and still the bounty list kicks and tempbans people for menu hack.

909f601041e1bc1ca842b5a892745966.png

24010 and 24000 are both whitelisted in infiSTAR and it still does this.

Edited by wuf

Share this post


Link to post
Share on other sites
16 hours ago, wuf said:

I have the same problem, I whitelisted all the displays that the BH system uses and still the bounty list kicks and tempbans people for menu hack.

909f601041e1bc1ca842b5a892745966.png

24010 and 24000 are both whitelisted in infiSTAR and it still does this.

This is a infiSTAR issue not ours. Message them on how to filter it out.

Share this post


Link to post
Share on other sites

Hello guys,

Question for you. This is very weird, when I entered the NPC Init code, I entered it thru the editor and when I tested it, the menus showed up. But, then I saw your note that said to make sure there were only 2 quote marks where there are 4, so I deleted 2 of the quote marks in the ones that had 4. Now none of the menus work.

This is what it looked like after putting it in thru the editor:

this enableSimulation false; this allowDamage false; this addAction [""Bounty Hunting ($100,000)"", life_fnc_bountyBuy,"""",0,false,false,"""",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction[""<t color = '#D660D6'>Bounty Add</t>"",life_fnc_bountyAddMenu,"""",0,false,false,"""",'']; this addAction[""<t color = '#E6F402'>Bounty List</t>"",life_fnc_bountyMenu,"""",0,false,false,"""",''];

And this is what it looked like after I edited it:

this enableSimulation false; this allowDamage false; this addAction [""Bounty Hunting ($100,000)"", life_fnc_bountyBuy,"",0,false,false,"",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction[""<t color = '#D660D6'>Bounty Add</t>"",life_fnc_bountyAddMenu,"",0,false,false,"",'']; this addAction[""<t color = '#E6F402'>Bounty List</t>"",life_fnc_bountyMenu,"",0,false,false,"",''];

 

Did I miss something here? Could you please reply with the exact code it needs so I can just copy and paste it into the init line of the mission.sqm. I would greatly appreciate it. Also, does having any other code, such as [this,""SIT1"",""ASIS"",sitting1] call BIS_fnc_ambientAnim; effect the menus? I wouldn't think it would as usually you can put multiple lines in the init. Basically my entire init looks like this right now with no menus workins, but the last code does work:

init="this enableSimulation false; this allowDamage false; this addAction [""Bounty Hunting ($100,000)"", life_fnc_bountyBuy,"",0,false,false,"",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction[""<t color = '#D660D6'>Bounty Add</t>"",life_fnc_bountyAddMenu,"",0,false,false,"",'']; this addAction[""<t color = '#E6F402'>Bounty List</t>"",life_fnc_bountyMenu,"",0,false,false,"",''];" \n "[this,""SIT1"",""ASIS"",sitting1] call BIS_fnc_ambientAnim;";

Thanks,

Ryan

Share this post


Link to post
Share on other sites
8 hours ago, Ryan Killinger said:

Hello guys,

Question for you. This is very weird, when I entered the NPC Init code, I entered it thru the editor and when I tested it, the menus showed up. But, then I saw your note that said to make sure there were only 2 quote marks where there are 4, so I deleted 2 of the quote marks in the ones that had 4. Now none of the menus work.

This is what it looked like after putting it in thru the editor:

this enableSimulation false; this allowDamage false; this addAction [""Bounty Hunting ($100,000)"", life_fnc_bountyBuy,"""",0,false,false,"""",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction[""<t color = '#D660D6'>Bounty Add</t>"",life_fnc_bountyAddMenu,"""",0,false,false,"""",'']; this addAction[""<t color = '#E6F402'>Bounty List</t>"",life_fnc_bountyMenu,"""",0,false,false,"""",''];

And this is what it looked like after I edited it:

this enableSimulation false; this allowDamage false; this addAction [""Bounty Hunting ($100,000)"", life_fnc_bountyBuy,"",0,false,false,"",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction[""<t color = '#D660D6'>Bounty Add</t>"",life_fnc_bountyAddMenu,"",0,false,false,"",'']; this addAction[""<t color = '#E6F402'>Bounty List</t>"",life_fnc_bountyMenu,"",0,false,false,"",''];

 

Did I miss something here? Could you please reply with the exact code it needs so I can just copy and paste it into the init line of the mission.sqm. I would greatly appreciate it. Also, does having any other code, such as [this,""SIT1"",""ASIS"",sitting1] call BIS_fnc_ambientAnim; effect the menus? I wouldn't think it would as usually you can put multiple lines in the init. Basically my entire init looks like this right now with no menus workins, but the last code does work:

init="this enableSimulation false; this allowDamage false; this addAction [""Bounty Hunting ($100,000)"", life_fnc_bountyBuy,"",0,false,false,"",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction[""<t color = '#D660D6'>Bounty Add</t>"",life_fnc_bountyAddMenu,"",0,false,false,"",'']; this addAction[""<t color = '#E6F402'>Bounty List</t>"",life_fnc_bountyMenu,"",0,false,false,"",''];" \n "[this,""SIT1"",""ASIS"",sitting1] call BIS_fnc_ambientAnim;";

Thanks,

Ryan

You can remove the sit bit, that was only because I had a custom seat on my server, sometimes the double "" in the name bit (Bounty Hunting String) can confuse the editor, try to make sure there is only one quote starting and closing the code. Example: Your first one had double quotes as well as 4, you fixed the 4 but forgot the double (My fault for not being clear). If you do this every time in the editor it should fix any syntax errors...  Try this: (In the editor)

this enableSimulation false; this allowDamage false; this addAction ["Bounty Hunting ($100,000)", life_fnc_bountyBuy,"",0,false,false,"",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction["<t color = '#D660D6'>Bounty Add</t>",life_fnc_bountyAddMenu,"",0,false,false,"",'']; this addAction["<t color = '#E6F402'>Bounty List</t>",life_fnc_bountyMenu,"",0,false,false,"",''];

 

Edited by !TS JORDAN

Share this post


Link to post
Share on other sites

@Taco Duck

Please try to refrain from quoting whole tutorials, especially ones as long as mine, the problem will be that you forgot to do step 13. You need to add the case to the file fn_removeLicense.sqf. I used that file to add the license to the player as it was already there :D Try doing step 13 and message me back...

P.S You can just type @(MyNameHere) to make your comment appear in my notifications.

Kind Regards.

Share this post


Link to post
Share on other sites
6 hours ago, !TS JORDAN said:

You can remove the sit bit, that was only because I had a custom seat on my server, sometimes the double "" in the name bit (Bounty Hunting String) can confuse the editor, try to make sure there is only one quote starting and closing the code. Example: Your first one had double quotes as well as 4, you fixed the 4 but forgot the double (My fault for not being clear). If you do this every time in the editor it should fix any syntax errors...  Try this: (In the editor)

this enableSimulation false; this allowDamage false; this addAction ["Bounty Hunting ($100,000)", life_fnc_bountyBuy,"",0,false,false,"",' !license_civ_bountyH && playerSide isEqualTo civilian']; this addAction["<t color = '#D660D6'>Bounty Add</t>",life_fnc_bountyAddMenu,"",0,false,false,"",'']; this addAction["<t color = '#E6F402'>Bounty List</t>",life_fnc_bountyMenu,"",0,false,false,"",''];

 

 

Hey !TS JORAN,

Thanks for the reply. Actually, the SIT part is something I added in on my server too lol. What I was trying to do is make it so the civ that you add the Bounty Menu to is sitting in a chair, which the sitting part I did successfully. I'll give it another go and see how it works. Thanks.

Share this post


Link to post
Share on other sites
14 minutes ago, !TS JORDAN said:

Don't worry about it @Taco Duck ~It is just something I have noticed the staff dislike :P Did it work?

also any way i can make it so the bounty list is also the wanted list so there together and anyone on one list is on the other list?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...