World of Gothic Archiv > NWN-Hilfe
Nackt, einsam und verlassen.
Seite 1 von 1  1 
06.07.2003, 21:01 #1
Alamar
Beiträge: 4.050
Nackt, einsam und verlassen.
Wie mach ich es, dass mein Char ohne Ausrüstung und auf dem Boden liegend startet? Also so wie bei Witch's Wake? :)
Oder wo gibts Tutorials dafür?

Da ich wahrscheinlich eh keiner meldet schau ich mal bei Bioware nach
07.07.2003, 10:25 #2
RPG's4ever
Beiträge: 83

Juhuu, seit 17 Tagen der erste post, das muss gefeiert werden ! Ich kann zwar nicht scripten, aber vielleicht muss man bei den Gebietseigenschaften unter onEnter ein Script einfügen, dass der Pc schläft! Musst mal die Kampagnen Module durchstöbern, da müsste es so was geben.
07.07.2003, 10:50 #3
mad-nic
Beiträge: 56

Nicht schläft, aber die Todesanimation würde ich da einfügen...

Schau halt einfach mal die Scripts in WW an?
07.07.2003, 11:14 #4
Alamar
Beiträge: 4.050

Hm... gut, dank RPG weiß ich jetzt WO ich schauen muss, bei onEnter, ja? :)

Nö klappt nicht, zwar ist bei WW alles schön kommentiert, aber ich muss ja auch erst die ganzen Variablen festlegen und dann muss ich auch noch sagen, dass ich nur EINMAL schlafen soll und nicht immer wenn ich den Raum betrete.
08.07.2003, 19:43 #5
Kardor
Beiträge: 523

Mensch da ist man einmal nicht da und schon rumpelts hier im Editor-Forum, dass alles zu spät ist...;)

also wenn noch Interesse besteht post ich dir morgen mal ein entsprechendes script...allerdings nimmer heute, hab keine Zeit und das beste Tutorial für den Einstieg ins scripting hat IMO neverwinternights.de (ich würd dir nen kompletten link schicken aber die Seite ist momentan down :( )

Das schöne an dem tutorial ist, dass es nicht technisch sondern eher in Rollenspielersprache geschrieben ist, das hat mir geholfen zum ersten mal Objektorientierte Programmierung zu verstehn...
08.07.2003, 20:06 #6
Alamar
Beiträge: 4.050

Fein fein, hat Zeit :)
Ich bekomm ja nichtmal hin, dass nem Objekt ne Variable zugeordnet wird... nächstes Schuljahr hab ich Informatik, dann werd ich die Infos wahrscheinlich brauchen können ;)
08.07.2003, 20:53 #7
Acrylium
Beiträge: 656

Wenn ich das hier so lese bekomm ich fast Lust mich auch mal am Editor zu versuchen.

Leider fehlt mir die Zeit dafür, da ich ja nicht mal genug Zeit habe SoU und wenigstens die offizielen Module zu spielen. Und dann kommt da ja auch noch das "City-of-Doors"-Projekt auf das ich voller Spannung warte...
09.07.2003, 01:40 #8
Kardor
Beiträge: 523

sooo wie versprochen...:

code\:

///////////////////////////////////////////////
//Nackt Einsam und Verlassen ///
//by Sependon ///
//modified by Kardor ///
//29/09/02 bzw. 08/07/04 ///
///////////////////////////////////////////////




void main()
{

object oPC = GetEnteringObject();
// oPC = Char, der sein Gepaeck verliert
object oItem;
effect eOver;

int iElf = GetRacialType(oPC);
//Rasse von oPC pruefen

if( iElf == RACIAL_TYPE_HALFELF || iElf == RACIAL_TYPE_ELF)
{eOver=EffectKnockdown();}
else{eOver = EffectSleep();}
//falls oPC ein Elf oder Halbelf ist wird statt dem Sleep ein Knockdowneffekt durchgefuehrt


if (GetIsPC(oPC) && GetLocalInt(oPC, "InventarSchonGeleert") == 0)
// Schaut, ob das Inventar schon mal geleert wurde und ob der oPC ein Spieler ist
{

object oGetter = GetObjectByTag("Kiste");
oItem = GetFirstItemInInventory(oPC);
while ( GetIsObjectValid(oItem) )
{

ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eOver, oPC,20.0 );
//hiermit schicken wir oPC 20.0 Sekunden auf die Matte

AssignCommand(oGetter,ActionTakeItem(oItem, oPC));
oItem = GetNextItemInInventory(oPC);
}

if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_BELT, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_NECK, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}
if ( OBJECT_INVALID != (oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC)) )
{AssignCommand(oGetter,ActionTakeItem(oItem, oPC));}

AssignCommand(oGetter,TakeGoldFromCreature(GetGold(oPC),oPC,FALSE));

// Variable setzen, damit das Script kein 2 mal laueft
SetLocalInt(oPC, "InventarSchonGeleert", 1);




}

}







Damit es funktioniert brauchst du irgendwo in deinem Modul eine Kiste (oder Schrank o.ä.) mit dem Tag "Kiste".

Das ganze packst du am sinnvollsten ( also so würd ichs auf jeden fall machen) ins OnEnter Feld eines Auslösers und in diesen Auslöser plazierst du den Startpunkt deines Moduls.
In der Kiste mit dem tag Kiste finder dein Charakter übrigens alle seine Sachen wieder...wenn du das nicht möchtest, kannst du die Kiste ja irgendwo platzieren wo kein Spieler hinkommt, aber wenn dich deine Spieler nicht hassen sollen würd ich ihnen schon ne Möglichkeit geben ihr Zeugs wieder zu finden...verfluchen werden sie dich schon alleine dafür, das sie ihr Inventar wieder einräumen und ordnen müssen ich hatte sowas mal in ein Modul eingebaut bei dem ich DM war...das gab böse Worte...

naja ich geh jetzt mal schlafen...

//EDIT : So hab das script nochmal verbessert, falls du es dir schonmal geholt hast einfach nochmal copy&pasten...
Jetzt erwischt es auch Elfen, diese schlafen zwar nicht, (das ist nicht möglich) aber sie haben den knockdown effekt, gehen also in die Knie und können sich ebenfalls für 20 sekunden nicht bewegen...Schnarchen entfällt, sieht eh doof aus.


___________________________

Pilze Band I - das NWN Modul ;)
Niemand hat die Absicht eine Mauer zu baun. Außer uns!
[/font]
09.07.2003, 16:36 #9
Alamar
Beiträge: 4.050

Whie danke es klappt :)
Dooonkeeee!!
09.07.2003, 18:18 #10
Kardor
Beiträge: 523

´türlich geht das...werd hier doch wohl keinen Mist posten. ;)

hier ist der link zu dem scriptkurs , den ich meinte ist imo echt genial um überhaupt die grundlagen zu verstehn : http://www.neverwinternights.de/tut...s_lektionen.php

und unverzichtbar und goldwert, das nwn-lexicon:

http://www.reapers.org/nwn/reference/
09.07.2003, 18:30 #11
Alamar
Beiträge: 4.050

Gibts das ganze auch in einer Druckversion... oder zumindest Normal geschrieben
Ich kann es einfach nicht ab, wenn man mir ne Anleitung o.ä. in RP Schreibstil präsentiert, da blick ich noch weniger durch.
09.07.2003, 19:19 #12
Kardor
Beiträge: 523

tja wenn du den stil nicht magst... ich fands gut, weil ich am Anfang mit den technisch gehaltenen Tutorials wenig anfangen konnte...

dann schau dir mal lieber die tuts vom lexicon an, sind halt auf englisch aber ziemlich gut
Seite 1 von 1  1