本文整理汇总了C#中Player.setTemporaryAttribute方法的典型用法代码示例。如果您正苦于以下问题:C# Player.setTemporaryAttribute方法的具体用法?C# Player.setTemporaryAttribute怎么用?C# Player.setTemporaryAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Player
的用法示例。
在下文中一共展示了Player.setTemporaryAttribute方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: fillingVial
// TODO make this use an AreaEvent so itll work from a distance.
/**
* Will fill vials in a continuous motion from a water source.
*/
public static bool fillingVial(Player p, Location loc)
{
if (!p.getInventory().hasItem(VIAL) || !p.getLocation().withinDistance(loc, 2))
{
return true;
}
if (p.getTemporaryAttribute("fillVialTimer") != null)
{
long lastFillTime = (int)p.getTemporaryAttribute("fillVialTimer");
if (Environment.TickCount - lastFillTime < 600)
{
return true;
}
}
p.setTemporaryAttribute("fillingVials", true);
p.setFaceLocation(loc);
Event fillVialEvent = new Event(500);
fillVialEvent.setAction(() =>
{
int amountFilled = 0;
string s = amountFilled == 1 ? "vial" : "vials";
if (p.getTemporaryAttribute("fillingVials") == null || !p.getLocation().withinDistance(loc, 2) || !p.getInventory().hasItem(229))
{
p.setLastAnimation(new Animation(65535));
if (amountFilled > 0)
{
p.getPackets().sendMessage("You fill up the " + s + " with water.");
}
fillVialEvent.stop();
return;
}
if (p.getInventory().replaceSingleItem(VIAL, VIAL_OF_WATER))
{
p.setLastAnimation(new Animation(832));
amountFilled++;
p.setTemporaryAttribute("fillVialTimer", Environment.TickCount);
}
else
{
if (amountFilled > 0)
{
p.setLastAnimation(new Animation(65535));
p.getPackets().sendMessage("You fill up the " + s + " with water.");
}
fillVialEvent.stop();
}
});
Server.registerEvent(fillVialEvent);
return true;
}
示例2: completePotion
public static void completePotion(Player p, int amount, bool newMix)
{
if (newMix && p.getTemporaryAttribute("completePotion") == null)
{
return;
}
if (!newMix && p.getTemporaryAttribute("herbloreItem") == null)
{
return;
}
if (newMix)
{
if (p.getTemporaryAttribute("completePotion") == null)
{
return;
}
int index = (int)p.getTemporaryAttribute("completePotion");
p.setTemporaryAttribute("herbloreItem", new Potion(END_POTION[index], UNFINISHED[index], SECONDARY[index], POTION_LEVEL[index], POTION_XP[index], amount));
}
Potion item = (Potion)p.getTemporaryAttribute("herbloreItem");
if (item == null || p == null || item.getAmount() <= 0)
{
resetAllHerbloreVariables(p);
return;
}
if (!p.getInventory().hasItem(item.getSecondary()) || !p.getInventory().hasItem(item.getUnfinished()))
{
resetAllHerbloreVariables(p);
return;
}
if (p.getSkills().getGreaterLevel(Skills.SKILL.HERBLORE) < item.getLevel())
{
p.getPackets().sendMessage("You need a Herblore level of " + item.getLevel() + " to make that potion.");
resetAllHerbloreVariables(p);
return;
}
string s = ItemData.forId(item.getFinished()).getName().Replace("(3)", "");
if (p.getInventory().deleteItem(item.getUnfinished()) && p.getInventory().deleteItem(item.getSecondary()))
{
if (p.getInventory().addItem(item.getFinished()))
{
item.decreaseAmount();
p.setLastAnimation(new Animation(MIX_ANIMATION));
p.getSkills().addXp(Skills.SKILL.HERBLORE, item.getXp());
p.getPackets().sendMessage("You add the ingredient into the murky vial, you have completed the potion.");
p.getPackets().closeInterfaces();
}
}
if (item.getAmount() >= 1)
{
Event completeMorePotionsEvent = new Event(750);
completeMorePotionsEvent.setAction(() =>
{
completePotion(p, item.getAmount(), false);
completeMorePotionsEvent.stop();
});
Server.registerEvent(completeMorePotionsEvent);
}
}
示例3: cutGem
public static void cutGem(Player p, int index, int amount, bool newCut)
{
index -= 50;
if (newCut)
{
p.setTemporaryAttribute("craftItem", new CraftItem(5, index, amount, (double)GEMS[index][3], (int)GEMS[index][1], (string)GEMS[index][4], (int)GEMS[index][2]));
}
CraftItem item = (CraftItem)p.getTemporaryAttribute("craftItem");
if (item == null || p == null || item.getAmount() <= 0 || item.getCraftType() != 5)
{
Crafting.resetCrafting(p);
return;
}
p.getPackets().closeInterfaces();
if (!p.getInventory().hasItem(CHISEL))
{
p.getPackets().sendMessage("You cannot cut gems without a chisel.");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItem((int)GEMS[item.getCraftItem()][0]))
{
if (newCut)
{
p.getPackets().sendMessage("You have no " + item.getMessage() + " to cut.");
}
else
{
p.getPackets().sendMessage("You have no more " + item.getMessage() + "'s to cut.");
}
Crafting.resetCrafting(p);
return;
}
if (p.getSkills().getGreaterLevel(Skills.SKILL.CRAFTING) < item.getLevel())
{
p.getPackets().sendMessage("You need a Crafting level of " + item.getLevel() + " to cut that gem.");
Crafting.resetCrafting(p);
return;
}
if (p.getInventory().deleteItem((int)GEMS[item.getCraftItem()][0]))
{
p.getInventory().addItem(item.getFinishedItem());
p.getSkills().addXp(Skills.SKILL.CRAFTING, item.getXp());
p.setLastAnimation(new Animation((int)GEMS[item.getCraftItem()][5]));
p.getPackets().sendMessage("You cut the " + item.getMessage() + ".");
}
item.decreaseAmount();
if (item.getAmount() >= 1)
{
Event cutMoreGemEvent = new Event(1500);
cutMoreGemEvent.setAction(() =>
{
cutGem(p, -1, -1, false);
cutMoreGemEvent.stop();
});
Server.registerEvent(cutMoreGemEvent);
}
}
示例4: craftClay
public static void craftClay(Player p, int amount, int craftType, int craftItem, bool newCraft)
{
if (newCraft)
{
if ((craftType != 1 && craftType != 2) || craftItem < 0 || craftItem > 4)
{
return;
}
int index = craftItem;
int endItem = craftType == 1 ? 0 : 1;
int xp = craftType == 1 ? 3 : 4;
p.setTemporaryAttribute("craftItem", new CraftItem(craftType, craftItem, amount, (double)CLAY_ITEMS[index][xp], (int)CLAY_ITEMS[index][endItem], (string)CLAY_ITEMS[index][5], (int)CLAY_ITEMS[index][2]));
}
CraftItem item = (CraftItem)p.getTemporaryAttribute("craftItem");
if (item == null || p == null || item.getAmount() <= 0)
{
Crafting.resetCrafting(p);
return;
}
int neededItem = item.getCraftType() == 1 ? CLAY : (int)CLAY_ITEMS[item.getCraftItem()][0];
string s = item.getCraftType() == 1 ? "You mould the clay into a " + item.getMessage() : "You bake the " + item.getMessage() + " in the oven";
string s1 = item.getCraftType() == 1 ? "You need some soft clay to mould a " + item.getMessage() : "You need a pre-made " + item.getMessage() + " to put in the oven";
int animation = item.getCraftType() == 1 ? 883 : 899;
if (p.getSkills().getGreaterLevel(Skills.SKILL.CRAFTING) < item.getLevel())
{
p.getPackets().sendMessage("You need a Crafting level of " + item.getLevel() + " to make a " + item.getMessage() + ".");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItem(neededItem))
{
p.getPackets().sendMessage(s1 + ".");
Crafting.resetCrafting(p);
return;
}
p.getPackets().closeInterfaces();
if (p.getInventory().deleteItem(neededItem))
{
if (p.getInventory().addItem(item.getFinishedItem()))
{
p.getSkills().addXp(Skills.SKILL.CRAFTING, item.getXp());
p.getPackets().sendMessage(s + ".");
p.setLastAnimation(new Animation(animation));
}
}
item.decreaseAmount();
if (item.getAmount() >= 1)
{
Event craftMoreClayEvent = new Event(1500);
craftMoreClayEvent.setAction(() =>
{
craftClay(p, -1, -1, -1, false);
craftMoreClayEvent.stop();
});
Server.registerEvent(craftMoreClayEvent);
}
}
示例5: wantsToCraftOnObject
public static bool wantsToCraftOnObject(Player p, int item, int craftObject)
{
if (craftObject == CLAY_TABLE)
{
if (item == CLAY)
{
resetCrafting(p);
Clay.displayClayOptions(p, 1);
p.setTemporaryAttribute("craftType", 1);
return true;
}
else
{
for (int j = 0; j < CLAY_ITEMS.Length; j++)
{
if (item == (int)CLAY_ITEMS[j][0])
{
p.getPackets().sendMessage("This item must now be baked in a clay oven.");
return true;
}
}
}
}
else if (craftObject == CLAY_OVEN)
{
if (craftObject == CLAY)
{
p.getPackets().sendMessage("This clay must be moulded into an item first.");
return true;
}
for (int j = 0; j < CLAY_ITEMS.Length; j++)
{
if (item == (int)CLAY_ITEMS[j][0])
{
resetCrafting(p);
Clay.displayClayOptions(p, 2);
p.setTemporaryAttribute("craftType", 2);
return true;
}
}
}
else if (craftObject == 11666)
{ // Furnace
if (item == GOLD_BAR)
{
Jewellery.displayJewelleryInterface(p);
return true;
}
else if (item == SILVER_BAR)
{
Silver.displaySilverOptions(p);
return true;
}
}
return false;
}
示例6: displayTreeOptions
public static void displayTreeOptions(Player p)
{
p.getPackets().sendChatboxInterface2(235);
p.getPackets().modifyText("Varrock", 235, 2);
p.getPackets().modifyText("Lumbridge", 235, 3);
p.getPackets().modifyText("Falador", 235, 4);
p.getPackets().modifyText("Taverly", 235, 5);
p.getPackets().modifyText("Go back", 235, 6);
p.setTemporaryAttribute("dialogue", 452);
}
示例7: displayFruitTreeOptions
public static void displayFruitTreeOptions(Player p)
{
p.getPackets().sendChatboxInterface2(235);
p.getPackets().modifyText("Catherby", 235, 2);
p.getPackets().modifyText("Gnome Stronghold", 235, 3);
p.getPackets().modifyText("Brimhaven", 235, 4);
p.getPackets().modifyText("Yanille", 235, 5);
p.getPackets().modifyText("Go back", 235, 6);
p.setTemporaryAttribute("dialogue", 453);
}
示例8: displayAllotmentOptions
public static void displayAllotmentOptions(Player p)
{
p.getPackets().sendChatboxInterface2(235);
p.getPackets().modifyText("Draynor", 235, 2);
p.getPackets().modifyText("Catherby", 235, 3);
p.getPackets().modifyText("Ardougne", 235, 4);
p.getPackets().modifyText("Canifis", 235, 5);
p.getPackets().modifyText("Go back", 235, 6);
p.setTemporaryAttribute("dialogue", 451);
}
示例9: displaySilverOptions
public static void displaySilverOptions(Player p)
{
string s = "<br><br><br><br>";
p.getPackets().sendChatboxInterface(303);
p.getPackets().itemOnInterface(303, 2, 175, (int)SILVER_ITEMS[0][0]);
p.getPackets().itemOnInterface(303, 3, 175, (int)SILVER_ITEMS[1][0]);
p.getPackets().modifyText(s + (string)SILVER_ITEMS[0][4], 303, 7);
p.getPackets().modifyText(s + (string)SILVER_ITEMS[1][4], 303, 11);
p.setTemporaryAttribute("craftType", 120);
}
示例10: craftDragonHide
public static void craftDragonHide(Player p, int amount, int itemIndex, int leatherType, bool newCraft)
{
if (newCraft) {
itemIndex = leatherType != 0 ? itemIndex += leatherType : itemIndex;
p.setTemporaryAttribute("craftItem", new CraftItem(leatherType, itemIndex, amount, (double) LEATHER_ITEMS[itemIndex][2], (int) LEATHER_ITEMS[itemIndex][0], (string) LEATHER_ITEMS[itemIndex][4], (int) LEATHER_ITEMS[itemIndex][1]));
}
CraftItem item = (CraftItem) p.getTemporaryAttribute("craftItem");
if (item == null || p == null || item.getAmount() <= 0) {
Crafting.resetCrafting(p);
return;
}
p.getPackets().closeInterfaces();
int index = item.getCraftItem();
if (p.getSkills().getGreaterLevel(Skills.SKILL.CRAFTING) < item.getLevel()) {
p.getPackets().sendMessage("You need a Crafting level of " + item.getLevel() + " to craft that item.");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItemAmount(TANNED_HIDE[item.getCraftType()], (int) LEATHER_ITEMS[index][3])) {
p.getPackets().sendMessage("You need " + (int) LEATHER_ITEMS[index][3] + " dragonhide to craft that.");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItem(NEEDLE)) {
p.getPackets().sendMessage("You need a needle if you wish to craft leather.");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItemAmount(THREAD, (int)LEATHER_ITEMS[index][3])) {
p.getPackets().sendMessage("You need " + (int)LEATHER_ITEMS[index][3] + " thread to craft that.");
Crafting.resetCrafting(p);
return;
}
string s = index < 4 ? "a" : "a pair of";
for (int j = 0; j < (int) LEATHER_ITEMS[index][3]; j++) {
if (!p.getInventory().deleteItem(TANNED_HIDE[item.getCraftType()])) {
return;
}
}
p.getInventory().deleteItem(THREAD, (int) LEATHER_ITEMS[index][3]);
p.getInventory().addItem(item.getFinishedItem());
p.getSkills().addXp(Skills.SKILL.CRAFTING, item.getXp());
p.setLastAnimation(new Animation(1249));
p.getPackets().sendMessage("You craft " + s + " " + item.getMessage() + ".");
item.decreaseAmount();
if (item.getAmount() >= 1) {
Event craftMoreDragonHide = new Event(1500);
craftMoreDragonHide.setAction(() => {
craftDragonHide(p, -1, -1, -1, false);
craftMoreDragonHide.stop();
});
Server.registerEvent(craftMoreDragonHide);
}
}
示例11: newSilverItem
public static void newSilverItem(Player p, int amount, int index, bool newCraft)
{
index -= 120;
if (newCraft)
{
p.setTemporaryAttribute("craftItem", new CraftItem(3, index, amount, (double)SILVER_ITEMS[index][3], (int)SILVER_ITEMS[index][0], (string)SILVER_ITEMS[index][4], (int)SILVER_ITEMS[index][2]));
}
CraftItem item = (CraftItem)p.getTemporaryAttribute("craftItem");
if (item == null || p == null || item.getAmount() <= 0 || item.getCraftType() != 3)
{
Crafting.resetCrafting(p);
return;
}
p.getPackets().closeInterfaces();
string s = item.getCraftItem() == 0 ? "an" : "a";
if (!p.getInventory().hasItem((int)SILVER_ITEMS[item.getCraftItem()][1]))
{
p.getPackets().sendMessage("You need " + s + " " + item.getMessage() + " mould to make that.");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItem(SILVER_BAR))
{
p.getPackets().sendMessage("You don't have a Silver bar.");
Crafting.resetCrafting(p);
return;
}
if (p.getSkills().getGreaterLevel(Skills.SKILL.CRAFTING) < item.getLevel())
{
p.getPackets().sendMessage("You need a Crafting level of " + item.getLevel() + " to smelt that.");
Crafting.resetCrafting(p);
return;
}
if (p.getInventory().deleteItem(SILVER_BAR))
{
p.getInventory().addItem(item.getFinishedItem());
p.getSkills().addXp(Skills.SKILL.CRAFTING, item.getXp());
p.setLastAnimation(new Animation(3243));
p.getPackets().sendMessage("You smelt the Silver bar in to " + s + " " + item.getMessage() + ".");
}
item.decreaseAmount();
if (item.getAmount() >= 1)
{
Event makeMoreSilverItemEvent = new Event(1500);
makeMoreSilverItemEvent.setAction(() =>
{
newSilverItem(p, -1, -1, false);
makeMoreSilverItemEvent.stop();
});
Server.registerEvent(makeMoreSilverItemEvent);
}
}
示例12: displaySpinningInterface
public static void displaySpinningInterface(Player p)
{
int k = 2;
int l = 8;
string s = "<br><br><br><br>";
for (int j = 0; j < 3; j++) {
p.getPackets().itemOnInterface(304, k, 180, (int) SPINNING_ITEMS[j][0]);
p.getPackets().modifyText(s + (string) SPIN_FINISH[j], 304, l);
l += 4;
k++;
}
p.setTemporaryAttribute("craftType", 6);
p.getPackets().sendChatboxInterface(304);
}
示例13: craftGlass
public static void craftGlass(Player p, int amount, int index, bool newCraft)
{
if (newCraft)
{
p.setTemporaryAttribute("craftItem", new CraftItem(3, index, amount, (double)GLASS_ITEMS[index][2], (int)GLASS_ITEMS[index][0], (string)GLASS_ITEMS[index][3], (int)GLASS_ITEMS[index][1]));
}
CraftItem item = (CraftItem)p.getTemporaryAttribute("craftItem");
if (item == null || p == null || item.getAmount() <= 0 || item.getCraftType() != 3)
{
Crafting.resetCrafting(p);
return;
}
p.getPackets().closeInterfaces();
if (!p.getInventory().hasItem(MOLTEN_GLASS))
{
p.getPackets().sendMessage("You have no molten glass.");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItem(GLASSBLOWING_PIPE))
{
p.getPackets().sendMessage("You need a glassblowing pipe if you wish to make a glass item.");
Crafting.resetCrafting(p);
return;
}
if (p.getSkills().getGreaterLevel(Skills.SKILL.CRAFTING) < item.getLevel())
{
p.getPackets().sendMessage("You need a Crafting level of " + item.getLevel() + " to craft that item.");
Crafting.resetCrafting(p);
return;
}
if (p.getInventory().deleteItem(MOLTEN_GLASS))
{
p.getInventory().addItem(item.getFinishedItem());
p.getSkills().addXp(Skills.SKILL.CRAFTING, item.getXp());
p.setLastAnimation(new Animation(884));
p.getPackets().sendMessage("You blow through the pipe, shaping the molten glass into a " + item.getMessage() + ".");
}
item.decreaseAmount();
if (item.getAmount() >= 1)
{
Event craftMoreGlassEvent = new Event(1500);
craftMoreGlassEvent.setAction(() =>
{
craftGlass(p, -1, -1, false);
craftMoreGlassEvent.stop();
});
Server.registerEvent(craftMoreGlassEvent);
}
}
示例14: craftNormalLeather
public static void craftNormalLeather(Player p, int index, int amount, bool newCraft)
{
index -= 28;
if (newCraft) {
p.setTemporaryAttribute("craftItem", new CraftItem(4, index, amount, (double) NORMAL_LEATHER[index][2], (int) NORMAL_LEATHER[index][0], (string) NORMAL_LEATHER[index][3], (int) NORMAL_LEATHER[index][1]));
}
CraftItem item = (CraftItem) p.getTemporaryAttribute("craftItem");
if (item == null || p == null || item.getAmount() <= 0 || item.getCraftType() != 4 || item.getCraftItem() < 0) {
Crafting.resetCrafting(p);
return;
}
p.getPackets().closeInterfaces();
if (!p.getInventory().hasItem(TANNED_HIDE[4])) {
p.getPackets().sendMessage("You have no Leather.");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItem(NEEDLE)) {
p.getPackets().sendMessage("You need a needle if you wish to craft leather.");
Crafting.resetCrafting(p);
return;
}
if (!p.getInventory().hasItem(THREAD)) {
p.getPackets().sendMessage("You have no thread.");
Crafting.resetCrafting(p);
return;
}
if (p.getSkills().getGreaterLevel(Skills.SKILL.CRAFTING) < item.getLevel()) {
p.getPackets().sendMessage("You need a Crafting level of " + item.getLevel() + " to craft that item.");
Crafting.resetCrafting(p);
return;
}
int i = item.getCraftItem();
string s = i == 0 || i == 5 || i == 6 ? "a" : "a pair of";
if (p.getInventory().deleteItem(THREAD) && p.getInventory().deleteItem(TANNED_HIDE[4])) {
p.getInventory().addItem(item.getFinishedItem());
p.getSkills().addXp(Skills.SKILL.CRAFTING, item.getXp());
p.setLastAnimation(new Animation(1249));
p.getPackets().sendMessage("You make " + s + " " + item.getMessage() + ".");
}
item.decreaseAmount();
if (item.getAmount() >= 1) {
Event craftMoreNormalLeather = new Event(1500);
craftMoreNormalLeather.setAction(() => {
craftNormalLeather(p, -1, -1, false);
craftMoreNormalLeather.stop();
});
Server.registerEvent(craftMoreNormalLeather);
}
}
示例15: showOptions
public static bool showOptions(Player p, int item)
{
if (item != 12622 || p.getTemporaryAttribute("unmovable") != null)
{
return false;
}
p.getPackets().softCloseInterfaces();
p.getPackets().sendChatboxInterface2(232);
p.getPackets().modifyText("Allotments", 232, 2);
p.getPackets().modifyText("Trees", 232, 3);
p.getPackets().modifyText("Fruit trees", 232, 4);
p.getPackets().modifyText("Exit", 232, 5);
p.setTemporaryAttribute("dialogue", 450);
return true;
}