Autor |
|
dakmor
Mage
Dabei seit: September 2004
Geschlecht: keine Angabe
Herkunft:
Beiträge: 177
|
|
ich hab bislang leider vergebens versucht die mannequins aus grumblepunks house of mannequins so abzuändern, dass die beiden topics 'waffe ziehen' und 'mitnehmen' entfallen. aus irgendeinem grund bin ich aber in keiner meiner versuche in das dialogmenu meiner mannequins gekommen (sprich ich konnte sie ingame nicht ansprechen).
also bitte ich nun euch um hilfe. wie muss man das script abändern, damit es so simpel wie irgend möglich einen manneqiun bildet, der weder waffe ziehen, noch von seiner position entfernt werden kann UND LEBENDIG ist? also wie extrahiere ich diese beiden dialogoptionen aus dem script, ohne aber die eigentliche funktion des mannequins zu gefährden?
ich hoffe ihr habt auf dem gebiet etwas mehr erfahrung als ich.
originalcode:
begin gp_woodenScript_e_m
short NoLore ;This should help remove some of the extraneous dialogue
short button
short questionState
short nEquipType
short nStillEquipped
short nMannequin
short companion
short nWeaponShown
short OnPCHitMe
float fWeaponTimer
float fDeleteTimer
;This is how we get the mannequin to draw the weapon (wield it)
if ( nWeaponShown != 1 )
;If we aren't showing the weapon then we need to make sure the mannequin doesn't move
SkipAnim
elseif ( nWeaponShown == 1 )
;Wait for 1 second which should be enough time for mannequin to pull out weapon.
Set fWeaponTimer to ( fWeaponTimer + GetSecondsPassed )
if ( fWeaponTimer >= 1 )
;Reset our variables as the SkipAnim should make sure that the mannequin continues holding the weapon
Set fWeaponTimer to 0
Set nWeaponShown to 0
;Stop combat with player so that player can interact with it again.
StopCombat
endif
endif
if ( menumode == 1 )
return
endif
if ( GetDisabled == 1 )
;if mannequin has been disabled then we need to wait some time then delete this reference
Set fDeleteTimer to ( fDeleteTimer + GetSecondsPassed )
if ( fDeleteTimer > 5 )
SetDelete 1
endif
return
endif
;To prevent mannequin from becoming permanently in combat with player
if ( OnPCHitMe == 1 )
Set OnPCHitMe to 0
StopCombat
endif
if ( nMannequin != 1 )
Set companion to 1
Set nMannequin to 1
Player->AddTopic "Waffe ziehen"
Player->AddTopic "Mitnehmen"
endif
if ( questionState == 1 )
;This is the set-up for wielding a weapon. NOTE: we get here through dialogue.
Set questionState to 0
Set nWeaponShown to 1
;Essential, we can't show the weapon if we don't start combat with
;someone and the player is convienent because they talked with the
;mannequin to tell it to show weapon.
StartCombat Player
;We can cut processing this script short right here because we don't need
;anything below here for wielding weapons.
return
endif
;We will set questionState to 10 in dialogue to allow picking it up.
if ( questionState == 10 )
;This section is split into two groups of nested ifs because of nested if limits of
;the scripting language.
Set nStillEquipped to 0
Set nEquipType to ( GetWeaponType )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 0 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 1 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 2 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 3 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 4 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 5 )
if ( nEquipType != -1 )
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
if ( nStillEquipped != 1 )
Set nEquipType to ( GetArmorType 6 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 7 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 8 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 9 )
if ( nEquipType == -1 )
Set nEquipType to ( GetArmorType 10 )
if ( nEquipType == -1 )
;Only show this question if the mannequin doesn't have weapons or armor equipped.
MessageBox "Hast Du wirklich alle Gegenstände vom Mannequin entfernt?", "Ja", "Nein"
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
else
Set nStillEquipped to 1
endif
endif
set questionState to 20
endif
if ( questionState == 20 )
if ( nStillEquipped != 1 )
set button to GetButtonPressed
else
;Mannequin still has weapons or armor equipped so activate it, instead of allowing pick-up.
MessageBox "Du hast die Ausrüstung nicht entfernt."
set button to 1
endif
if ( button == 0 )
set questionState to 0
Disable
player->addItem, "_gp_wooden_placeholder_e_m", 1
playSound "Item Misc Up"
elseif ( button == 1 )
set questionState to 0
Activate
endif
endif
end
__________________ Death Metal Victory … forever!
|
|
03.02.2005, 12:21 |
|
jsc
Crusader
Dabei seit: November 2003
Geschlecht:
Herkunft: Zwickau/Sa.
Beiträge: 490
|
|
Am einfachsten denke ich, wenn du die beiden Zeilen entfernst:
Player->AddTopic "Waffe ziehen"
Player->AddTopic "Mitnehmen"
Damit schleppst du dann aber den Ballast mit dir herum (Scriptabfragen und Dialogeinträge) - was nicht wirklich ins Gewicht fallen sollte ... aber es ist keine saubere Lösung, nur eine funktionierende (hoffe ich )
__________________ Gruß jsc - Mein Morrowind-Kram
"Recht haben - oder glücklich sein?"
|
|
03.02.2005, 13:39 |
|
dakmor
Mage
Dabei seit: September 2004
Geschlecht: keine Angabe
Herkunft:
Beiträge: 177
|
|
ui meister jsc höchst persönlich
eure site rockt muss man schon sagen hab ne menge sachen von euch in verwendung...hoffe ihr macht so weiter
@script...naja das addtopic entfernen is mir auch schon in den sinn gekommen, hatte aber immer noch andere dinge mit verändert. ich wollt ja eigentlich versuchen den besagten ballast so weit wie möglich zurückzulassen.
hast du vielleicht ne idee woran es liegen könnte dass man npcs im game ned ansprechen kann?
update: also bislang hab ich die texturen etc von den house of mannequins figuren genommen, damit neue race und neuen npc erstellt. quasi das original nachgebaut.
keinen der eigenen npc konnte ich ansprechen, mit keinem der getesteten scripts.
ich hab eben einfach aus einem original ein neues objekt erstellt (umbenannt) und dann mein script eingesetzt (nur ";" vor die beiden addtopics gesetzt).
diesen npc konnte ich ansprechen, jedoch waren beide topics noch vorhanden.
folglich (denk ich jedenfalls) liegt der fehler irgendwo in den dialog-optionen...
hat jemand ne gute idee? dialoge find ich noch schwieriger als scripts omg x_X
update: also irgendwie hab ichs nun doch hinbekommen, auch ohne das script komplett zu durchschauen.
begin ryo_mannequin_scr
short nolore
short companion
short onPChitme
if ( menumode == 1 )
set companion to 1
skipanim
return
endif
if ( onPChitme == 1 )
set onPChitme to 0
stopcombat
endif
end
allerdings bin ich mir ziemlich sicher diese version früher schonmal versucht zu haben - ohne erfolg. nun gehts, warum weiss ich nicht ; /
dennoch danke für deinen rat
__________________ Death Metal Victory … forever!
Dieser Beitrag wurde von dakmor am 04.02.2005, 12:47 Uhr editiert.
|
|
03.02.2005, 14:40 |
|
jsc
Crusader
Dabei seit: November 2003
Geschlecht:
Herkunft: Zwickau/Sa.
Beiträge: 490
|
|
Schau mal in die .esp, ob es nicht doch noch ein Topic gibt, auch wenn du als Spieler diese gar nicht zur Verfügung hast (da ja das AddTopic auskommentiert wurde).
Ich habe nähmlich in meinem Häuschen so Püppchen schon "vorinstalliert" die ich nicht umsetze, wenn ich die "anspreche" öffnet sich sofort das Inventar. Beide Topics (Waffe zeigen, Puppe nehmen) sind aber noch im PI.
Ich denke das sie in deiner anderen Version deshalb nicht "gesprochen" haben, weil sie nix zu sagen hatten --> kein Topic also.
__________________ Gruß jsc - Mein Morrowind-Kram
"Recht haben - oder glücklich sein?"
|
|
16.02.2005, 14:53 |
|
|