|
||
|
|||||||
| New Join Forum So your new to RunUO and looking to work with people that are new, this is the place. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Forum Expert
Join Date: Feb 2005
Location: Fife,Scotland
Age: 40
Posts: 258
|
i have a custom script for mana potions i had a problem where explosion potions came up as un baked fruit pie
i thought i had sorted it with help from here but nope it not fixed, i ahave made these potions craftable i think this is where the problem comes from in script below i ahve blue text can some one tell me what these numbers are becuase script uses words rather than numbers is this maybe the problem at the moment a lesser explosion pot is called a explosion potion a explos pot is a greater and a greaterexpo pot is called unbaked fruit pie it seems all the names have shifted by 1 please a nod in the right direction please im pulling my hair out ![]() DefAlchemy.cs Code:
// Explosion Potion index = AddCraft( typeof( LesserExplosionPotion ), 1044537, 1044555, 5.0, 55.0, typeof( SulfurousAsh ), 1044359, 3, 1044367 ); AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 ); index = AddCraft( typeof( ExplosionPotion ), 1044537, 1044556, 35.0, 85.0, typeof( SulfurousAsh ), 1044359, 5, 1044367 ); AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 ); index = AddCraft( typeof( GreaterExplosionPotion ), 1044537, 1044557, 65.0, 115.0, typeof( SulfurousAsh ), 1044359, 10, 1044367 ); AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 ); // Mana Potion index = AddCraft( typeof( LesserManaPotion ), "Mana", "Lesser Mana Potion", -5, 45.0,typeof( Nightshade ), "Nightshade", 1, "You need more Nightshade" ); AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 ); index = AddCraft( typeof( ManaPotion ), "Mana", "Mana Potion", 25, 65.0,typeof( Nightshade ), "Nightshade", 1, "You need more Nightshade" ); AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 ); index = AddCraft( typeof( GreaterManaPotion ), "Mana", "Greater Mana Potion", 65.5, 105.0,typeof( Nightshade ), "Nightshade", 1, "You need more Nightshade" ); AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 ); just incaase here is what i changed in basepotion.cs BasePotion.cs Code:
using System;
using Server;
namespace Server.Items
{
public enum PotionEffect
{
Nightsight,
CureLesser,
Cure,
CureGreater,
Agility,
AgilityGreater,
Strength,
StrengthGreater,
PoisonLesser,
Poison,
PoisonGreater,
PoisonDeadly,
Refresh,
RefreshTotal,
HealLesser,
Heal,
HealGreater,
HealSuper,
ExplosionLesser,
Explosion,
ExplosionGreater,
ManaLesser,
Mana,
ManaGreater
any help much appreciated |
|
|
|
|
|
#3 (permalink) | |
|
Forum Expert
Join Date: Feb 2005
Location: Fife,Scotland
Age: 40
Posts: 258
|
Quote:
here is the full scripts DefAlchemy: Code:
using System;
using Server.Items;
namespace Server.Engines.Craft
{
public class DefAlchemy : CraftSystem
{
public override SkillName MainSkill
{
get { return SkillName.Alchemy; }
}
public override int GumpTitleNumber
{
get { return 1044001; } // <CENTER>ALCHEMY MENU</CENTER>
}
private static CraftSystem m_CraftSystem;
public static CraftSystem CraftSystem
{
get
{
if ( m_CraftSystem == null )
m_CraftSystem = new DefAlchemy();
return m_CraftSystem;
}
}
public override double GetChanceAtMin( CraftItem item )
{
return 0.0; // 0%
}
private DefAlchemy() : base( 1, 1, 1.25 )// base( 1, 1, 3.1 )
{
}
public override int CanCraft( Mobile from, BaseTool tool, Type itemType )
{
if ( tool.Deleted || tool.UsesRemaining < 0 )
return 1044038; // You have worn out your tool!
else if ( !BaseTool.CheckAccessible( tool, from ) )
return 1044263; // The tool must be on your person to use.
return 0;
}
public override void PlayCraftEffect( Mobile from )
{
from.PlaySound( 0x242 );
}
public override int PlayEndingEffect( Mobile from, bool failed, bool lostMaterial, bool toolBroken, int quality, bool makersMark, CraftItem item )
{
if ( toolBroken )
from.SendLocalizedMessage( 1044038 ); // You have worn out your tool
if ( failed )
{
from.AddToBackpack( new Bottle() );
return 500287; // You fail to create a useful potion.
}
else
{
from.PlaySound( 0x240 ); // Sound of a filling bottle
if ( quality == -1 )
return 1048136; // You create the potion and pour it into a keg.
else
return 500279; // You pour the potion into a bottle...
}
}
public override void InitCraftList()
{
int index = -1;
// Refresh Potion
index = AddCraft( typeof( RefreshPotion ), 1044530, 1044538, -25, 25.0, typeof( BlackPearl ), 1044353, 1, 1044361 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( TotalRefreshPotion ), 1044530, 1044539, 25.0, 75.0, typeof( BlackPearl ), 1044353, 5, 1044361 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
// Agility Potion
index = AddCraft( typeof( AgilityPotion ), 1044531, 1044540, 15.0, 65.0, typeof( Bloodmoss ), 1044354, 1, 1044362 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( GreaterAgilityPotion ), 1044531, 1044541, 35.0, 85.0, typeof( Bloodmoss ), 1044354, 3, 1044362 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
// Nightsight Potion
index = AddCraft( typeof( NightSightPotion ), 1044532, 1044542, -25.0, 25.0, typeof( SpidersSilk ), 1044360, 1, 1044368 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
// Heal Potion
index = AddCraft( typeof( LesserHealPotion ), 1044533, 1044543, -25.0, 25.0, typeof( Ginseng ), 1044356, 1, 1044364 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( HealPotion ), 1044533, 1044544, 15.0, 65.0, typeof( Ginseng ), 1044356, 3, 1044364 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( GreaterHealPotion ), 1044533, 1044545, 55.0, 105.0, typeof( Ginseng ), 1044356, 7, 1044364 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
// Strength Potion
index = AddCraft( typeof( StrengthPotion ), 1044534, 1044546, 25.0, 75.0, typeof( MandrakeRoot ), 1044357, 2, 1044365 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( GreaterStrengthPotion ), 1044534, 1044547, 45.0, 95.0, typeof( MandrakeRoot ), 1044357, 5, 1044365 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
// Poison Potion
index = AddCraft( typeof( LesserPoisonPotion ), 1044535, 1044548, -5.0, 45.0, typeof( Nightshade ), 1044358, 1, 1044366 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( PoisonPotion ), 1044535, 1044549, 15.0, 65.0, typeof( Nightshade ), 1044358, 2, 1044366 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( GreaterPoisonPotion ), 1044535, 1044550, 55.0, 105.0, typeof( Nightshade ), 1044358, 4, 1044366 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( DeadlyPoisonPotion ), 1044535, 1044551, 90.0, 140.0, typeof( Nightshade ), 1044358, 8, 1044366 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
// Cure Potion
index = AddCraft( typeof( LesserCurePotion ), 1044536, 1044552, -10.0, 40.0, typeof( Garlic ), 1044355, 1, 1044363 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( CurePotion ), 1044536, 1044553, 25.0, 75.0, typeof( Garlic ), 1044355, 3, 1044363 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( GreaterCurePotion ), 1044536, 1044554, 65.0, 115.0, typeof( Garlic ), 1044355, 6, 1044363 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
// Explosion Potion
index = AddCraft( typeof( LesserExplosionPotion ), 1044537, 1044555, 5.0, 55.0, typeof( SulfurousAsh ), 1044359, 3, 1044367 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( ExplosionPotion ), 1044537, 1044556, 35.0, 85.0, typeof( SulfurousAsh ), 1044359, 5, 1044367 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( GreaterExplosionPotion ), 1044537, 1044557, 65.0, 115.0, typeof( SulfurousAsh ), 1044359, 10, 1044367 );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
// Mana Potion
index = AddCraft( typeof( LesserManaPotion ), "Mana", "Lesser Mana Potion", -5, 45.0,typeof( Nightshade ), "Nightshade", 1, "You need more Nightshade" );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( ManaPotion ), "Mana", "Mana Potion", 25, 65.0,typeof( Nightshade ), "Nightshade", 1, "You need more Nightshade" );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
index = AddCraft( typeof( GreaterManaPotion ), "Mana", "Greater Mana Potion", 65.5, 105.0,typeof( Nightshade ), "Nightshade", 1, "You need more Nightshade" );
AddRes( index, typeof ( Bottle ), 1044529, 1, 500315 );
if( Core.SE )
{
/* Need Eggbomb & The SE tag
index = AddCraft( typeof( EggBomb ), 1044537, 1030248, 90.0, 140.0, typeof( Eggs ), 1044477, 1, 1044253 );
AddRes( index, typeof ( Ginseng ), 1044356, 3, 1044364 );
*/
}
}
}
}
Code:
// Created by Noid for Quero Des Lucis UO-shard
using System;
using Server;
namespace Server.Items
{
public enum PotionEffect
{
Nightsight,
CureLesser,
Cure,
CureGreater,
Agility,
AgilityGreater,
Strength,
StrengthGreater,
PoisonLesser,
Poison,
PoisonGreater,
PoisonDeadly,
Refresh,
RefreshTotal,
HealLesser,
Heal,
HealGreater,
HealSuper,
ExplosionLesser,
Explosion,
ExplosionGreater,
ManaLesser,
Mana,
ManaGreater
}
public abstract class BasePotion : Item
{
private PotionEffect m_PotionEffect;
public PotionEffect PotionEffect
{
get
{
return m_PotionEffect;
}
set
{
m_PotionEffect = value;
InvalidateProperties();
}
}
public override int LabelNumber{ get{ return 1041314 + (int)m_PotionEffect; } }
public BasePotion( int itemID, PotionEffect effect ) : base( itemID )
{
m_PotionEffect = effect;
Stackable = false;
Weight = 1.0;
}
public BasePotion( Serial serial ) : base( serial )
{
}
public virtual bool RequireFreeHand{ get{ return true; } }
public static bool HasFreeHand( Mobile m )
{
Item handOne = m.FindItemOnLayer( Layer.OneHanded );
Item handTwo = m.FindItemOnLayer( Layer.TwoHanded );
if ( handTwo is BaseWeapon )
handOne = handTwo;
return ( handOne == null || handTwo == null );
}
public override void OnDoubleClick( Mobile from )
{
if ( !Movable )
return;
if ( from.InRange( this.GetWorldLocation(), 1 ) )
{
if ( !RequireFreeHand || HasFreeHand( from ) )
Drink( from );
else
from.SendLocalizedMessage( 502172 ); // You must have a free hand to drink a potion.
}
else
{
from.SendLocalizedMessage( 502138 ); // That is too far away for you to use
}
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
writer.Write( (int) m_PotionEffect );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
switch ( version )
{
case 0:
{
m_PotionEffect = (PotionEffect)reader.ReadInt();
break;
}
}
}
public abstract void Drink( Mobile from );
public static void PlayDrinkEffect( Mobile m )
{
m.RevealingAction();
m.PlaySound( 0x2D6 );
m.AddToBackpack( new Bottle() );
if ( m.Body.IsHuman /*&& !m.Mounted*/ )
m.Animate( 34, 5, 1, true, false, 0 );
}
public static TimeSpan Scale( Mobile m, TimeSpan v )
{
if ( !Core.AOS )
return v;
double scalar = 1.0 + (0.01 * AosAttributes.GetValue( m, AosAttribute.EnhancePotions ));
return TimeSpan.FromSeconds( v.TotalSeconds * scalar );
}
public static double Scale( Mobile m, double v )
{
if ( !Core.AOS )
return v;
double scalar = 1.0 + (0.01 * AosAttributes.GetValue( m, AosAttribute.EnhancePotions ));
return v * scalar;
}
public static int Scale( Mobile m, int v )
{
if ( !Core.AOS )
return v;
return AOS.Scale( v, 100 + AosAttributes.GetValue( m, AosAttribute.EnhancePotions ) );
}
}
}
im stumped |
|
|
|
|
|
|
#4 (permalink) |
|
Forum Novice
Join Date: Dec 2004
Location: Earth
Posts: 127
|
Check your other post in this forum,I believe Khaz knows his stuff and has figured it out.
It appears you have a HealSuper potion in basepotion but not in defalchemy look at that as well. As for using a mix of labels and numbers,I did that exact thing and it works fine. |
|
|
|
|
|
#5 (permalink) | |
|
Forum Expert
Join Date: Feb 2005
Location: Fife,Scotland
Age: 40
Posts: 258
|
Quote:
im dumb i forgot i already posted as far as i know there shouldn't be a "superheal Potion" i did have a "supermana potion" but removed it totally to see what happened and what happened was that all the names shifted to what they are now; i think i will totally remove all my mana pots and see what happens cos i have the "shrink" potion stuff and want to make that craftable too thanks mate |
|
|
|
|
|
|
#6 (permalink) | |
|
Forum Expert
Join Date: Feb 2005
Location: Fife,Scotland
Age: 40
Posts: 258
|
Quote:
|
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|