Archiv verlassen und diese Seite im Standarddesign anzeigen : TESCS Script Problem
Ich hab ma ein bissel was gescriptet:
if ( OnActivate == 1 )
if ( Player->GetItemCount, "TH_dagonfel_tele" > 0 )
PlaySound "frgtLeft"
Player->RemoveItem, "TH_dagonfel_tele", 1
endif
endifProblem: das Item "TH_dagonfel_tele" wird nicht aus dem Inventar entfernt,
sondern an den Namen des Items werden irgendwelche Zahlen angehängt. :confused:
hab jetz schon ne Stunde rumprobiert....
die Lösung ist sicher ganz einfach, aber ich komm net drauf :(
freu mich über jede Antwort!!!111
€: die beiden IF-Abfragen werden eindeutig mit JA beantwortet, hab ich grad getestet.
imported_DWS
02.03.2005, 06:59
Wenn sugarlips habisi den vintagebrandy aus dem player-inventar holt, sieht es so aus (zeile kopiert) :
Player->RemoveItem P_VintageComberryBrandy1 1
Hast Du mal versucht, Anführungszeichen und Kommata wegzulassen?
mhhh, ich glaub, das hab ich schon probiert, werds aber nochma versuchen.
€: geht auch net, habs gleichzeitig dann noch disabled, aber es ändert wieder den Namen und verschwindet dann aber erst beim Benutzen eines Schlickschreiters/Schiffes aus dem Inventar.....
Wo/an wem pappt das Skript dran?
Das hängt an so einem Dwemer-licht-apparat-dingsbums dran.
hat aber ne eigene id, d.h. benutzt nur das Model davon.
imported_DWS
03.03.2005, 12:44
könnte es sein, daß dabei eine unmöglich-schleife entsteht? ich meine, innerhalb der if-klammer wird der item-count auf null gesetzt während gleichzeitig aber die bedingung dafür >0 ist. wie sehen eigentlich die scripts für das trinken von flaschen aus, vielleicht könnte das weiterhelfen...
Das glaub ich nicht, da die IF abfrage ja am Anfang gestellt wird.
Das, was später passiert is unerheblich.
probiers mal mit ner anderen item-id bei removeitem und bei itemcount
wenns da auch nich funkt kanns ja vielleicht am itemcount liegen. der hat bei mir auch nie richtig funktioniert
edit: kommt irgndwelche meldung wenn du das dwemerdings benutzen willst?
ne, da kommt keine Meldung, funzt alles bis auf das removen.
€: werd die zwei versionen mal austesten
€²: wenn ichs mit nem original Item aus MW mach, gehts seltsamerweise
ich weiss nich ob das hilft aber schreib doch mal am ein
if ( MenuMode == 1 )
Return
endif
oder ein
if ( Player->GetItemCount, "TH_dagonfel_tele" == 0 )
Return
endif
wenn das auch nicht hilft dann probier mal das:
if ( OnActivate == 1 )
if ( Player->GetItemCount, "TH_dagonfel_tele" > 0 )
set status to 1
endif
endif
if ( status == 1 )
PlaySound "frgtLeft"
Player->RemoveItem, "TH_dagonfel_tele", 1
set status to 0
endif
aber ich bin halt auch nich das scriptgenie und dadurch ein bisl überfragt
if ( Player->GetItemCount, "TH_dagonfel_tele" == 0 )
Return
endifVielen herzlichen Dank!!! :) :) :)
ES FUNZT!!!!!!!!
lag wohl doch an der IF-abfrage und dem Entfernen des Items darin.
da ich diese frage mit bravour gemeistert habe (eingebildetes schwein :D ), meine eigenen scripts aber allesamt nicht wirklich funtkionieren (eigentlich sinds nur zwei) stelle ich mal diesen script rein.
ich hoffe jemand kann mir helfen.
genauere beschreibung folgt unten
Begin fth_soundanlage
Short status
Short button
short OnActivate
if ( MenuMode == 1 )
Return
endif
If ( OnActivate == 1 )
MessageBox "Play", "Track 01", "Track 02", "Track 03", "Track 04", "Nix" ;hier wird nach titel gefragt der gespielt werden soll
Set Status to 1
Set OnActivate to 0
endif
if ( Status == 1)
set button to GetButtonPressed
if ( button == -1 )
return
elseif ( button == 0 ) ;button 0-4 starten eine wave-datei. wenn button 5 gewählt wird,wird der laufende sound gestopt oder die frage auf 0 gestellt falls kein sound läuft
PlaySound, "fth_sound_01"
set status to 0
elseif ( button == 1 )
PlaySound, "fth_sound_02"
set status to 0
Elseif ( button == 2 )
PlaySound, "fth_sound_03"
set status to 0
Elseif ( button == 3 )
PlaySound, "fth_sound_04"
set status to 0
Elseif ( button == 4 )
PlaySound, "fth_sound_05"
set status to 0
Elseif ( button == 5 )
StopSound "fth_sound_01";alle anderen sounds werden gestoppt
StopSound "fth_sound_02"
StopSound "fth_sound_03"
StopSound "fth_sound_04"
set status to 0
endif
endif
End
dieser script ist auf eine stereoanlage gerichtet ( zur zeit gleicht sie aber eher einem radio aus dem 2. weltkrieg, ist halt von mir texturiert)
wenn die stereo angewählt wird, wird die frage nach einem lied gestellt das angewählt werden soll. ist die antwort "Nix" wird nichts gespielt oder der laufende sound gestoppt.
das problem: durch irgendnen fehler reagiert die stereoanlage nicht wenn ich sie aktivieren will, die frage wird dann gar nicht gestellt.
bei einem anderen script der auf eine statue gerichtet war hat ich das problem auch.
ich vermute mal es liegt an dem OnActivate
würd mich freun wenn mir jemand hilft
das OnActivate nicht als SHORT deklariern (gar net deklariern!!!)
dann müsstes funzen :)
dann kommt aber meistens ein "right eval" aber ich probiers mal, danke ;)
danke http://www.multimediaxis.de/images/smilies/old/sm_12.gif , war wirklich nur wegen der überflüssigen deklarierung. funzt jetzt perfekt :D
sry für doppelpost
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.