Degraded PK
Welcome to Denied PvP, to play our webclient, please go to www.deniedpvp.tk
Degraded PK
Welcome to Denied PvP, to play our webclient, please go to www.deniedpvp.tk
Degraded PK
Would you like to react to this message? Create an account in a few clicks or log in to continue.


www.deniedpvp.tk
 
HomeNewsSearchLatest imagesRegisterLog in

 

 Here Chris I have the code for trade

Go down 
2 posters
AuthorMessage
Aaron
Extremely L33T Member
Extremely L33T Member
Aaron


Posts : 708
Points : 846
Reputation : 33
Join date : 2009-12-15
Age : 27
Location : L00T1N SUM VESTA;

Here Chris I have the code for trade Empty
PostSubject: Here Chris I have the code for trade   Here Chris I have the code for trade Icon_minitimeThu Feb 18, 2010 7:58 am

```
The trading... i dont have frames for em but heres the class for it:

Code:

package ploxage.scape.players.items;

import ploxage.scape.Engine;
import ploxage.scape.players.Player;
import ploxage.scape.io.*;

public class PlayerTrade {

public void declinePlayer(Player p){
if(p == null || !p.online){
return;
}
for(int i = 0; i < getTradeItemCount(p); i++){
Engine.playerItems.addItem(p,p.tradeItems[i],p.tradeItemsN[i]);
}
p.tradeItems = new int[28];
p.tradeItemsN = new int[28];
p.tradePlayer = 0;
p.tAccept[0] = false;
p.tAccept[1] = false;
p.frames.removeShownInterface(p);
}
public void acceptPlayer(Player p,Player plr){
if(p == null || !p.online){
return;
}
if(plr == null || !plr.online){
return;
}
for(int i = 0; i < getTradeItemCount(plr); i++){
Engine.playerItems.addItem(p,plr.tradeItems[i],plr.tradeItemsN[i]);
}
for(int i = 0; i < getTradeItemCount(p); i++){
Engine.playerItems.addItem(plr,p.tradeItems[i],p.tradeItemsN[i]);
}
p.tradeItems = new int[28];
p.tradeItemsN = new int[28];
p.tradePlayer = 0;
p.tAccept[0] = false;
p.tAccept[1] = false;
p.frames.removeShownInterface(p);
plr.tradeItems = new int[28];
plr.tradeItemsN = new int[28];
plr.tradePlayer = 0;
plr.tAccept[0] = false;
plr.tAccept[1] = false;
plr.frames.removeShownInterface(plr);
}
public void secondScreen(Player p,Player plr){
if(p == null || !p.online){
return;
}
if(plr == null || !plr.online){
return;
}
p.frames.showInterface(p, 334);
http://p.frames.setInventory(p, 16);
p.frames.setInventory(p, 336);
plr.frames.showInterface(plr, 334);
http://plr.frames.setInventory(plr, 16);
p.frames.setInventory(p, 336);
plr.tAccept[0] = true;
p.tAccept[0] = true;
//add string here for items
}
//Sub id's 30 and 31 are your offer and 32 and 33 is Traders offer
public void firstScreen(Player p,Player plr){
if(p == null || !p.online){
return;
}
if(plr == null || !plr.online){
return;
}
p.frames.showInterface(p, 335);
http://p.frames.setInventory(p, 333);
p.frames.setInventory(p, 336);
plr.frames.showInterface(plr, 335);
p.frames.setInventory(p, 336);
http://plr.frames.setInventory(plr, 333);
refreshScreen(p,plr);
refreshScreen(plr,p);
}
public void refreshScreen(Player p,Player plr){
if(p == null || !p.online){
return;
}
if(plr == null || !plr.online){
return;
}
http://p.frames.setItems(p, 335, 30, 28, p.items, p.itemsN);// my items my side
http://plr.frames.setItems(plr, 335, 30, 28, plr.tradeItems, plr.tradeItemsN);//his items his side
http://p.frames.setItems(p, 335, 32, 28, plr.tradeItems, plr.tradeItemsN);//his items on my screen
http://plr.frames.setItems(plr, 335, 32, 28, p.items, p.itemsN);//my items on his screen

http://p.frames.setItems(p, 336, 0, 93, p.items, p.itemsN);
//frames here for refreshing first screen
}
public void declineTrade(Player p){
if(p == null || !p.online){
return;
}
declinePlayer(p);
Player plr = Engine.players[p.tradePlayer];
if(plr == null || !plr.online){
return;
}
declinePlayer(plr);
}
public void checkStage(Player p){
if(p == null || !p.online){
return;
}
Player plr = Engine.players[p.tradePlayer];
if(plr == null || !plr.online){
return;
}
if(plr.tradePlayer != p.playerId || p.tradePlayer != plr.playerId){
return;
}
if(plr.tAccept[1] && p.tAccept[1] && plr.tAccept[0] && p.tAccept[0]){
acceptPlayer(p,plr);
}//final trade screen accepted by both
else if(plr.tAccept[0] && p.tAccept[0]){
secondScreen(p,plr);
} else if(!plr.tAccept[0] && !p.tAccept[0]){
firstScreen(p,plr);
}
}
public void tradeItem(Player p,int itemId, int amount){
if(p== null || !p.online){
return;
}
Player plr = Engine.players[p.tradePlayer];
if(plr == null || !plr.online){
return;
}
if(p.tradePlayer != plr.playerId || plr.tradePlayer != p.playerId){
return;
}
if(!Engine.playerItems.haveItem(p,itemId,amount)){
amount = Engine.playerItems.invItemCount(p,itemId);
}
if(getTradeItemCount(p) < 28){
if(Engine.items.itemLists[itemId].itemStackable || Engine.items.itemLists[itemId].itemIsNote){
if(Engine.playerItems.deleteItem(p,itemId,amount)) {
int freeSlot = getFreeSlots(p);
if(freeSlot < 0){
return;
}
p.tradeItems[freeSlot] = itemId;
p.tradeItemsN[freeSlot] += amount;
}
} else {
if(Engine.playerItems.deleteItem(p,itemId,amount)) {
for(int i = 0; i < amount; i++){
int freeSlot = getFreeSlots(p);
if(freeSlot < 0){
return;
}
p.tradeItems[freeSlot] = itemId;
p.tradeItemsN[freeSlot] = 1;
}
}
}
p.tAccept[0] = false;
plr.tAccept[0] = false;
refreshScreen(p,plr);
//add screen refresh frames here
}
}
public void removeItem(Player p,int itemId, int amount){
if(amount <= 0 || amount > 999999999){
return;
}
if(p == null || !p.online){
return;
}
Player plr = Engine.players[p.tradePlayer];
if(plr == null || !plr.online){
return;
}
if(p.tradePlayer != plr.playerId || plr.tradePlayer != p.playerId){
return;
}
int itemSlot = getTradeItemslot(p,itemId);
if(p.tradeItemsN[itemSlot] > 0){
//this is for noted items etc
//int itemSlot = getTradeItemslot(p,itemId);
if(itemSlot < 0){
return;
}
if(p.tradeItemsN[itemSlot] > amount){
amount = p.tradeItemsN[itemSlot];
Engine.playerItems.addItem(p,itemId,amount);
p.tradeItems[itemSlot] = -1;
p.tradeItemsN[itemSlot] = -1;
} else if(amount < p.tradeItemsN[itemSlot]){
Engine.playerItems.addItem(p,itemId,amount);
p.tradeItemsN[itemSlot] -= amount;
}
} else {
for(int i = 0; i < amount; i++){
int itemSlot2 = getTradeItemslot(p,itemId);
if(itemSlot2 < 0){
return;
}
Engine.playerItems.addItem(p,itemId,1);
p.tradeItems[itemSlot2] = -1;
p.tradeItemsN[itemSlot2] = -1;
}
}
p.tAccept[0] = false;
plr.tAccept[0] = false;
refreshScreen(p,plr);
//add screen refresh frames here
}

public int getTradeItemslot(Player p, int itemId) {
for (int i = 0; i < 28; i++) {
if (p.tradeItems[i] == itemId) {
return i;
}
}
return -1;
}
public int getTradeItemCount(Player p) {
int count = 0;
for (int i = 0; i < 28; i++) {
if (p.tradeItems[i] > 0) {
count++;
}
}
return count;
}

public int getFreeSlots(Player p) {
for (int i = 0; i < 28; i++) {
if (p.tradeItems[i] == -1) {
return i;
}
}
return -1;
}
}

Save it as PlayerTrade.java and change the imports to yours.
In teh login class search for:

Code:

p.frames.setPlayerOption(p, "Trade", 2);
change to:

Code:

p.frames.setPlayerOption(p, "Trade", 3);

Then in io.packets in PlayerOption3

add this before
Code:

p.playerOption3 = false;

Player p2 = Engine.players[p.clickId];
p.frames.sendMessage(p, "Sending trade request...");
p.frames.sendMessage(p2, p.username+":tradereq:");
p.requestFaceTo(p.clickId);
p.tradePlayer = p2.playerId;
p2.tPartner = p.playerId;
Engine.playerTrade.checkStage(p);

In packetmanager add this packet:

Code:

case 253:
Player plr = Engine.players[p.tPartner];
if(plr == null || !plr.online)
break;
p.tradePlayer = plr.playerId;
Engine.playerTrade.checkStage(p);
break;

Declare in player class

Code:

public int tPartner = 0;
public int[] tradeItems = new int[28];
public int[] tradeItemsN = new int[28];
public boolean[] tAccept = {false,false};
public int tradePlayer = 0;

Credits to Mr. Fresh
Back to top Go down
Chris
##Owner##
##Owner##
Chris


Posts : 448
Points : 1119
Reputation : -6
Join date : 2009-11-22
Age : 28
Location : Scotland

Here Chris I have the code for trade Empty
PostSubject: Re: Here Chris I have the code for trade   Here Chris I have the code for trade Icon_minitimeThu Feb 18, 2010 10:23 am

This isn't compatatable with my source, plus trading was removed to stop in game cheaters.
Back to top Go down
http://www.rebornscape.org
 
Here Chris I have the code for trade
Back to top 
Page 1 of 1
 Similar topics
-
» make stat trade able
» code onyx bolts e
» please guys see this the important mod or chris
» HELP CHRIS?
» Chris impersionation

Permissions in this forum:You cannot reply to topics in this forum
Degraded PK :: Degraded 317 :: Help-
Jump to: