Thread: [PI] PkPoint Shop doesnt work. URGENT!!

Results 1 to 4 of 4
  1. #1 [PI] PkPoint Shop doesnt work. URGENT!! 
    Banned
    Join Date
    Jul 2011
    Posts
    692
    Thanks given
    169
    Thanks received
    43
    Rep Power
    0
    I just added my Donator Point Shop

    After adding it, When i try to buy items from the pkp shop, it wont buy anything. it doesnt lose your pk points, and it doesnt buy

    help?
    Reply With Quote  
     

  2. #2  
    Kacey
    I Am Kacey's Avatar
    Join Date
    May 2011
    Posts
    738
    Thanks given
    243
    Thanks received
    56
    Rep Power
    19
    you might of changed something in the shopassistant.java also can you give me your methods
    Reply With Quote  
     

  3. #3  
    Banned
    Join Date
    Jul 2011
    Posts
    692
    Thanks given
    169
    Thanks received
    43
    Rep Power
    0
    Here is my whole ShopAssistant:

    Code:
    package server.model.shops;
    
    import server.Config;
    import server.Server;
    import server.model.items.Item;
    import server.model.players.Client;
    
    public class ShopAssistant {
    
    	private Client c;
    	
    	public ShopAssistant(Client client) {
    		this.c = client;
    	}
    	
    	/**
    	*Shops
    	**/
    	
    	public void openShop(int ShopID){		
    		c.getItems().resetItems(3823);
    		resetShop(ShopID);
    		c.isShopping = true;
    		c.myShopId = ShopID;
    		c.getPA().sendFrame248(3824, 3822);
    		c.getPA().sendFrame126(Server.shopHandler.ShopName[ShopID], 3901);
    	}
    	
    	public void updatePlayerShop() {
    		for (int i = 1; i < Config.MAX_PLAYERS; i++) {
    			if (Server.playerHandler.players[i] != null) {
    				if (Server.playerHandler.players[i].isShopping == true && Server.playerHandler.players[i].myShopId == c.myShopId && i != c.playerId) {
    					Server.playerHandler.players[i].updateShop = true;
    				}
    			}
    		}
    	}
    	
    	
    	public void updateshop(int i){
    		resetShop(i);
    	}
    	
    	public void resetShop(int ShopID) {
    		synchronized(c) {
    			int TotalItems = 0;
    			for (int i = 0; i < Server.shopHandler.MaxShopItems; i++) {
    				if (Server.shopHandler.ShopItems[ShopID][i] > 0) {
    					TotalItems++;
    				}
    			}
    			if (TotalItems > Server.shopHandler.MaxShopItems) {
    				TotalItems = Server.shopHandler.MaxShopItems;
    			}
    			c.getOutStream().createFrameVarSizeWord(53);
    			c.getOutStream().writeWord(3900);
    			c.getOutStream().writeWord(TotalItems);
    			int TotalCount = 0;
    			for (int i = 0; i < Server.shopHandler.ShopItems.length; i++) {
    				if (Server.shopHandler.ShopItems[ShopID][i] > 0 || i <= Server.shopHandler.ShopItemsStandard[ShopID]) {
    					if (Server.shopHandler.ShopItemsN[ShopID][i] > 254) {
    						c.getOutStream().writeByte(255); 					
    						c.getOutStream().writeDWord_v2(Server.shopHandler.ShopItemsN[ShopID][i]);	
    					} else {
    						c.getOutStream().writeByte(Server.shopHandler.ShopItemsN[ShopID][i]);
    					}
    					if (Server.shopHandler.ShopItems[ShopID][i] > Config.ITEM_LIMIT || Server.shopHandler.ShopItems[ShopID][i] < 0) {
    						Server.shopHandler.ShopItems[ShopID][i] = Config.ITEM_LIMIT;
    					}
    					c.getOutStream().writeWordBigEndianA(Server.shopHandler.ShopItems[ShopID][i]);
    					TotalCount++;
    				}
    				if (TotalCount > TotalItems) {
    					break;
    				}
    			}
    			c.getOutStream().endFrameVarSizeWord();
    			c.flushOutStream();	
    		}
    	}
    	
    	
    	public double getItemShopValue(int ItemID, int Type, int fromSlot) {
    		double ShopValue = 1;
    		double Overstock = 0;
    		double TotPrice = 0;
    		for (int i = 0; i < Config.ITEM_LIMIT; i++) {
    			if (Server.itemHandler.ItemList[i] != null) {
    				if (Server.itemHandler.ItemList[i].itemId == ItemID) {
    					ShopValue = Server.itemHandler.ItemList[i].ShopValue;
    				}
    			}
    		}
    		
    		TotPrice = ShopValue;
    
    		if (Server.shopHandler.ShopBModifier[c.myShopId] == 1) {
    			TotPrice *= 1; 
    			TotPrice *= 1;
    			if (Type == 1) {
    				TotPrice *= 1; 
    			}
    		} else if (Type == 1) {
    			TotPrice *= 1; 
    		}
    		return TotPrice;
    	}
    	
    	public int getItemShopValue(int itemId) {
    		for (int i = 0; i < Config.ITEM_LIMIT; i++) {
    			if (Server.itemHandler.ItemList[i] != null) {
    				if (Server.itemHandler.ItemList[i].itemId == itemId) {
    					return (int)Server.itemHandler.ItemList[i].ShopValue;
    				}
    			}	
    		}
    		return 0;
    	}
    	
    	
    	
    	/**
    	*buy item from shop (Shop Price)
    	**/
    	
    	public void buyFromShopPrice(int removeId, int removeSlot){
    		int ShopValue = (int)Math.floor(getItemShopValue(removeId, 0, removeSlot));
    		ShopValue *= 1;
    		String ShopAdd = "";
    		if (c.myShopId == 12) {
    			c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " points.");
    			return;
    		}
    		if (c.myShopId == 13) {
    			c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " tickets.");
    			return;
    		}
    		if (c.myShopId == 49 || c.myShopId == 16 || c.myShopId == 17 || c.myShopId == 18) {
    			c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " Donator Points.");
    			return;
    		}
    		//if (c.myShopId == 5) {
    			//c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " coins.");
    			//return;
    		//}
    		if (ShopValue >= 1000 && ShopValue < 1000000) {
    			ShopAdd = " (" + (ShopValue / 1000) + "K)";
    		} else if (ShopValue >= 1000000) {
    			ShopAdd = " (" + (ShopValue / 1000000) + " million)";
    		}
    		c.sendMessage(c.getItems().getItemName(removeId)+": currently costs "+ShopValue+" coins"+ShopAdd);
    	}
    	
    	public int getSpecialItemValue(int id) {
    		switch (id) {
    case 6889: //mage's book
    case 6914: //master wand
    return 500;
    case 6920: //infinity boots
    case 6918: //infinity hat
    return 150;
    case 6916: //infinity top
    case 6924: //infinity bottoms
    return 250;
    case 6922: //infinity gloves
    return 150;
    case 9739: //combat pot
    return 160;
    case 8839: //void knight top
    case 8840: //void knight robe
    return 350;
    case 11663: //void mage helm
    case 11664: //void ranger helm
    case 11665: //void melee helm
    return 150;
    case 8842: //void knight gloves
    return 100;
    case 10551: //fighter torso
    case 10548: //fighter hat
    return 400;
    case 4151: //whip
    return 500;
    case 11730: //sara sword
    return 1000;
    case 11696: //bgs
    return 1750;
    case 1038:
    case 1040:
    case 1042:
    case 1044:
    case 1046:
    case 1048:
    case 1050:
    case 1052:
    case 1053:
    case 1055:
    case 1057:
    case 3481:
    case 3483:
    case 3485:
    case 3486:
    case 3488:
    case 1961:
    case 4565:
    case 6082:
    case 5608:
    case 6859:
    case 6857:
    case 6861:
    case 6863:
    case 1419:
    case 4084:
    return 10;
    case 15037:
    case 15038:
    case 15039:
    return 5000;
    case 11700: //zgs
    return 2000;
    case 14484: //clawz
    return 6000;
    case 11694: //ags
    return 3500;
    case 11698: //sgs
    return 2250;
    case 11335: //dragon full helm
    return 600;
    case 3140: //dragon chainbody
    case 4087: //dragon platelegs
    case 4585: //dragon plateskirt
    return 800;
    case 1187: //dragin sq shield
    return 500;
    case 6739: //dragon axe
    return 1000;
    case 7458: // mith gloves
    return 0;
    case 7459: //addy gloves
    return 10;
    case 7460: //rune gloves
    return 25;
    case 7462: //barrows gloves
    return 200;
    case 11235: //dark bow
    case 2577: //ranger boots
    case 2581: //robin hood hat
    return 500;
    case 8845: //bronze defender
    return 0;
    case 8846: //iron defender
    return 5;
    case 13734: //spirit shield
    return 300;
    case 15000: //arcane stream
    return 1000;
    case 15001: //staff of light
    return 1500;
    case 8850: //rune defender
    return 250;
    case 6570: //fire cape
    return 500;
    
    case 439: //tin ore
    return 4;
    case 437: //copper ore
    return 4;
    case 441: //iron ore
    return 25;
    case 443: //silver ore
    return 112;
    case 454: //coal
    return 22;
    case 445: //gold ore
    return 75;
    case 448: //mithril ore
    return 81;
    case 450: //addy ore
    return 600;
    case 452: //runite ore
    return 4800;
    case 1624: //sapphire
    return 37;
    case 1622: //emerald 
    return 75;
    case 1620: //ruby
    return 150;
    case 1618: //diamond
    return 300;
    case 1632: //dragstone
    return 1500;
    case 6572: //onyx
    return 300000;
    
    case 6522:
    return 325;
    case 6523:
    return 52000;
    case 6524:
    return 58500;
    case 6525:
    return 32500;
    case 6526:
    return 45500;
    case 6527:
    return 39000;
    case 6528:
    return 78000;
    case 6568:
    return 90000;
    
    case 554:
    return 26;
    case 555:
    return 26;
    case 556:
    return 26;
    case 557:
    return 26;
    case 558:
    return 26;
    case 559:
    return 27;
    case 562:
    return 210;
    case 560:
    return 465;
    
    case 2528:
    return 3;
    case 6970:
    return 5;
    case 10069:
    return 75;
    case 10071:
    return 100;
    case 6656:
    return 150;
    case 6654:
    return 150;
    case 6655:
    return 150;
    case 88:
    return 25;
    case 6733:
    return 150;	
    case 6735:
    return 150;	
    case 6737:
    return 150;	
    case 10364:
    return 250;	
    case 10366:
    return 250;	
    case 10440:
    return 150;	
    case 10442:
    return 150;	
    case 10444:
    return 200;	
    case 10452:
    return 200;	
    case 10454:
    return 200;	
    case 10456:
    return 200;	
    case 10458:
    return 200;	
    case 10462:
    return 200;	
    case 10460:
    return 200;
    case 10464:
    return 200;
    case 10466:
    return 200;
    case 10468:
    return 200;
    case 10470:
    return 150;
    case 10472:
    return 150;
    case 10474:
    return 150;
    case 6562:
    return 500;
    }
    		return 0;
    	}
    	
    	
    	/**
    	*Sell item to shop (Shop Price)
    	**/
    	public void sellToShopPrice(int removeId, int removeSlot) {
    		if (c.myShopId == 16 || c.myShopId == 17 || c.myShopId == 18){
    				c.sendMessage("You cannot sell to this shop");
    			return;
    		}
    		for (int i : Config.ITEM_SELLABLE) {
    			if (i == removeId) {
    				c.sendMessage("You can't sell "+c.getItems().getItemName(removeId).toLowerCase()+".");
    				return;
    			} 
    		}
    		boolean IsIn = false;
    		if (Server.shopHandler.ShopSModifier[c.myShopId] > 1) {
    			for (int j = 0; j <= Server.shopHandler.ShopItemsStandard[c.myShopId]; j++) {
    				if (removeId == (Server.shopHandler.ShopItems[c.myShopId][j] - 1)) {
    					IsIn = true;
    					break;
    				}
    			}
    		} else {
    			IsIn = true;
    		}
    		if (IsIn == false) {
    			c.sendMessage("You can't sell "+c.getItems().getItemName(removeId).toLowerCase()+" to this store.");
    		} else {
    			int ShopValue = (int)Math.floor(getItemShopValue(removeId, 1, removeSlot));
    			String ShopAdd = "";
    			if (ShopValue >= 1000 && ShopValue < 1000000) {
    				ShopAdd = " (" + (ShopValue / 1000) + "K)";
    			} else if (ShopValue >= 1000000) {
    				ShopAdd = " (" + (ShopValue / 1000000) + " million)";
    			}
    			c.sendMessage(c.getItems().getItemName(removeId)+": shop will buy for "+ShopValue+" coins"+ShopAdd);
    		}
    	}
    
    
    	public boolean shopSellsItem(int itemID) {
    		for (int i = 0; i < Server.shopHandler.ShopItems.length; i++) {
    			if(itemID == (Server.shopHandler.ShopItems[c.myShopId][i] - 1)) {
    				return true;
    			}
    		}
    		return false;
    	}
    	
    	
    	
    	public boolean sellItem(int itemID, int fromSlot, int amount) {
    			if(c.inTrade) {
                		c.sendMessage("You cant sell items to the shop while your in trade!");
               		return false;
                		}
    		if (c.myShopId == 16 || c.myShopId == 17 || c.myShopId == 18)
    			return false;
    		for (int i : Config.ITEM_SELLABLE) {
    			if (i == itemID) {
    				c.sendMessage("You can't sell "+c.getItems().getItemName(itemID).toLowerCase()+".");
    				return false;
    			} 
    		}
    		
    		if (amount > 0 && itemID == (c.playerItems[fromSlot] - 1)) {
    			if (Server.shopHandler.ShopSModifier[c.myShopId] > 1) {
    				boolean IsIn = false;
    				for (int i = 0; i <= Server.shopHandler.ShopItemsStandard[c.myShopId]; i++) {
    					if (itemID == (Server.shopHandler.ShopItems[c.myShopId][i] - 1)) {
    						IsIn = true;
    						break;
    					}
    				}
    				if (IsIn == false) {
    					c.sendMessage("You can't sell "+c.getItems().getItemName(itemID).toLowerCase()+" to this store.");
    					return false;
    				}
    			}
    
    			if (amount > c.playerItemsN[fromSlot] && (Item.itemIsNote[(c.playerItems[fromSlot] - 1)] == true || Item.itemStackable[(c.playerItems[fromSlot] - 1)] == true)) {
    				amount = c.playerItemsN[fromSlot];
    			} else if (amount > c.getItems().getItemAmount(itemID) && Item.itemIsNote[(c.playerItems[fromSlot] - 1)] == false && Item.itemStackable[(c.playerItems[fromSlot] - 1)] == false) {
    				amount = c.getItems().getItemAmount(itemID);
    			}
    			//double ShopValue;
    			//double TotPrice;
    			int TotPrice2 = 0;
    			//int Overstock;
    			for (int i = amount; i > 0; i--) {
    				TotPrice2 = (int)Math.floor(getItemShopValue(itemID, 1, fromSlot));
    				if (c.getItems().freeSlots() > 0 || c.getItems().playerHasItem(995)) {
    					if (Item.itemIsNote[itemID] == false) {
    						c.getItems().deleteItem(itemID, c.getItems().getItemSlot(itemID), 1);
    					} else {
    						c.getItems().deleteItem(itemID, fromSlot, 1);
    					}
    					c.getItems().addItem(995, TotPrice2);
    					addShopItem(itemID, 1);
    				} else {
    					c.sendMessage("You don't have enough space in your inventory.");
    					break;
    				}
    			}
    			c.getItems().resetItems(3823);
    			resetShop(c.myShopId);
    			updatePlayerShop();
    			return true;
    		}
    		return true;
    	}
    	
    public boolean addShopItem(int itemID, int amount) {
    		boolean Added = false;
    		if (amount <= 0) {
    			return false;
    		}
    		if (Item.itemIsNote[itemID] == true) {
    			itemID = c.getItems().getUnnotedItem(itemID);
    		}
    		for (int i = 0; i < Server.shopHandler.ShopItems.length; i++) {
    			if ((Server.shopHandler.ShopItems[c.myShopId][i] - 1) == itemID) {
    				Server.shopHandler.ShopItemsN[c.myShopId][i] += amount;
    				Added = true;
    			}
    		}
    		if (Added == false) {
    			for (int i = 0; i < Server.shopHandler.ShopItems.length; i++) {
    				if (Server.shopHandler.ShopItems[c.myShopId][i] == 0) {
    					Server.shopHandler.ShopItems[c.myShopId][i] = (itemID + 1);
    					Server.shopHandler.ShopItemsN[c.myShopId][i] = amount;
    					Server.shopHandler.ShopItemsDelay[c.myShopId][i] = 0;
    					break;
    				}
    			}
    		}
    		return true;
    	}
    	
    	public boolean buyItem(int itemID, int fromSlot, int amount) {
    		if (c.myShopId == 30) {
    			skillBuy(itemID);
    			return false;
    		}
    		if (c.myShopId == 12) {
    			handleOtherShop(itemID);
    			return false;
    
    		}
    		if (c.myShopId == 49) {
                                    handleOtherShop(itemID);
                                    return false;
                            }
    		//else if (c.myShopId == 15) {
    			//buyVoid(itemID);
    			//return false;		
    		//}
    		if(!shopSellsItem(itemID))
    			return false;
    		if(itemID != itemID) {
    			c.sendMessage("Don't dupe or you will be IP Banned");
    			return false;
    		}
    		if (amount > 0) {
    			if (amount > Server.shopHandler.ShopItemsN[c.myShopId][fromSlot]) {
    				amount = Server.shopHandler.ShopItemsN[c.myShopId][fromSlot];
    			}
    			//double ShopValue;
    			//double TotPrice;
    			int TotPrice2 = 0;
    			//int Overstock;
    			int Slot = 0;
    			int Slot1 = 0;//Tokkul
    			int Slot2 = 0;//Pking Points
    			int Slot3 = 0;//agil tickets
    			if (c.myShopId >= 32) {
    				handleOtherShop(itemID);
    				return false;
    			}	
    			for (int i = amount; i > 0; i--) {
    				TotPrice2 = (int)Math.floor(getItemShopValue(itemID, 0, fromSlot));
    				Slot = c.getItems().getItemSlot(995);
    				Slot1 = c.getItems().getItemSlot(6529);
    				Slot3 = c.getItems().getItemSlot(2996);
    				if (Slot == -1 && c.myShopId != 16 && c.myShopId != 17 && c.myShopId != 18 && c.myShopId != 47 && c.myShopId != 13) {
    					c.sendMessage("You don't have enough coins.");
    					break;
    				}
    				if(Slot3 < 0 && c.myShopId == 13) {
    					c.sendMessage("You don't have enough tickets.");
    					break;
    				}
                    if(TotPrice2 <= 1) {
                    	TotPrice2 = (int)Math.floor(getItemShopValue(itemID, 0, fromSlot));
                    	TotPrice2 *= 1.66;
                    }
                    if(c.myShopId != 16 && c.myShopId != 17 && c.myShopId != 18 && c.myShopId != 47 && c.myShopId != 13) {
    					if (c.playerItemsN[Slot] >= TotPrice2) {
    						if (c.getItems().freeSlots() > 0) {
    							c.getItems().deleteItem(995, c.getItems().getItemSlot(995), TotPrice2);
    							c.getItems().addItem(itemID, 1);
    							Server.shopHandler.ShopItemsN[c.myShopId][fromSlot] -= 1;
    							Server.shopHandler.ShopItemsDelay[c.myShopId][fromSlot] = 0;
    							if ((fromSlot + 1) > Server.shopHandler.ShopItemsStandard[c.myShopId]) {
    								Server.shopHandler.ShopItems[c.myShopId][fromSlot] = 0;
    							}
    						} else {
    							c.sendMessage("You don't have enough space in your inventory.");
    							break;
    						}
    					} else {
    						c.sendMessage("You don't have enough coins.");
    						break;
    					}
                    }
                    if(c.myShopId == 16 || c.myShopId == 17 || c.myShopId == 18) {
                    	if (c.playerItemsN[Slot1] >= getSpecialItemValue(itemID)) {
    						if (c.getItems().freeSlots() > 0) {
    							c.getItems().deleteItem(6529, c.getItems().getItemSlot(6529), getSpecialItemValue(itemID));
    							c.getItems().addItem(itemID, 1);
    							Server.shopHandler.ShopItemsN[c.myShopId][fromSlot] -= 1;
    							Server.shopHandler.ShopItemsDelay[c.myShopId][fromSlot] = 0;
    							if ((fromSlot + 1) > Server.shopHandler.ShopItemsStandard[c.myShopId]) {
    								Server.shopHandler.ShopItems[c.myShopId][fromSlot] = 0;
    							}
    						} else {
    							c.sendMessage("You don't have enough space in your inventory.");
    							break;
    						}
    					} else {
    						c.sendMessage("You don't have enough tokkul.");
    						break;
    					}
                    }
                    if(c.myShopId == 13) {
                    	if (c.playerItemsN[Slot3] >= getSpecialItemValue(itemID)) {
    						if (c.getItems().freeSlots() > 0) {
    							c.getItems().deleteItem(2996, c.getItems().getItemSlot(2996), getSpecialItemValue(itemID));
    							c.getItems().addItem(itemID, 1);
    							Server.shopHandler.ShopItemsN[c.myShopId][fromSlot] -= 1;
    							Server.shopHandler.ShopItemsDelay[c.myShopId][fromSlot] = 0;
    							if ((fromSlot + 1) > Server.shopHandler.ShopItemsStandard[c.myShopId]) {
    								Server.shopHandler.ShopItems[c.myShopId][fromSlot] = 0;
    							}
    						} else {
    							c.sendMessage("You don't have enough space in your inventory.");
    							break;
    						}
    					} else {
    						c.sendMessage("You don't have enough tickets.");
    						break;
    					}
                    }
    			}
    			c.getItems().resetItems(3823);
    			resetShop(c.myShopId);
    			updatePlayerShop();
    			return true;
    		}
    		return false;
    	}
    	
    		public void handleOtherShop(int itemID) {
    			if (c.myShopId == 49) {
    						if (c.myShopId == 12) {
    				if (c.magePoints >= getSpecialItemValue(itemID)) {
    					if (c.getItems().freeSlots() > 0){
    						c.magePoints -= getSpecialItemValue(itemID);
    						c.getItems().addItem(itemID,1);	
    						c.getItems().resetItems(3823);
    					}
    				} else {
    					c.sendMessage("You do not have enough points to buy this item.");			
    				}
    			}
                                    if (c.donatorPoints >= getSpecialItemValue(itemID)) {
                                            if (c.getItems().freeSlots() > 0){
                                                    c.donatorPoints -= getSpecialItemValue(itemID);
                                                    c.getItems().addItem(itemID,1);
                                                    c.getItems().resetItems(3823);
                                            }
                                    } else {
                                            c.sendMessage("You do not have enough Donator points to buy this item.");                        
                                   }
    							}
    						}
    		public void openSkillCape() {
    			int capes = get99Count();
    			if (capes > 1)
    				capes = 1;
    			else
    				capes = 0;
    			c.myShopId = 30;
    			setupSkillCapes(capes, get99Count());		
    		}
    		
    		
    		
    		/*public int[][] skillCapes = {{0,9747,4319,2679},{1,2683,4329,2685},{2,2680,4359,2682},{3,2701,4341,2703},{4,2686,4351,2688},{5,2689,4347,2691},{6,2692,4343,2691},
    									{7,2737,4325,2733},{8,2734,4353,2736},{9,2716,4337,2718},{10,2728,4335,2730},{11,2695,4321,2697},{12,2713,4327,2715},{13,2725,4357,2727},
    									{14,2722,4345,2724},{15,2707,4339,2709},{16,2704,4317,2706},{17,2710,4361,2712},{18,2719,4355,2721},****,2737,4331,2739},{20,2698,4333,2700}};*/
    		public int[] skillCapes = {9747,9753,9750,9768,9756,9759,9762,9801,9807,9783,9798,9804,9780,9795,9792,9774,9771,9777,9786,9810,9765};
    		public int get99Count() {
    			int count = 0;
    			for (int j = 0; j < c.playerLevel.length; j++) {
    				if (c.getLevelForXP(c.playerXP[j]) >= 99) {
    					count++;				
    				}			
    			}		
    			return count;
    		}
    		
    		public void setupSkillCapes(int capes, int capes2) {
    			synchronized(c) {
    				c.getItems().resetItems(3823);
    				c.isShopping = true;
    				c.myShopId = 30;
    				c.getPA().sendFrame248(3824, 3822);
    				c.getPA().sendFrame126("Skillcape Shop", 3901);
    				
    				int TotalItems = 0;
    				TotalItems = capes2;
    				if (TotalItems > Server.shopHandler.MaxShopItems) {
    					TotalItems = Server.shopHandler.MaxShopItems;
    				}
    				c.getOutStream().createFrameVarSizeWord(53);
    				c.getOutStream().writeWord(3900);
    				c.getOutStream().writeWord(TotalItems);
    				int TotalCount = 0;
    				for (int i = 0; i < 21; i++) {
    					if (c.getLevelForXP(c.playerXP[i]) < 99)
    						continue;
    					c.getOutStream().writeByte(1);
    					c.getOutStream().writeWordBigEndianA(skillCapes[i] + 2);
    					TotalCount++;
    				}
    				c.getOutStream().endFrameVarSizeWord();
    				c.flushOutStream();	
    			}
    		}
    		
    		public void skillBuy(int item) {
    			int nn = get99Count();
    			if (nn > 1)
    				nn = 1;
    			else
    				nn = 0;			
    			for (int j = 0; j < skillCapes.length; j++) {
    				if (skillCapes[j] == item || skillCapes[j]+1 == item) {
    					if (c.getItems().freeSlots() > 1) {
    						if (c.getItems().playerHasItem(995,99000)) {
    							if (c.getLevelForXP(c.playerXP[j]) >= 99) {
    								c.getItems().deleteItem(995, c.getItems().getItemSlot(995), 99000);
    								c.getItems().addItem(skillCapes[j] + nn,1);
    								c.getItems().addItem(skillCapes[j] + 2,1);
    							} else {
    								c.sendMessage("You must have 99 in the skill of the cape you're trying to buy.");
    							}
    						} else {
    							c.sendMessage("You do not have enough coins.");
    						}
    					} else {
    						c.sendMessage("You must have at least 2 inventory spaces to buy this item.");					
    					}				
    				}
    				/*if (skillCapes[j][1 + nn] == item) {
    					if (c.getItems().freeSlots() >= 1) {
    						if (c.getItems().playerHasItem(995,99000)) {
    							if (c.getLevelForXP(c.playerXP[j]) >= 99) {
    								c.getItems().deleteItem(995, c.getItems().getItemSlot(995), 99000);
    								c.getItems().addItem(skillCapes[j] + nn,1);
    								c.getItems().addItem(skillCapes[j] + 2,1);
    							} else {
    								c.sendMessage("You must have 99 in the skill of the cape you're trying to buy.");
    							}
    						} else {
    							c.sendMessage("You do not have enough coins.");
    						}
    					} else {
    						c.sendMessage("You must have at least 2 inventory spaces to buy this item.");					
    					}
    					break;				
    				}*/			
    			}
    			c.getItems().resetItems(3823);			
    		}
    		
    		public void openVoid() {
    			/*synchronized(c) {
    				c.getItems().resetItems(3823);
    				c.isShopping = true;
    				c.myShopId = 15;
    				c.getPA().sendFrame248(3824, 3822);
    				c.getPA().sendFrame126("Void Recovery", 3901);
    				
    				int TotalItems = 5;
    				c.getOutStream().createFrameVarSizeWord(53);
    				c.getOutStream().writeWord(3900);
    				c.getOutStream().writeWord(TotalItems);
    				for (int i = 0; i < c.voidStatus.length; i++) {
    					c.getOutStream().writeByte(c.voidStatus[i]);
    					c.getOutStream().writeWordBigEndianA(2519 + i * 2);
    				}
    				c.getOutStream().endFrameVarSizeWord();
    				c.flushOutStream();	
    			}*/		
    		}
    
    		public void buyVoid(int item) {
    			/*if (item > 2527 || item < 2518)
    				return;
    			//c.sendMessage("" + item);
    			if (c.voidStatus[(item-2518)/2] > 0) {
    				if (c.getItems().freeSlots() >= 1) {
    					if (c.getItems().playerHasItem(995,c.getItems().getUntradePrice(item))) {
    						c.voidStatus[(item-2518)/2]--;
    						c.getItems().deleteItem(995,c.getItems().getItemSlot(995), c.getItems().getUntradePrice(item));
    						c.getItems().addItem(item,1);
    						openVoid();
    					} else {
    						c.sendMessage("This item costs " + c.getItems().getUntradePrice(item) + " coins to rebuy.");				
    					}
    				} else {
    					c.sendMessage("I should have a free inventory space.");
    				}
    			} else {
    				c.sendMessage("I don't need to recover this item from the void knights.");
    			}*/
    		}
    
    
    }
    Reply With Quote  
     

  4. #4  
    Banned
    Join Date
    Jul 2011
    Posts
    692
    Thanks given
    169
    Thanks received
    43
    Rep Power
    0
    Nevermind, Fixed it. Was common sense
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. ideas of a pkpoint shop [repp++]
    By artist in forum Requests
    Replies: 10
    Last Post: 06-20-2011, 03:02 PM
  2. [REQ] Items in my pkpoint shop
    By artist in forum Requests
    Replies: 0
    Last Post: 06-18-2011, 05:24 PM
  3. Replies: 5
    Last Post: 02-05-2011, 07:26 PM
  4. 525 pkpoint shop?
    By deathrod in forum Help
    Replies: 11
    Last Post: 08-15-2010, 01:42 PM
  5. pkpoint shop?
    By deathrod in forum Help
    Replies: 5
    Last Post: 07-14-2010, 01:56 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •