Seite 1 von 1

Items verteilen

Verfasst: 26 Dez 2007 16:21
von sven2k
Hallo an alle.

Ich versuche gerade mehr aus spass an einem Homeserver etwas zu scripten. Zur Zeit versuche ich ein Rassen- Klassensystem zu basteln.

Leider bleib ich an einem Problem hängen:

Wie kann ich im Script festlegen, dass zum Beispiel beim durchschreiten des Magierportals, alles was bisher im Rucksack war gelöscht wird und durch andere Gegenstände die ich festlege ersetzt wird?

MFG
sven2k

Verfasst: 26 Dez 2007 16:24
von Overkiller
Lösch einfach das Backpack bzw. die Tasche.

Sobald du etwas neues herein legst wird sie neu erstellt.

Code: Alles auswählen

 SRC.FINDLAYER(21).REMOVE
 SRC.NEWITEM i_gold
 ACT.AMOUNT 500
 ACT.BOUNCE
so z.b

Verfasst: 26 Dez 2007 16:28
von sven2k
Vielen Dank für die superschnelle Anwort.

MFG
sven2k

Verfasst: 26 Dez 2007 17:31
von sven2k
Leider tut sich gerade bei mir ein weiteres Problem auf:

Das Rucksack verschwindet genau so wie gewünscht. Allerdings erscheint kein neuer Rucksack wenn ich die neuen Items hinzufüge.

Hier ein Auszug:

SRC.FINDLAYER(21).REMOVE
SRC.NEWITEM i_gold
ACT.AMOUNT 1000
ACT.BOUNCE
SRC.NEWITEM i_candle //Basisitems für JEDE Klasse
SRC.NEWITEM i_dagger
SRC.NEWITEM i_book_sm

SRC.NEWITEM i_hammer_sledge //Klassenitems
SRC.NEWITEM i_pickaxe

In meinem Serverlog kommt dazu noch:

16:15:(Testschmied.scp,69)WARNING: can't find definition for 'e_Schmied)'!
16:15:ERROR:(Testschmied.scp,69)Undefined symbol 'e_Schmied'
16:15:ERROR:(Testschmied.scp,69)Unknown 'EVENTS' Resource '(e_Schmied)'
16:15:ERROR:(Testschmied.scp,85)Undefined keyword 'ACT.AMOUNT'
16:15:ERROR:(Testschmied.scp,86)Undefined keyword 'ACT.BOUNCE'

Vielleicht kann mir jemand nochmal unter die Arme greifen.

Vielen Dank im Vorraus.

MFG
sven2k

Verfasst: 26 Dez 2007 18:02
von nazghul
benutz statt REMOVE einfach mal EMPTY :-)

was den Rest angeht: Ohne die Zeilen zu kennen, in denen die Fehler auftreten, könenn wir nicht mal raten (default disclaimer: meine Kristallkugel ist in der Werkstatt)

Verfasst: 26 Dez 2007 18:54
von sven2k
Danke erstmal für den Tipp.

Ich hoffe du musst nicht deine Kristallkugel benutzen um mir zu helfen *g*

Ich poste mal den ganzen Code:


[SKILLCLASS SCHMIED]
DEFNAME=SCHMIED
NAME=SCHMIED
STATSUM=150
SKILLSUM=520.0
STR=80
INT=30
DEX=40
Anatomy=0.0
ItemID=70.0
ArmsLore=0.0
Parrying=40.0
Begging=0.0
Blacksmithing=100.0
Bowcraft=0.0
Peacemaking=0.0
Camping=0.0
Carpentry=0.0
Cartography=0.0
Cooking=20.0
DetectingHidden=20.0
Enticement=0.0
EvaluatingIntel=0.0
Healing=20.0
Fishing=30.0
Forensics=0.0
Herding=0.0
Hiding=0.0
Provocation=0.0
Inscription=0.0
LockPicking=0.0
Magery=0.0
MagicResistance=10.0
Tactics=30.0
Snooping=0.0
Musicianship=0.0
Poisoning=0.0
Archery=0.0
SpiritSpeak=0.0
Stealing=0.0
Tailoring=0.0
Taming=0.0
TasteID=0.0
Tinkering=0.0
Tracking=0.0
Veterinary=0.0
Swordsmanship=30.0
Macefighting=20.0
Fencing=20.0
Wrestling=20.0
Lumberjacking=0.0
Mining=70.0
Meditation=0.0
Stealth=0.0
RemoveTrap=0.0
Necromancy=0.0




[ITEMDEF i_gate_testschmied]
Name=Schmiedgate
ID=i_moongate_red

ON=@Create
color=08fd
ON=@Step
SRC.EVENTS -(Class_Undeclared)
SRC.EVENTS +(e_SCHMIED)
SRC.SKILLCLASS SCHMIED


SRC.STR=35 // Statsetzung
SRC.DEX=20
SRC.INT=10

SRC.ALLSKILLS=0 //Skillreset
SRC.Blacksmithing=50.0 // Skillverteilung
SRC.Mining=50.0
SRC.ArmsLore=25.0
SRC.ItemID=15.0

SRC.FINDLAYER(21).EMPTY // danke nochmal *g*
SRC.NEWITEM i_gold
ACT.AMOUNT 1000
ACT.BOUNCE
SRC.NEWITEM i_candle //Basisitems für JEDE Klasse
SRC.NEWITEM i_dagger
SRC.NEWITEM i_book_sm

SRC.NEWITEM i_hammer_sledge //Klassenitems
SRC.NEWITEM i_pickaxe


SRC.GO 905,481,0 // Teleport zur Gabelung Jawey - Friedhof

src.message Ihr seit nun ein Schmied!
SRC.MESSAGE Willkommen! Moege euch das Glueck stehts begleiten.

src.fix
Return 1


[EOF]

PS: Ich komme mi langsam wirklich lästig vor aber der Rucksack ist immernoch weg.

MFG
sven2k

Verfasst: 26 Dez 2007 19:00
von Overkiller
Öhm,
die Fehlermeldung kommt weils den Event e_Schmied nicht gibt.

SRC.EVENTS -(Class_Undeclared)
SRC.EVENTS +(e_SCHMIED)

Was sollen die Klammern da drum ?

Verfasst: 26 Dez 2007 22:44
von sven2k
So das ungenutzte Element hab ich entfernt.

Was mich nur wundert ist das er offensichtlich mich den Befehlen


ACT.AMOUNT 1000
ACT.BOUNCE

nichts anfangen kann.

MFG
sven2k

Verfasst: 26 Dez 2007 23:26
von MrFox
Probier mal

SRC.ACT.AMOUNT 1000
SRC.ACT.BOUNCE

Verfasst: 27 Dez 2007 09:00
von Overkiller
Ich seh auch gerade das du vermutlich die Sphere 55i benutzt. Nimm doch besser die 56b.

http://prerelease.sphereserver.net

Verfasst: 28 Dez 2007 20:57
von sven2k
Gibt es da so viele Verbesserungen?

Nochmal zum Script: ES FUNKTIONIERT!

MFG
sven2k

Verfasst: 28 Dez 2007 21:29
von nazghul
gab es zwischen Windows 95 und Windows XP SP-2 Verbesserungen?

(Nein, der Vergleich hinkt nicht - sowohl Sphere .56b als auch XP sind im Vergleich zur Uralt-Version Resourcenfresser - aber es lohnt sich (ich sollte es eigentlich wissen :) )! Und wie die meisten '95-Programme unter XP laufen, tun es auch die meisten .55i-Scripte unter .56b. Die Gründe für den schnellstmöglichen Umstieg - außer der Featuritis - zu wiederholen spare ich mir )

Details kannst Du nachlesen auf www.spherewiki.com

Verfasst: 28 Dez 2007 23:29
von sven2k
Alles klar.

Ich werd mir das mal anschauen.
Nochmals danke.

MFG
sven2k