Jump to content

[Release] HS Blackmarket 1.6 | 'New' Trader System | Special Trader | Blackmarket


Suppe

Recommended Posts

Thx He-Man, changed this, but same errors.

so far ...

Blackmarket didnt spawn after changing blacklist locations

My init and RPT.log:

Spoiler

//if _staticCoords are set here, there will be a trader at that exact position and direction,
//_blacklistedAreas is where random blackmarkets cannot spawn
switch(toLower worldName)do{
    case "tanoa":{
        _staticCoords = [
/*
            [traderposition,direction,createmarker,props[classname,position,direction]]
            //"full" array
            [[0,0,0],0,true,[["classname1",[1,1,1],1],["classname2",[2,2,2],2]]]
            //minimal array
            [[0,0,0],0]
*/
            [[10860.75,9752.875,0],29.183,true], //trader by spawn
            [[13319,14523.9,0],143.067,false], //trader by stavros
            [[6193.02,16828.7,0],1.52142,false] //trader by kore
        ];
        _blacklistedAreas = [
            /*[position,area]*/
            [[12832.5,14469.3,0],1000],
            [[5878.3,10313.2],0],500],
            [[5521.1,4159.6,0],500],
            [[11654.6,2797.4,0],500],
            [[4343.4,8414.2,0],500],
            [[2948.7,12465.1,0],1000]
        ];
        _spawnarea = 12500;
    };
    default{_staticCoords = [];_blacklistedAreas = [[[0,0,0],0]];_spawnarea = 7000;};
};

 

Spoiler

20:40:23 Error in expression < 2700, 0],500],
[[2900, 12400, 0],1000]
];

_spawnarea = 12500;
};
default{_stat>
20:40:23   Error position: <];

_spawnarea = 12500;
};
default{_stat>
20:40:23   Error Missing ;
20:40:23 File mpmissions\__cur_mp.Tanoa\trader\init.sqf, line 50
20:40:23 Error in expression < 2700, 0],500],
[[2900, 12400, 0],1000]
];

_spawnarea = 12500;
};
default{_stat>
20:40:23   Error position: <];

_spawnarea = 12500;
};
default{_stat>
20:40:23   Error Missing ;

 

watching of the script for over 1 hour and testing view variations and changes but always

the same errors and no spawn.

Can y guys pls help me to find the problem?

Link to comment
Share on other sites

        _blacklistedAreas = [
            /*[position,area]*/
            [[12832.5,14469.3,0],1000],
            [[5878.3,10313.2],0],500], ---------> [[5878.3,10313.2,0],500],
            [[5521.1,4159.6,0],500],
            [[11654.6,2797.4,0],500],
            [[4343.4,8414.2,0],500],
            [[2948.7,12465.1,0],1000]
        ];

Link to comment
Share on other sites

  • 2 weeks later...
On 7/22/2016 at 10:24 PM, Hux said:

I've been getting this error lately:

  Reveal hidden contents

Warning Message: No entry 'mpmissions\__CUR_MP.Tanoa\description.ext/HS_trader_dialog/controls/HS_trader_tree.colorPictureRightDisabled'.

Anyone know how to fix this?

Thanks.

Also been getting this: No entry 'mpmissions\__CUR_MP.Tanoa\description.ext/HS_trader_dialog/controls/HS_trader_tree.colorPicture'.

From my client rpt:

Spoiler

9:08:38 Warning Message: No entry 'mpmissions\__CUR_MP.Tanoa\description.ext/HS_trader_dialog/controls/HS_trader_tree.colorPicture'.
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: No entry 'mpmissions\__CUR_MP.Tanoa\description.ext/HS_trader_dialog/controls/HS_trader_tree.colorPictureSelected'.
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: No entry 'mpmissions\__CUR_MP.Tanoa\description.ext/HS_trader_dialog/controls/HS_trader_tree.colorPictureDisabled'.
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: No entry 'mpmissions\__CUR_MP.Tanoa\description.ext/HS_trader_dialog/controls/HS_trader_tree.colorPictureRight'.
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: No entry 'mpmissions\__CUR_MP.Tanoa\description.ext/HS_trader_dialog/controls/HS_trader_tree.colorPictureRightSelected'.
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: No entry 'mpmissions\__CUR_MP.Tanoa\description.ext/HS_trader_dialog/controls/HS_trader_tree.colorPictureRightDisabled'.
 9:08:38 Warning Message: Size: '/' not an array
 9:08:38 Warning Message: Size: '/' not an array
 9:08:39 Warning Message: Picture picturething not found
 9:08:39 Warning Message: Picture picturething not found
 9:08:39 Warning Message: Picture picturething not found
 9:08:39 Warning Message: Picture picturething not found

Anyone know how to fix?

Link to comment
Share on other sites

It is very simple to fix.

 

Open tradedialog.hpp

Got to line 123.  Assuming you have the default file, the few lines above this should read :

class HS_trader_tree: HALV_CT_TREE
        {
            idc = 9997;
            text = "";
            x = 0.458763 * safezoneW + safezoneX;
            y = 0.225069 * safezoneH + safezoneY;
            w = 0.247423 * safezoneW;
            h = 0.549862 * safezoneH;
            onTreeDblClick = "_this call HS_additemtolb;false";
            onTreeSelChanged = "_this call Halv_onlbtreeselected;false";

 

If not, then the end of this block of code is where you want to be, BEFORE the curly bracket that closes off the section. Cut and paste the following to that location:

 

            colorPicture[] = {0,0,0,0};
            colorPictureSelected[] = {0,8,0,0,8};
            colorPictureDisabled[] = {0,8,0,0,8};
            colorPictureRight[] = {0,8,0,0,8};
            colorPictureRightSelected[] = {0,8,0,0,8};
           colorPictureRightDisabled[] = {0,8,0,0,8};
          

All you are doing is defining colours for items as called for by the script. The (0,8,0,0,8} can be changed to any colour you wish but for now I suggest you check that it works before you start changing it. 

Hope that is clear enough. Shout if you have any questions. 

PS I only just read back through the thread and saw you asked these questions before. Wish I had said something sooner. Sorry to leave you hanging like that bro. Hope you get it sorted now anyway

 

 

Link to comment
Share on other sites

6 hours ago, Karma_UK said:

It is very simple to fix.

 

Open tradedialog.hpp

Got to line 123.  Assuming you have the default file, the few lines above this should read :

class HS_trader_tree: HALV_CT_TREE
        {
            idc = 9997;
            text = "";
            x = 0.458763 * safezoneW + safezoneX;
            y = 0.225069 * safezoneH + safezoneY;
            w = 0.247423 * safezoneW;
            h = 0.549862 * safezoneH;
            onTreeDblClick = "_this call HS_additemtolb;false";
            onTreeSelChanged = "_this call Halv_onlbtreeselected;false";

 

If not, then the end of this block of code is where you want to be, BEFORE the curly bracket that closes off the section. Cut and paste the following to that location:

 

            colorPicture[] = {0,0,0,0};
            colorPictureSelected[] = {0,8,0,0,8};
            colorPictureDisabled[] = {0,8,0,0,8};
            colorPictureRight[] = {0,8,0,0,8};
            colorPictureRightSelected[] = {0,8,0,0,8};
           colorPictureRightDisabled[] = {0,8,0,0,8};
          

All you are doing is defining colours for items as called for by the script. The (0,8,0,0,8} can be changed to any colour you wish but for now I suggest you check that it works before you start changing it. 

Hope that is clear enough. Shout if you have any questions. 

PS I only just read back through the thread and saw you asked these questions before. Wish I had said something sooner. Sorry to leave you hanging like that bro. Hope you get it sorted now anyway

 

 

I tried the code you provided and the original error is replaced by: Warning Message: Picture picturething not found

I just went though this with the spawn selection script and adding those color definitions solved it.

Here is my tradedialog.hpp:

Spoiler

/*
    a3 epoch trader
    tradermenu.hpp
    by Halv & Suppe

    Copyright (C) 2015  Halvhjearne & Suppe > README.md
*/

class HS_trader_dialog
{
    idd=9999;
    moveingenabled=false;
    class controls
    {
        class HS_trader_back: HALV_IGUIBack
        {
            idc = -1;
            x = 0.273196 * safezoneW + safezoneX;
            y = 0.192077 * safezoneH + safezoneY;
            w = 0.453608 * safezoneW;
            h = 0.615845 * safezoneH;
        };
        class HS_trader_frame: HALV_RscFrame
        {
            idc = -1;
            text = "HS Blackmarket Trader by Halv & Suppe";
            x = 0.273196 * safezoneW + safezoneX;
            y = 0.192077 * safezoneH + safezoneY;
            w = 0.453608 * safezoneW;
            h = 0.615845 * safezoneH;
        };
        class HS_trader_textframe: HALV_RscFrame
        {
            idc = -1;
            x = 0.293814 * safezoneW + safezoneX;
            y = 0.225069 * safezoneH + safezoneY;
            w = 0.0824742 * safezoneW;
            h = 0.0219945 * safezoneH;
        };
        class HS_trader_text: HALV_RscStructuredText
        {
            idc = -1;
            text = "$STR_HS_TRADERMENU"; //--- ToDo: Localize;
            x = 0.293814 * safezoneW + safezoneX;
            y = 0.225069 * safezoneH + safezoneY;
            w = 0.0824742 * safezoneW;
            h = 0.0219945 * safezoneH;
        };
        class HS_trader_buysellswitchBack: HALV_IGUIBack
        {
            idc = -1;
            x = 0.376289 * safezoneW + safezoneX;
            y = 0.247064 * safezoneH + safezoneY;
            w = 0.0824742 * safezoneW;
            h = 0.0219945 * safezoneH;
        };
        class HS_trader_buysellswitchFrame: HALV_RscFrame
        {
            idc = -1;
            x = 0.376289 * safezoneW + safezoneX;
            y = 0.247064 * safezoneH + safezoneY;
            w = 0.0824742 * safezoneW;
            h = 0.0219945 * safezoneH;
        };
        class HS_trader_buysellCheckbox: HALV_RscCheckbox
        {
            idc = -1;
            x = 0.376289 * safezoneW + safezoneX;
            y = 0.247064 * safezoneH + safezoneY;
            w = 0.0824742 * safezoneW;
            h = 0.0219945 * safezoneH;
            strings[] = {"$STR_HS_BUY_MODE"};
            checked_strings[] = {"$STR_HS_SELL_MODE"};
            onCheckBoxesSelChanged = "_this call HS_buyorsell;call HS_trader_menu;false";
            tooltip = "$STR_HS_CLICK_TOSWITCH"; // Tooltip text
        };
        class HS_trader_selltxtframe: HALV_RscFrame
        {
            idc = -1;
            x = 0.376289 * safezoneW + safezoneX;
            y = 0.225069 * safezoneH + safezoneY;
            w = 0.0824742 * safezoneW;
            h = 0.0219945 * safezoneH;
        };
        class HS_trader_selltxt: HALV_RscStructuredText
        {
            idc = 9996;
            text = "0 Crypto"; //--- ToDo: Localize;
            x = 0.376289 * safezoneW + safezoneX;
            y = 0.225069 * safezoneH + safezoneY;
            w = 0.0824742 * safezoneW;
            h = 0.0219945 * safezoneH;
            tooltip = "$STR_HS_CURRENTTRADE"; // Tooltip text
        };
        class HS_trader_confirm: HALV_RscButton
        {
            idc = -1;
            text = "$STR_HS_CONFIRMTRADE"; //--- ToDo: Localize;
            x = 0.293814 * safezoneW + safezoneX;
            y = 0.247064 * safezoneH + safezoneY;
            w = 0.0824742 * safezoneW;
            h = 0.0219945 * safezoneH;
            action = "call HS_confirmtrade";
            tooltip = "$STR_HS_CLICKTOCONFIRMTRADE"; // Tooltip text
        };
        class HS_trader_listboxframe: HALV_RscFrame
        {
            idc = -1;
            x = 0.293814 * safezoneW + safezoneX;
            y = 0.269057 * safezoneH + safezoneY;
            w = 0.164948 * safezoneW;
            h = 0.505873 * safezoneH;
        };
        class HS_trader_tree: HALV_CT_TREE
        {
            idc = 9997;
            text = "";
            x = 0.458763 * safezoneW + safezoneX;
            y = 0.225069 * safezoneH + safezoneY;
            w = 0.247423 * safezoneW;
            h = 0.549862 * safezoneH;
            onTreeDblClick = "_this call HS_additemtolb;false";
            onTreeSelChanged = "_this call Halv_onlbtreeselected;false";
            colorPicture[] = {0,0,0,0};
            colorPictureSelected[] = {0,8,0,0,8};
            colorPictureDisabled[] = {0,8,0,0,8};
            colorPictureRight[] = {0,8,0,0,8};
            colorPictureRightSelected[] = {0,8,0,0,8};
            colorPictureRightDisabled[] = {0,8,0,0,8};

        };
        class HS_trader_listbox: HALV_RscListBox
        {
            idc = 9998;
            x = 0.293814 * safezoneW + safezoneX;
            y = 0.269057 * safezoneH + safezoneY;
            w = 0.164948 * safezoneW;
            h = 0.505873 * safezoneH;
            onLBDblClick = "_this call HS_deleteitemfromlb;false";
            onLBSelChanged = "_this call Halv_onlbtreeselected;false";
        };
    };
};

class HS_trader_dialog2
{
    idd=9980;
    moveingenabled=false;
    class controls
    {

        class HS_trader_selecttypeback: HALV_IGUIBack
        {
            idc = -1;
            x = 0.324613 * safezoneW + safezoneX;
            y = 0.269058 * safezoneH + safezoneY;
            w = 0.350775 * safezoneW;
            h = 0.19795 * safezoneH;
        };
        class HS_trader_selecttypeframe: HALV_RscFrame
        {
            idc = -1;
            text = "HS Blackmarket Trader by Halv & Suppe"; //--- ToDo: Localize;
            x = 0.324613 * safezoneW + safezoneX;
            y = 0.269058 * safezoneH + safezoneY;
            w = 0.350775 * safezoneW;
            h = 0.19795 * safezoneH;
        };
        class HS_trader_selecttypetextframe: HALV_RscFrame
        {
            idc = -1;
            x = 0.33493 * safezoneW + safezoneX;
            y = 0.291052 * safezoneH + safezoneY;
            w = 0.330141 * safezoneW;
            h = 0.0329917 * safezoneH;
        };
        class HS_trader_selecttypetempframe: HALV_RscFrame
        {
            idc = -1;
            x = 0.510317 * safezoneW + safezoneX;
            y = 0.401025 * safezoneH + safezoneY;
            w = 0.154754 * safezoneW;
            h = 0.043989 * safezoneH;
        };
        class HS_trader_selecttypenorm: HALV_RscFrame
        {
            idc = -1;
            x = 0.33493 * safezoneW + safezoneX;
            y = 0.401025 * safezoneH + safezoneY;
            w = 0.154754 * safezoneW;
            h = 0.043989 * safezoneH;
        };
        class HS_trader_checkavaiframe: HALV_RscFrame
        {
            idc = -1;
            x = 0.33493 * safezoneW + safezoneX;
            y = 0.335041 * safezoneH + safezoneY;
            w = 0.330141 * safezoneW;
            h = 0.043989 * safezoneH;
        };
        class HS_trader_selecttypetext: HALV_RscStructuredText
        {
            idc = -1;
            text = "$STR_HS_SELECTHALFORFULLTEXT"; //--- ToDo: Localize;
            x = 0.33493 * safezoneW + safezoneX;
            y = 0.291052 * safezoneH + safezoneY;
            w = 0.330141 * safezoneW;
            h = 0.0329917 * safezoneH;
        };
        class HS_trader_selecttypenormbut: HALV_RscButton
        {
            idc = -1;
            text = "$STR_HS_BUYFULLPRICE"; //--- ToDo: Localize;
            x = 0.334929 * safezoneW + safezoneX;
            y = 0.401025 * safezoneH + safezoneY;
            w = 0.154754 * safezoneW;
            h = 0.043989 * safezoneH;
//            tooltip = "$STR_HS_PRESSTOBUYHALFPRICE"; //--- ToDo: Localize;
            action = "call HS_buyvehiclesaved";
        };
        class HS_trader_selecttypetemp: HALV_RscButton
        {
            idc = -1;
            text = "$STR_HS_BUYHALFPRICE"; //--- ToDo: Localize;
            x = 0.510317 * safezoneW + safezoneX;
            y = 0.401025 * safezoneH + safezoneY;
            w = 0.154754 * safezoneW;
            h = 0.043989 * safezoneH;
            tooltip = "$STR_HS_PRESSTOBUYHALFPRICE"; //--- ToDo: Localize;
            action = "call HS_buyvehicletemp";
        };
        class HS_trader_checkavai: HALV_RscButton
        {
            idc = -1;
            text = "$STR_HS_BUYCHECK"; //--- ToDo: Localize;
            x = 0.33493 * safezoneW + safezoneX;
            y = 0.335041 * safezoneH + safezoneY;
            w = 0.330141 * safezoneW;
            h = 0.043989 * safezoneH;
            tooltip = "$STR_HS_PRESSTOCHECK"; //--- ToDo: Localize;
            action = "call HS_checkavailability";
        };
    };
};

 

Thanks for the help.

Link to comment
Share on other sites

As far as I know the picture is called for my the tradermenu.sqf so you problem would lie there. As I never had that problem, it might be a good idea for you to completely remove and reinstall the vanilla code, but keep copies of any changes you made. I know it's tedious but I would make a change, test it, make a change test it, etc because that to me is the only surefire way of knowing exactly what the problem is.

Link to comment
Share on other sites

10 hours ago, Karma_UK said:

As far as I know the picture is called for my the tradermenu.sqf so you problem would lie there. As I never had that problem, it might be a good idea for you to completely remove and reinstall the vanilla code, but keep copies of any changes you made. I know it's tedious but I would make a change, test it, make a change test it, etc because that to me is the only surefire way of knowing exactly what the problem is.

Good advice but I'm just not sure what changes I would make.

I'll keep messing with it and let you know how it goes...

Thanks again.

Link to comment
Share on other sites

i add

colorPicture[] = {0,0,0,0};
colorPictureSelected[] = {0,8,0,0,8};

colorPictureDisabled[] = {0,8,0,0,8};
colorPictureRight[] = {0,8,0,0,8};
colorPictureRightSelected[] = {0,8,0,0,8};

colorPictureRightDisabled[] = {0,8,0,0,8};

Error missing

icons become transparent icon is visible only when you press

c172be2a17cb.jpg

Link to comment
Share on other sites

  • 1 month later...

Hey Guys,

this script is very awesome but i have one problem!

i change the position of the trader... the trader is there but nothing more...

How can i change the position of the items and how can i change the position of the vehicle spawn?

 

Map : Tanoa

 

this is my init code:

//if _staticCoords are set here, there will be a trader at that exact position and direction,
//_blacklistedAreas is where random blackmarkets cannot spawn
switch(toLower worldName)do{
    case "tanoa":{
        _staticCoords = [
/*
            [traderposition,direction,createmarker,props[classname,position,direction]]
            //"full" array
            [[0,0,0],0,true,[["classname1",[1,1,1],1],["classname2",[2,2,2],2]]]
            //minimal array
            [[0,0,0],0]
*/
            [[12133.8,12994,0],0.00143909,true], //trader airport
            [[13319,14523.9,0],143.067,false], //trader by stavros
            [[6193.02,16828.7,0],1.52142,false] //trader by kore
        ];
        _blacklistedAreas = [
                            /*[position,area]*/
            [[18451.9, 14278.1, 0],500],
            [[13326.5, 14515.2, 0],500],
            [[6192.46, 16834, 0],500]
        ];
        //distance to search for trader positions
        _spawnarea = 12500;
    };

20161021184207_1.jpg

Link to comment
Share on other sites

  • 3 weeks later...
On 21.10.2016 at 8:50 PM, RORG said:

Hey Guys,

this script is very awesome but i have one problem!

i change the position of the trader... the trader is there but nothing more...

How can i change the position of the items and how can i change the position of the vehicle spawn?

 

Map : Tanoa

 

this is my init code:

//if _staticCoords are set here, there will be a trader at that exact position and direction,
//_blacklistedAreas is where random blackmarkets cannot spawn
switch(toLower worldName)do{
    case "tanoa":{
        _staticCoords = [
/*
            [traderposition,direction,createmarker,props[classname,position,direction]]
            //"full" array
            [[0,0,0],0,true,[["classname1",[1,1,1],1],["classname2",[2,2,2],2]]]
            //minimal array
            [[0,0,0],0]
*/
            [[12133.8,12994,0],0.00143909,true], //trader airport
            [[13319,14523.9,0],143.067,false], //trader by stavros
            [[6193.02,16828.7,0],1.52142,false] //trader by kore
        ];
        _blacklistedAreas = [
                            /*[position,area]*/
            [[18451.9, 14278.1, 0],500],
            [[13326.5, 14515.2, 0],500],
            [[6192.46, 16834, 0],500]
        ];
        //distance to search for trader positions
        _spawnarea = 12500;
    };

20161021184207_1.jpg

i whant now its too how change positions and how delete traders i whant only one on the map

 

 

plz help somebody

 

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...
On 9/7/2016 at 10:11 AM, Hux said:

I tried the code you provided and the original error is replaced by: Warning Message: Picture picturething not found

I just went though this with the spawn selection script and adding those color definitions solved it.

Here is my tradedialog.hpp:

 

Thanks for the help.

4

The "Picture picturething not found" error is caused by something that is for sale that doesn't have an icon, for example, the Taru Pods don't have a trader icon and caused my traders to spawn with that error. Hope this helps.

Link to comment
Share on other sites

9 hours ago, Biz said:

Hey all , I am new to all Arma 3 Server setting up I install the  Trader, but when I go talk to him I get a Error HS_trader_dialog not found.   

 

http://imgur.com/a/5BBDo Here is a screen shot of the it. If anyone can help point in the right direction ty

as well I cant access his menu to stuff either

4

Make sure  the tradedialog.hpp is in the right location: "epoch.altis\trader\tradedialog.hpp"

Link to comment
Share on other sites

4 hours ago, Vistor said:

Make sure  the tradedialog.hpp is in the right location: "epoch.altis\trader\tradedialog.hpp"

I did that before I posted which is weird part. That's why I am bit clueless on this.

 

https://gyazo.com/b063d66b57086d0afaefaf403a46b742

 

other then that I am guessing the reason I can't buy or sell stuff is because of this issue. Because I center mouse click on him then menu on the top left shows up and that's it.  

 

TY btw for help. I am this is a bit of learning experience for me 

Link to comment
Share on other sites

7 hours ago, Biz said:

I did that before I posted which is weird part. That's why I am bit clueless on this.

 

https://gyazo.com/b063d66b57086d0afaefaf403a46b742

 

other then that I am guessing the reason I can't buy or sell stuff is because of this issue. Because I center mouse click on him then menu on the top left shows up and that's it.  

 

TY btw for help. I am this is a bit of learning experience for me 

Do you have:

#include "trader\Halv_defines.hpp"
  #include "trader\tradedialog.hpp"
  #include "trader\HSPricing.hpp"

  At the very top of your description.ext?

Link to comment
Share on other sites

3 hours ago, Hux said:

Do you have:


#include "trader\Halv_defines.hpp"
  #include "trader\tradedialog.hpp"
  #include "trader\HSPricing.hpp"

  At the very top of your description.ext?

That was it TY Hux, I guess I miss that In the steps. I knew it was something stupid silly and that was it. 

Link to comment
Share on other sites

Soo another question to toss out there as well switch I notice the blackmarket trader is not taking the money?? I going to take a gander and say I doone goof. I really like it script. 

I check my Int file and this it 

[] execVM "trader\init.sqf";
[] execVM "trader\resetvehicleammo.sqf";
[] execVM "trader\HALV_takegive_crypto_init.sqf";   <-- this should take care of the issue.  vendors will take and give it but not the blackmarket for w/e reason

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...