Player Mobile und Command???

Hier könnt ihr Unterstützung holen für euere Script Probleme, und Fragen rund um das Scripten.
Antworten
Nachricht
Autor
matjes

Player Mobile und Command???

#1 Beitrag von matjes » 05 Jun 2006 13:30

Hi,
hab ne kurze Zeit lang Sphere gescriptet, hab C und C++ unter anderem gelernt und soll jetz für nen RunUO- Server scripten. Jetz hab ich paar Startprobleme.

Ich bin gerade dabei ein Rassensys zu entwickeln und will jetz dem Player ne Variable zuweisen der ihm eine ID zuweisst mit der man später seine Rasse bestimmen kann. Also quasie sowas wie:
SRC.RASSENID = <Value>
Also die Variable und sonstiger Mist is schon geschrieben ich habe nur keine Ahnung wie ich dem momentanen erstelltem Player dann diesen Wert zuweise.
Kann mir da einer helfen?

Und ansonsten hab ich noch das Problem, dass überall beschrieben wird wie ich n Item scripte, aber wie mache ich ein Command?
Also das ich später sowas hab wie:
[rasse <value> und dann kann ich halt auf den Player klicken.

Hab schon einiges durchsucht. Die Docu hat mir auch nich viel weiter geholfen bei den Sachen.
Wäre sehr nett, wenn mir da jemand helfen kann.

Arahil
Moderator (RunUO)
Beiträge: 437
Registriert: 15 Jan 2004 09:32
Wohnort: Wien

#2 Beitrag von Arahil » 05 Jun 2006 13:41

wirf mal nen blick in den ordner scripts\commands

die rasse zuweisen würde ich entweder in misc\charcreation.cs oder über so rassen-gates o.ä., dafür finden sich auf run-uo.de oder runuo.com ein paar beispiele

matjes

#3 Beitrag von matjes » 05 Jun 2006 15:31

Hmmm, aber ich muss doch dem Spieler wärend des Spiels paar Tags bzw. Variablen verpassen können. Ist ja nich nur für Rassen und Klassen von Vorteil.

Sotho Tal Ker

#4 Beitrag von Sotho Tal Ker » 05 Jun 2006 16:01

Kannst du ja auch. Verstehe das konkrete Problem jetzt nicht. ;)

Jedes Ding besitzt "Properties"
Diese kann man mit [props und Klick auf das Ding/Mobile aufrufen. Dann kann man je nach Accesslevel mehr oder weniger verändern. (Es gibt auch properties die read-only sind, die also nicht einmal ein Admin ändern kann).

Der von dir beschriebene Befehl würde auch nicht anderes machen, als solch eine property auf einen bestimmten Wert zu setzen. :D
Dies könnte man auch automatisieren durch Rassengates, so dass ein GM das nicht von Hand machen muss, sondern der Spieler einfach durchs Tor geht - dann lassen sich auch gleich die weiteren Eigenschaften der jeweiligen Rasse setzen (Str, Skills, Skillcap usw) :D

matjes

#5 Beitrag von matjes » 05 Jun 2006 16:22

Ja, das ist klar. Aber wie bekomm ich diesen Wert in die Properties hinein? Das ist mein Problem.
Beim Item isses kein Ding das wird beim erstellen des Items dazugepackt. Jetzt ist der Spielerchar aber schon im Spiel. Also wie ergänze ich dort das Objekt also die Spielfigur um eben diese Variable?

Sotho Tal Ker

#6 Beitrag von Sotho Tal Ker » 05 Jun 2006 17:17

Oh, ah :D

du nimmst deine Playermobile.cs
Fügst da die neue Property rein, so wie die anderen, mit Get und Set usw.

Dann musst du "nur" noch die Serialize und Deserialize Funktionen anpassen. D.h. beim Serialize die Version um eins erhöhen, die Variable speichern und beim Deserialize einen neuen Fall für die neue Version einfügen.

Dann hast du der PlayerMobile erstmal einfach eine neue Property gegeben. Ob das ein Int, ein String, ein Bool, ein sonstwas ist, ist an sich erstmal Nebensache.
Beim lesen liest du diese neue Variable wieder ein und kannst dann damit machen was du willst. :D

matjes

#7 Beitrag von matjes » 06 Jun 2006 21:30

Jau so kann ich's machen.
Vielen Dank!

Antworten