Ich habe eine Rasse mit dem Namen Nachtwandler.
Nun möchte ich denen eine Funktion geben, mit deren Hilfe sie bei Tod die Möglichkeit haben, sich selbst wieder zu beleben.
Ich kann es ja nicht per Item machen, da man sowas ja als Geist nicht anklicken kann.
Also den Funktionsaufruf müßte ich ja so machen:
[plevel 0]
nachtwandler_1
Hier sind die Scripte mit denen ich die Rasse definiere.
Code: Alles auswählen
[DIALOG d_Race_Nachtwandler BUTTON]
ONBUTTON=0
SRC.SYSMESSAGE=Go then, and return when ready
RETURN 1
ONBUTTON=1
IF <TIMER>>0
RETURN 1
ENDIF
IF (<SRC.ID>==c_ghost_man) || (<SRC.ID>==c_ghost_woman)
SRC.MESSAGE Your ghostly body passes through the object!
TIMER=10
RETURN 1
ENDIF
src.f_RaceNachtwandler
src.newitem 0203c //Haare festlegen
src.act.bounce
src.act.use
src.go 6109,28,0
RETURN 1
ONBUTTON=2
DIALOG d_Race_List
RETURN 1
Code: Alles auswählen
[FUNCTION f_RaceNachtwandler]
TAG.RACE=RACE_Nachtwandler
TAG.KUGELQUEST=00
SRC.EVENTS +e_Nachtwandler_Race
//SRC.EVENTS +E_DEAD //mein Totenscript - siehe fertige Scripts auf http://www.uodev.de/
//SRC.EVENTS +p_rempel_nicht //rempelscript - siehe fertige Scripts auf http://www.uodev.de/
TAG.STR=70
TAG.DEX=100
TAG.INT=200
SRC.COLOR=07cc
SRC.OSKIN=07cc
SRC.TITLE=[Nachtwandler]
SYSMESSAGE Du bist nun ein Nachtwandler!
SOUND=snd_SPELL_CHAIN_LIGHTNING
FIX
[EVENTS e_Nachtwandler_Race]
ON=@itemEQUIP
if (<act.DispID>==i_shield_heater)||(<act.type>==t_weapon_axe)||(<act.DispID>==i_platemail_leggings)||(<act.DispID>==i_platemail_gloves)||(<act.DispID>==i_platemail_arms)||(<act.DispID>==i_platemail_gorget)||(<act.DispID>==i_platemail_helm)
SRC.MESSAGE Dies kannst du nicht benutzen.
SRC.ACT.BOUNCE
RETURN 1
ENDIF
Code: Alles auswählen
[DIALOG Nachtwandler_Job BUTTON]
ONBUTTON=0
SRC.SYSMESSAGE=Go then, and return when ready
//////////////Schalter Nr 1//////////////
ONBUTTON=1
IF <TIMER>>0
RETURN 1
ENDIF
IF (<SRC.ID>==c_ghost_man) || (<SRC.ID>==c_ghost_woman)
SRC.MESSAGE Your ghostly body passes through the object!
TIMER=10
RETURN 1
ENDIF
src.f_nachtwandler_barde
src.f_skillcap_nachtwandler_barde
TIMER=3
RETURN 0
Code: Alles auswählen
//////////////Funktion Barde//////////////
[FUNCTION f_nachtwandler_barde]
IF (<SRC.SKILLCLASS>==skill_nachtwandler_barde)
sysmessage Du bist bereits ein Barde
return 1
endif
src.events +e_nachtwandler_barde
Src.Skillclass=skill_nachtwandler_barde //Skillclass in Spheretables.scp angelegt
var.title=<src.title> // Titel des Rassenwandlers sichern
TITLE=<Var.title>, Barde
src.go 6098,14,0
SYSMESSAGE Ihr seid nun ein Barde
SYSMESSAGE Dir wird Gold mit auf den Weg gegeben
NEWITEM=I_GOLD
ACT.AMOUNT=500
ACT.BOUNCE
FIX
[Function f_skillcap_nachtwandler_barde]
/// skillcap abfrage
if (<src.anatomy> >80.0)
src.anatomy=80.0
Endif
if (<src.ItemID> >60.0)
src.ItemID=60.0
Endif
if (<src.ArmsLore> >70.0)
src.ArmsLore=70.0
Endif
if (<src.Parrying> >80.0)
src.Parrying=80.0
Endif
if (<src.Begging> >1.0)
src.Begging=1.0
Endif
if (<src.Blacksmithing> >1.0)
src.Blacksmithing=1.0
Endif
if (<src.Bowcraft> >50.0)
src.Bowcraft=50.0
Endif
if (<src.Peacemaking> >100.0)
src.Peacemaking=100.0
Endif
if (<src.Camping> >100.0)
src.Camping=100.0
Endif
if (<src.Carpentry> >1.0)
src.Carpentry=1.0
Endif
if (<src.Cartography> >100.0)
src.Cartography=100.0
Endif
if (<src.Cooking> >80.0)
src.Cooking=80.0
Endif
if (<src.DetectingHidden> >80.0)
src.DetectingHidden=80.0
Endif
if (<src.Enticement> >100.0)
src.Enticement=100.0
Endif
if (<src.EvaluatingIntel> >80.0)
src.EvaluatingIntel=80.0
Endif
if (<src.Healing> >80.0)
src.Healing=80.0
Endif
if (<src.Fishing> >100.0)
src.Fishing=100.0
Endif
if (<src.Forensics> >50.0)
src.Forensics=50.0
Endif
if (<src.Herding> >30.0)
src.Herding=30.0
Endif
if (<src.Hiding> >80.0)
src.Hiding=80.0
Endif
if (<src.Provocation> >100.0)
src.Provocation=100.0
Endif
if (<src.Inscription> >1.0)
src.Inscription=1.0
Endif
if (<src.LockPicking> >80.0)
src.LockPicking=80.0
Endif
if (<src.Magery> >70.0)
src.Magery=70.0
Endif
if (<src.MagicResistance> >100.0)
src.MagicResistance=100.0
Endif
if (<src.Tactics> >80.0)
src.Tactics=80.0
Endif
if (<src.Snooping> >80.0)
src.Snooping=80.0
Endif
if (<src.Musicianship> >100.0)
src.Musicianship=100.0
Endif
if (<src.Poisoning> >90.0)
src.Poisoning=90.0
Endif
if (<src.Archery> >90.0)
src.Archery=90.0
Endif
if (<src.SpiritSpeak> >50.0)
src.SpiritSpeak=50.0
Endif
if (<src.Stealing> >80.0)
src.Stealing=80.0
Endif
if (<src.Tailoring> >1.0)
src.Tailoring=1.0
Endif
if (<src.Taming> >50.0)
src.Taming=50.0
Endif
if (<src.TasteID> >70.0)
src.TasteID=70.0
Endif
if (<src.Tinkering> >1.0)
src.Tinkering=1.0
Endif
if (<src.Tracking> >100.0)
src.Tracking=100.0
Endif
if (<src.Veterinary> >75.0)
src.Veterinary=75.0
Endif
if (<src.Swordsmanship> >40.0)
src.Swordsmanship=40.0
Endif
if (<src.Macefighting> >1.0)
src.Macefighting=1.0
Endif
if (<src.Fencing> >80.0)
src.Fencing=80.0
Endif
if (<src.Wrestling> >25.0)
src.Wrestling=25.0
Endif
if (<src.Lumberjacking> >1.0)
src.Lumberjacking=1.0
Endif
if (<src.Mining> >1.0)
src.Mining=1.0
Endif
if (<src.Meditation> >80.0)
src.Meditation=80.0
Endif
if (<src.Stealth> >80.0)
src.Stealth=80.0
Endif
if (<src.RemoveTrap> >80.0)
src.RemoveTrap=80.0
Endif
if (<src.Necromancy> >1.0)
src.Necromancy=1.0
Endif
if (<src.Alchemy> >70.0)
src.Alchemy=70.0
Endif
if (<src.AnimalLore> >70.0)
src.AnimalLore=70.0
Endif
[EVENTS e_nachtwandler_barde]
ON=@itemEQUIP
IF (<act.baseid>==i_chainmail_coif)
SRC.MESSAGE Dieses kannst du nicht tragen.
SRC.ACT.BOUNCE
RETURN 1
ENDIF
//Eingabe für Char`s die nicht Zaubern sollen
//On=@SpellCast
//IF (<SRC.GM>==01) //GM's can cast all
//RETURN 0
//ENDIF
//SRC.SYSMESSAGE Krieger Zaubern nicht
//RETURN 1 //all other spells are restricted
//Ende der Zaubereintragung
On=@itemdclick
VAR.STR=5
VAR.DEX=5
VAR.INT=(-10)
f_statcap
on=@Login
f_skillcap_nachtwandler_barde
on=@death
f_skillcap_nachtwandler_barde
Aber ich weiß nicht wie ich diese Funktion erstellen kann.
Wenn mir da jemand helfen kann, währe ich sehr froh.