BioWare Forums: View Post For Code Display


You are viewing a single post. Please do not take this post out of context.
Read the full topic: Post Working Scripts Here

Author Sticky: Post Working Scripts Here
Luminous Posted: Friday, 26 July 06:26AM
1. Orcish Wrestling
2. Another script for my House of Games, this is for a large Half-Orc (but can be used for anyone). The idea is the player pays 5 gold pieces to wrestle - more like Indian Wrestling. If the player is able to knock the wrestler down, the player gets 10 gold. If the player is knocked down, the player gets nothing except laughed at.

I don't think the animations are working quite right, it may have something to do with the timing. They are flavor anyway and not necessary for the core function.

3. The script is a straight out Opposed Strength check, but can be modified with certain other variables. It could be used to give a new skill (wrestling) to the character which could then be used as a modifier in future matches. I'm going to put in a LocalInt which counts a person's victories, over 3 and the wrestler won't wrestle. This also requires the NPC to have the tag 'wrestler' or change that part of the script to whatever tag you want.

NWScript:
//::///////////////////////////////////////////////
//:: Name Orcish Wrestling
//:: FileName opt_orcishwrestle
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
*/
//:://////////////////////////////////////////////
//:: Created By: Sean D. Francis
//:: Created On: 7/25/2002
//:://////////////////////////////////////////////
void main()
{
    object oPC = GetPCSpeaker();
    object oNPC = GetObjectByTag("wrestler");
    int nGold = GetGold(oPC);
    int nPCSTR = GetAbilityScore(oPC, ABILITY_STRENGTH);
    int nPCSTR_MOD = (nPCSTR/2)-5;
    int nNPCSTR = GetAbilityScore(oNPC, ABILITY_STRENGTH);
    int nNPCSTR_MOD = (nNPCSTR/2)-5;

    int nNPCDC = d20(1) + nNPCSTR_MOD;
    int nPCSKILLCHECK = d20(1) + nPCSTR_MOD;
    ClearAllActions();
    if (nGold - 5 >= 0)
 {
TakeGoldFromCreature(5, oPC, FALSE);
AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_TAUNT));
    if (nPCSKILLCHECK > nNPCDC)
    {
    AssignCommand(oPC, ActionPlayAnimation(ANIMATION_FIREFORGET_VICTORY1));
    ActionSpeakString("Arrgh, my ass! You've bested me at my own game!", TALKVOLUME_TALK);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectKnockdown(), oNPC, 1.0f);
    GiveGoldToCreature(oPC, 10);
    DelayCommand(3.0, RemoveEffect(oNPC, EffectKnockdown()));
    }
    else
    {
    AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_VICTORY1));
    ActionSpeakString("I win again! Good effort though, try again when you gain some strength", TALKVOLUME_TALK);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectKnockdown(), oPC, 1.0f);
    DelayCommand(3.0, RemoveEffect(oPC, EffectKnockdown()));
    }
    }
else
{
ActionSpeakString("You don't have enough gold to wrestle me, come back when you get some!", TALKVOLUME_TALK);
}
}


sdf2008@stygianlabyrinth.net
http://nwn.nideanet.com/

This post taken from the BioWare Forums
Powered by BioBoards Version 2.05.011
Please read our Copyright and Trademark Information