Registrierung Häufig gestellte Fragen Suche Mitgliederliste Portal - Planet Skyrim.de Kalender Moderatoren und Administratoren Startseite
Morrowind&OblivionForum.de - PMM-Projects Network » The Elder Scrolls III: Morrowind » Morrowind Editor Help » Editor Archiv » Erledigt: Count of 0 not allowed on items... » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
Marco2
Bard




Dabei seit: Juli 2003
Geschlecht:
Herkunft:
Beiträge: 42

Marco2 ist offline
  Count of 0 not allowed on items...Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ich habe folgendes Problem:

Ich habe eine Bank-Kette in Morowind eingebaut, ohne Tribunal und Bloodmoon. Ich weiss das es einen Bankmod für Tribunal gibt, aber ich wollte einen ohne in meinen großen Mod einbauen.
Man soll sein geld Anlegen und Abheben können und für die Zeit die es Angelegt ist Zinsen bekommen.

An der Aktion sind 4 Objekte beteiligt:

Der Bänker, der Speicherkristall, der Automat und die Platzhalter

1) Der Bänker, der mir für 100 Draken ein Konto einrichtet und mir 2 Draken auf dem Konto einrichtet, also 2 Platzhalter dem Inventar zufügt und einen "Speicherkristall gibt, der meinen Kontostand speichert.

2) Besitze ich nun den Speicherkristall, kann ich auf den Automaten zugreifen und geschäfte tätigen. Man bekommt jederzeit sinen Kontostand angezeigt.(Der Script liegt auf dem Automaten)

3) Für das Geld was ich einzahle bekomme ich "Platzhalter" gutgeschrieben, wenn ich es abhebe wieder abgezogen. Der Speicherkristall den ich bei mir trage, berechnet aus der Gesamtzahl der Platzhalter einen Prozentualen Wert, der dann den Platzhaltern hinzugefügt wird. (Die zinsen)

Alle drei Punkte funktionieren soweit. Jedoch bekomme ich immer sobald ich einen der Platzhalter gutgeschrieben bekomme die Nachricht:

Count of 0 not allowed on items. Fix the count on "zzzzneu_geldinventory".
Ausführung des Programmes fortsetzen Ja/Nein

Ich habe mir gedacht, OK, setzt du mal den Wert, das Gewicht und alle Variablen in den Scripten auf mindestens 1. Aber es kommt immernoch.

KANN MIR JEMAND HELFEN?

- Die Platzhalter sind Transportable Bücher
- Der Automat ist ein Activator
- Der Speicherkristall ist ein Transportables Misc Item


Zur Anlage hier die beiden wirksamen Scripte:

- Automat:

----------------------
----------------------
----------------------
Begin My_Geld_anlegen

long xxx
; xxx ist die menge des geldes im inventar. einzahlungen können nur vorgenommen werden wenn auch genügend geld vorhanden ist.

long yyy
; yyy ist die anzahl der platzhalter die in einem anderen script benötigt werden um die zinsen ständnig zu berechnen und die auszahlungen an jeder bank vorzunehmen.

short schalter
; auswahl im menü

short mitglied
;dient zur prüfung, ob man schon einen kristall hat und somit mitglied der bank ist

set mitglied to "Player"->GetItemCount zzzzneu_Kontospeicherkristall

if ( mitglied < 1 )
return
endif

set yyy to "Player"->GetItemCount zzzzneu_geldinventory
set xxx to "Player"->GetItemCount Gold_001

if ( MenuMode == 1 )
return
endif


if ( OnActivate == 1 )
MessageBox "Guten Tag, ihr Kontostand beträgt im moment %.0f Draken. Wie kann ich ihnen behilflich sein?" yyy "Menü verlassen" "Ich möchte 500 Draken Einzahlen" "Ich möchte 5.000 Draken Einzahlen" "Ich möchte 50.000 Draken Einzahlen" "Ich möchte 100.000 Draken Einzahlen" "Ich möchte 500 Draken abheben" "Ich möchte 5.000 Draken abheben" "Ich möchte 10.000 Draken abheben" "Ich möchte 100.000 Draken abheben"
endif

set schalter to GetButtonPressed

if ( schalter == 0 )
return
endif

if ( schalter == 1 )
if ( xxx > 499 )
Player->RemoveItem, "Gold_001", 500
Player->AddItem, "zzzzneu_geldinventory", 500
else
MessageBox "Ihr besitzt keine 500 Draken"
endif
endif

if ( schalter == 2 )
if ( xxx > 4999 )
Player->RemoveItem, "Gold_001", 5000
Player->AddItem, "zzzzneu_geldinventory", 5000
else
MessageBox "Ihr besitzt keine 5.000 Draken"
endif
endif

if ( schalter == 3 )
if ( xxx > 49999 )
Player->RemoveItem, "Gold_001", 25000
Player->RemoveItem, "Gold_001", 25000
Player->AddItem, "zzzzneu_geldinventory", 25000
Player->AddItem, "zzzzneu_geldinventory", 25000
else
MessageBox "Ihr besitzt keine 50.000 Draken"
endif
endif

if ( schalter == 4 )
if ( xxx > 149999 )
Player->RemoveItem, "Gold_001", 25000
Player->RemoveItem, "Gold_001", 25000
Player->RemoveItem, "Gold_001", 25000
Player->RemoveItem, "Gold_001", 25000
Player->AddItem, "zzzzneu_geldinventory", 25000
Player->AddItem, "zzzzneu_geldinventory", 25000
Player->AddItem, "zzzzneu_geldinventory", 25000
Player->AddItem, "zzzzneu_geldinventory", 25000
else
MessageBox "Ihr besitzt keine 100.000 Draken"
endif
endif

if ( schalter == 5 )
if ( yyy > 499 )
Player->AddItem, "Gold_001", 500
Player->RemoveItem, "zzzzneu_geldinventory", 500
else
MessageBox "Ihr Kontostand beträgt weniger als 500 Draken"
endif
endif

if ( schalter == 6 )
if ( yyy > 4999 )
Player->AddItem, "Gold_001", 5000
Player->RemoveItem, "zzzzneu_geldinventory", 5000
else
MessageBox "Ihr Kontostand beträgt weniger als 5.000 Draken"
endif
endif

if ( schalter == 7 )
if ( yyy > 9999 )
Player->AddItem, "Gold_001", 10000
Player->RemoveItem, "zzzzneu_geldinventory", 10000
else
MessageBox "Ihr Kontostand beträgt weniger als 10.000 Draken"
endif
endif

if ( schalter == 8 )
if ( yyy > 99999 )
Player->AddItem, "Gold_001", 25000
Player->AddItem, "Gold_001", 25000
Player->AddItem, "Gold_001", 25000
Player->AddItem, "Gold_001", 25000
Player->RemoveItem, "zzzzneu_geldinventory", 25000
Player->RemoveItem, "zzzzneu_geldinventory", 25000
Player->RemoveItem, "zzzzneu_geldinventory", 25000
Player->RemoveItem, "zzzzneu_geldinventory", 25000
else
MessageBox "Ihr Kontostand beträgt weniger als 100.000 Draken"
endif
endif


End My_Geld_anlegen

------------------
Speicherkristall:
----------
----------
----------
Begin My_Tragbarer_Counter

float timer
; für die zeit bis zur nächsten zinszahlung

long platzhal
; für die anzahl der platzhalter

short hhh
;für den zinsbetrag bei jeder berechnung

short zufallen
; zufälliger zins

short gutschri
;die zinsen-gutschrift nach jeder berechnung

if ( timer < 1 )
set timer to 1
endif

set platzhal to "Player"->GetItemCount zzzzneu_geldinventory
set timer to ( timer + GetSecondsPassed )

; alle 5 sek gibt es die zinsen
if ( timer > 5 )

if ( platzhal > 9999 )
set hhh to ( platzhal / 10000 )
if ( hhh > 5000 )
set hhh to 5000
endif
set zufallen to Random, 100
set gutschri to ( hhh + zufallen )
Player->AddItem, "zzzzneu_geldinventory", gutschri
set timer to 1
endif

if ( platzhal < 10000 )
if ( platzhal > 4999 )
set gutschri to ( ( platzhal / 2000 ) + 10 )
Player->AddItem, "zzzzneu_geldinventory", gutschri
set timer to 1
endif
endif

if ( platzhal < 5000 )
if ( platzhal > 999 )
set gutschri to ( ( platzhal / 1250 ) + 5 )
Player->AddItem, "zzzzneu_geldinventory", gutschri
set timer to 1
endif
endif

if ( platzhal < 1000 )
if ( platzhal > 1 )
set gutschri to ( ( platzhal / 250 ) + 1 )
Player->AddItem, "zzzzneu_geldinventory", gutschri
set timer to 1
endif
endif


endif

End My_Tragbarer_Counter

-------------
-------------
-------------
Welcher Script-Freak kann mir helfen?


__________________
Dummheit ist Unsterblich. Wenn das stimmt bin ich schon lange tot.

Die Rettung des Gottes:

Hier gibt es die Homepage.
Und hier das Forum.

23.11.2003, 16:29 Profil von Füge  deiner Freunde-Liste hinzu Email an Marco2 senden Homepage von Marco2 Füge Marco2 in deine Contact-Liste ein
madmaxx
Ehrenmitglied




Dabei seit: Januar 2003
Geschlecht:
Herkunft:
Beiträge: 3257

madmaxx ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Guck dir mal den indybankmod an, gibt auf www.morrowindmods.de


__________________

"Die Flamme unsrer Väter wird nie erlöschen
sie lodert in uns auf Ewigkeiten
die Zeit steht kurz still, wir erinnern uns
mit stolzem Gefühl."

Das aktuelle TESCSKompendium & einiges mehr findet ihr hier

23.11.2003, 16:35 Profil von Füge  deiner Freunde-Liste hinzu Email an madmaxx senden Homepage von madmaxx Füge madmaxx in deine Contact-Liste ein
Marco2
Bard




Dabei seit: Juli 2003
Geschlecht:
Herkunft:
Beiträge: 42

Marco2 ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Da kann man nur Geld anlegen und Häuser kaufen. Der Betrag für das Geld wird gespeichert wie bei mir auch, un die Häuser kann man kaufen wenn man momentan genug Geld hat.
Man bekommt dann eine urkunde, wodurch ein Speichern der werte nicht erforderlich ist. Bei mir schon, da es ja sonst keine Zinsen gibt.

Mein problem ist eigentlich nur was es mit dem

"Count of 0 not allowed on items" auf sich hat.


__________________
Dummheit ist Unsterblich. Wenn das stimmt bin ich schon lange tot.

Die Rettung des Gottes:

Hier gibt es die Homepage.
Und hier das Forum.

23.11.2003, 16:44 Profil von Füge  deiner Freunde-Liste hinzu Email an Marco2 senden Homepage von Marco2 Füge Marco2 in deine Contact-Liste ein
madmaxx
Ehrenmitglied




Dabei seit: Januar 2003
Geschlecht:
Herkunft:
Beiträge: 3257

madmaxx ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Naja. Anscheinend nimmt dein 'Platzhalter', welcher soweit ich das verstanden hab ein Item ist irgentwo einmal den Wert 0 an... Es kann aber nunmal kein Item 0mal im inventar vorhanden sein


__________________

"Die Flamme unsrer Väter wird nie erlöschen
sie lodert in uns auf Ewigkeiten
die Zeit steht kurz still, wir erinnern uns
mit stolzem Gefühl."

Das aktuelle TESCSKompendium & einiges mehr findet ihr hier

23.11.2003, 17:05 Profil von Füge  deiner Freunde-Liste hinzu Email an madmaxx senden Homepage von madmaxx Füge madmaxx in deine Contact-Liste ein
Marco2
Bard




Dabei seit: Juli 2003
Geschlecht:
Herkunft:
Beiträge: 42

Marco2 ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Als bevor der Script startet, der die Anzahl des Platzhalters überprüft, wird der Platzhalter 2 mal dem Inventar zugefügt.
Später werden als Zinsen nur weitere hinzugefügt, nicht der alte Wert entfernt und danach eine höhere Anzahl hinzugefügt, so das man zwischenzeitlich den Wert 0 hätte.

PMM-Experten da?


__________________
Dummheit ist Unsterblich. Wenn das stimmt bin ich schon lange tot.

Die Rettung des Gottes:

Hier gibt es die Homepage.
Und hier das Forum.

23.11.2003, 17:11 Profil von Füge  deiner Freunde-Liste hinzu Email an Marco2 senden Homepage von Marco2 Füge Marco2 in deine Contact-Liste ein
Marco2
Bard




Dabei seit: Juli 2003
Geschlecht:
Herkunft:
Beiträge: 42

Marco2 ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ich habe den Fehler nach mehrmaligem Probieren gefunden:

Der folgende Scriptpart hatte einen Fehler:

if ( platzhal > 9999 )
set hhh to ( platzhal / 10000 )
if ( hhh > 5000 )
set hhh to 5000
endif
set zufallen to Random, 100
set gutschri to ( hhh + zufallen )
Player->AddItem, "zzzzneu_geldinventory", gutschri
set timer to 1
endif


Laut der Anweisung soll das Item dem Inventar so oft zugefügt werden, wie der Wert der Variable gutschri beträgt.
Nur kann der Editor das nicht. Also habe ich alles durch festgesetzte Werte ersetzt.
Funktioniert Tadellos.

Thema ist durch, kann geschlossen werden.


__________________
Dummheit ist Unsterblich. Wenn das stimmt bin ich schon lange tot.

Die Rettung des Gottes:

Hier gibt es die Homepage.
Und hier das Forum.

Dieser Beitrag wurde von Marco2 am 23.11.2003, 18:40 Uhr editiert.

23.11.2003, 18:39 Profil von Füge  deiner Freunde-Liste hinzu Email an Marco2 senden Homepage von Marco2 Füge Marco2 in deine Contact-Liste ein
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9256

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

wenn Du trotzdem ne anzahlvariable benutzen willst, brauchst Du ne While-Schleife:


set anzahl to (berechnung hier einfügen)
set loopcount to 0
while (anzahl > loopcount)
set loopcount to loopcount+1
player -> additem ItemID 1
endwhile

ist zwar lagsam, dürfte aber für das gewüschte funktion kein problem darstellen....


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

25.11.2003, 08:00 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
  « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Design by: Garak - Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR