Thread: [PI]Slayer Point Shop[Paying]

Page 1 of 2 12 LastLast
Results 1 to 10 of 11
  1. #1 [PI]Slayer Point Shop[Paying] 
    Banned

    Join Date
    Oct 2010
    Posts
    1,731
    Thanks given
    56
    Thanks received
    97
    Rep Power
    0
    Base: PI Runeverfix
    Problem: Need a Slayer Point shop added and also fix assault shop
    Errors(Compiling Errors): N/A
    Other Information/Media(Pictures, etc): Paying $5 for slayer pts shop and $1 for the assault shop fix.. the prob of the assault shop is that is spends cash instead of pts ad if you dont have cash it freezes client.. And Im pretty sure its a quick fix I just dont know how :/ Also Im pretty sure I already have slayer points just need the shop If interested message me on msn
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  2. #2  
    http://frostiescape.net
    lipkin's Avatar
    Join Date
    Feb 2010
    Posts
    542
    Thanks given
    157
    Thanks received
    49
    Rep Power
    0
    wow i cannot believe your actually paying for this, learn to code man this is very basic its worth like 0.0005 lool
    Frostiescape is back. 2014
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  3. #3  
    Banned

    Join Date
    Oct 2010
    Posts
    1,731
    Thanks given
    56
    Thanks received
    97
    Rep Power
    0
    Then do it for me and earn some bucks? >.>
    Reply With Quote  
     

  4. #4  
    http://frostiescape.net
    lipkin's Avatar
    Join Date
    Feb 2010
    Posts
    542
    Thanks given
    157
    Thanks received
    49
    Rep Power
    0
    I'm trying to fix my own problems right now maybe if you can help me fix mine ill add you your shop, ill even make it so when you finish your task you get slayer points
    Frostiescape is back. 2014
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  5. #5  
    Banned

    Join Date
    Oct 2010
    Posts
    1,731
    Thanks given
    56
    Thanks received
    97
    Rep Power
    0
    I already added that when you finish task you get pts
    Reply With Quote  
     

  6. #6  
    Banned

    Join Date
    Oct 2010
    Posts
    1,731
    Thanks given
    56
    Thanks received
    97
    Rep Power
    0
    bump?
    Reply With Quote  
     

  7. #7  
    Registered Member
    Join Date
    Jun 2010
    Age
    24
    Posts
    2,530
    Thanks given
    544
    Thanks received
    584
    Rep Power
    411
    Post the shopAssistant class
    Reply With Quote  
     

  8. #8  
    Banned

    Join Date
    Oct 2010
    Posts
    1,731
    Thanks given
    56
    Thanks received
    97
    Rep Power
    0
    Code:
    package server.model.shops;
    
    import server.Config;
    import server.Server;
    import server.model.items.Item;
    import server.model.players.Client;
    import server.model.players.PlayerSave;
    
    import server.model.players.Player;
    
    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 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 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){
    		PlayerSave.saveGame(c);
    		int ShopValue = (int)Math.floor(getItemShopValue(removeId, 0, removeSlot));
    		ShopValue *= 1.15;
    		String ShopAdd = "";
    		if (c.myShopId == 17) {
    			c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " Mage Arena Points.");
    			return;
    		}
    		if (c.myShopId == 48) {
    			c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " PC points.");
    			return;
    		}
    		if (c.myShopId == 55) {
    			c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " PK points.");
    			return;
    		}
    		if (c.myShopId == 64) {
    			c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " PK points.");
    			return;
    		}
    		if (c.myShopId == 56) {
    			c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " Assault points.");
    			return;
    		}
    		if (c.myShopId == 15) {
    			c.sendMessage("This item current costs " + c.getItems().getUntradePrice(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 3481:
    			case 3483:
    			case 3485:
    			case 3486:
    			case 3488:
    			return 50;
    			case 6889:
    			case 6914:
    			return 100;
    			case 6916:
    			case 6918:
    			case 6920:
    			case 6922:
    			case 6924:
    			return 50;
    			case 2996:
    			return 7000;
    			case 4151:
    			return 35;
    			case 6570:
    			return 1000;
    			case 11663:
    			case 11664:
    			case 11665:
    			case 13899:
    			return 150;
    			case 8839:
    			case 8840:
    			case 8842:
    			return 75;
    			case 10499:
    			return 20;
    			case 8845:
    			case 11235:
    			return 40;
    			case 8846:
    			return 40;
    			case 8847:
    			return 40;
    			case 8848:
    			return 40;
    			case 8849:
    			case 8850:
    			case 9341:
    			case 9244:
    			return 40;
    			case 15259:
    			case 14470:
    			return 80;
    			case 4315:
    			case 4317:
    			case 4319:
    			case 4321:
    			case 4323:
    			case 4325:
    			case 4327:
    			case 4329:
    			return 15;
    			case 7462:
    			return 40;
    			case 10551:
    			return 250;
    			case 10550:
    			case 10549:
    			case 10548:
    			case 10547:
    			case 10546:
    			return 200;
    			case 11730:
    			return 55;
    			case 11700:
    			return 110;
    			case 11698:
    			return 110;
    			case 11696:
    			return 110;
    			case 11694:
    			return 140;
    			case 6527:
    			return 40;
    			case 6585:
    			case 7003:
    			return 20;
    			case 13893:
    			return 80;
    			case 13867:
    			return 90;
    			case 13858:
    			return 80;
    			case 13861:
    			return 70;
    			case 13905:
    			return 110;
    			case 13864:
    			return 60;
    			case 13902:
    			return 130;
    			case 13896:
    			return 75;
    			case 13884:
    			return 90;
    			case 13890:
    			return 80;
    			case 13870:
    			return 80;
    			case 13873:
    			return 70;
    			case 13876:
    			return 60;
    			case 13879:
    			case 13883:
    			return 1;
    			case 13887:
    			return 90;
    			case 15492:
    			return 45;
    			
    			//PVP ARMOUR
    
    			//END PVP ARM
    		}
    		return 0;
    	}
    	
    	
    	
    	/**
    	*Sell item to shop (Shop Price)
    	**/
    	public void sellToShopPrice(int removeId, int removeSlot) {
    		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 sellItem(int itemID, int fromSlot, int amount) {
    		if(itemID != itemID) {
    			return false;
    		}
    			if(c.inTrade) {
    			c.sendMessage("You can't sell items while trading!");
    			return false;
    			}
    		if(c.playerRights == 2) {
    			c.sendMessage("Admins Cant Sell Items");
    			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 long buyDelay;
    	public boolean buyItem(int itemID, int fromSlot, int amount) {
    		if(System.currentTimeMillis() - buyDelay < 1500) {
    			return false;
    		}
    
    		if (c.myShopId == 14) {
    			skillBuy(itemID);
    			return false;
    			
    		} else if (c.myShopId == 15) {
    			buyVoid(itemID);
    			return false;		
    		} else if(itemID != itemID) {
    			return false;
    		}
    		if(!shopSellsItem(itemID)) {
    			c.getPA().writeDupeLog();
    			c.sendMessage("Your account has been logged.");
    			c.disconnected = true;
    			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;//Donator Gold
    
    			if (c.myShopId == 17) {
    				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(5555);
    				if (Slot == -1 && c.myShopId == 11 && c.myShopId == 29 && c.myShopId == 30 && c.myShopId == 31 && c.myShopId == 47) {
    					c.sendMessage("You don't have enough coins.");
    					break;
    				}
    				if(Slot1 == -1 && c.myShopId == 29 || c.myShopId == 30 || c.myShopId == 31) {
    					c.sendMessage("You don't have enough tokkul.");
    					break;
    				}
    				if(Slot3 == -1 && c.myShopId == 11) {
    					c.sendMessage("You don't have enough donator gold.");
    					break;
    				}
    			
                    if(TotPrice2 <= 1) {
                    	TotPrice2 = (int)Math.floor(getItemShopValue(itemID, 0, fromSlot));
                    	TotPrice2 *= 1.66;
                    }
                    if(c.myShopId == 29 || c.myShopId == 30 || c.myShopId == 31) {
                    	if (c.playerItemsN[Slot1] >= TotPrice2) {
    						if (c.getItems().freeSlots() > 0) {
    							buyDelay = System.currentTimeMillis();
    							c.getItems().deleteItem(6529, c.getItems().getItemSlot(6529), 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 tokkul.");
    						break;
    					}
                    }
    				if(c.myShopId == 64 || c.myShopId == 47) {
    				int pkPts = (int)Math.floor(getSpecialItemValue(itemID));
                    	if (c.pkPoints >= pkPts) {
    						if (c.getItems().freeSlots() > 0) {
    							c.pkPoints -= pkPts;
    							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 Pk Points.");
    						break;
    					}
                    }
                    else if(c.myShopId == 11) {
                    	if (c.playerItemsN[Slot3] >= TotPrice2) {
    						if (c.getItems().freeSlots() > 0) {
    							buyDelay = System.currentTimeMillis();
    							c.getItems().deleteItem(5555, c.getItems().getItemSlot(5555), 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 donator gold.");
    						break;
    					}
                    }
                    else if(c.myShopId != 11 && c.myShopId != 29 || c.myShopId != 30 || c.myShopId != 31 || c.myShopId != 47) {
    					if (c.playerItemsN[Slot] >= TotPrice2) {
    						if (c.getItems().freeSlots() > 0) {
    							buyDelay = System.currentTimeMillis();
    							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;
    					}
                    }
    			}
    			c.getItems().resetItems(3823);
    			resetShop(c.myShopId);
    			updatePlayerShop();
    			return true;
    		}
    		return false;
    	}	
    	
    		public void handleOtherShop(int itemID) {
    
    			if (c.myShopId == 48) {
    				if (c.pkPoints >= getSpecialItemValue(itemID)) {
    					if (c.getItems().freeSlots() > 0){
    						c.pkPoints -= getSpecialItemValue(itemID);
    						c.getItems().addItem(itemID,1);
    						c.getItems().resetItems(3823);
    					}
    				} else {
    					c.sendMessage("You dont have enough PC Points to buy this item!");	
    				}
    			}
    			
    			if (c.myShopId == 64)	{
    				if (c.pkPoints >= getSpecialItemValue(itemID))	{
    					if (c.getItems().freeSlots() > 0){
    						c.pkPoints -= getSpecialItemValue(itemID);
    						c.getItems().addItem(itemID,1);
    						c.getItems().resetItems(3823);
    					}
    				} else {
    					c.sendMessage("You do not have enough Pk points to buy this item.");
    				}
    			}
    
    			if (c.myShopId == 56) {
    				if (c.assaultPoints >= getSpecialItemValue(itemID)) {
    					if (c.getItems().freeSlots() > 0){
    						c.assaultPoints -= getSpecialItemValue(itemID);
    						c.getItems().addItem(itemID,1);
    						c.getItems().resetItems(3823);
    					}
    				} else {
    					c.sendMessage("You dont have enough Assault Points to buy this item!");	
    				}
    			}
    
    			if (c.myShopId == 55) {
    				if (c.pkpts >= getSpecialItemValue(itemID)) {
    					if (c.getItems().freeSlots() > 0){
    						c.pkpts -= getSpecialItemValue(itemID);
    						c.getItems().addItem(itemID,1);
    						c.getItems().resetItems(3823);
    					}
    				} else {
    					c.sendMessage("You dont have enough PK Points to buy this item!");	
    				}
    			}
    
    			
    			else if (c.myShopId == 18) {
    				if (c.pcPoints >= getSpecialItemValue(itemID)) {
    					if (c.getItems().freeSlots() > 0){
    						c.pcPoints -= getSpecialItemValue(itemID);
    						c.getItems().addItem(itemID,1);
    						c.getItems().resetItems(3823);
    					}
    				} else {
    					//c.sendMessage("You dont have enough Activity Points to buy this item!");		
    				}
    
    			}
    		}
    		
    		public void openSkillCape() {
    			int capes = get99Count();
    			if (capes > 1)
    				capes = 1;
    			else
    				capes = 0;
    			c.myShopId = 14;
    			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,9948};
    		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 = 14;
    				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 < 22; 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 need 99k to buy this item.");
    						}
    					} else {
    						c.sendMessage("You must have at least 1 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 need 99k to buy this item.");
    						}
    					} else {
    						c.sendMessage("You must have at least 1 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) {
    		PlayerSave.saveGame(c);
    			/*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.");
    			}*/
    		}
    
    
    }
    also alex.. theres this bug where when oyu bank, and try to trade it says you are banking even tho you arent....
    Reply With Quote  
     

  9. #9  
    Registered Member
    Join Date
    Jun 2010
    Age
    24
    Posts
    2,530
    Thanks given
    544
    Thanks received
    584
    Rep Power
    411
    Code:
    if (c.myShopId == 17) {
    				handleOtherShop(itemID);
    				return false;
    			}
    Code:
    			if (c.myShopId >= 17) {
    				handleOtherShop(itemID);
    				return false;
    			}
    .....
    Reply With Quote  
     

  10. #10  
    Banned

    Join Date
    Oct 2010
    Posts
    1,731
    Thanks given
    56
    Thanks received
    97
    Rep Power
    0
    oo k lemme try that
    edit: yay thnx again alex!
    btw I managed to get engine load to .33% at 7 players on instead of the 3.33% i used to have
    Reply With Quote  
     

Page 1 of 2 12 LastLast

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. Replies: 3
    Last Post: 02-25-2013, 02:26 AM
  2. Full slayer point system
    By 2pro in forum Tutorials
    Replies: 14
    Last Post: 12-14-2012, 10:30 PM
  3. Replies: 3
    Last Post: 07-17-2011, 07:01 PM
  4. Replies: 5
    Last Post: 02-28-2011, 02:50 PM
  5. Slayer Point System!
    By Mcluvnn in forum Requests
    Replies: 2
    Last Post: 02-26-2011, 02:09 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
  •