本文整理汇总了C#中MUDEngine.CharData.SpendPlatinum方法的典型用法代码示例。如果您正苦于以下问题:C# CharData.SpendPlatinum方法的具体用法?C# CharData.SpendPlatinum怎么用?C# CharData.SpendPlatinum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MUDEngine.CharData
的用法示例。
在下文中一共展示了CharData.SpendPlatinum方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GuildDonate
//.........这里部分代码省略.........
case 0: //copper
if (coin.Copper < 0)
{
ch.SendText("You can't deposit a debt!\r\n");
continue;
}
if (coin.Copper > ch.GetCopper())
{
ch.SendText("You don't have that much &+ycopper&n coin!\r\n");
continue;
}
if (coin.Copper == 0)
continue;
ch.SpendCopper(coin.Copper);
success = true;
break;
case 1: //silver
if (coin.Silver < 0)
{
ch.SendText("You can't deposit a debt!\r\n");
continue;
}
if (coin.Silver > ch.GetSilver())
{
ch.SendText("You don't have that much &+wsilver&n coin!\r\n");
continue;
}
if (coin.Silver == 0)
continue;
ch.SpendSilver(coin.Silver);
success = true;
break;
case 2: //gold
if (coin.Gold < 0)
{
ch.SendText("You can't deposit a debt!\r\n");
continue;
}
if (coin.Gold > ch.GetGold())
{
ch.SendText("You don't have that much &+Ygold&n coin!\r\n");
continue;
}
if (coin.Gold == 0)
continue;
ch.SpendGold(coin.Gold);
success = true;
break;
case 3: //platinum
if (coin.Platinum < 0)
{
ch.SendText("You can't deposit a debt!\r\n");
continue;
}
if (coin.Platinum > ch.GetPlatinum())
{
ch.SendText("You don't have that much &+Wplatinum&n coin!\r\n");
continue;
}
if (coin.Platinum == 0)
continue;
ch.SpendPlatinum(coin.Platinum);
success = true;
break;
} //end switch
} //end for
if (success)
{
int value = coin.Copper + 10 * coin.Silver + 100 * coin.Gold + 1000 * coin.Platinum;
int count;
for (count = 0; count < Limits.MAX_GUILD_MEMBERS; ++count)
{
if (!MUDString.StringsNotEqual(guild.Members[count].Name, ch.Name))
{
guild.Members[count].Fine -= value;
if (guild.Members[count].Fine < 0)
{
guild.Members[count].Fine = 0;
ch.SendText("&+WThank you for the donation!&n\r\n");
}
else
{
ch.SendText("You reduce your fine.\r\n");
}
}
}
guild.GuildBankAccount.Copper += coin.Copper;
guild.GuildBankAccount.Silver += coin.Silver;
guild.GuildBankAccount.Gold += coin.Gold;
guild.GuildBankAccount.Platinum += coin.Platinum;
guild.Save();
CharData.SavePlayer(ch);
}
else
{
ch.SendText("&+LSyntax: &+RSoc deposit &n&+r<&+L# of coins&n&+r> <&+Lcoin type&n&+r>&n\r\n");
}
return;
}
示例2: Give
//.........这里部分代码省略.........
CharData.SavePlayer(ch);
CharData.SavePlayer(victim);
return;
}
if (!MUDString.IsPrefixOf(arg2, "gold"))
{
if (ch.GetGold() < amount)
{
ch.SendText("You haven't got that many &+Ygold&n coins.\r\n");
return;
}
ch.SpendGold(amount);
SocketConnection.Act("You give $N&n some &+Ygold&n.", ch, null, victim, SocketConnection.MessageTarget.character);
buf = String.Format("$n&n gives you {0} &+Ygold&n.", amount);
SocketConnection.Act(buf, ch, null, victim, SocketConnection.MessageTarget.victim);
SocketConnection.Act("$n&n gives $N&n some &+Ygold&n.", ch, null, victim, SocketConnection.MessageTarget.everyone_but_victim);
// prog_bribe_trigger( victim, ch, amount *100);
if (!ch.CheckQuest(victim, null, (amount * 100)))
{
victim.ReceiveGold(amount);
}
// Prevent money duping
CharData.SavePlayer(ch);
CharData.SavePlayer(victim);
return;
}
if (!MUDString.IsPrefixOf(arg2, "platinum"))
{
if (ch.GetPlatinum() < amount)
{
ch.SendText("You haven't got that many &+Wplatinum&n coins.\r\n");
return;
}
ch.SpendPlatinum(amount);
SocketConnection.Act("You give $N&n some &+Wplatinum&n.", ch, null, victim, SocketConnection.MessageTarget.character);
buf = String.Format("$n&n gives you {0} &+Wplatinum&n.", amount);
SocketConnection.Act(buf, ch, null, victim, SocketConnection.MessageTarget.victim);
SocketConnection.Act("$n&n gives $N&n some &+Wplatinum&n.", ch, null, victim, SocketConnection.MessageTarget.everyone_but_victim);
// prog_bribe_trigger( victim, ch, amount* 1000 );
if (!ch.CheckQuest(victim, null, (amount * 1000)))
{
victim.ReceivePlatinum(amount);
}
// Prevent money duping
CharData.SavePlayer(ch);
CharData.SavePlayer(victim);
return;
}
ch.SendText("You don't have any of _that_ type of coin yet.\r\n");
return;
}
Object obj = ch.GetObjCarrying(arg1);
if (!obj)
{
ch.SendText("You do not have that item.\r\n");
return;
}
if (obj.WearLocation != ObjTemplate.WearLocation.none)
{
ch.SendText("You must remove it first.\r\n");
return;
}
victim = ch.GetCharRoom(arg2);
示例3: Deposit
//.........这里部分代码省略.........
if (str.Length == 0)
{
ch.SendText("Deposit what?\r\n");
return;
}
if (!coin.FillFromString(str, ch))
{
ch.SendText("&+LSyntax: &+RDeposit &n&+r<&+L# of coins&n&+r> <&+Lcoin type&n&+r>&n\r\n");
return;
}
if (coin.Copper == 0 && coin.Silver == 0 && coin.Gold == 0 && coin.Platinum == 0)
{
ch.SendText("You have none of that type of &+Lcoin&n yet.\r\n");
return;
}
for (coinage = 0; coinage < 4; coinage++)
{
switch (coinage)
{
case 0: //copper
if (coin.Copper < 0)
{
ch.SendText("You can't deposit a debt!\r\n");
continue;
}
if (coin.Copper > ch.GetCopper())
{
ch.SendText("You don't have that much &+ycopper&n coin!\r\n");
continue;
}
if (coin.Copper == 0)
continue;
ch.SpendCopper(coin.Copper);
((PC)ch).Bank.Copper += coin.Copper;
success = true;
break;
case 1: //silver
if (coin.Silver < 0)
{
ch.SendText("You can't deposit a debt!\r\n");
continue;
}
if (coin.Silver > ch.GetSilver())
{
ch.SendText("You don't have that much &+wsilver&n coin!\r\n");
continue;
}
if (coin.Silver == 0)
continue;
ch.SpendSilver(coin.Silver);
((PC)ch).Bank.Silver += coin.Silver;
success = true;
break;
case 2: //gold
if (coin.Gold < 0)
{
ch.SendText("You can't deposit a debt!\r\n");
continue;
}
if (coin.Gold > ch.GetGold())
{
ch.SendText("You don't have that much &+Ygold&n coin!\r\n");
continue;
}
if (coin.Gold == 0)
continue;
ch.SpendGold(coin.Gold);
((PC)ch).Bank.Gold += coin.Gold;
success = true;
break;
case 3: //platinum
if (coin.Platinum < 0)
{
ch.SendText("You can't deposit a debt!\r\n");
continue;
}
if (coin.Platinum > ch.GetPlatinum())
{
ch.SendText("You don't have that much &+Wplatinum&n coin!\r\n");
continue;
}
if (coin.Platinum == 0)
continue;
ch.SpendPlatinum(coin.Platinum);
((PC)ch).Bank.Platinum += coin.Platinum;
success = true;
break;
} //end switch
} //end for
if (success)
{
ch.SendText("You make your deposit.\r\n");
SocketConnection.Act("$n&n makes a transaction.", ch, null, null, SocketConnection.MessageTarget.room);
}
else
{
ch.SendText("&+LSyntax: &+RDeposit &n&+r<&+L# of coins&n&+r> <&+Lcoin type&n&+r>&n\r\n");
}
return;
}
示例4: Drop
/// <summary>
/// Drop an item.
/// </summary>
/// <param name="ch"></param>
/// <param name="str"></param>
public static void Drop(CharData ch, string[] str)
{
if( ch == null ) return;
Object cash;
if (ch.IsAffected( Affect.AFFECT_HOLD) || ch.IsAffected( Affect.AFFECT_MINOR_PARA))
{
ch.SendText("You muscles won't respond!\r\n");
return;
}
if (str.Length == 0)
{
ch.SendText("Drop what?\r\n");
return;
}
if (MUDString.IsNumber(str[0]))
{
/* 'drop NNNN coins' */
int amount;
Int32.TryParse(str[0], out amount);
if (amount <= 0)
{
ch.SendText("Sorry, you can't do that.\r\n");
return;
}
if (str.Length < 2)
{
ch.SendText("That's fine, but *what* do you want to drop?\r\n");
return;
}
if ("copper".StartsWith(str[1], StringComparison.CurrentCultureIgnoreCase))
{
if (ch.GetCopper() < amount)
{
ch.SendText("You haven't got that many &n&+ycopper&n coins.\r\n");
return;
}
ch.SpendCopper(amount);
cash = Object.CreateMoney(amount, 0, 0, 0);
cash.AddToRoom(ch.InRoom);
cash.FlyLevel = ch.FlightLevel;
}
else if ("silver".StartsWith(str[1], StringComparison.CurrentCultureIgnoreCase))
{
if (ch.GetSilver() < amount)
{
ch.SendText("You haven't got that many &n&+wsilver&n coins.\r\n");
return;
}
ch.SpendSilver(amount);
(Object.CreateMoney(0, amount, 0, 0)).AddToRoom(ch.InRoom);
}
else if ("gold".StartsWith(str[1], StringComparison.CurrentCultureIgnoreCase))
{
if (ch.GetGold() < amount)
{
ch.SendText("You haven't got that many &+Ygold&n coins.\r\n");
return;
}
ch.SpendGold(amount);
(Object.CreateMoney(0, 0, amount, 0)).AddToRoom(ch.InRoom);
}
else if ("platinum".StartsWith(str[1], StringComparison.CurrentCultureIgnoreCase))
{
if (ch.GetPlatinum() < amount)
{
ch.SendText("You haven't got that many &+Wplatinum&n coins.\r\n");
return;
}
ch.SpendPlatinum(amount);
(Object.CreateMoney(0, 0, 0, amount)).AddToRoom(ch.InRoom);
}
else
{
ch.SendText("They haven't minted that type of &+Lcoin&n yet.\r\n");
return;
}
/* Disabled merging of coin types. This should eventually be re-enabled
for ( obj = ch.in_room.contents; obj; obj = obj_next )
{
obj_next = obj.next_content;
switch ( obj.pIndexData.vnum )
{
case StaticObjects.OBJECT_NUMBER_MONEY_ONE:
amount += 1;
obj.ExtractFromWorld();;
//.........这里部分代码省略.........
示例5: Split
//.........这里部分代码省略.........
{
share = coin.Silver / members;
extra = coin.Silver % members;
if (share == 0)
continue;
ch.SpendSilver(coin.Silver);
buf = String.Format(
"You split {0} &+wsilver&n. Your share is {1} coins.\r\n", coin.Silver, share + extra);
ch.SendText(buf);
buf = String.Format("$n splits some &+wsilver&n. Your share is {0} coins.",
share);
foreach (CharData groupChar in ch.InRoom.People)
{
if (groupChar != ch && groupChar.IsSameGroup(ch))
{
SocketConnection.Act(buf, ch, null, groupChar, SocketConnection.MessageTarget.victim);
groupChar.ReceiveSilver(share);
}
else if (groupChar == ch)
{
groupChar.ReceiveSilver(share + extra);
}
}
success = true;
continue;
}
else
ch.SendText("You don't have that much &+wsilver&n coin!\r\n");
break;
case 2: //gold
if (coin.Gold <= 0)
continue; //quietly ignore errors
if (coin.Gold <= ch.GetGold())
{
share = coin.Gold / members;
extra = coin.Gold % members;
if (share == 0)
continue;
ch.SpendGold(coin.Gold);
buf = String.Format("You split {0} &+Ygold&n. Your share is {1} coins.\r\n", coin.Gold, share + extra);
ch.SendText(buf);
buf = String.Format("$n splits some &+Ygold&n. Your share is {0} coins.", share);
foreach (CharData groupChar in ch.InRoom.People)
{
if (groupChar != ch && groupChar.IsSameGroup(ch))
{
SocketConnection.Act(buf, ch, null, groupChar, SocketConnection.MessageTarget.victim);
groupChar.ReceiveGold(share);
}
else if (groupChar == ch)
{
groupChar.ReceiveGold(share + extra);
}
}
success = true;
continue;
}
else
{
ch.SendText("You don't have that much &+Ygold&n coin!\r\n");
}
break;
case 3: //platinum
if (coin.Platinum <= 0)
continue; //quietly ignore errors
if (coin.Platinum <= ch.GetPlatinum())
{
share = coin.Platinum / members;
extra = coin.Platinum % members;
if (share == 0)
continue;
ch.SpendPlatinum(coin.Platinum);
buf = String.Format("You split {0} &+Wplatinum&n. Your share is {1} coins.\r\n", coin.Platinum, share + extra);
ch.SendText(buf);
buf = String.Format("$n splits some &+Wplatinum&n. Your share is {0} coins.", share);
foreach (CharData groupChar in ch.InRoom.People)
{
if (groupChar != ch && groupChar.IsSameGroup(ch))
{
SocketConnection.Act(buf, ch, null, groupChar, SocketConnection.MessageTarget.victim);
groupChar.ReceivePlatinum(share);
}
else if (groupChar == ch)
{
groupChar.ReceivePlatinum(share + extra);
}
}
success = true;
continue;
}
ch.SendText("You don't have that much &+Wplatinum&n coin!\r\n");
break;
} //end switch
} //end for
if (!success)
{
ch.SendText("You didn't seem to split anything.\r\n");
}
return;
}