World of Gothic Archiv
Alle Beiträge von Rhaegar
Seite 6 von 12 « Erste 2  3  4  5  6  7  8  9  10 Letzte »
20.08.2002, 10:45 #126
Rhaegar
Beiträge: 296
Story schreiben -
Also bevor ich zum nächsten komme erst eine kleine Korrektur:

Im UserDefined-Skript muss statt der Zeilen
code\:

else if((nUser == 1003)&&(!GetIsInCombat())) // END OF COMBAT
{SetLocalInt(OBJECT_SELF,"nAlreadyFired",0);
}


folgendes stehen:

code\:

else if(nUser == 1003) // END OF COMBAT
{object oTarget = GetNearestCreature( CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1,
CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN );

if (!GetIsObjectValid(oTarget))
{SetLocalInt(OBJECT_SELF,"nAlreadyFired",0);}
}




"Warum funktioniert das erste nicht?"
Kann sein dass es doch funtzt, aber ich bin mir nicht hundertprozentig sicher, ob am Ende der letzten Kampfrunde die GetIsInCombat()-Funktion schon False liefert.
"Was macht die zweite Möglichkeit?"
oTarget wird die nächste Kreatur zugewiesen die folgendes erfüllt:
Ihre Einstellung (CREATURE_TYPE_REPUTATION) ist feindlich
(REPUTATION_TYPE_ENEMY).
Zu wem ist sie am Nächsten? Zu OBJECT_SELF also unserem Wächter.
Die 1 legt fest das es die nächste sein soll, eine 2 würde die zweitnächste wählen.
Nun legen wir noch ein zweites Kriterium fest nämlich, dass die Kreatur vom NPC wahrgenommen werden muss (CREATURE_TYPE_PERCEPTION) und zwar mit dem Sehsinn (PERCEPTION_SEEN).
oTarget ist also entweder die nächste feindliche Kreatur, die der Wäechter sieht, oder falls es keine solche gibt bekommt oTarget den Wert OBJECT-INVALID.
Mit "if (!GetIsObjectValid)..." regeln wir also dass er die Variable "nAlreadyFired" erst zuruecksetzt, wenn keine Gegner mehr zu sehen sind, also am Ende des Kampfes.

Zum liegen poste ich gleich noch was :) !


___________________________

Verliebt in den UserDefined Event ^^
Überzeugter Episode 2 Hasser[/font]
20.08.2002, 11:27 #127
Rhaegar
Beiträge: 296
Story schreiben -
Also zum liegen.
Hat einige Probleme bereitet, aber jetzt funtzt es.

Zur Dauer des Schlafes:
Gar kein Problem! Einfach DURATION_TYPE_TEMPORARY und einen float-Wert für die Dauer angeben.

Problem: Der SleepEvent haut alles von der ActionQueue runter, deswegen muss die Zeile ganz an den Schluss.Geht aber so problemlos.

Ach ja: Wenn du statt ActionMoveToObject(oMatte) folgendes verwendest, um zur Matte zu laufen erwischt er die Matte etwas präziser, wenn er wie ein Stein zu Boden sinkt ;):
--------
object oMatte=GetObjectByTag("BedBed....");
location lMatte=GetLocation(oMatte);
.
.
.
ActionMoveToLocation(lMatte);
--------

Btw: Nichts zu danken!
Hab' selbst einiges gelernt beim Schreiben der Skripts :)!
20.08.2002, 15:51 #128
Rhaegar
Beiträge: 296
Manuelle Eingabe in Gesprächen ? -
Also ob es in einem Dialog geht, weiss ich nicht, aber über die Chatzeile geht es.

Dazu musst du erst in das OnSpawn-Skript des Gesprächspartners folgende Zeilen setzen:
code\:

SetListening(OBJECT_SELF,1);
SetListenPattern(OBJECT_SELF,"**",555);



Und dann ins OnConversation-Skript folgendes:
code\:

string sPattern=GetMatchedSubstring(0);
int nPatternNumber=GetListenPatternNumber();
int nBaumFound=FindSubString(sPattern,"Baum");

if ((nPatternNumber==555)&&(nBaumFound!=-1))
{.....}



Gibst du jetzt über die Chatzeile zum Beispiel den Satz "Ich denke die Lösung ist Baum" ein, löst das den OC-Event des Npc mit der ListenPatternNr.555 aus. Der Satz wird sPattern zugewiesen und per FindSubString wird geschaut an welcher Stelle des Satzes das Wort Baum steht. Kommt es nicht darin vor liefert FindSubString den Wert -1. Der Anweisungsteil des if wird also nur ausgeführt, wenn nBaumFound nicht -1 ist, das Wort also gefunden wurde.


___________________________

Verliebt in den UserDefined Event ^^
Überzeugter Episode 2 Hasser[/font]
20.08.2002, 15:58 #129
Rhaegar
Beiträge: 296
Liste mit Animationen für NPCs? -
Im Skripteditor Konstanten anwählen und als Suchbegriff ANIMATION verwenden :) !
20.08.2002, 16:33 #130
Rhaegar
Beiträge: 296
Unsere kleine Neverwinter Bar Nummer 3. -
quote:
Zitat von Avrael

....daher sag ich mal nichts dazu. :D



Ich bin zwar erst seit einigen Tagen hier, aber das ist lange genug, dass auch ich mir ein Grinsen dazu nur schwerlich verkneifen kann :D !
20.08.2002, 16:47 #131
Rhaegar
Beiträge: 296
Story schreiben -
Ich paste am Besten einfach nochmal das fertige Skript hierhin, so wie's bei mir funtzt:
code\:

void main()
{if (GetLocalInt(OBJECT_SELF,"nAlreadyFired")==0)
{
object oWP1=GetWaypointByTag("bridgepatrol_waypoint_01");
object oWP2=GetWaypointByTag("bridgepatrol_waypoint_02");
object oWP3=GetWaypointByTag("bridgepatrol_waypoint_03");
object oWP4=GetWaypointByTag("bridgepatrol_waypoint_04");
object oWP5=GetWaypointByTag("bridgepatrol_waypoint_05");
object oGuardSit=GetObjectByTag("GuardSit");
object oMatte=GetObjectByTag("BedBeddingRolls");
location lMatte=GetLocation(oMatte);
vector vSpit=GetPosition(GetObjectByTag("CampfirewithSpit_1"));

SetLocalInt(OBJECT_SELF,"nAlreadyFired",1);
ActionMoveToObject(oWP1);
ActionMoveToObject(oWP2);
ActionMoveToObject(oWP3);
ActionMoveToObject(oWP4);
ActionMoveToObject(oWP5);
ActionMoveToObject(oGuardSit);
ActionDoCommand(SetFacingPoint(vSpit));
ActionWait(5.0);
ActionSpeakString("Hm, sieht lecker aus!");
ActionWait(4.0);
ActionMoveToObject(oWP1);
ActionMoveToObject(oWP2);
ActionMoveToObject(oWP3);
ActionMoveToObject(oWP4);
ActionMoveToObject(oWP5);
ActionMoveToObject(oWP1);
ActionWait(3.0);
ActionMoveToLocation(lMatte);
ActionDoCommand(SignalEvent(OBJECT_SELF,EventUserDefined(777)));
ActionDoCommand(ClearAllActions()));
ActionDoCommand(ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectSleep( ),OBJECT_SELF,20.0));
}
}



(die Bezeichner der Wegpunkte und Objekte sind bei mir eventuell ein wenig anders benannt; die musst du noch auf deine Bezeichner abäendern und die Wartezeiten hab' ich bei mir auch etwas kürzer, weil es sonst eine Plage ist das Skript zu testen.)

Zur btw-Frage: Bei Stuttgart in der Nähe.


___________________________

Verliebt in den UserDefined Event ^^
Überzeugter Episode 2 Hasser[/font]
20.08.2002, 16:54 #132
Rhaegar
Beiträge: 296
Story schreiben -
Also an den Waffen liegt's sicher nicht.
*überleg*
Du kannst ja auch mal dein Skript hierrein posten, dann schau' ich's kurz durch.

PS: Der Waechter ist bei dir aber kein Halbelf/Elf ,oder ;) ?
20.08.2002, 17:11 #133
Rhaegar
Beiträge: 296
Story schreiben -
Problem erkannt, Problem gebannt!

Ich dachte ich könnte es einfacher machen, hab' aber wohl nur vergessen es zu speichern nachdem ich es vereinfacht hatte, weshalb es dann natuerlich trotzdem noch funktioniert hat.

Einfach die beiden vorletzten Zeilen:
code\:

ActionDoCommand(SignalEvent(OBJECT_SELF,EventUserDefined(777)));
ActionDoCommand(ClearAllActions());



Durch
code\:

ActionDoCommand(DelayCommand(20.0,SignalEvent(OBJECT_SELF,EventUserDefined(777))));
ActionDoCommand(DelayCommand(20.0,ClearAllActions()));


ersetzen. Wobei nur wichtig ist, dass der Wert (hier 20.0) ungefähr 5 Sekunden größer ist als die Schlafdauer. Der Schlaf löscht nämlich die Actionqueue und deshalb müssen die beiden letzten Befehle zwar vor dem Schlaf in die Queue, werden aber durch das Delay trotzdem zur richtigen Zeit ausgeführt!


___________________________

Verliebt in den UserDefined Event ^^
Überzeugter Episode 2 Hasser[/font]
20.08.2002, 19:24 #134
Rhaegar
Beiträge: 296
Frauen erkunden die Spielewelt und das Internet -
Allerdings. Das "nie angreifen, sondern einigeln" ist geschlechterübergreifend. Das weiss jeder, der schonmal gegen mich ein Strategiespiel gezockt hat :D .

Es ist IMO ohnehin absoluter Blödsinn bei irgendwelchen Sachen immer gleich auf "geschlechtertypisches Verhalten" (was für ein Wort!) zu schliessen.

Jeder Mensch ist anders und das ist auch gut so. Ich hasse es wenn ich nach irgendwelchen Merkmalen für die ich nichts kann beurteilt werde, deswegen seh' ich auch nicht ein, warum andere sich auf diese Merkmale reduzieren lassen sollten.
20.08.2002, 23:28 #135
Rhaegar
Beiträge: 296
Manuelle Eingabe in Gesprächen ? -
quote:
Zitat von DTime
@Raegar
Sehr gutes Skript! Danke!



Gern geschehen. War eines meiner ersten Skripts überhaupt und hat mich damals knapp 4 Stunden gekostet, bis ich raushatte wie es geht *g*.
Hab's für eine Bedienung gebraucht, die bei Sätzen die ihren Namen enthält sowie ein Nahrungsmittel eine Bestellung aufnimmt.

Ist irgenwie Stylisher zu sagen "Jany bringt mir doch bitte einen Krug von diesem köstlichen Wein, den ihr im Keller habt!", als wenn man nur im Dialogfenster "Ein Wein bitte!" anklickt :) !

Hm, wenn einer da richtig Geduld haette koennte er mit NWN sowas machen wie damals bei den Legend-Adventures, wo man praktisch auf alles was man eingegeben hat irgendeine passende Reaktion bekommen hat.

Ach ja: Zur Chatbox...
Keinen Plan. Geht vermutlich nicht ohne ueber die Skriptsprache hinaus noch irgendwas zu programmieren.
21.08.2002, 10:10 #136
Rhaegar
Beiträge: 296
Story schreiben -
Seltsam. Bei mir klappt es einwandfrei mit deinem Skript (musste nur die Wegpunktbezeichner an mein Modul anpassen.)

Du kannst dir meinen Waechter ja mal im Modul anschauen, vielleicht fällt dir irgendwas auf, was du anders gemacht hast und woran's liegen koennte :Patroltest
21.08.2002, 18:55 #137
Rhaegar
Beiträge: 296
NPC sollen sich unterhalten und PC ignorieren - Re: NPC sollen sich unterhalten und PC ignorieren
quote:
Zitat von Ta'idan
Also 2 NPC sollen sich unterhalten
Problem 1 : Die unterhaltung soll in einer schleife laufen. Mach ich das dann bei OnHeartbeat rein und am Ende ClearAllActions ? Das Gespräch dauert ca 15sec und fängt dann von vorne an



Okay, um ein Problem, mit dem ich mich bevor ich das Ganze durchschaut habe ewig rumgeschlagen habe gleich mal aus dem Weg zu räumen:

Es gibt zwei Arten von Befehlen:
Actionbefehle und normale Befehle.

normale:Werden sofort ausgeführt sobald die Zeile in der sie stehen verarbeitet wird.
Actionbefehle: Werden auch sofort ausgeführt und legen eine Aktion auf die Actionqueue.Die Aktion an sich wird aber erst ausgeführt, wenn sie an der Reihe ist(stell' dir die Actionqueue wie eine To-Do-Liste vor).Der erste Befehl der ActionQueue wird (so vermute ich) erst ausgeführt wenn sämtliche Befehle des Skriptes durch sind.

ClearAllActions() löscht alle Aktionen von der ActionQueue ist aber selbst ein normaler Befehl.

Wenn du jetzt also z.B. folgendes Skript hast:
code\:

void main()
{ActionSpeakString("blabla");
ActionSpeakString("bla bla bla");
ActionSpeakString("papperlapapp");
ActionSpeakString("bla");
ClearAllActions();
}


macht der NPC was?

Genau ! Absolut gar nichts! Die ersten 4 Befehle legen zwar ihre Aktionen auf die Queue, aber sofort danach wird ClearAllActions() ausgeführt und die Queue ist blitzblank!

Deshalb muss ClearAllActions() auch in die Queue, damit es erst wenn alle Aktionen des aktuellen Skripts fertig sind loslegt.
Das erreichst du mit ActionDoCommand(ClearAllActions());

Obiges Beispiel würde korrigiert und funktionierend so aussehen:
code\:

[code]
void main()
{ActionSpeakString("blabla");
ActionSpeakString("bla bla bla");
ActionSpeakString("papperlapapp");
ActionSpeakString("bla");
ActionDoCommand(ClearAllActions());
}



Wenn du bei dir das Clear auch so umänderst solltest du einen Schritt weiter sein :) !


___________________________

Verliebt in den UserDefined Event ^^
Überzeugter Episode 2 Hasser[/font]
22.08.2002, 09:47 #138
Rhaegar
Beiträge: 296
What makes a true Hero/-ine? -
Hm, das ist nicht so einfach zu definieren.

Man könnte meinen, ein Held ist uneigennützig, mutig,stark und tritt für das Gute ein.

Aber dann gibt es so Leute wie Garrett aus Thief, die eigentlich nur ihre eigene Haut retten wollen und dadurch Unheil verhindern, oder der typische Held wieder Willen Frodo, der vom Strudel der Ereignisse zum Heldsein gezwungen wird.

Vermutlich ist Heldsein einfach, in einer schwierigen Situation das richtige zu tun, egal aus welchen Motiven.
22.08.2002, 17:14 #139
Rhaegar
Beiträge: 296
What makes a true Hero/-ine? -
quote:
Zitat von >X<en(O_O)n
Ich würde sagen, ein Held ist jeder, der sich ohne eigennützige Gedanken für andere einsetzt - das trifft übrigens sowohl auf den (rechtschaffenen) Dieben Garrett als auch auf den Ringträger Frodo zu.


*g* Uneigennützig würde ich Garrett nicht nennen. Immerhin war bei jedem Auftrag eins der Nebenziele einen bestimmten Betrag an Wertsachen zu stehlen ;). Und wenn man über die Uneigennützigkeit vielleicht noch streiten kann, so ganz sicher nicht über die Rechtschaffenheit. Denn Garrett ist ganz sicher alles andere als Rechtsschaffen (vor allem im ersten Teil)!
22.08.2002, 18:05 #140
Rhaegar
Beiträge: 296
What makes a true Hero/-ine? -
Hm, Krankenpfleger ist gar nicht sooo übel ;) .

Aber in einem PC-Rollenspiel muss das nun wirklich nicht sein.

Aber warum muss man immer gleich ein Weltenretter sein?
Warum kann ich nicht mal ein einfacher Kämpfer für das Gute oder meinetwegen für meine eigenen Interessen sein, der zwar einige große Taten vollbringt, aber stets im Schatten anderer steht und letztlich stirbt, ohne das jemand von seinen Taten Notiz nimmt.

Sowas wäre zur Abwechslung mal ganz nett :) !
22.08.2002, 18:22 #141
Rhaegar
Beiträge: 296
Wer das liest ist doof...... -
Hi erstmal :) !

Folgendes Skript bei "Erfolgte Aktionen" an der gewünschten Stelle im Dialog einbauen:

code\:

void main()
{
object oPC=GetPCSpeaker();
if (GetLocalInt(oPC,"nAlreadyServed")==0)
{SetLocalInt(oPC,"nAlreadyServed",1);
GiveXPToCreature(oPC,XP);//statt XP den gewuenschten Wert einfuegen
CreateItemOnObject("resref",oPC);}
}



Statt "resref" musst du hier den Vorlagen-resref eines (selbsterstellten) Gegenstandes angeben. Den findest du /kannst du ändern in den Eigenschaften des Gegenstandes unter "Erweitert".

Ach ja: Sollte ein Spieler das Spiel verlassen und reconnecten kann sich der NPC leider nicht mehr merken, dass er den Spieler schon versorgt hat. Wenn das Spiel jedoch gespeichert wird, merkt er es sich normalerweise.(Wird nur der Char. gespeichert nicht)


___________________________

Verliebt in den UserDefined Event ^^
Überzeugter Episode 2 Hasser[/font]
22.08.2002, 18:41 #142
Rhaegar
Beiträge: 296
What makes a true Hero/-ine? -
@HV: Loom von Brian Moriarty :) !

@Nimduril:Wohl wahr! Vor allem Paladine kann ich nicht ausstehen...
22.08.2002, 18:55 #143
Rhaegar
Beiträge: 296
What makes a true Hero/-ine? -
quote:
Zitat von TheAvatarX
Heyheyhey, nichts gegen Paladine, ja !!! Das sind die einzigst wahren Verfechter des Guten. Alle anderen sind doch in ihrer Einstellung immer recht wankelmütig...


Seh' ich genau so. Nur das ich das nicht als Pro-Paladin auffasse ;) !
22.08.2002, 19:11 #144
Rhaegar
Beiträge: 296
Wer das liest ist doof...... -
Kann ich nur zustimmen.
Hab' meine ersten Skripterfahrungen auch dort gesammelt. Unbedingt zu empfehlen :) !
22.08.2002, 19:13 #145
Rhaegar
Beiträge: 296
What makes a true Hero/-ine? -
*g* Und wieviele Monate hast du es gespielt, bevor dir das klar wurde :D ?
22.08.2002, 23:56 #146
Rhaegar
Beiträge: 296
What makes a true Hero/-ine? -
[OT]
Ich warte ja auch auf SW: G.Aber ehrlich gesagt bin ich auch etwas skeptisch.
Denn egal ob es sich perfekt zum RP eignet oder nicht:
Es wird Abertausende von PK-lern,Powergamern,L33t-Spe4kers,Möchtegern-Mauls und sonstigen Idioten geben, dafür sorgt schon die Lizenz.

So schön es auch wäre auf Corellia im Sonnenuntergang in aller Seelenruhe Rhyscate zu verdrücken, so störend wird es sein, wenn dabei der örtliche 5.-Klässlerverband im Hintergrund zu "Roger that" und "Enemy spotted" irgendwelche Mobs killt :( !
[/OT]
23.08.2002, 11:10 #147
Rhaegar
Beiträge: 296
What makes a true Hero/-ine? -
Ich nehme mal an arbeiten, mit den Nachbarn plauschen und abends in der Dorftaverne über die Erlebnisse des Tages usw. reden. Hört sich langweilig an, aber wenn die richtigen Leute mitspielen kann so sicher auch eine schöne Mittendrin-Atmosphäre aufkommen.
23.08.2002, 21:24 #148
Rhaegar
Beiträge: 296
Romanzen? Schlechter Witz wohl! *Spoiler* -
Na ja, Aribeth hat ja eine gute Entschuldigung.Aber das Aarin faul in der Burg rumhängt während man selbstlos dem Bösen trotzt ist schon schwach.
23.08.2002, 21:31 #149
Rhaegar
Beiträge: 296
Romanzen? Schlechter Witz wohl! *Spoiler* -
*Aribeth verteidig* *g*

Spoiler! (zum lesen Text markieren)

Öhm, also bei mir war sie wegen Hochverrats hinter Gittern am Ende.



Das find' ich eigentlich eine ziemlich starke Entschuldigung ;) !

Davon abgesehen: Vermutlich lag's daran, das bei NWN eben der Fokus von Anfang an mehr auf Multiplayer lag'. Ist zwar schade, aber letztlich kann in Sachen Romanze eh' kein Spiel mit der Realität mithalten ;) (ok, FF vielleicht *g*).
23.08.2002, 21:33 #150
Rhaegar
Beiträge: 296
Seltsame Abstürze -
Also bei mir läuft's absolut problemlos unter Win98...
Seite 6 von 12 « Erste 2  3  4  5  6  7  8  9  10 Letzte »