stormwolff
Knight
doh
Thanks arte that was it.
Thanks arte that was it.
ArteGordon said:yes, you made one of the mods in CorpseNotoriety instead of MobileNotoriety. It is an easy mistake to make because the code looks very similar in both.
this mod is in the wrong place. MobileNotoriety is a little further down.
SphericalSolaris said:Lol i just came here to post about same exact thing, I will get right on adding that step 6.
sUpplier1 said:I have another suggestion, I'm pretty sure that challenges should be disabled for the young players.
Advanced players can offer challenge to young ones, youngs can accept this without any idea and after that kill them.
I made this check on my shard.
And on more thing, maybe you'll like this idea In your future scripts, I like to translate systems to the own language for my players. I like Arya's idea realised in the Auction to have StringTable.cs. This file contains all phrases that are used in the auction (some type of cliloc). This gets very easy to translate the whole system in another language, no problems with updates and looks very professional.
RunUO - [[url]www.runuo.com][/url] Version 1.0.0, Build 36918
Scripts: Compiling C# scripts...failed (37 errors, 0 warnings)
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 4) Invalid token
'if' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 19) Invalid token
'!=' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 42) Invalid token
'!=' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 64) Invalid token
'==' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 79) Invalid token
'||' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 98) Invalid token
'(' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 112) Invalid toke
n ')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 134) Invalid toke
n '(' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 128, column 148) Invalid toke
n ')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 16) Invalid token
'is' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 32) Invalid token
'&&' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 50) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 57) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 69) Invalid token
'||' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 87) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 94) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 105) Invalid toke
n '&&' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 113) Invalid toke
n '!=' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 130) Invalid toke
n ')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 137) Invalid toke
n ')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 131, column 151) Invalid toke
n ')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 134, column 23) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 137, column 18) Invalid token
'is' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 137, column 34) Invalid token
'&&' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 137, column 51) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 137, column 58) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 137, column 75) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 139, column 27) Invalid token
'(' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 139, column 33) Invalid token
',' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 139, column 42) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS1519: (line 139, column 66) Invalid token
')' in class, struct, or interface member declaration
- Error: Scripts\Misc\Notoriety.cs: CS0116: (line 143, column 4) A namespace do
es not directly contain members such as fields or methods
- Error: Scripts\Misc\Notoriety.cs: CS1518: (line 146, column 17) Expected clas
s, delegate, enum, interface, or struct
- Error: Scripts\Misc\Notoriety.cs: CS1518: (line 165, column 17) Expected clas
s, delegate, enum, interface, or struct
- Error: Scripts\Misc\Notoriety.cs: CS1518: (line 210, column 19) Expected clas
s, delegate, enum, interface, or struct
- Error: Scripts\Misc\Notoriety.cs: CS1518: (line 210, column 83) Expected clas
s, delegate, enum, interface, or struct
- Error: Scripts\Misc\Notoriety.cs: CS1022: (line 212, column 5) Type or namesp
ace definition, or end-of-file expected
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
using System;
using System.Collections;
using Server;
using Server.Items;
using Server.Guilds;
using Server.Multis;
using Server.Mobiles;
using Server.Engines.PartySystem;
using Server.Factions;
using Server.Engines.XmlSpawner2;
namespace Server.Misc
{
public class NotorietyHandlers
{
public static void Initialize()
{
Notoriety.Hues[Notoriety.Innocent] = 0x59;
Notoriety.Hues[Notoriety.Ally] = 0x3F;
Notoriety.Hues[Notoriety.CanBeAttacked] = 0x3B2;
Notoriety.Hues[Notoriety.Criminal] = 0x3B2;
Notoriety.Hues[Notoriety.Enemy] = 0x90;
Notoriety.Hues[Notoriety.Murderer] = 0x22;
Notoriety.Hues[Notoriety.Invulnerable] = 0x35;
Notoriety.Handler = new NotorietyHandler( MobileNotoriety );
Mobile.AllowBeneficialHandler = new AllowBeneficialHandler( Mobile_AllowBeneficial );
Mobile.AllowHarmfulHandler = new AllowHarmfulHandler( Mobile_AllowHarmful );
}
private enum GuildStatus{ None, Peaceful, Waring }
private static GuildStatus GetGuildStatus( Mobile m )
{
if ( m.Guild == null )
return GuildStatus.None;
else if ( ((Guild)m.Guild).Enemies.Count == 0 && m.Guild.Type == GuildType.Regular )
return GuildStatus.Peaceful;
return GuildStatus.Waring;
}
private static bool CheckBeneficialStatus( GuildStatus from, GuildStatus target )
{
if ( from == GuildStatus.Waring || target == GuildStatus.Waring )
return false;
return true;
}
/*private static bool CheckHarmfulStatus( GuildStatus from, GuildStatus target )
{
if ( from == GuildStatus.Waring && target == GuildStatus.Waring )
return true;
return false;
}*/
public static bool Mobile_AllowBeneficial( Mobile from, Mobile target )
{
if ( from == null || target == null )
return true;
#region Factions
Faction targetFaction = Faction.Find( target, true );
if ( targetFaction != null )
{
if ( Faction.Find( from, true ) != targetFaction )
return false;
}
#endregion
Map map = from.Map;
if ( map != null && (map.Rules & MapRules.BeneficialRestrictions) == 0 )
return true; // In felucca, anything goes
if ( !from.Player )
return true; // NPCs have no restrictions
if ( target is BaseCreature && !((BaseCreature)target).Controled )
return false; // Players cannot heal uncontroled mobiles
// XmlPoints challenge mod
if(XmlPoints.AreInAnyGame(target))
return XmlPoints.AreTeamMembers(from,target);
if ( from is PlayerMobile && ((PlayerMobile)from).Young && ( !(target is PlayerMobile) || !((PlayerMobile)target).Young ) )
return false; // Young players cannot perform beneficial actions towards older players
Guild fromGuild = from.Guild as Guild;
Guild targetGuild = target.Guild as Guild;
if ( fromGuild != null && targetGuild != null && (targetGuild == fromGuild || fromGuild.IsAlly( targetGuild )) )
return true; // Guild members can be beneficial
return CheckBeneficialStatus( GetGuildStatus( from ), GetGuildStatus( target ) );
}
public static bool Mobile_AllowHarmful( Mobile from, Mobile target )
{
if ( from == null || target == null )
return true;
Map map = from.Map;
if ( map != null && (map.Rules & MapRules.HarmfulRestrictions) == 0 )
return true; // In felucca, anything goes
if ( !from.Player && !(from is BaseCreature && (((BaseCreature)from).Controled || ((BaseCreature)from).Summoned)) )
{
if ( !CheckAggressor( from.Aggressors, target ) && !CheckAggressed( from.Aggressed, target ) && target is PlayerMobile && ((PlayerMobile)target).CheckYoungProtection( from ) )
return false;
return true; // Uncontroled NPCs are only restricted by the young system
}
// XmlPoints challenge mod
if(XmlPoints.AreChallengers(from,target))
return true;
}
Guild fromGuild = GetGuildFor( from.Guild as Guild, from );
Guild targetGuild = GetGuildFor( target.Guild as Guild, target );
if ( fromGuild != null && targetGuild != null && (fromGuild == targetGuild || fromGuild.IsAlly( targetGuild ) || fromGuild.IsEnemy( targetGuild )) )
return true; // Guild allies or enemies can be harmful
if ( target is BaseCreature && (((BaseCreature)target).Controled || (((BaseCreature)target).Summoned && from != ((BaseCreature)target).SummonMaster)) )
return false; // Cannot harm other controled mobiles
if ( target.Player )
return false; // Cannot harm other players
if ( !(target is BaseCreature && ((BaseCreature)target).InitialInnocent) )
{
if ( Notoriety.Compute( from, target ) == Notoriety.Innocent )
return false; // Cannot harm innocent mobiles
}
return true;
}
public static Guild GetGuildFor( Guild def, Mobile m )
{
Guild g = def;
BaseCreature c = m as BaseCreature;
if ( c != null && c.Controled && c.ControlMaster != null )
{
c.DisplayGuildTitle = false;
if ( c.Map != Map.Internal && (c.ControlOrder == OrderType.Attack || c.ControlOrder == OrderType.Guard) )
g = (Guild)(c.Guild = c.ControlMaster.Guild);
else if ( c.Map == Map.Internal || c.ControlMaster.Guild == null )
g = (Guild)(c.Guild = null);
}
return g;
}
public static int CorpseNotoriety( Mobile source, Corpse target )
{
if ( target.AccessLevel > AccessLevel.Player )
return Notoriety.CanBeAttacked;
Body body = (Body) target.Amount;
BaseCreature cretOwner = target.Owner as BaseCreature;
if ( cretOwner != null )
{
Guild sourceGuild = GetGuildFor( source.Guild as Guild, source );
Guild targetGuild = GetGuildFor( target.Guild as Guild, target.Owner );
if ( sourceGuild != null && targetGuild != null )
{
if ( sourceGuild == targetGuild || sourceGuild.IsAlly( targetGuild ) )
return Notoriety.Ally;
else if ( sourceGuild.IsEnemy( targetGuild ) )
return Notoriety.Enemy;
}
Faction srcFaction = Faction.Find( source, true, true );
Faction trgFaction = Faction.Find( target.Owner, true, true );
if ( srcFaction != null && trgFaction != null && srcFaction != trgFaction && source.Map == Faction.Facet )
return Notoriety.Enemy;
if ( CheckHouseFlag( source, target.Owner, target.Location, target.Map ) )
return Notoriety.CanBeAttacked;
int actual = Notoriety.CanBeAttacked;
if ( target.Kills >= 5 || (body.IsMonster && IsSummoned( target.Owner as BaseCreature )) || (target.Owner is BaseCreature && (((BaseCreature)target.Owner).AlwaysMurderer || ((BaseCreature)target.Owner).IsAnimatedDead)) )
actual = Notoriety.Murderer;
if ( DateTime.Now >= (target.TimeOfDeath + Corpse.MonsterLootRightSacrifice) )
return actual;
Party sourceParty = Party.Get( source );
ArrayList list = target.Aggressors;
for ( int i = 0; i < list.Count; ++i )
{
if ( list[i] == source || (sourceParty != null && Party.Get( (Mobile)list[i] ) == sourceParty) )
return actual;
}
return Notoriety.Innocent;
}
else
{
if ( target.Kills >= 5 || (body.IsMonster && IsSummoned( target.Owner as BaseCreature )) || (target.Owner is BaseCreature && (((BaseCreature)target.Owner).AlwaysMurderer || ((BaseCreature)target.Owner).IsAnimatedDead)) )
return Notoriety.Murderer;
if ( target.Criminal )
return Notoriety.Criminal;
// XmlPoints challenge mod
if(XmlPoints.AreTeamMembers(source,target))
return Notoriety.Ally;
else
if(XmlPoints.AreChallengers(source,target))
return Notoriety.Enemy;
Guild sourceGuild = GetGuildFor( source.Guild as Guild, source );
Guild targetGuild = GetGuildFor( target.Guild as Guild, target.Owner );
if ( sourceGuild != null && targetGuild != null )
{
if ( sourceGuild == targetGuild || sourceGuild.IsAlly( targetGuild ) )
return Notoriety.Ally;
else if ( sourceGuild.IsEnemy( targetGuild ) )
return Notoriety.Enemy;
}
Faction srcFaction = Faction.Find( source, true, true );
Faction trgFaction = Faction.Find( target.Owner, true, true );
if ( srcFaction != null && trgFaction != null && srcFaction != trgFaction && source.Map == Faction.Facet )
{
ArrayList secondList = target.Aggressors;
for ( int i = 0; i < secondList.Count; ++i )
{
if ( secondList[i] == source || secondList[i] is BaseFactionGuard )
return Notoriety.Enemy;
}
}
if ( target.Owner != null && target.Owner is BaseCreature && ((BaseCreature)target.Owner).AlwaysAttackable )
return Notoriety.CanBeAttacked;
if ( CheckHouseFlag( source, target.Owner, target.Location, target.Map ) )
return Notoriety.CanBeAttacked;
if ( !(target.Owner is PlayerMobile) && !IsPet( target.Owner as BaseCreature ) )
return Notoriety.CanBeAttacked;
ArrayList list = target.Aggressors;
for ( int i = 0; i < list.Count; ++i )
{
if ( list[i] == source )
return Notoriety.CanBeAttacked;
}
return Notoriety.Innocent;
}
}
public static int MobileNotoriety( Mobile source, Mobile target )
{
if ( Core.AOS && (target.Blessed || (target is BaseVendor && ((BaseVendor)target).IsInvulnerable) || target is PlayerVendor || target is TownCrier) )
return Notoriety.Invulnerable;
if ( target.AccessLevel > AccessLevel.Player )
return Notoriety.CanBeAttacked;
if ( source.Player && !target.Player && source is PlayerMobile && target is BaseCreature )
{
BaseCreature bc = (BaseCreature)target;
if ( !bc.Summoned && !bc.Controled && ((PlayerMobile)source).EnemyOfOneType == target.GetType() )
return Notoriety.Enemy;
}
if ( target.Kills >= 5 || (target.Body.IsMonster && IsSummoned( target as BaseCreature ) && !(target is BaseFamiliar) && !(target is Golem)) || (target is BaseCreature && (((BaseCreature)target).AlwaysMurderer || ((BaseCreature)target).IsAnimatedDead)) )
return Notoriety.Murderer;
if ( target.Criminal )
return Notoriety.Criminal;
Guild sourceGuild = GetGuildFor( source.Guild as Guild, source );
Guild targetGuild = GetGuildFor( target.Guild as Guild, target );
if ( sourceGuild != null && targetGuild != null )
{
if ( sourceGuild == targetGuild || sourceGuild.IsAlly( targetGuild ) )
return Notoriety.Ally;
else if ( sourceGuild.IsEnemy( targetGuild ) )
return Notoriety.Enemy;
}
Faction srcFaction = Faction.Find( source, true, true );
Faction trgFaction = Faction.Find( target, true, true );
if ( srcFaction != null && trgFaction != null && srcFaction != trgFaction && source.Map == Faction.Facet )
return Notoriety.Enemy;
if ( SkillHandlers.Stealing.ClassicMode && target is PlayerMobile && ((PlayerMobile)target).PermaFlags.Contains( source ) )
return Notoriety.CanBeAttacked;
if ( target is BaseCreature && ((BaseCreature)target).AlwaysAttackable )
return Notoriety.CanBeAttacked;
if ( CheckHouseFlag( source, target, target.Location, target.Map ) )
return Notoriety.CanBeAttacked;
if ( !(target is BaseCreature && ((BaseCreature)target).InitialInnocent) )
{
if ( !target.Body.IsHuman && !target.Body.IsGhost && !IsPet( target as BaseCreature ) && !Server.Spells.Necromancy.TransformationSpell.UnderTransformation( target ) )
return Notoriety.CanBeAttacked;
}
if ( CheckAggressor( source.Aggressors, target ) )
return Notoriety.CanBeAttacked;
if ( CheckAggressed( source.Aggressed, target ) )
return Notoriety.CanBeAttacked;
if ( target is BaseCreature )
{
BaseCreature bc = (BaseCreature)target;
if ( bc.Controled && bc.ControlOrder == OrderType.Guard && bc.ControlTarget == source )
return Notoriety.CanBeAttacked;
}
if ( source is BaseCreature )
{
BaseCreature bc = (BaseCreature)source;
Mobile master = bc.GetMaster();
if( master != null && CheckAggressor( master.Aggressors, target ))
return Notoriety.CanBeAttacked;
}
return Notoriety.Innocent;
}
public static bool CheckHouseFlag( Mobile from, Mobile m, Point3D p, Map map )
{
BaseHouse house = BaseHouse.FindHouseAt( p, map, 16 );
if ( house == null || house.Public || !house.IsFriend( from ) )
return false;
if ( m != null && house.IsFriend( m ) )
return false;
BaseCreature c = m as BaseCreature;
if ( c != null && !c.Deleted && c.Controled && c.ControlMaster != null )
return !house.IsFriend( c.ControlMaster );
return true;
}
public static bool IsPet( BaseCreature c )
{
return ( c != null && c.Controled );
}
public static bool IsSummoned( BaseCreature c )
{
return ( c != null && /*c.Controled &&*/ c.Summoned );
}
public static bool CheckAggressor( ArrayList list, Mobile target )
{
for ( int i = 0; i < list.Count; ++i )
if ( ((AggressorInfo)list[i]).Attacker == target )
return true;
return false;
}
public static bool CheckAggressed( ArrayList list, Mobile target )
{
for ( int i = 0; i < list.Count; ++i )
{
AggressorInfo info = (AggressorInfo)list[i];
if ( !info.CriminalAggression && info.Defender == target )
return true;
}
return false;
}
}
}
DraconisDesBois said:I am trying to get the CTF to work but when i try to set the bases i dont see anyway to follow this:
Home bases are placed by clicking the button next to each team entry in the Team Status gump, and then targeting a location. Bases can be placed/repositioned at any time prior to starting a match.
I dont see the "button" next to the entry.
This is probly a simple question and i am just blind on the answer.
However i cannot get the game to start because i dont have any bases and i dont know how to change teams. Puts all the players on team "0" auto.
ArteGordon said:First you need to assign the players to teams in order for the teams gump to come up. Then you can assign the bases from the teams gump.
To assign players to teams, just enter the team number in the little beige text entry area next to each players name in the main game gump.
(edit)
and remember to press the 'Set Teams' button after you enter in the team numbers to lock in those assignments.
DraconisDesBois said:Thank you ArteGordon i got it all working i cant believe i didnt figure it out. So simple, i ghuess it is just one of those days? haha. Well thanks again and great job man.
thanks. It doesnt have to be an exact translation but it should ideally carry the same basic information as the original text.Darkness_PR said:Hey i migh help you there, I did look at your EnglishText.cs and the problem is that most of this words might me bigger and some of them might not have a transaltion or is gonna be difficult to translate...Dont know if you get it but ill give it a try a post it might take me a a hour or so to make it good trasnlation hehehe but ill help ya.
great, thanks! They can always be adjusted later so I wouldnt worry about it.Darkness_PR said:Allright im less than half done with it, takes time to think of the proper world to translate hehe its gonna be SpanishText.cs just in case.
*Edit*
Some words like challenge those are gonna be the same since i dont know any other word to fit that one, but if i do ill let you know =D.
it is just the winnings. The total amount that can be won.Darkness_PR said:im alsmost done with this i just needed to know whats purse? i never heared of that and i tried using a translator from altavista and it dosent sound right?=D ....hehehe