The World of Layonara  Forums

Author Topic: Ideas  (Read 183 times)

Thomas

  • Jr. Member
  • **
    • Posts: 47
      • View Profile
    Ideas
    « on: June 20, 2005, 06:38:00 pm »
    First, I would like to say thanks to Leanthar and the staff for all their work they've put into this great online world. I have been playing here a few months now, and have gotten a few ideas that I think would improve the world even more.   Ideas  1. When a person is crafting there is a lot of text, so it makes it difficult to spot a tell from another player while crafting, this is compounded by the green text in the crafting messages. I think changing all the crafting text to the normal color would make it a lot easier to spot tells while crafting.  2. After awhile some of the scripted quest reward items can become useless to different characters. As far as I can see, the only way to get rid of them atm, is to ask a dm to remove it for you. To save the players and dms time, a simple system could be implemented in game to allow the player to remove these useless items. Basically, they could talk to an npc, choose what item they want to delete and then a script would delete the item. I was thinking of designing a system that could do this if such a thing is wanted in Layonara (to save Orth the time :) ).  3. The current system of feeding chickens and cows can be quite entertaining watching them fight over the grain, but a different way to do this could be when you talk to the chicken or cow, a script checks to see if you have corn and then if you do, you choose a option in the conversation to feed the cow or chicken. This system would contribute less lag then the present system I think.  4. It can be quite distracting in game with seeing other people's conversations with oxen, chickens, cows, familiars and the banker. One way of dealing with this could be to make all of these conversations private. I looked into doing this and by making the following changes to two Bioware scripts this could be accomplished.      
    Quote
     //::////////////////////////////////////////////////// //:: NW_C2_DEFAULT4 /*   Default OnConversation event handler for NPCs.   */ //::////////////////////////////////////////////////// //:: Copyright (c) 2002 Floodgate Entertainment //:: Created By: Naomi Novik //:: Created On: 12/22/2002 //::////////////////////////////////////////////////// //:: Editied By: Thomas Howlett //:: Editied On: June 20, 2005 //::////////////////////////////////////////////////// #include "nw_i0_generic"  void main() {     // * if petrified, jump out     if (GetHasEffect(EFFECT_TYPE_PETRIFY, OBJECT_SELF) == TRUE)     {         return;     }      // * If dead, exit directly.     if (GetIsDead(OBJECT_SELF) == TRUE)     {         return;     }      // See if what we just 'heard' matches any of our     // predefined patterns     int nMatch = GetListenPatternNumber();     object oShouter = GetLastSpeaker();      if (nMatch == -1)     {         // Not a match -- start an ordinary conversation         if (GetCommandable(OBJECT_SELF))         {             ClearActions(CLEAR_NW_C2_DEFAULT4_29);  //----------------------------------Edit--------------------------------------//             //If the object the pc is talking to is a ox or chicken or cow or the banker              if(GetResRef(OBJECT_SELF)=="ox" || GetResRef(OBJECT_SELF)=="chicken" || GetResRef(OBJECT_SELF)=="bank" || GetResRef(OBJECT_SELF)=="cow")                 //Starting a privite converstation                 AssignCommand(OBJECT_SELF, ActionStartConversation(oShouter, "", TRUE, FALSE));             else                 BeginConversation(); //--------------------------------End Edit------------------------------------//         }         else         // * July 31 2004         // * If only charmed then allow conversation         // * so you can have a better chance of convincing         // * people of lowering prices         if (GetHasEffect(EFFECT_TYPE_CHARMED) == TRUE)         {             ClearActions(CLEAR_NW_C2_DEFAULT4_29);             BeginConversation();         }     }     // Respond to shouts from friendly non-PCs only     else if (GetIsObjectValid(oShouter)                && !GetIsPC(oShouter)                && GetIsFriend(oShouter))     {         object oIntruder = OBJECT_INVALID;         // Determine the intruder if any         if(nMatch == 4)         {             oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER");         }         else if (nMatch == 5)         {             oIntruder = GetLastHostileActor(oShouter);             if(!GetIsObjectValid(oIntruder))             {                 oIntruder = GetAttemptedAttackTarget();                 if(!GetIsObjectValid(oIntruder))                 {                     oIntruder = GetAttemptedSpellTarget();                     if(!GetIsObjectValid(oIntruder))                     {                         oIntruder = OBJECT_INVALID;                     }                 }             }         }          // Actually respond to the shout         RespondToShout(oShouter, nMatch, oIntruder);     }      // Send the user-defined event if appropriate     if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT))     {         SignalEvent(OBJECT_SELF, EventUserDefined(EVENT_DIALOGUE));     } }  
                 
    Quote
     //:://///////////////////////////////////////////// //:: Associate: On Dialogue //:: NW_CH_AC4 //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /*     Determines the course of action to be taken     by the generic script after dialogue or a     shout is initiated. */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Oct 24, 2001 //::////////////////////////////////////////////////// //:: Editied By: Thomas Howlett //:: Editied On: June 20, 2005 //:://////////////////////////////////////////////////   #include "x0_inc_henai" // * This function checks to make sure no // * dehibilating effects are on the player that should // * Don't use getcommandable for this since the dying system // * will sometimes leave a player in a noncommandable state int AbleToTalk(object oSelf) {     if (GetCommandable(oSelf) == FALSE)     {         if (GetHasEffect(EFFECT_TYPE_CONFUSED, oSelf) || GetHasEffect(EFFECT_TYPE_DOMINATED, oSelf) ||  GetHasEffect(EFFECT_TYPE_PETRIFY, oSelf) || GetHasEffect(EFFECT_TYPE_PARALYZE, oSelf)   ||   GetHasEffect(EFFECT_TYPE_STUNNED, oSelf) || GetHasEffect(EFFECT_TYPE_FRIGHTENED, oSelf)         )         {             return FALSE;         }     }     return TRUE; } void main() {     object oMaster = GetMaster();     int nMatch = GetListenPatternNumber();     object oShouter = GetLastSpeaker();     object oIntruder;      if (nMatch == -1) {         if(AbleToTalk(OBJECT_SELF) || GetCurrentAction() != ACTION_OPENLOCK)         {             ClearActions(CLEAR_NW_CH_AC4_28);              // * if in XP2, use an alternative dialog file             string sDialog = "";             if (GetLocalInt(GetModule(), "X2_L_XP2") ==  1)             {                 sDialog = "x2_associate";             }  //----------------------------------Edit--------------------------------------//             // BeginConversation(sDialog);
     

    Leanthar

    RE: Ideas
    « Reply #1 on: June 20, 2005, 06:47:00 pm »
    Thank you for the feedback and most certainly thank you for providing scripts. :)
     

    orth

    RE: Ideas
    « Reply #2 on: June 20, 2005, 06:53:00 pm »
    What in the world kind of crazy language is that?!?

    Joking aside, thanks for your feedback, once I get settled (one day), I will try to organize the project team a little better to get more hands involved.  Sometimes it's just so much easier to do it yourself though heh, but you gotta give in and let a helping hand do just that.
     

    Zen

    • Full Member
    • ***
      • Followers of Aeridin
      • Followers of Vorax
    • Posts: 489
      • View Profile
    RE: Ideas
    « Reply #3 on: June 20, 2005, 10:03:00 pm »
    As to the question #2 thats what the trash cans are for right?
     

    Thomas

    • Jr. Member
    • **
      • Posts: 47
        • View Profile
      RE: Ideas
      « Reply #4 on: June 21, 2005, 08:36:00 am »
      Quote
      Zen - 6/20/2005  11:03 PM

      As to the question #2 thats what the trash cans are for right?


      the items you get from scripted questes can't be moved from your inventory
       

      Thomas

      • Jr. Member
      • **
        • Posts: 47
          • View Profile
        RE: Ideas
        « Reply #5 on: July 01, 2005, 05:32:00 pm »
        5. Characters saying that they just placed a object and all the info of the object inside the player housing can be quite annoying to other players, I suggest that info be sent to the char that placed the object in a tell instead.
         

         

        anything