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 12 von 12

Thema: Scriptfrage

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Scriptfrage

    Hallo Leute,
    Code:
    ScriptName PaperHideOutScript
    
    float button
    Begin OnActivate
    
    MessageBox "Wieviel Gold wollt ihr deponieren?", "100", "500", "1000", "2000", "5000", "10000", "50000"
    set button to GetButtonPressed
    if button == 0
    Player.RemoveItem 0000000f 100
    ChestHideoutGold.additem 0000000f 100
    endif
    
    End
    weiß einer von euch, was hier dran nicht stimmt?

    Folgenes Problem:

    Das Script soll den Spieler per MessageBox fragen, wieviel Gold er ablegen will.
    Das soll er aber später auch noch wiederbekommen können, denn der gleiche Betrag soll in einer Truhe abgelegt werden.

    Daher die Zeilen
    Code:
    if button == 0
    Player.RemoveItem 0000000f 100
    ChestHideoutGold.additem 0000000f 100
    endif
    Nur meckert das CS bei der Reference ChestHideoutGold herum, das es diese nicht gäbe.

    Hoffe ihr wisst Rat, ich weiß nämlich keinen (wie so oft)

    Gruß

    LP

  2. #2
    Ganz spontan würde ich mal darauf tippen, das es in deinem Plugin keine Truhe gibt, deren Referenzbezeichnung "ChestHideoutGold" ist.

  3. #3
    Das ist es ja geradeö.
    Es gibt definitiv eine solche Truhe, weil ich eben diese erstellt habe.
    Deshalb versteh ich auch nicht was das CS da für Probleme hat.

    Gru0

    LP

  4. #4
    Hast Du die Referenz auch auf persist gesetzt?

  5. #5
    Hm was heißt den persist, und wo stellt man das genau ein?

  6. #6
    Benutzt du die Referenz, und nicht die ItemID? Das sind unterschiedliche Sachen!

    Nebenbei wird das Script ohnehin nicht funktionieren.

    1. In Scripts EditorIDs, nicht FormIDs verwenden!
    2. Soweit ich Messageboxes kenne, wirst du mindestens einen Frame brauchen, um den Knopfdruck zu erfassen. Ich weiß nicht, ob der onActivate Block dann überhaupt noch läuft.

  7. #7
    Und wo kann man dann die editor id finden?

    Den Frame müsste man doch durch MenuMode bekommen mönnen oder?

  8. #8
    1. neue Kiste erstellen.
    2. Kiste im Worldspace setzen (ist dann eine Referenz des Editiorobjektes)
    3. Kiste im renderfenster doppelt anklicken.

    4. Den selbsterstellten Referenznamen in deinem Script nutzen, persistent anhakeln
    5. Script auf das Editorobjekt binden

  9. #9
    Code:
    ScriptName PaperHideOutScript
    
    float button
    Begin OnActivate
    MenuMode
    
    MessageBox "Wieviel Gold wollt ihr deponieren?", "100", "500", "1000", "2000", "5000", "10000", "50000"
    set button to GetButtonPressed
    if button == 0
    Player.RemoveItem 0000000f 100
    ChestHideoutGoldEditor.AddItem 0000000f 100
    Message "100 Gold deponiert"
    endif
    
    End

    So sieht das Script jetzt aus.

    Das Cs meckert jetzt auch nicht, d. h. es compiliert das Script.

    Trotz alledem passiert nichts wenn ich dann im Spiel auf den Button "100" drücke.

    Die andern Buttons habe ich jetzt noch nicht gescripted, ich will erst einmal das der 1. funktioniert.

    Gruß

    LP

  10. #10
    Wurde auch schon von BG2408 gesagt.
    Scripte können mit ID-Nummern wie 0000000f etc nichts anfangen. Setze da den Editorname ein. Glaube das war Gold001.
    Geändert von MODIFIED (24.11.2007 um 18:35 Uhr)

  11. #11
    Außerdem würde ich das Menumode als eigenen Begin-Block verwenden. Ob das so überhaupt funktionieren kann weiß ich gar nicht.
    Zusätzlich würde ich noch eine Abfrage einbauen, ob der Spieler überhaupt genug Gold hat. Dafür gibt's die Funktion GetGold (mit einem If-Block überprüfen).

    bist du dir sicher, dass das ganze im Menumode und nicht im Gamemode abläuft?

    btw: es reicht button als short zu definieren, GetButtonPressed gibt immer ganze Zahlenwerte heraus.

    Code:
    ScriptName PaperHideOutScript
    
    short button
    
    Begin OnActivate
     MessageBox "Wieviel Gold wollt ihr deponieren?", "100", "500", "1000", "2000", "5000", "10000", "50000"
    End
    
    Begin Menumode
     set button to GetButtonPressed
     if button == 0 && Player.GetGold >= 100
      Player.RemoveItem Gold001 100
      ChestHideoutGoldEditor.AddItem Gold001 100
      Message "100 Gold deponiert"
     elseif button == 1 && Player.GetGold >= 500
      Player.RemoveItem Gold001 500
      ChestHideoutGoldEditor.AddItem Gold001 500
      Message "500 Gold deponiert"
     endif
    End
    
    Begin Gamemode
     set button to GetButtonPressed
     if button == 0 && Player.GetGold >= 100
      Player.RemoveItem Gold001 100
      ChestHideoutGoldEditor.AddItem Gold001 100
      Message "100 Gold deponiert"
     elseif button == 1 && Player.GetGold >= 500
      Player.RemoveItem Gold001 500
      ChestHideoutGoldEditor.AddItem Gold001 500
      Message "500 Gold deponiert"
     endif
    End

  12. #12
    Âlso, Script läuft .

    Falls es jmd interressieren sollte:
    Code:
    ScriptName PaperHideOutScript
    
    short button
    
    Begin OnActivate
    MessageBox "Wieviel Gold wollt ihr deponieren?", "10", "100", "500", "1000", "10000", "100000"
    End
    
    Begin Menumode
    
    set button to GetButtonPressed
    
    if button == 0 && Player.GetGold >= 10
    Player.RemoveItem Gold001 10
    ChestHideoutGoldEditor.AddItem Gold001 10
    Message "10 Gold deponiert.", 2
    
    elseif button == 1 && Player.GetGold >= 100
    Player.RemoveItem Gold001 100
    ChestHideoutGoldEditor.AddItem Gold001 100
    Message "100 Gold deponiert.", 2
    
    elseif button == 2 && Player.GetGold >= 500
    Player.RemoveItem Gold001 500
    ChestHideoutGoldEditor.AddItem Gold001 500
    Message "500 Gold deponiert.", 2
    
    elseif button == 3 && Player.GetGold >= 1000
    Player.RemoveItem Gold001 1000
    ChestHideoutGoldEditor.AddItem Gold001 1000
    Message "1000 Gold deponiert.", 2
    
    elseif button == 4 && Player.GetGold >= 10000
    Player.RemoveItem Gold001 10000
    ChestHideoutGoldEditor.Additem Gold001 10000
    Message "10000 Gold deponiert.", 2
    
    elseif button == 5 && Player.GetGold >= 100000
    Player.RemoveItem Gold001 100000
    ChestHideoutGoldEditor.AddItem Gold001 100000
    Message "100000 Gold deponiert.", 2
    endif
    End
    
    Begin Gamemode
    
    set button to GetButtonPressed
    
    if button == 0 && Player.GetGold >=10
    Player.RemoveItem Gold001 10
    ChestHideoutGoldEditor.Additem Gold001 10
    Message "10 Gold deponiert.", 2
    
    elseif button == 1 && Player.GetGold >= 100
    Player.RemoveItem Gold001 100
    ChestHideoutGoldEditor.AddItem Gold001 100
    Message "100 Gold deponiert.", 2
    
    elseif button == 2 && Player.GetGold >= 500
    Player.RemoveItem Gold001 500
    ChestHideoutGoldEditor.AddItem Gold001 500
    Message "500 Gold deponiert.", 2
    
    elseif button == 3 && Player.GetGold >= 1000
    Player.RemoveItem Gold001 1000
    ChestHideoutGoldEditor.AddItem Gold001 1000
    Message "1000 Gold deponiert.", 2
    
    elseif button == 4 && Player.GetGold >= 10000
    Player.RemoveItem Gold001 10000
    ChestHideoutGoldEditor.AddItem Gold001 10000
    Message "10000 Gold deponiert.", 2
    
    elseif button == 5 && Player.GetGold >= 100000
    Player.RemoveItem Gold001 100000
    ChestHideoutGoldEditor.AddItem Gold001 100000
    Message "100000 Gold deponiert.", 2
    endif
    End
    das ist die Endversion, die läuft.

    Vielen Dank

    LP

Berechtigungen

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