can't rescurrect - Alias - 05-10-2012 01:37 AM
Hi, i have problem when if region have region_flag_safe flag, than player's can't bee rescurrect , is that posible to fix this problem ?
Thanks!
RE: can't rescurrect - Barnabus - 05-10-2012 11:11 PM
Thats new to me. Im going to have to reinstall UO and boot up the old server just to check that because I dont believe it, not saying your wrong I just dont remeber.
Although if it is true, there is a 1001 ways to solve it.
You could simply port the ghost else where ress it and send it back in a second, the body wont be an issue as the ghost must have walked into the safe region "no-one dies there".
RE: can't rescurrect - Alias - 05-11-2012 02:27 AM
(05-10-2012 11:11 PM)Barnabus Wrote: Thats new to me. Im going to have to reinstall UO and boot up the old server just to check that because I dont believe it, not saying your wrong I just dont remeber.
Although if it is true, there is a 1001 ways to solve it.
You could simply port the ghost else where ress it and send it back in a second, the body wont be an issue as the ghost must have walked into the safe region "no-one dies there".
yeah, ofcourse i can teleport ghost somewhere else ( what i have already done ), but players who drink bottles ( example strenght ) dont get effect and so on
RE: can't rescurrect - Barnabus - 05-11-2012 03:21 AM
Well im almost there, patched to 7.0.11.2, im gonna stop at the lastest in spherecrypt, boot up a server, drop a cartoon in a safe region, kill him then ress him, just to see. Like I said Ive not noticed this before.
Ill have a play and let you know!
RE: can't rescurrect - Alias - 05-11-2012 03:29 AM
Ok tyvm Barnabus
RE: can't rescurrect - Barnabus - 05-11-2012 11:28 AM
Hi Again...
Well I said I'd get my old server on and let you know. (Had to patch twice took forever).
So anyhow now I know why I never had the problem you are speaking of, I have my own combat system.
I do not know which combat system you are using.
So I have to say sorry as I don't feel much help now.
Though I will demonstrate how I controlled spell casting in a safe region. Hopefully it will give you some Ideas about what you could do.
First of all here is the functions that checks the region flags on cast...
Code:
[FUNCTION f_SpellcastCheckRegionLawsOnPreCast]
REF1=<SERV.UID.<ARGV[0]>> //CASTERUID
LOCAL.SPellNo=<ARGV[1]> //SPELLNUMBER
IF <REF1.REGION.SAFE>==1 && !<f_combat_DoSpellProperties <ARGV[1]>>
REF1.SYSMESSAGE @00029,,1 You cannot cast harmfull spells in a safe area!
RETURN 1
ENDIF
IF <EVAL <LOCAL.SPellNo>>==57 // EarthQuake
IF (STRMATCH(*tournament*,<REF1.REGION.NAME>))
REF1.SYSMESSAGE @00029,,1 Earthquake cannot be cast in this area
SERV.LOG <REF1.NAME> was prevented from casting Earth quake in <REF1.REGION.NAME>
RETURN 1
ENDIF
ENDIF
RETURN 0
And this function above "f_SpellcastCheckRegionLawsOnPreCast" is called from the spellselect trigger inside my players combat event.
The trigger and its code is shown below....
Code:
ON=@SpellSelect
REF1=<SERV.UID.<ARGO.UID>> // Caster or Wand
REF2=<SERV.UID.<UID>> // Caster
ARGN3=03
IF <f_SpellcastCheckRegionLawsOnPreCast <REF2.UID>, <ARGN1>>||<f_combat_CheckForSpellPrevention <REF2.UID>, <ARGN1>>
ACTION=-1
RETURN 1
ELSE
IF <REF2.MANA> > <ARGN2>
REF2.CTAG.ManaUse=<EVAL <REF2.MANA> - <ARGN2>>
RETURN 6
ELSE
ACTION=-1
RETURN 1
ENDIF
ENDIF
RETURN 0
Look back at the first function "f_SpellcastCheckRegionLawsOnPreCast".
Now let me explain .... !<f_combat_DoSpellProperties <ARGV[1]>>
Its basically saying if the SpellNumber"<ARGV[1]>" comes out of f_combat_DoSpellProperties as a 0 then its an attack spell.
Now Ill show you this function "f_combat_DoSpellProperties" but I would suggest, and I suspect there is a better method of discovering if a spell is an attack or a passive spell. Anyhow I did it as shown below...
Code:
[FUNCTION f_combat_DoSpellProperties]
//Magery
LOCAL.PassiveSpell = 1
IF (<ARGV[0]>=1) // Clumsy
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=2) // CreateFood
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=3) // FeebleMind
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=4) // Heal
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=4) // MagicArrow
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=6) // NightSight
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=7) // ReactiveArmor // Energy Armor Timer Eats Reg
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=8) // Weaken
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=9) // Agility
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=10) // Cunning
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=11) // Cure
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=13) // MagicTrap
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=14) // MagicUntrap
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=15) // Protection
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=16) // Strength
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=17) // Bless
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=19) // MagicLock
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=20) // Posion
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=21) // Telekinesis
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=22) // Teleport
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=23) // MagicUnlock
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=24) // WallOfStone
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=25) // Archcure
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=26) // Archprotection
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=27) // Curse
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=28) // FireField
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=29) // GreaterHeal
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=30) // Lightning
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=31) // ManaDrain
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=32) // Recall
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=33) // BladeSpirits
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=34) // DispelField
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=35) // Incognito
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=36) // MagicReflection
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=37) // MindBlast
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=38) // Paralyze
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=39) // PoisonField
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=40) // SummonCreature
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=41) // Dispel
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=42) // EnergyBolt
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=43) // Explosion
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=44) // Invisibility
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=45) // Mark
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=46) // MassCurse
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=47) // ParalyzeField
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=48) // Reveal
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=50) // EnergyField
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=51) // FlameStrike
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=52) // GateTravel
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=53) // VampireMana
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=54) // MassDispel
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=55) // MeteorSwarm
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=56) // Polymorph
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=57) // Earthquake
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=58) // Energy Vortex
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=59) // Resurrection
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=60) // AirElemental
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=61) // Summon Daemonite
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=62) // Earth Elemental
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=63) // Fire Elemental
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=64) // Water Elemental
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
//Misc
ELIF (<ARGV[0]>=65) // SummonUndead
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=66) // AnimateDead
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=67) // BoneArmor
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=68) // Light
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=69) // FireBolt
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=70) // Hallucination
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
//Alchemy
ELIF (<ARGV[0]>=71) // Stone
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=72) // Shrink
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=73) // Refresh
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=74) // Restore
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=75) // Mana
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=76) // Sustenance
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=77) // Chameleon
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=78) // BeastForm
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=79) // MonsterForm
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=80) // Forget
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=81) // Gender Swap
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=82) // Trance
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=83) // ParticleForm
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=84) // Shield
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=85) // SteelSkin
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=86) // StoneSkin
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=87) // Regeneration
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=88) // Enchantment
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
//Neromancy
ELIF (<ARGV[0]>=101) // AnimateDead
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=103) // CorpseSkin
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=104) // CurseWeapon
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=105) // EvilOmen
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=106) // HorrificBeast
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=107) // LichForm
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=108) // MindRot
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=109) // PainSpike
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=110) // PoisonStrike
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=111) // Strangle
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=112) // SummonFamiliar
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=113) // VampiricEmbrace
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=114) // VengefulSpirit
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=115) // Wither
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=116) // Wraith Form
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=117) // Exorcism
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
//Chivalry
ELIF (<ARGV[0]>=201) // Cleanse by Fire
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=202) // Close Wounds
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=203) // Consecrate Weapon
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=204) // Dispel Evil
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=205) // Divine Fury
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=206) // Enemy of One
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=207) // Holy Light
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=208) // Noble Sacrifice
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=209) // Remove Curse
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=210) // Sacred Journey
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
//Bushido
ELIF (<ARGV[0]>=401) // Honorable Execution
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=402) // Confidence
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=403) // Evasion
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=404) // Counter Attack
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=405) // Lightning Strike
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=406) // Momentum Strike
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
//Ninjitsu
ELIF (<ARGV[0]>=501) // Focus Attack
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=502) // Death Strike
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=503) // Animal Form
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=504) // Ki Attack
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=505) // Surprise Attack
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=506) // Backstab
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=507) // Shadowjump
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=508) // Mirror Image
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
//SpellWeaving
ELIF (<ARGV[0]>=601) // Arcane Circle
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=602) // Gift of Renewal
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=603) // Immolating Weapon
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=604) // Attunement
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=605) // Thunderstorm
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=606) // Nature's Fury
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=607) // Summon Fey
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=608) // Summon Fiend
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=609) // Reaper Form
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=610) // Wildfire
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=611) // Essence of Wind
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=612) // Dryad Allure
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=613) // Ethereal Voyage
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=614) // Word of Death
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=615) // Gift of Life
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=616) // Arcane Empowerment
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
//Mysticism
ELIF (<ARGV[0]>=678) // NetherBolt
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=679) // HealingStone
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=680) // PurgeMagic
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=681) // Enchant
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=682) // Sleep
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=683) // EagleStrike
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=684) // AnimatedWeapon
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=685) // StoneForm
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=686) // SpellTrigger
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=687) // MassSleep
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=688) // CleansingWinds
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=689) // Bombard
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=691) // HailStorm
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=693) // RisingCollossus
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
//Bard
ELIF (<ARGV[0]>=701) // Inspire
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=702) // Invigorate
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=703) // Resilience
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=704) // Perseverance
LOCAL.PassiveSpell = 1
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=705) // Tribulation
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=706) // Despair
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
//Traps
ELIF (<ARGV[0]>=1001) // Dart
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=1002) // Explosion
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELIF (<ARGV[0]>=1003) // Poison
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ELSE
LOCAL.PassiveSpell = 0
LOCAL.DefaultSpell = 1
ENDIF
RETURN <EVAL <LOCAL.PassiveSpell>>
[EOF]
So as you can see Alias, in a safe area my players can cast ress, heal, cast strength, (Pots run on same system), but they cannot cast attack spells.
I hope this gives you some ideas, sorry I couldnt be more help.
Nite Dude
RE: can't rescurrect - Alias - 05-11-2012 09:52 PM
Tyvm Barnabus, but i didn't understand well, where to put everything, maybe you could add it to my combo scp ?
I could pm you it if you can
RE: can't rescurrect - Crusader - 05-11-2012 10:29 PM
well, as far as i understood, u have to basically put the following code into an event for all the players:
Code:
ON=@SpellSelect
REF1=<SERV.UID.<ARGO.UID>> // Caster or Wand
REF2=<SERV.UID.<UID>> // Caster
ARGN3=03
IF <f_SpellcastCheckRegionLawsOnPreCast <REF2.UID>, <ARGN1>>||<f_combat_CheckForSpellPrevention <REF2.UID>, <ARGN1>>
ACTION=-1
RETURN 1
ELSE
IF <REF2.MANA> > <ARGN2>
REF2.CTAG.ManaUse=<EVAL <REF2.MANA> - <ARGN2>>
RETURN 6
ELSE
ACTION=-1
RETURN 1
ENDIF
ENDIF
RETURN 0
than u should put the other pieces of code in another script or whereever u want.
@barnabus
i might suggest u to use the SPELLFLAG_HARM to see if it's a dangerous spell or not?
RE: can't rescurrect - Barnabus - 05-11-2012 10:51 PM
LOL Exellect Crusader !!!! I have to laugh at [FUNCTION f_combat_DoSpellProperties] now!
OK so we can now change that stupid function thanks to Crusader, and I believe it would be something like this...
Code:
[FUNCTION f_combat_DoSpellProperties]
IF (SERV.SPELL.<ARGV[0]>.FLAGS>&SPELLFLAG_HARM)
RETURN 0
ELSE
RETURN 1
ENDIF
Ahahahahah @ me....
ok Alias, let me know what system you are using.....
You must put that code into the players event script as described and then. Just drop the rest in somewhere.
And replace my stupid function [FUNCTION f_combat_DoSpellProperties] with the one above and it should be all good then.
[/CODE]
RE: can't rescurrect - Crusader - 05-11-2012 10:58 PM
plus u can define groups, as stated here http://forum.spherecommunity.net/showthread.php?tid=1288
|