La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 20:17:03
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Raudgers Ecuyer Messages: 46 Localisation: En furtif à coter de toi... |
Voila alors ce dont j'ai besoin est assez simple et mit en place sur pas mal de server, mais je n'en trouve aucune trace sur ce forum.
Un script contre le désarmement, si un joueur est désarmer, l'arme au lieu de tomber par terre, retourne directement dans l'inventaire du joueur qui c'est fait désarmer. Merci a ceux qui me fileront un coup de pouce la dedans, d'auttent plus que pas mal de monde cherche ce scrypt. _________________ I need your help.Give light to me please. J'ai besoin de votre aide. Donnez-moi la lumière s'il vous plaît. |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Il faudrait trouver le script de désarmement dans la liste... J'ai regardé vite fait en cherchant "disarm" mais je n'ai pas trouvé. Si qqun sait lequel c'est, ce sera normalement très simple de le modifier pour que l'arme ne tombe plus mais reste dans l'inventaire du joueur désarmé.
_________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII |
Revenir en haut | |
Raudgers Ecuyer Messages: 46 Localisation: En furtif à coter de toi... |
Voila, alors j'ai trouver le script d'un de mes ami tres doué mais en vacance, il la poster sur le vault mais je ne suis pas sur de bien le comprendre :
NWScript : #include "nw_i0_generic" #include "x2_inc_switches" //Script to create and re-equip the weapon void CreateEquip(object oItem, object oTarget) { oItem = CreateItemOnObject(GetResRef(oItem), oTarget); if(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oTarget) == OBJECT_INVALID) AssignCommand(oTarget, ActionEquipItem(oItem, INVENTORY_SLOT_RIGHTHAND)); else AssignCommand(oTarget, ActionEquipItem(oItem, INVENTORY_SLOT_LEFTHAND)); } void main() { int nEvent = GetUserDefinedItemEventNumber(); if (nEvent == X2_ITEM_EVENT_ACTIVATE) // OnActivateItem Only!!...silly me. { //Basic Variables object oItem = GetItemActivated(); object oPC = GetItemActivator(); object oTarget = GetItemActivatedTarget(); object oNewItem; float fDistance = GetDistanceBetween( oPC, oTarget ); int nBaseAtt = GetBaseAttackBonus(oPC); int nPenalty; int bHit; effect eVisualThrow = EffectBeam(VFX_BEAM_CHAIN, oPC, BODY_NODE_HAND); // Firing effect //Stats for the weapon float fIncrement = FeetToMeters(20.0); //increment in meters for each range area (Close, short, med, long) float fMaxRange = 5 * fIncrement; //Max Range int iReturn = TRUE; //Will the weapon return int iKeen = FALSE; //Is the weapon Keen int nCritMin = 20; //Minimum roll for crit int nCritMod = 2; //Critical Hit Multiplier int nDamage = d8() +nBaseAtt; //Damage roll, This should match the weapons normal dmg nDamage += GetAbilityModifier(ABILITY_STRENGTH, oPC); //Plus Strength Mod effect eDamage = EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING);//Damage Type if (GetHasFeat(FEAT_WEAPON_SPECIALIZATION_WAR_HAMMER,oPC)) //Check for Weapon Spec nDamage = nDamage + 2; if (GetHasFeat(FEAT_WEAPON_FOCUS_WAR_HAMMER,oPC)) //Check for Weapon Focus nPenalty--; if (GetHasFeat(FEAT_IMPROVED_CRITICAL_WAR_HAMMER,oPC)) //Check for Improved Crit nCritMin--; //Make sure they dont hurt themselves...silly dwarves. if( oTarget == oPC ) { SendMessageToPC(oPC,"You can't THROW a hammer at yourself!!"); return; } //Make sure the weapon is equipped if( GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC)!= oItem && GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC) != oItem) { SendMessageToPC(oPC,"You must equip your weapon!"); return; } //Make sure the target exist if( oTarget == OBJECT_INVALID ) { SendMessageToPC(oPC,"You must target a valid object!"); return; } //Make sure target is in range if (fDistance > fMaxRange) { SendMessageToPC(oPC,"Your Target is Out of Range"); return; } //Determine penalty via distance to target / increment nPenalty = nPenalty + (FloatToInt(fDistance / fIncrement) - 1); //modify penalty to reflect dex modifier nPenalty = nPenalty - GetAbilityModifier(ABILITY_DEXTERITY, oPC); int nRoll = d20(); //roll to see if it hit. AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVisualThrow, oTarget, 0.15)); if (nRoll - nPenalty + nBaseAtt >= GetAC(oTarget)) bHit = TRUE; //On hit: if (bHit == TRUE) { switch(Random(3)+1) { case 1: PlayVoiceChat(VOICE_CHAT_PAIN1,oTarget); break; case 2: PlayVoiceChat(VOICE_CHAT_PAIN2,oTarget); break; case 3: PlayVoiceChat(VOICE_CHAT_PAIN3,oTarget); break; } oNewItem = CreateObject(OBJECT_TYPE_ITEM, GetResRef(oItem), GetLocation(oTarget)); DestroyObject(oItem); if (iKeen == TRUE) //Is Weapon Keen? (left this incase we ever want to use it) { nCritMin = 20 - ( (20 - nCritMin) * 2); } if (iReturn == TRUE) //Does Weapon Return? { AssignCommand(oPC, SendMessageToPC(oPC, "Your " + GetName(oNewItem) + " returns to your hand.")); AssignCommand(oPC, CreateEquip(oNewItem, oPC)); DelayCommand(0.5, DestroyObject(oNewItem)); } SendMessageToPC(oPC, "Attack Roll: " + IntToString(nRoll) + " Range Penalty: " + IntToString(nPenalty) +" = "+IntToString(nRoll-nPenalty)+ "): Hit"); if (nRoll >= nCritMin) //above threat range? { if ( d20()-nPenalty > GetAC(oTarget)) //is it a real crit? { SendMessageToPC(oPC, "Critical Hit!"); nDamage = nDamage * (nCritMod); SendMessageToPC(oPC, "Hit " + GetName(oTarget) + " for " + IntToString(nDamage) + " damage."); eDamage = EffectLinkEffects(EffectDamage(nDamage),eDamage); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oTarget); } } else //not a crit { SendMessageToPC(oPC, "Hit " + GetName(oTarget) + " for " + IntToString(nDamage) + " damage."); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oTarget); } } //On Miss: else { oNewItem = CreateObject(OBJECT_TYPE_ITEM, GetResRef(oItem), GetLocation(oTarget)); DestroyObject(oItem); SendMessageToPC(oPC, "Attack Roll: " + IntToString(nRoll) + " Range Penalty: " + IntToString(nPenalty) +"="+IntToString(nRoll-nPenalty)+": Miss"); if (iReturn == TRUE) //Does Weapon Return? { SendMessageToPC(oPC, "The " + GetName(oItem) + " skitters across the ground after missing its mark."); AssignCommand(oPC, DelayCommand(1.0, SendMessageToPC(oPC, "Your " + GetName(oNewItem) + " begins to return to you."))); AssignCommand(oPC, DelayCommand(1.0, CreateEquip(oNewItem, oPC))); DelayCommand(1.5, DestroyObject(oNewItem)); } else { SendMessageToPC(oPC, "The " + GetName(oItem) + " skitters across the ground after missing its mark."); } } if(oTarget!=OBJECT_INVALID) { if (!GetIsFighting(oTarget)) { AssignCommand( oTarget, ActionAttack(oPC)); AssignCommand( oTarget, SetSummonHelpIfAttacked()); AssignCommand( oTarget, SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK)); AssignCommand( oTarget, SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK)); } } return; } } _________________ I need your help.Give light to me please. J'ai besoin de votre aide. Donnez-moi la lumière s'il vous plaît. |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Ce n'est pas le script de désarmement ça
_________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII |
Revenir en haut | |
Raudgers Ecuyer Messages: 46 Localisation: En furtif à coter de toi... |
Oui, en relisant je m'en suiis rendu compte, et j'ai aussi remarquer qu'il ny as aucun script qui gere le désarmement, je continu mes recherches.
_________________ I need your help.Give light to me please. J'ai besoin de votre aide. Donnez-moi la lumière s'il vous plaît. |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Page 1 sur 1 ¤
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum