/anvil command not working on fsod?
Any help here? It says conversion complete but nothing happens..
Code:
internal class ConvertCommand : Command
{
public ConvertCommand()
: base("Convert")
{
}
protected override bool Process(Player player, RealmTime time, string[] args)
{
if (args.Length == 2)
{
var num2 = 3;
var num1 = 3;
try
{
int choice1 = int.Parse(args[0]);
switch (choice1)
{
case 1:
num1 += 1;
break;
case 2:
num1 += 2;
break;
case 3:
num1 += 3;
break;
case 4:
num1 += 4;
break;
case 5:
num1 += 5;
break;
case 6:
num1 += 6;
break;
case 7:
num1 += 7;
break;
case 8:
num1 += 8;
break;
default:
player.SendError("Invalid Inventory slot");
player.SendHelp("Slots: 1, 2, 3, 4, 5, 6, 7, 8");
return false;
}
}
catch
{
player.SendError("Error while crafting");
return false;
}
try
{
int choice2 = int.Parse(args[1]);
switch (choice2)
{
case 1:
num2 += 1;
break;
case 2:
num2 += 2;
break;
case 3:
num2 += 3;
break;
case 4:
num2 += 4;
break;
case 5:
num2 += 5;
break;
case 6:
num2 += 6;
break;
case 7:
num2 += 7;
break;
case 8:
num2 += 8;
break;
default:
player.SendError("Invalid Inventory slot");
player.SendHelp("Slots: 1, 2, 3, 4, 5, 6, 7, 8");
return false;
}
}
catch
{
player.SendError("Error while crafting");
return false;
}
if (num1 == num2) { player.SendError("Don't try to cheat. It's not fun."); return false; }
else
{
var Item = player.Inventory[num1];
var Orb = player.Inventory[num2];
int item1 = 0;
int item2 = 0; // If you end up with too many items or you want to overlap recipies then just turn this into a switch and case
if (Item == player.Manager.GameData.Items[0x1215]) { item1 = 1; } //Scout's Rose Quartz Dagger
if (Item == player.Manager.GameData.Items[0x0920]) { item1 = 2; } //Rose Quartz Dagger
if (Orb == player.Manager.GameData.Items[0x910c]) { item2 = 1; } //Orb
if (Orb == player.Manager.GameData.Items[0x910c]) { item2 = 2; } //Orb
if (item1 == item2) //<= Do not bother this but if the player does not have the exact two items requird to craft it then it will fail
{
if (item1 == 0) //if player does not have any of the items then it will fail
{
player.SendError("Don't try to cheat. It's not fun.");
return false;
}
if (item1 == 1) //Scout's Rose Quartz -> Rose Quartz
{
Orb = null;
Item = player.Manager.GameData.Items[0x0920];
player.SendInfo("Conversion complete!");
}
if (item1 == 2) //Rose Quartz -> Scout's Rose Quartz
{
Orb = null;
Item = player.Manager.GameData.Items[0x1215];
player.SendInfo("Conversion complete!");
}
else { player.SendInfo("Conversion failed..."); return false; }
}
}
return true;
}
else
{
player.SendHelp("Usage: /convert <Slot1> <slot2 (must be the orb)>");
player.SendHelp("Slots: 1, 2, 3, 4, 5, 6, 7, 8");
return false;
}
}
}