GatherManager
Moved
Total Downloads: 59,075 - First Release: Oct 23, 2014 - Last Update: Aug 27, 2017
- 4.93893/5, 131 likes
-
-
@Mughisi could u please make that new hqm bonus to be dependent on gather rate multiplier?
-
Code:
private void OnDispenserGather(ResourceDispenser dispenser, BaseEntity entity, Item item) { if (!entity.ToPlayer()) return; var gatherType = dispenser.gatherType.ToString("G"); var amount = item.amount; if (GatherResourceModifiers.ContainsKey(item.info.displayName.english)) item.amount = (int)(item.amount * GatherResourceModifiers[item.info.displayName.english]); else if (GatherResourceModifiers.ContainsKey("*")) item.amount = (int)(item.amount * GatherResourceModifiers["*"]); if(item.info.displayName.english.Contains("Metal")) { var rands = rand.Next(1, 10); int HQ = item.amount; HQ *= rands; HQ /= 100; player.inventory.GiveItem(ItemManager.CreateByItemID(374890416, HQ), player.inventory.containerMain); } if (!GatherDispenserModifiers.ContainsKey(gatherType)) return; var dispenserModifier = GatherDispenserModifiers[gatherType]; dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount += amount - item.amount / dispenserModifier; if (dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount < 0) item.amount += (int)dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount; }
-
Could you upload your .CS ? -
-
-
Code:
private void OnDispenserGather(ResourceDispenser dispenser, BaseEntity entity, Item item) { if (!entity.ToPlayer()) return; BasePlayer player = entity.ToPlayer(); var gatherType = dispenser.gatherType.ToString("G"); var amount = item.amount; if (GatherResourceModifiers.ContainsKey(item.info.displayName.english)) item.amount = (int)(item.amount * GatherResourceModifiers[item.info.displayName.english]); else if (GatherResourceModifiers.ContainsKey("*")) item.amount = (int)(item.amount * GatherResourceModifiers["*"]); if(item.info.displayName.english.Contains("Metal")) { var rands = rand.Next(1, 10); int HQ = item.amount; HQ *= rands; HQ /= 100; player.inventory.GiveItem(ItemManager.CreateByItemID(374890416, HQ), player.inventory.containerMain); } if (!GatherDispenserModifiers.ContainsKey(gatherType)) return; var dispenserModifier = GatherDispenserModifiers[gatherType]; dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount += amount - item.amount / dispenserModifier; if (dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount < 0) item.amount += (int)dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount; }
-
-
-
Thanks -
Code:
private void OnDispenserGather(ResourceDispenser dispenser, BaseEntity entity, Item item) { System.Random rand = new System.Random(); if (!entity.ToPlayer()) return; BasePlayer player = entity.ToPlayer(); var gatherType = dispenser.gatherType.ToString("G"); var amount = item.amount; if (GatherResourceModifiers.ContainsKey(item.info.displayName.english)) item.amount = (int)(item.amount * GatherResourceModifiers[item.info.displayName.english]); else if (GatherResourceModifiers.ContainsKey("*")) item.amount = (int)(item.amount * GatherResourceModifiers["*"]); if(item.info.displayName.english.Contains("Metal")) { var rands = rand.Next(1, 10); int HQ = item.amount; HQ *= rands; HQ /= 100; player.inventory.GiveItem(ItemManager.CreateByItemID(374890416, HQ), player.inventory.containerMain); } if (!GatherDispenserModifiers.ContainsKey(gatherType)) return; var dispenserModifier = GatherDispenserModifiers[gatherType]; dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount += amount - item.amount / dispenserModifier; if (dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount < 0) item.amount += (int)dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount; }
-
Any easy way to change the the amount on Sulfur and Rock Stones too? -
-
-
-
-
[DOUBLEPOST=1498829244][/DOUBLEPOST] -
Code:
private void OnDispenserGather(ResourceDispenser dispenser, BaseEntity entity, Item item) { System.Random rand = new System.Random(); if (!entity.ToPlayer()) return; BasePlayer player = entity.ToPlayer(); var gatherType = dispenser.gatherType.ToString("G"); var amount = item.amount; if (GatherResourceModifiers.ContainsKey(item.info.displayName.english)) item.amount = (int)(item.amount * GatherResourceModifiers[item.info.displayName.english]); else if (GatherResourceModifiers.ContainsKey("*")) item.amount = (int)(item.amount * GatherResourceModifiers["*"]); var rands = rand.Next(1, 10); int HQ = item.amount; HQ *= rands; HQ /= 100; player.inventory.GiveItem(ItemManager.CreateByItemID(374890416, HQ), player.inventory.containerMain); if (!GatherDispenserModifiers.ContainsKey(gatherType)) return; var dispenserModifier = GatherDispenserModifiers[gatherType]; dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount += amount - item.amount / dispenserModifier; if (dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount < 0) item.amount += (int)dispenser.containedItems.Single(x => x.itemid == item.info.itemid).amount; }
-
Ok that didn't work for me I'm still getting 1 from the metal nodes. Do I have to restart the server?