Allgemein
News
News-Archiv
Partner
Netzwerk
Banner
Header
Media
Downloads
Impressum

The Elder Scrolls
Arena
Daggerfall
Spin-offs
Romane
Jubiläum
Reviews
Welt von TES
Lore-Bibliothek
Namens-
generator

FRPGs

Elder Scrolls Online
Allgemein
Fraktionen
Charakter
Kargstein
Technik
Tamriel-
Manuskript

Media

Skyrim
Allgemein
Lösungen
Tipps & Tricks
Steam-Kniffe
Review
Media
Plugins & Mods

Oblivion
Allgemein
Lösungen
Tipps & Tricks
Technik
Charakter
Media
Plugins & Mods
Kompendium

Morrowind
Allgemein
Lösungen
Tipps & Tricks
Media
Plugins & Mods

Foren
The Elder Scrolls Online
Hilfe & Diskussion

Skyrim
Hilfe & Diskussion
Plugins & Mods

Ältere TES-Spiele
TES-Diskussion
Oblivion-Plugins
Morrowind-Plugins

Community
Taverne zum Shalk
Adventures of Vvardenfell
Tales of Tamriel
Ergebnis 1 bis 13 von 13

Thema: Suche Script , . . .

  1. #1

    Suche Script , . . .

    Hallo,

    ich habe versucht mich in die Welt der Scripte zu fuddeln, doch das, was ich machen möchte, kann ich mir leider nicht zusammenreimen. Dazu rall' ich das einfach zu wenig.

    Deshalb wage ich es eine Bitte zu äußern:

    Was ich machen wollte:

    Nehmen wir einen Goblin.
    Der steht bei Position A (Editor location)
    Geht von dort aus zu Position B.
    Dort angekommen wird er von einer Wache verkloppt und dankt ab. (das funzt ja mit Fraktion)

    Aber jetzt wäre es gut (für das was ich machen will) wenn der gleiche Goblin nach 4 Spielstunden an Position A wieder auftaucht, nach B läuft, dort wieder die Hucke vollkriegt, nach 4 Stunden wieder auftaucht, ... und so weiter.

    Hab schon Kopfschmerzen vom Scripts nach eventuell funktionierenden Passagen abzusuchen und bekomme es einfach nicht hin, weil ich dauernd Fehler mache.

    Vielen Dank,

    Gruß
    Pitje

  2. #2
    Scheinbar hat Oblivion eine eigene Skriptsprache...hast du dir die Syntax von der mal angesehen und ein paar Sachen ausprobiert (also, sodass du damit umgehen kannst)? Wenn du das getan hast, kannst du ja mal ein paar entsprechende Tutorials suchen, oder aber vielleicht im Spiel selbst nach Stellen suchen, in denen ein ähnliches Skript verwendet wurde und das dann als Basis nehmen.

    Vielleicht hilft ja auch die Seite hier. Ich muss dazu sagen, dass ich keinerlei Erfahrungen mit dem ganzen habe, was aber daran liegt, dass ich vor ner Ewigkeit Oblivion nur mal angespielt und nicht mit dem Konstruktion-Kit gearbeitet habe. ^^'

  3. #3
    Bleibe natürlich auch selber am Ball und such in den Scripts und auf der Seite.
    Muss aber zugeben, dass ich da wohl ... zu dödelig bin oder mich einfach doof anstelle.

    Generell will ich 's ja hinbekommen, aber naja...

  4. #4
    Das Script auf den Goblin, dann sollte das eigentlich funktionieren:

    Code:
    scn GoblinScript
    
    float fLastResurrect
    
    Begin Gamemode
    	if ( GetDead == 0 ) || ( ( GetInSameCell PlayerRef ) == 0 )
    		Return
    	endif
    	if ( GetCurrentTime < ( fLastResurrect + 4 ) ) && ( GetCurrentTime >= fLastResurrect )
    		Return
    	endif
    	Resurrect
    	MoveTo <unsichtbares Objekt an der Startposition des Goblins>
    	set fLastResurrect to GetCurrentTime
    End
    Das laufen und angreifen wird dabei nicht erledigt. Würde ich mittels Packages und Factions lösen.
    Geändert von Low Post (12.03.2011 um 17:26 Uhr)

  5. #5
    Hey Leute ich schreibs jetzt einfach mal hier rein da es hier ja eh grad um scripts geht. Ich bräuchte ebenfalls ein script das ich ums verrecken einfach nicht zum funktionieren bekomme. Und zwar möchte ich das mein Char sobald er eine bestimmte Zelle betritt (in dem Fall ein Haus) einer Fraktion beitritt.
    Aber irgendwie will das nicht so wie ich es gerne hätte. Das textfenster das aufploppen sollte sobald ich den raum betrete, und mich fragt ob ich beitreten will, ploppt nicht auf. Also hab ich anscheinend irgendwas falsch gemacht aber ich weiss nicht was ich machen soll.

  6. #6
    Activator in der Zelle mit folgendem Script:
    Code:
    scn ActivatorScript
    
    short bQuestion
    int iButon
    
    Begin Gamemode
    	if ( Player.IsInFaction <Fraktion> )
    		Return
    	endif
    	if ( bQuestion )
    		set iButton to GetButtonPressed
    		if ( iButton == 0 )
    			Player.SetFactionRank <Fraktion>, 0
    		endif
    		Return
    	elseif ( GetInSameCell PlayerRef )
    		set bQuestion to 1
    		set iButton to GetButtonPressed
    		MessageBox "Willst du <Fraktionsname> beitreten?", "Ja", "Nein"
    	endif
    End
    Funktioniert nur ein mal.
    Mehrmalige Frage wird komplizierter. Da dann am besten über OnActivate die MessageBox auslösen.

  7. #7
    Activator? was für einen Activator? Ich hatte das ungefär so geschrieben glaub ich

    Code:
    If Player.get in Cell <CellID>
    
    Begin Gamemode
    	if ( Player.IsInFaction <Fraktion> )
    		Return
    	endif
    	if ( bQuestion )
    		set iButton to GetButtonPressed
    		if ( iButton == 0 )
    			Player.SetFactionRank Ritterorden, 0
    		endif
    		Return
    	elseif ( GetInSameCell PlayerRef )
    		set bQuestion to 1
    		set iButton to GetButtonPressed
    		MessageBox "Willst du Großmeister des Ritterordens werden?", "Ja", "Nein"
    	endif
    End
    Das war das errste script überhaupt gemacht hab und das ich aus verschiedenen anderen scripts zusammengestückelt habe.

  8. #8
    Zitat Zitat von TiberSeptim Beitrag anzeigen
    Activator? was für einen Activator?
    Ein selbst erstellter, dem du das Skript verpasst und von dem du eine Referenz in der betreffenden Zelle plazierst.


    Was du hast wäre für ein QuestScript, nur dass du deinen ersten if-Befehl in das Script anstelle des GetInSameCell schieben musst:
    Code:
    scn QuestScript
    
    short bQuestion
    int iButon
    
    Begin Gamemode
    	if ( bQuestion )
    		set iButton to GetButtonPressed
    		if ( iButton == 0 )
    			Player.SetFactionRank <Fraktion>, 0
    			StopQuest <QuestID>
    		elseif ( iButton == 1 )
    			StopQuest <QuestID>
    		endif
    	elseif ( PlayerRef.GetInCell <CellID> )
    		set bQuestion to 1
    		set iButton to GetButtonPressed
    		MessageBox "Willst du Großmeister des Ritterordens werden?", "Ja", "Nein"
    	endif
    End
    Geändert von Low Post (12.03.2011 um 22:56 Uhr)

  9. #9
    Zitat Zitat von Low Post Beitrag anzeigen
    Das Script auf den Goblin, dann sollte das eigentlich funktionieren:

    Code:
    scn GoblinScript
    
    float fLastResurrect
    
    Begin Gamemode
    	if ( GetDead == 0 ) || ( ( GetInSameCell PlayerRef ) == 0 )
    		Return
    	endif
    	if ( GetCurrentTime < ( fLastResurrect + 4 ) ) && ( GetCurrentTime >= fLastResurrect )
    		Return
    	endif
    	Resurrect
    	MoveTo <unsichtbares Objekt an der Startposition des Goblins>
    	set fLastResurrect to GetCurrentTime
    End
    Das laufen und angreifen wird dabei nicht erledigt. Würde ich mittels Packages und Factions lösen.
    Ayy...,
    Danke schön,Low Post.
    Der Goblin (Opfer) watschelt brav los (Package), ereicht sein Ziel, wird verkloppt (Wache mit gegensätzlicher Fraktion), nippelt ab und taucht 4 Stunden später an gleicher Stelle auf, wo dann das nächste Package greift und ...usw.

    Jetzt, ohne Vermessen wirken zu wollen, hätte ich da noch stilistische Fragen:
    A:
    Wenn die Wache den tödlichen Streich ausführt, dann haut sie den Goblin sofort in das digitale Nirvana.
    Isses möglich, dass der Goblin noch ein paar Sekunden liegenbleibt und dann verschwindet?

    und B:
    Wenn ich den Goblin erschlage bleibt er liegen *). Die Sache mit dem Wiederauferstehen klappt da nicht bzw besteht vielleicht kein Bezug auf den Spieler?

    (Zur Situation:
    Ich wollte die Goblins (2 oder 4) kontinuirlich auf bewachte Barrikaden angehen lassen (so als Hintergrundaktion, damit sich bissle was bewegt auf der Ebene). Und evtl. (wenn ich das mit den Quests mal ralle) als Questobjekt nutzen.)

    *)
    Für mein Verständnis:
    Das Liegenbleiben/nicht resurrect'n) passiert ebenfalls, wenn ich ein Package mit -Any- als Tageszeit benutze.
    Fehlt dem Script dann der zeitliche Bezug ?

  10. #10
    Also prinzipiell sollte der Goblin nicht verschwinden. Und es sollte auch keinen Unterschied machen, wer den Goblin umlegt.
    Zumindest hab ich da nichts deswegen gemacht.
    Alles was das Script macht, ist wenn der Goblin tot und in der gleichen Zelle wie der Spieler ist und seit dem letzten Wiederbeleben 4 Stunden vergangen sind wird der Goblin wiederbelebt und an seine Startposition zurückgesetzt. Beim ersten mal kann das auch direkt passieren, das erklärt aber trotzdem nicht, warum der Goblin verschwindet.

    Oder hab ich da was falsch verstanden?

  11. #11
    Hi,

    hab's grad nochmal angeschaut.
    Wenn ich nicht in der gleichen Zelle bin, dann erreicht der Goblin sein Ziel nahe einer der Wachen. Diese haut sie umgehend um. Rein optisch sieht es so aus, als ob ich einen NPC umhaue, wenn die Collision Off ist. Der Goblin verharrt in einer Position.
    Wenn ich dann in die Gleiche Zelle komme, dann "plumbst" er zu Boden.
    Wenn ich dann 3 Stunden warte ( habe Deine Zeit von 4 Stunden im Script auf 3 gekürzt) ist die "Leiche" weg und der Goblin taucht an der Spawnstelle wieder auf.

    Also, was mich angeht, ist das super so.

    Kann das mit den vorher beschriebenen Problemen vielleicht daran liegen, dass mein Rechner schon ca 24 Stunden an war ?
    Oder sollte man sowas nicht checken, wenn das CS zwar minimiert, aber noch an ist?

  12. #12
    Gut, dann macht das Script was es soll.

    Das mit der Totenstarre ist ein Engine-Problem (oder so), da kann ich nichts machen.
    Lass es am besten von ein paar Betatestern ausprobieren. Wenn das bei keinem anderen vorkommt dürfte das eine einmalige Sache gewesen sein.

    Was mir deswegen noch einfällt wäre, dass der Goblin evtl. durch einen Spalt im Boden gefallen ist. Bei mir sind solche Spalten beim bauen zumindest keine Seltenheit.

  13. #13
    aha,
    werde drauf achten, wenn ich zu den Interiors komme.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •