World of Gothic Archiv Alle Beiträge von Hanah |
|
12.08.2002, 16:54 | #1 | ||
Hanah Beiträge: 11 |
Diebes-XP-Script - Diebes-XP-Script
Moinmoin! Obwohl dies mein erstes Posting ist, ist mir das Forum nicht fremd. :D Ich habe im NWN-Forum ein paar Diebes-XP-Scripts gesehen und versucht, sie so umzuwandeln, dass man direkt mit dem Laden des Moduls als Dieb bei Benutzen des Skills anwenden kann. Leider funktioniert es nicht. (Vielleicht hätte ich mich als Scripting-Newbie an was leichteres ranwagen sollen. ) Kann jemand helfen? Hier der Code: object oPC = GetEnteringObject(); void main() { int nPosition; int nRogueTrue; for (nPosition = 1; nPosition = 2; nPosition = 3); nRogueTrue = GetLocalInt(oPC, (GetClassByPosition(nPosition, oPC)); } if (nRogueTrue = CLASS_TYPE_ROGUE); { object oLocked = (OBJECT_TYPE_DOOR, OBJECT_TYPE_PLACEABLE); if oPC = ActionUseSkill(SKILL_OPEN_LOCK, object oLocked); { float EXP_MULTIPLIER = 1.5; int nLockDC = GetLockUnlockDC(oLocked); int nXPGain = FloatToInt(IntToFloat(nLockDC) * EXP_MULTIPLIER); GiveXPToCreature(oPC, nXPGain); } object oTrapped = (OBJECT_TYPE_AREA_OF_EFFECT, OBJECT_TYPE_DOOR, OBJECT_TYPE_PLACEABLE); if oPC = ActioinUseSkill(SKILL_DISABLE_TRAP, object oTrapped); { float EXP_MULTIPLIER = 1.5; int nTrapDC = GetTrapDisarmDC(oTrapped); int nTrapType = GetTrapBaseType(oTrapped); string sTrapThreat = "11241233233423443345344534551122123311221122"; int nXPGain = FloatToInt(IntToFloat(nTrapDC) * EXP_MULTIPLIER * StringToFloat(GetSubString(sTrapThreat,nTrapType,1))); GiveXPToCreature(oPC, nXPGain); } } Danke! |
||
12.08.2002, 18:29 | #2 | ||
Hanah Beiträge: 11 |
Diebes-XP-Script -
Gemacht. Habe mir gerade ein Tutorial runtergeladen. (Das zu C.) Obwohl Du wahrscheinlich recht hast mit dem nicht verstehen, ist es nicht so, als wenn ich mir nichts dabei gedacht hätte. Wenn ich Dich recht verstehe, wird es so, wie es jetzt ist, trotzdem nicht funzen, oder? |
||
14.08.2002, 15:23 | #3 | ||
Hanah Beiträge: 11 |
Absturz bei Tot?! -
Stellt sich die Frage, ob bei "Eigenschaften des Moduls" in der Rubrik "OnPlayerDeath" etwas verändert werden muss. |
||
14.08.2002, 15:25 | #4 | ||
Hanah Beiträge: 11 |
Diebes-XP-Script -
Wie kommt es nur, dass ich mich von Deinen KOmmentaren angegriffen fühle? ;) |
||
14.08.2002, 16:13 | #5 | ||
Hanah Beiträge: 11 |
Diebes-XP-Script -
Danke für den Tip. ;) Ich arbeite gerade ein Buch mit dem Titel: "easy C++" durch und hoffe, danach mehr machen zu können. Scripte, die ich bei Schlössern oder Fallen einfügen kann, habe ich schon. die funzen auch. Meine Idee war es, bei OnEnter des Moduls gleich die Anweisung zu geben, dass ein PC, der die Talente "Fallen entschärfen" und "Schlösser öffnen" benutzt, von vornherein die Möglichkeit bekommt, Erfahrungspunkte zu sammeln, ohne dass ich das jedesmal neu eingeben muss. |
||
14.08.2002, 17:00 | #6 | ||
Hanah Beiträge: 11 |
Diebes-XP-Script -
Obwohl ich die Kritk ernst nehme und weiter an dem Buch arbeite, habt Ihr zwei mir ne Menge Arbeit erspart! Wenn man solche Dinge nicht im OnEnterScript einfach hinbiegen kann, putz ich mir auch mal all die anderen kleinen Änderungen, die mir im Koopf rumschwirren, von der Backe! :D Vielen Dank! |
||
18.08.2002, 19:16 | #7 | ||
Hanah Beiträge: 11 |
PC, Henchman und Gefährten/Herbeigezauberte teleportieren -
Porbiert hab ichs noch nicht, aber prinzipiell müsstest Du folgendes anhängen können: AssignCommand(GetAssociate(ASSOCIATE_TYPE_FAMILIAR,oPC),JumpToObject(oTa rget)); AssignCommand(GetAssociate(ASSOCIATE_TYPE_HENCHMAN,oPC),JumpToObject(oTa rget)); |
||
18.08.2002, 19:21 | #8 | ||
Hanah Beiträge: 11 |
DiebesXP die zweite - DiebesXP die zweite
Diesmal hab ich mich belesen, Kurse absolviert und fühle mich etas sicherer im Scripten. Das nachfolgende Script soll bei "OnUnlock" von Kisten und Türen dem aufschliessenden Dieb Xp geben. Kompiliert wurde es fehlerfrei, aber die Xp lassen in der Ausfürhung auf sich warten. Was mache ich falsch? //Start bei OnUnlock von Kisten und Tueren //flexible XP durch Anpassung an Skill // kreiert von Hanah im August 02 void main() { float EXP_MULTIPLIER = 1.5; object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC, OBJECT_SELF); object oChest = OBJECT_SELF; int nSkill = GetSkillRank (SKILL_OPEN_LOCK, oPC); int nChestDC = GetLockUnlockDC(oChest); int nXPGain = FloatToInt(IntToFloat(nChestDC) * EXP_MULTIPLIER - nSkill); GiveXPToCreature(oPC, nXPGain); } Danke für die Hilfe! |
||
18.08.2002, 19:42 | #9 | ||
Hanah Beiträge: 11 |
Hakpacks?? -
Unter "Eigenschaften des Moduls - erweitert" läßt sich jeweils ein HakPak einbinden. Wegen der danach stattfindenden Warnung hab ichs bisher gelassen. Darum weiss ich auch nicht, wo dann der Inhalt erscheint. |
||
19.08.2002, 05:47 | #10 | ||
Hanah Beiträge: 11 |
portal -
Versuch mal, dem Portal einen Wegpunkt zu geben, und diesen mit dem Rückrufstein zu verbinden. |
||
28.08.2002, 13:14 | #11 | ||
Hanah Beiträge: 11 |
Nochmal ne Frage wegen den Hak Packs -
In den Moduleigenschaften kann man maximal eine HakPak-Ressource angeben - soweit stimmt das. Andererseits gibts bei NWN-Vault auch eine HakPak-Combine-Ressource, um verschiedene HakPaks miteinander zu verbinden. Damit kann man dann auch mehr als nur einen HakPak einbinden. Allerdings muss der HakPak dann bei posten des Moduls ebenfalls dadbei sein, weil es sonst bei anderen nicht läuft. |
||
|