Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Mort et à poil
Mort et à poil
Par Verchanal le 9/2/2003 Ã 0:52:19 (#3199343)
Script "pluskapoil"
/**********************************
Script: Drop Items To Corpse
Created By: Jaden Wagener
Created On: 08/29/02
**********************************/
//Drops all player's equipment and half of gold onto the corpse.
//Combination of Diablo I and II death styles.
//Script should be placed in module's OnDeath slot
void main()
{
//Set variables
int xCount, xGold;
object xPC, xCorpse, xItem;
location xLoc;
//Get player and find locations
xPC = GetLastPlayerDying();
xLoc = GetLocation(xPC);
//Create corpse at player's feet
xCorpse = CreateObject(OBJECT_TYPE_PLACEABLE,"corpse002",xLoc);
//Drop equipment on corpse
for (xCount = 1; xCount < 15; xCount++)
{
switch (xCount)
{
case 1: xItem = GetItemInSlot(INVENTORY_SLOT_ARMS,xPC); break;
case 2: xItem = GetItemInSlot(INVENTORY_SLOT_ARROWS,xPC); break;
case 3: xItem = GetItemInSlot(INVENTORY_SLOT_BELT,xPC); break;
case 4: xItem = GetItemInSlot(INVENTORY_SLOT_BOLTS,xPC); break;
case 5: xItem = GetItemInSlot(INVENTORY_SLOT_BOOTS,xPC); break;
case 6: xItem = GetItemInSlot(INVENTORY_SLOT_BULLETS,xPC); break;
case 7: xItem = GetItemInSlot(INVENTORY_SLOT_CHEST,xPC); break;
case 8: xItem = GetItemInSlot(INVENTORY_SLOT_CLOAK,xPC); break;
case 9: xItem = GetItemInSlot(INVENTORY_SLOT_HEAD,xPC); break;
case 10: xItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,xPC); break;
case 11: xItem = GetItemInSlot(INVENTORY_SLOT_LEFTRING,xPC); break;
case 12: xItem = GetItemInSlot(INVENTORY_SLOT_NECK,xPC); break;
case 13: xItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,xPC); break;
case 14: xItem = GetItemInSlot(INVENTORY_SLOT_RIGHTRING,xPC); break;
}
if (GetIsObjectValid(xItem))
{
AssignCommand(xCorpse,ActionTakeItem(xItem,xPC));
}
}
//Now drop half of player's gold.
xGold = (GetGold(xPC)/2);
AssignCommand(xItem,TakeGoldFromCreature(xGold,xPC,FALSE));
//Now let's pop the death GUI
DelayCommand(2.5, PopUpDeathGUIPanel(xPC,TRUE,TRUE));
}
et script de téléport selon alignementvoid main()
{
object oTargetHeaven = GetWaypointByTag("WP_HEAVEN");
location lTargetHeaven = GetLocation(oTargetHeaven);
object oTargetHell = GetWaypointByTag("WP_HELL");
location lTargetHell = GetLocation(oTargetHell);
object oTargetPurg = GetWaypointByTag("WP_PURG");
location lTargetPurg = GetLocation(oTargetPurg);
effect eRespawnHell = EffectVisualEffect(VFX_FNF_SUMMON_GATE);
effect eRespawnPurg = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
effect eRespawnHeaven = EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL);
object oRespawner = GetLastRespawnButtonPresser();
if (GetGoodEvilValue(oRespawner) = 30) && (GetGoodEvilValue(oRespawner) = 71)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eRespawnHeaven, oRespawner);
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
AssignCommand(oRespawner, JumpToLocation(lTargetHeaven));
}
}
en quoi sont ils incompatibles?
le script fait respawner le pj sur place, sans l'envoyer la ou il devrait aller selon son alignement
Par Azrael07 le 9/2/2003 Ã 7:01:09 (#3200139)
bon y'a une balise de sitation c deja pas mal, mais le top ce serais des balises php, on y verais encore mieux (tu édite ton message et tu replaces les "quote" par des "php"
j'esserais de regarder des qu'elles y seront ;)
Par Jedaï le 9/2/2003 à 11:16:35 (#3200624)
Si tu as essayé de les combiner sur un seul emplacement (le OnRespawn non ?) ça ne marchera pas !
Par Verchanal le 9/2/2003 Ã 22:58:57 (#3204270)
Par Jedaï le 9/2/2003 à 23:21:44 (#3204352)
En tout cas il n'y a aucune raison évidente, je n'aurais peut-être pas écris le script de respawn comme ça mais il devrait marcher...
Tu as vérifié les tags ?:confus:
[Edit] As-tu essayer de rajouter des DelayCommand() devant les AssignCommand( JumpToLocation() ) ?
Par Verchanal le 10/2/2003 Ã 0:30:09 (#3204674)
Si j'en active qu'un, il marche, l'autre aussi mais les deux ensemble non.
[edit]
Avec un DelayCommand (2.5, ça fonctionne sauf que le PC respawn sans avoir perdu quoi que ce soit, ni or, ni objet.
JOL Archives 1.0.1
@ JOL / JeuxOnLine