HomeDownloadsForumGalerieLinks

 

ForenübersichtSphere - EntwicklungsforumScripten fuer HardcoreNoobs...

Scripten fuer HardcoreNoobs...

Mitglied-58621.09.2002, 13:37 Uhr
Moin.
Stellt vor ihr habt euch vorgenommen scripten zu lernen, das einzige aber was ihr davon wisst ist, das eine Sprache Sphere heisst. Es ist auch niemand in eurer Nähe der es euch lernen oder erklären könnte.
Was kann man da machen? Gibts im Internet irgendwo gute Anleitungen, wo alles Noob sicher geschildert wird? Oder wuerde sogar von euch hier jemand als Lehrer fungieren?
Naja, ich hoffe mal auf etwas Hilfe, da mir eigentlich jedes Basiswissen fehlt.
Ach ja, programmiert habe ich bisher in turbo Pascal und Basic, falls das ne Hilfe ist...
Mitglied-60521.09.2002, 18:25 Uhr
auf uofd.info gehts vor allem um sharddev...dort solltest hilfe finden (sollte keine werbung sein, nur hilfe:))
Mitglied-58622.09.2002, 15:16 Uhr
Die Seite wurde mir schon empfohlen, leider ist mir selbst die noch zu hoch, da mir die Basis fehlt. Am besten wäre wirklich mal ne längere ICQ Unterhaltung mit nem Sachverständigen.
Mitglied-56523.09.2002, 14:20 Uhr
Scripten lernen .. hmm .. also ich kann dir mal erzählen wie ich es damals getan habe: Ich habe mir damals aus den unzähligen Dateien welche bei Sphere bei waren eine ausgesucht sie genau angeschaut und sie verändert und geschaut wie sich das ganze in Game auswirkt .. aber ich gebe dir mal einen kleinen Crash Kurs, allerdings nicht via icq sondern hier im Forum evtl interessiert ja noch wen mehr. Also fangen wir mal an. Ich gehe von folgenden Dingen mal aus: Du weisst wie man einen HomeServer startet, in diesem Fall nehme ich mal Sphere welchen man von http://www.sphereserver.com bekommt. Man sollte hierbei am besten die Version 55i benutzen da die 99er Versionen die dort angeboten werden, leider noch nicht ausgereift sind und nur für Fortgeschrittenere User welche Bugs selber Fixen können geeignet. So Nachdem du nun Sphere Installiert hast solltest du mal in das Verzeichnis von jenem gehen. Dort wirst du nun sehen, das es dort einen ordner gibt welcher Scripts heisst. Die meisten Dateien in diesem Ordner haben die Endung .scp , dies ist die Endung für die Script Files. In diesen Dateien wirst du nun evtl das ein oder andere sehen was du interessant findest aber nicht verstehst. Ich werde dir jetzt mal am Beispiel eines Bogens welcher auf unserem Server herzustellen ist einmal kurz erklären wie du eine neue Waffe als Bsp. erstellst.

Hier erstmal das Script:

-------------------------------------
Script 1:
[ITEMDEF 01446]
DEFNAME=i_komposit_bow
TYPE=T_WEAPON_BOW
SKILLMAKE=17.8 BOWCRAFT
RESOURCES=2 I_LOG
WEIGHT=5
DAM=5,28//9,21
SKILL=Archery
REQSTR=20
TWOHANDS=Y


TDATA3=i_arrow

ON=@Create
HITPOINTS={31 60}


Script2:
[ITEMDEF I_Kastanie_color_kompositbow_1]
ID=01446
NAME=Kompositbogen aus Kastanie
WEIGHT=3
DAM=10,30
SKILL=Archery
TWOHANDS=Y
SKILLMAKE=91.0 BOWCRAFT
RESOURCES=8 i_log_Kastanie
----------------------------------------------------

Script 1 dient eignetlich mehr als eine art Vorlage für den Bogen in Script 2.

[ITEMDEF 01446] hier wurde bei Script 1 angegeben welche grafik für den Bogen genommen werden soll. Jetzt fragst du dich evtl .. ja und ? woher soll ich denn diese Nummer kennen ?? Naja das ist einfach, du benötigst am besten das kleine Programm uoinside. Dort gibt es eine Section welche den Namen \"Artworks\" trägt. Diese Artworks sehen aus wie die Items welche du im Spiel selbst nachher auf dem Boden liegen hast. wenn du nun einen von diesen Gegenständen anklickst, dann siehst du unten eine ID . bsp: 0x1446 evtl ist dir ja nun aufgefallen das diese Zahl Identisch ist mit der aus der Itemdef. Nun hab ich dem \"vorlage Bogen\" also eine Grafik zugewiesen.
---
so und weiter gehts, die nächste Zeile im Vorlage Bogen lautet so.:
DEFNAME=i_komposit_bow
Was zum Geier könnte das nun wieder sein ? Nunja wenn du im Spiel deine Gegenstände hinzufügen willst, dann muss man diese ja mit dem befehl .add hinzufügen. Wenn du allerdings schon immer Axis ( http://www.sphereserver.com ) benutzt hast ist dir das evtl gar nicht bekannt. Aber es ist auch möglich items mit diesem befehl im SPiel hinzuzufügen. d.h. wenn ich nun im Spiel .add i_komposit_bow eingebe dann werde ich einen Ziel cursor bekommen und kann darauf hin aufsuchen an welcher stelle ich den Bogen erstellen soll.
--
TYPE=T_WEAPON_BOW
das ist die Folge die nun kommt. Wie dir unschwer sicherlich aufgefallen ist wollen wir einen Bogen scripten. Damit sphere, also dein Server überhaupt weiss das dies auch ein bogen ist, musst du es sphere auch sagen. Die Liste mit allen typen die es gibt ist allerdings sehr lang, du kannst diese allerdings auf http://www.uofd.info abfragen dort ist sie schön übersichtlich zusammen getragen. Die seite uofd.info ist übrigens sehr informativ wenn es ums Scripten geht, sollte von jedem der geren scripten lernen möchte mal besucht werden.
--
SKILLMAKE=17.8 BOWCRAFT
Diese Befehlszeile ist für das eigentliche funktionieren des Scripts uninteressant da sie nur dazu wichtig ist wenn man das Item später herstellbarmacht. Wie man dies genau macht will ich nun allerdings noch nicht erklären, dazu muss man nämlich Änderungen an schon vorhandenen Dateien durchführen. Also kann diese Zeile am Anfang genauso gut weggelassen werden.
--
RESOURCES=2 I_LOG
diese zeile ist nun an der Reihe, sie gibt eignetlich nur an aus welchen ressourcen das item hergestellt ist, somit ist sie für die Funktion selbst auch uninteressant, wir wollen das Item ja noch nicht herstellbar machen.
--
WEIGHT=5
Dieser Befehl gibt nun das Gewicht des Bogens an. Desdo leichter die Waffe ist, desdo schneller ballert sie im Falle eines bogens auch. Du kannst die Zahl hinter dem WEIGHT mal ein wenig varrieren und schau dir mal an was dann im Spiel geschieht wenn du auf etwas ballern willst.
--
DAM=5,28
Die Befehlszeile gibt an wieviel schaden die Waffe anrichten soll, der Schadensbereich reicht bei diesem Bogen nun von 5 bis 28. Du siehst nun das oben im script noch //22,23 sowas in der art steht, alles was hinter // steht ist nur ein kommentar, es kann zum einem wegkommentiert sein. Das macht man oft wenn man werte nur ändert damit man die Alten werte noch kennt. Wenn du später irgendwann allerding smal größere Scripts schreibst wirst du sehen das man dort irgendwann keinen überblick mehr hat wenn man diese nicht Kommentiert.
--
SKILL=Archery
nun sag ich bestimmt müll:) aber ich glaube das dieser Skill einfach nur ansagt welcher skill aktiv werden soll wen der Bogen benutzt wird.
--
REQSTR=20
Diese Zeile sagt dir lediglich das man 20 Str braucht um den bogen überhaubt in die Hand nehmen zu können. d.h. REQSTR=40 würde heissen das man 40 Str braucht.
--
TWOHANDS=Y
Dies sagt an das es sich bei der Waffe um eine zweihand waffe handelt. Das Heisst das man kein Schild tragen kann während man die Waffe benutzt.
--
TDATA3=i_arrow
Diese Zeile gibt an womit diese Waffe ballert, also in diesem fall mit pfeilen. Würde ich nun *grübelt* ich glaube i_gold schreiben dann würde sie mit goldmünzen ballern :)
--
ON=@Create
HITPOINTS={31 60}

Diese Ausdruck sagt folgendes aus \" Beim erstellen soll der Bogen 31 - 60 Lebensenergie Punkte haben\"
hmm denkst du dir nun wieso lebensenergie Punkte ??. Naja evtl ist dir ja schonmal aufgefallen das beim Kampf deine sachen beschädigt werden und irgendwann kaputt gehen. Hier kannst du regeln wieviel hits deine Waffen vertragen bis sie kaputt gehen.

-------------------------------------- Script 2
[ITEMDEF I_Kastanie_color_kompositbow_1]
In Diesem Fall kann man die Zeiel itemdef eigentlich genauso ansehen wie die Zeiel Defname bei Script1, jetzt denkst du sicher ???????????? aber ist eignetlich ganz einfach .. wenn du nun logisch überlegst heisst es das du die waffe von Script1 also auch theoretisch mit dem befehl .add 01446 ins SPiel hinzufügen kannst... und damit hast du recht :) .
--
ID=01446
mit dem Befehl ID kannst du dem Item an welchem du gerade arbeitest die Grafik eines schon vorhandenen Item geben. Dazu schreibst du hinter die ID einfach die ITEMDEF von dem Item wie das welches du momentan scriptest aussehen soll. In diesem Fall also die Itemdef vom Vorlage Bogen :)
--
Nun baust du noch in das Script folgendes ein
Name=Kompositen Bogen
Dies heisst das wenn du das Item nun im Spiel addest trägt es den namen Kompositen bogen.

---------------------
Weite infos zum Scripten solltest du dir wirklich bei uofd.info holen dort sind leicht verständliche tuts geschrieben die einem wirklich helfen. Ich habe dies hier oben nun während meiner Arbeitszeit geschrieben daher ist es auch so wirr :) ) Aber ich hoffe ich habe dir damit etwas geholfen. Wenn du noch weitere Fragen hast dann frag ruhig. (achja daddurch das ich es auf der arbeit geschrieben hab ist es auch klar das die ITEMDEF nummer wohl nicht mit der wahren nummer des bogens übereinstimmt usw.
--> noch eine info, solltest du dir überlegen wirklich weiter zu scripten dann solltest du dir einen editor anschaffen welcher dir dies erleichtert. Ich z.B. Scripte am liebstem mit UltraEdit32

mfg Sickn3ss :)
UO World – Archiv-Neuauflage 2026 · Impressum · Datenschutz