Jump to content

two sided trade modification???


Guest jagodragon

Recommended Posts

i was wondering about adding a two sided trade option in the configs. that is one of the very few things i miss from arcemu so i started diggin and i have to say i am total newb but wanted to see if i was learning any thing so i tried. can you take a look and tell me how bad i did?


[world.h]

... ]enum eConfigBoolValues

... ]{

... ]

... ] CONFIG_BOOL_ALLOW_TWO_SIDE_ADD_FRIEND,

+++ ] CONFIG_BOOL_ALLOW_TWO_SIDE_TRADE,

... ] CONFIG_BOOL_INSTANCE_IGNORE_LEVEL,



[tradehandler.cpp]

... ] if (pOther->GetTeam() !=_player->GetTeam() )

... ] {

--- ] SendTradeStatus(TRADE_STATUS_WRONG_FACTION)

--- ] return;

+++ ] if (sWorld.getConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_INTERACTION_TRADE))

+++ ] return; 

+++ ] else (SendTradeStatus(TRADE_STATUS_WRONG_FACTION);

+++ ] return;

... ] }

[mangosd.conf.dist.in]

... ]AllowTwoSide.Interaction.Mail = 1

+++ ]AllowTwoSide.Interaction.TRADE = 1

... ]AllowTwoSide.WhoList = 1

the brackets are the files i moded and the "..." is lines before and after changes the "+++" are lines i added and the "---" are lines i removed...

now i am sure this can't be right because i am as i said a complete newb and it only took me 45 minutes to do.

this is my first attempt at an thing so be blunt but please don't flame too badly .

Link to comment
Share on other sites

the feature existed before, but it was removed because with some client version (2.4.x i think) this functionality was suddenly blocked by the client, even if the server would allow it. there were many people that tried to work around it (including me), but without success. i wonder if arcemu really supports it, or if the config option is just a fake.

Link to comment
Share on other sites

some on... any one... please just look at the code... i am not realy concerned with weather or not mangos wants to support it, or if client makes it not possible... i am more looking to see if any one can look at the code and "appraise" it?

i am compiling now and hope i am not f***ing up my server.....

Link to comment
Share on other sites

sorry.. yeah i found it.

can you look at this and tell me what you think? please

[world.cpp]

...    ]    setConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_INTERACTION_MAIL,    "AllowTwoSide.Interaction.Mail", false);
+++    ]    setConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_INTERACTION_TRADE,   "AllowTwoSide.Interaction>trade", false);
...    ]    setConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_WHO_LIST,            "AllowTwoSide.WhoList", false);


[world.h]

...    ]enum eConfigBoolValues
...    ]{
...    ]
...    ]    CONFIG_BOOL_ALLOW_TWO_SIDE_ADD_FRIEND,
+++    ]    CONFIG_BOOL_ALLOW_TWO_SIDE_TRADE,
...    ]        CONFIG_BOOL_INSTANCE_IGNORE_LEVEL,


[tradehandler.cpp]

---    ]    if (pOther->GetTeam() !=_player->GetTeam() )
+++    ]    if (pOther->GetTeam() != team && !sWorld.getConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_INTERACTION_TRADE) && session->GetSecurity() < SEC_MODERATOR) <<<--- not sure about this?
...    ]    {
...    ]        SendTradeStatus(TRADE_STATUS_WRONG_FACTION);
...    ]        return;
...    ]    }

[mangosd.conf.dist.in]

...    ]AllowTwoSide.Interaction.Mail = 1
+++    ]AllowTwoSide.Interaction.TRADE = 1
...    ]AllowTwoSide.WhoList = 1

Link to comment
Share on other sites

ok.... that didn't work...

attemp three and this one compiled soooo... lets see lol

   if (sWorld.getConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_INTERACTION_TRADE))
   return;
   else if (pOther->GetTeam() !=_player->GetTeam() )
   {    
       (SendTradeStatus(TRADE_STATUS_WRONG_FACTION));
       return;
   }

Edsit: nope... it's fail lol kinda figured... but hey atleast it compiled...

besides.. i was told it was client side... so... i will always fail at this one... unless there is a way to fool the client into thinking both players are same faction during the trade??

any thoughts on that?

Link to comment
Share on other sites

Thank you Vladimir for pointing that out.

You are correct!

i do not understand all of it... as i said in my first post i am very new at this and any help or pointers.. would be appreciated :)

sinse i do not understand all of it, i tried to look at how it was done in twosided chat, then, as directed by you i treid to look at add friend and when i tried to use a similar fasion it would not compile correctly(i know this is an error on my part) So, i went back to the example that made sense to me and tried to use it again.. and, it did, some what.... at least it compiled...

still can't trade but i now know that it is a client issue and that i need to trick the client into believing we are same faction. i do not wnat to do this in a way that make the server see me or the other player as unfriendly to our own factions though so i will belooking in to it more as i have free time :)

thank you for trying to help me, i am sorry that i am so new at this and could not do what you thought i should have, but, i am trying to LEARN this :)

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use