Post new topic    
Page «  1, 2, 3 ... 6, 7, 8 ... 16, 17, 18  »
Metal King Slime
Send private message
 
 PostTue Jun 12, 2012 2:49 am
Send private message Reply with quote
The fourth of my Character Bios! (five more to come!)

Belor






Stats



Background
Belor is a barbarian from the northern wilds. He left the north many years ago in order to explore the world and see what it had to offer. The son of one of the chieftains of the six tribes, Belor can be considered royalty amongst the barbarians, though this is not a fact that he makes known. While on his travels, he was captured by the Theocracy, who knew who he was, and was being held for ransom. He managed to escape along with Kay and Jaina, with the aid of another prisoner.

When on the Mistrunner, he readily agreed to aid the Resistance in fighting the Theoracy even though the northern lands were not yet in open war. Above all, he prizes freedom, and hates to see it being deprived from others, especially when he has the power to do something about it. Unlike the others, he has little ulterior motive in his fight against the Theocracy. Kay wants to regain his past, Jaina wants to prover herself, Molok desires both revenge and redemption, etc... Belor though, says that he wants to fight for freedom, and such is all the motivation he needs. Later on when the Theocracy begins to move against the north, he begins to feel responsibility, as the son of a chieftain, to try to unite the tribes against the Theocracy. Normally, the tribes would fight amongst themselves, and such would hardly present a unified front against the Theocracy.

Only time will tell though, if his deeds will be of any consequence, and what, if any, Legacy his actions will leave behind.


Personality
Belor is extremely affable and easy-going. He lets nothing bother him, and is friendly to all. Of the companions, he is perhaps closest to Kay, whom he sees as a sort of younger brother despite their ages not being too far apart. He gets along very well with Jaina, who is, like him, very optimistic and friendly. Molok and Hector see him negatively, but of the two, only Hector is openly derisive of the barbarian. Molok, on the other hand, doesn't like Belor but is willing to live and let live.

Perhaps his polar opposite in the group is the paladin Tira Sogin. While Belor is easy-going and optimistic, Tira is a no-nonsense cynic. This does not, however, prevent romance from sparking between them later on in the story, as each has traits the other needs; Tira brings gravity and maturity to Belor's wanderings and idealism, while Belor brings hope and the promise of a better future to Tira's pessimism. Needless to say, Tira's father, Hector, does not approve of such and will, if the romance is pursued, force the player to choose between his aid, and allowing Belor and Tira's romance. As Hector is a strong fighter, with impressive magical powers in battle, such may be a difficult choice when it is reached.


Powers
Belor is by far, the hardiest of the party in terms of the amount of damage he can take before dropping. He does not, however, have very high defense, so instead relies on his high dodge rate. Like Jaina and Melin, he has a relatively high Speed, allowing him to attack often. This goes up even more when he's raging. Further, while his speed is not as high as Jaina or Melin, he is generally tougher than they are and can absorb and dish out more damage on a per-hit basis.

He can also fly into a berserk rage that causes him to keep on attacking the enemy, at cost to his own health. He will spam either a single attack, or a series of attacks, based on the type of rage he's performing. His most basic rage, "Berserk", allows him to attack nearly twice as fast, at nearly twice the attack power, thereby allowing him to do almost four times as much damage within an equivalent span of time. His health will go down with each attack he performs though, so it is quite possible for him to knock himself out while raging. When in a rage, he can no longer be controlled during battle, so once he is set to rage, there is no way to stop it. His rages can also inspire his comrades, providing them with improved attacks or even bolstering their magical abilities with renewed confidence in themselves and the party.

One of his greatest weaknesses is that very few of his attacks have any actual elemental damage potential. The ones that do, are very expensive for him in terms of MP, and being a primarily physical character, he has very little MP to spare. He is thus best placed in a group that has an individual capable of doing decent, if not strong, elemental damage such as Melin or Tira. Kay is also a good choice, provided that he is equipped properly for the upcoming battle.


Equipment
Belor's weapons focus either on raw power, or incresed speed. The first, gauntlets, do boost speed, but focus more on improved attack damage. The second, claws, are not quite as powerful in terms of attack, but their increased speed ratings allow Belor to attack more often. Despite Belor's high damage potential, none of his equipment have any elemental damage potential, rendering him ineffective against an enemy with high physical damage resistance.

Like Melin, Belor cannot wear a lot of armor. He can wear leather and lamellar vests, but such is probably the highest he can wear. This can be problematic in some cases, though his high health can potentially negate this issue.
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Liquid Metal Slime
Send private message
 
 PostWed Jun 13, 2012 2:19 am
Send private message Reply with quote
BMR wrote:
Only time will tell though, if [Belor's] deeds will be of any consequence, and what, if any, Legacy his actions will leave behind.

I see what you did there. Is that going to be the central theme of this game? Because I think it could work very well if you can integrate the sense of a "legacy" into your gameplay. The game's title would make it kind of obvious, but it would certainly not be the first game to have an overwhelmingly self-indicative title.
For instance, the fourth Fire Emblem game had big themes of family and inheritance, and its sub-title happened to be "Genealogy of the Holy War."
Metal King Slime
Send private message
 
 PostWed Jun 13, 2012 5:11 am
Send private message Reply with quote
Yup, the central theme is choices and how they can affect the world. For example, near the start of the game, one of the choices the player has to make is who to fight in the dungeons. The choice will permanently remove either Helms the Cleric, or Molok the Acolyte from the game, completely preventing any of their respective side-quests or dialogue.

This affects how the player goes about things, when in Banware, the Cleric city, if the player killed Molok at the start instead of Helms, it becomes possible to root out the corruption in the Cleric's temple. If Helms was killed instead, then the player won't even ever know that there was any corruption at all.

Later on, when Belor and Tira start to develop feelings for each other, Tira's father, Hector, will oppose it because he feels Belor is unworthy. If the player sides with Hector, both Belor and Tira will abide by the choice and put aside their feelings until the task is over. This, however, will prevent Tira from fully aiding the player later on when Jaina (the player's romantic interest) is in danger. If the player supports Belor though, Hector will become fed up with the Resistance and leave the party.

The game is full of choices such as those, and all have long-term effects in-game. Hehe, truth be told, even though I have a great deal of said choices plotted out, it can get a bit complicated at times.
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Liquid Metal Slime
Send private message
 
 PostWed Jun 13, 2012 5:23 am
Send private message Reply with quote
Does this story feature a ton of branches? If so, this might be a useful tool for you to help keep things organized visually.
http://gimcrackd.com/etc/src/
Don't spend too much time with it, though! I'm still eagerly awaiting the first demo.
Metal King Slime
Send private message
 
 PostWed Jun 13, 2012 5:34 am
Send private message Reply with quote
Nifty, I'll give it a shot.

I'm currently using this, but I do have a few complaints about it, I'll see if yours is better, thanks!
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Metal King Slime
Send private message
 
 PostWed Jun 13, 2012 7:58 am
Send private message Reply with quote
The fifth of my Character Bios! (four more to come!)

Molok






Stats



Background
Molok is a bitter and cynical man. At 49, he is the second eldest in the group, with only Hector being older at 52. Despite not being very old, he has gone through many experiences in his life, the most lasting of which would be his wife's leaving him for another man.

As a young scholar at 21, Molok was poor, though brilliant man. He was employed in one of the libraries in Hardakur where he earned his living working on translations, transcriptions, research, and teaching. He was an avid researcher of magic and a brilliant professor, though such did not and would never have made him rich. He was extremely devoted to his work, perhaps more devoted than he was to his wife. While at first the two shared the same passion for the academic and resarch, things began to change as the years went on. Iris, his wife, yearned for a family. Molok too wanted this, but as a poor scholar he felt he could do little to support children. Because of this, he pushed himself even further into his work, attempting to earn enough money to give to his future family everything he felt he never had.

This wasn't enough for his wife though, who felt that Molok was becoming cold and distant; she felt that while they would not be able to live in luxury, they would still have been able to raise a family. As Molok drove himself more into his work, they grew further apart, until the point where she finally found comfort in the arms of another man. When Molok learned of this, he was devastated. He tried to win her bacj, but Iris was convinced that Molok would never be able to show her the love she wanted, so she left for Harkar which was, at the time, the city farthest from Hardakur.

Depressed and cynical, Molok buried himself in his research, though his studies in magic turned him towards darker paths. He became an apprentice, and soon an adept in the arts of the Acolyte, a rare, but powerful form of magic. His depression and growing pessimism soon became evident to the library, and he was soon cast out. Molok then began his wanderings, devoting himself more fully to his studies, trying to bury and hide away his pain.

Now, many years later, he has become cold, vindictive, and mysogynistic. Though he generally dislikes everyone, he despises women even more for what he believes is their fickle and traitorous nature. Despite this though, he still hopes to find Iris again and make ammends, for despite all the hate in him, despite all the cynicism, there is still that one spark of his former self that wanted nothing more than the best for those he loved.

Only time will tell though, if his deeds in this war earn him his redemption, or his doom, and what, if any, Legacy his actions will leave behind.


Personality
Molok and Hector are very similar in their disdain for other people. They differ though in that Hector often actively derides other individuals whereas Molok is usually content to just shut everyone else out. Above all else, he is cold and cynical, with little faith in or respet for other people. In the party, he particularly dislikes the females, Gayla, Jaina, and Tira. This causes the three to hold him in low regard. This is further worsened when/if Belor gets together with Tira, as Molok advises Belor that Tira will leave him. Though his reaction is not as severe as that of Hector, it is still enough to dismay the normally optimistic Belor. Should the player manage to befriend Molok, Molok will attempt to dissuade the player from having any romantic associations with Jaina. If Jaina was present with the player when Molok finally reunites with his daughter, he will be more open to Kay and Jaina getting together, though he does attempt to advise the two.

Other than romance though, Molok is usually very terse and sarcastic when dealing with other people. This can cause negative reactions and may cause some people to refuse to speak with the party should Molok be with them. This can be a problem in delicate negotiations, as Molok is not very good with nor does he have patience for diplomacy and mincing words.


Powers
Like Kay, Molok is primarily a spellcaster. Unlike Kay, he only has a few direct magical attacks. Most of his magic focuses on status effects, buffs, and transfering of HP/MP. He can, however, gain better offensive capabilities in his sidequest to reunite with his daughter. He can also improve his status affecting abilities in his sidequest should he get revenge on his daughter for her mother's actions instead of trying to connect with her.

One of his main disadvantages is his low HP, which can make him relatively fragile. As he has average defense and speed though, he can still weather longer battles should he have good support.


Equipment
Molok shares weapons with Kay, who uses rings, but Molok can also use amulets which are more in tune with his particular strengths. His best equipment can only be gotten through his sidequest. Whether the sidequest is a success or a failure will affect just what type of equipment he can get. Both types can be considered his best equipment, both they have different focuses. Success in the sidequest, reuniting with his daughter, will improve his status-changing abilities. Failing to reunite with her though, will improve his offensive abilities.
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Metal King Slime
Send private message
 
 PostFri Jun 15, 2012 5:58 am
Send private message Reply with quote
Ok, I'm stumped. Anyone feel like helping me out with my chickens?

Code:

script, chickens, begin
   
   variable(counter, Xcounter, Ycounter, current chicken)
   
   for(counter, 0, npc copy count(npc:Chicken)) do( #Loop through all of the chickens on a map
   
      current chicken := npc reference(npc:Chicken, counter) #Get the NPC reference for that particular chicken
   
      switch(random(1,2)) do(
         case(1) do( #Set the chicken to wander around
            alter npc(current chicken, NPCstat:move type,NPCmovetype:wander)
            alter npc(current chicken, NPCstat:picture, 329)
            alter npc(current chicken, NPCstat:move speed, 2)
         )
         case(2) do( #Set the chicken to peck at the ground and stay in place
            alter npc(current chicken, NPCstat:move type,NPCmovetype:walkinplace)
            alter npc(current chicken, NPCstat:picture, 330)
            alter npc(current chicken, NPCstat:move speed, 1)
         )
      )
      
   )
   
   embiggen npcs

   
   set timer(timer:chickens, random(1,2), 18, @chickens) #Reset the timer
   
end



The script mostly works fine. The chickens all walk around, some of them will occasionally stop and peck at the ground, and when coupled with the scare chicken script:

Code:

script, chicken scare, begin

   variable(counter, Xcounter, Ycounter, current chicken)

   for(counter, 0, npc copy count(npc:Chicken) -- 1) do(
   
      current chicken := npc reference(npc:Chicken,counter)
   
      for(Xcounter, npc x(current chicken) -- 2, npc x(current chicken) + 2) do(
         for(Ycounter, npc y(current chicken) -- 2, npc y(current chicken) + 2) do(
            if(hero x(me) == Xcounter && hero y(me) == Ycounter) then(
      
               alter npc(current chicken, NPCstat:move type,NPCmovetype:avoidyou)
               alter npc(current chicken, NPCstat:picture, 331)
               alter npc(current chicken, NPCstat:move speed, 10)
               embiggen npcs
            )
         )
      )
   )
end


The will run away flapping their wings really quickly if the player gets too close.

Now, the problem that I can't figure out, is that a lot of the other NPCs also get turned into chickens, particularly NPC 0. NPC 0 is common to all maps, and it's what I use for chests, doors, environment interaction, triggers, etc... So right now, I've got chickens running around that when you use them, you somehow manage to extract X amount of gold from their gizzards. The other chickens (the ones who aren't chests or doors) work fine for the most part.

Any help would be most appreciated, cheers!
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Metal King Slime
Send private message
 
 PostFri Jun 15, 2012 12:49 pm
Send private message Reply with quote
"npc copy count(npc:Chicken)" in your first script should be "npc copy count(npc:Chicken) -- 1". I think that explains the NPCs getting turned into chickens.

The more serious error in your script is that you've misunderstood "alter npc". You can't alter NPC instances, only NPC definitions. That is, a change to one chicken NPC changes all of them. I suggest instead having two different NPC definitions and changing NPC instances between them using "change NPC ID"
Metal King Slime
Send private message
 
 PostFri Jun 15, 2012 12:58 pm
Send private message Reply with quote
Hmm, I see. I'll give that shot then, thanks!
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Metal King Slime
Send private message
 
 PostSat Jun 16, 2012 3:05 am
Send private message Reply with quote
Hmm... Still seems to be turning my other NPCs into chickens...

Code:

script, chickens, begin
   
   variable(counter, Xcounter, Ycounter, Zcounter, current chicken)
   
   for(Zcounter, 0, 2) do(
      for(counter, 0, npc copy count(npc:Chicken + Zcounter) -- 1) do( #Loop through all of the chickens on a map
   
         current chicken := npc reference(npc:Chicken + Zcounter, counter) #Get the NPC reference for that particular chicken
   
         switch(random(1,2)) do(
            case(1) do(change npc id(current chicken, 30)) #Set the chicken to wander around
            case(2) do(   change npc id(current chicken, 31)) #Set the chicken to peck at the ground and stay in place
         )
      
      )
   )
   
   embiggen npcs

   
   set timer(timer:chickens, random(1,2), 18, @chickens) #Reset the timer
   
end


NPC 30 is the base chicken, 31 is it pecking at the ground, and 32 is it running around with its wings flapping. The wandering, pecking, and fleeing all work, but again I've got chests and doors and barrels running around with chicken sprites now. Any ideas?
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Metal Slime
Send private message
 
 PostSat Jun 16, 2012 4:01 am
Send private message Reply with quote
What is npc:chicken, and where was it defined?
I am Srime
Metal King Slime
Send private message
 
 PostSat Jun 16, 2012 4:12 am
Send private message Reply with quote
npc:Chicken is defined in my really long definition set which gets loaded before anything else. It's set to 30. Not all maps have chickens, but when they do, it's always NPC 30.
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Metal King Slime
Send private message
 
 PostFri Jun 22, 2012 4:48 am
Send private message Reply with quote
Hmm, anyone feel like helping me with my line of sight script? I'm trying to make it so that if an npc walks into a certain distance of a hero, the npc will be triggered. Rather than the trigger area being an equally sized box around the npc though, I wanted to make it a cone-like shape.

The script kinda works, but not very well. The script should trigger when the hero is within a cone in front of the npc, and it does trigger sometimes, but other times it doesn't and for the love of me I can't figure it out.



Code:

script, los checker, begin
   variable(total npcs, counter, npc ref, currentX, currentY, myX, myY, baseX, baseY, counterX, counterY, npcFace, spreadCounter, spread)
   variable(startX, startY, finalX, finalY, checkX, checkY, breakcheck)
   
   total npcs := npc copy count(los ID) -- 1 #Set the number of NPCs in the map
   
   for(counter, 0, total npcs) do(  #Cycle through all of those npcs

      npc ref := npc reference(los ID, counter) #Get the reference for the npc
                        
      baseX := npc X(npc ref) #Set the base X value to the NPC's X coordinate
      baseY := npc Y(npc ref) #Set the base Y value to the NPC's Y coordinate
      
      npcFace := npc direction(npc ref) #Get the direction the particular NPC is facing
      


#This block sets the values of the starting and final Xs and Ys.  What the block does is to set the x1, y1, x2, y2 coordinates of a
#box that will be the basis for checking what that npc can see.
#===================================================================================================================================
      switch(npcFace) do(
         case(North) do(
            startX := baseX -- 1
            startY := baseY +  1

            finalX := baseX +  1
            finalY := baseY -- 5
         )
         case(South) do(
            startX := baseX -- 1
            startY := baseY -- 1

            finalX := baseX +  1
            finalY := baseY +  5
         )
         case(West) do(
            startX := baseX +  1
            startY := baseY -- 1

            finalX := baseX -- 5
            finalY := baseY +  1
         )
         case(East) do(
            startX := baseX -- 1
            startY := baseY -- 1

            finalX := baseX +  5
            finalY := baseY +  1
         )
      )
#===================================================================================================================================


      #spreadCounter is how wide the checking cone is.  It will grow either each X
      #or Y cycle based on the direction the NPC is moving.
      spreadCounter := 0
      
      
      #This block will go through the box (coordinates above) to check for the hero
      #===============================================================================================================================
      for(counterX, startX, finalX) do(

         for(counterY, startY, finalY) do(   

            
            #This block expands the box (above) into a cone of sorts
            #================================================================================================
            for(spread, -1 -- spreadCounter, 1 + spreadCounter) do(
               
               #checkX and checkY are the actual values that are checked against the hero's position
               checkX := counterX
               checkY := counterY
               
               #myX and myY are the hero's coordinates
               myX := hero X(me)
               myY := hero Y(me)

               
               #This will expand the checking area by increasing either X or Y depending on where the NPC is facing
               #If the npc is moving horizontally, then the Y will expand; if vertical, then the X will expand.
               if(npcFace == North || npcFace == South) then(checkX := counterX + (spread))
               if(npcFace == West || npcFace == East)   then(checkY := counterY + (spread))
               
               
               if(checkX == myX && checkY == myY) then( #Check if the check coordinates equal the hero coordinates
                  breakcheck := TRUE #If it's a match, then break out of the entire loop and restart the timer

#This block was meant to have the triggered NPC run towards the player.  It's disabled for now
#until I can get the rest of the script working smoothly
#----------------------------------------------------------------------------------------------
#                  change npc id(npc ref, npc:TheocracyGuardsmanChase)
#                  embiggen npcs
#                  
#                  walk npc to x(npc ref, myX)
#                  walk npc to y(npc ref, myY)
#                  
#                  wait for npc(npc ref)
#----------------------------------------------------------------------------------------------

                  use npc(npc ref) #Activate the NPC if the coordinates match up

               )
               
               if(breakcheck == TRUE) then(break) #If it's a match, then break out of the entire loop and restart the timer
            )
            #================================================================================================
            
            
            if(breakcheck == TRUE) then(break)    #If it's a match, then break out of the entire loop and restart the timer
            if(npcFace == North || npcFace == South) then(increment(spreadCounter,1)) #Increment spread counter if vertical
         )
         
         if(npcFace == West || npcFace == East) then(increment(spreadCounter,1)) #Increment spread counter if horizontal
         if(breakcheck == TRUE) then(break) #If it's a match, then break out of the entire loop and restart the timer
      )
      
   )
      #===============================================================================================================================
   
   set timer(timer:los checker,1,9,@los checker) #Reset the timer.  It checks roughly every half-second for matches
end




Another problem I have, is that sometimes it triggers on doors as well. I'm using NPC references, but at times when the hero walks near a door, or is even just standing around near a door, the script triggers.

Guards are NPC 1 when there are guards on the map. Trigger NPCs (doors, environment interaction, chests, etc...) are always NPC 0 on all maps. I don't see why it would trigger on a door (trigger npc) though, as I don't touch on them in the script.

Help? Sad
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Metal King Slime
Send private message
 
 PostFri Jun 22, 2012 5:15 am
Send private message Reply with quote
Aha! Line 5:

Code:
total npcs := npc copy count(los ID)


Seems to be one of the culprits, I didn't have anything telling the script what los ID is! It's a global, and I was forgetting to set it to use the correct NPC
earlier on.



Scratch that, turns out I was setting los ID correctly...

Hrm...
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Metal King Slime
Send private message
 
 PostFri Jun 22, 2012 5:40 am
Send private message Reply with quote
OK, so now it works!

Code:

script, los checker, begin
   variable(total npcs, counter, npc ref, currentX, currentY, myX, myY, baseX, baseY, counterX, counterY, npcFace, spreadCounter, spread)
   variable(startX, startY, finalX, finalY, checkX, checkY, breakcheck, stepX, stepY)
   
   
   if(los ID <> 0) then(
      total npcs := npc copy count(los ID) -- 1 #Set the number of NPCs in the map
   
      for(counter, 0, total npcs) do(  #Cycle through all of those npcs

         npc ref := npc reference(los ID, counter) #Get the reference for the npc
                        
         baseX := npc X(npc ref) #Set the base X value to the NPC's X coordinate
         baseY := npc Y(npc ref) #Set the base Y value to the NPC's Y coordinate
      
         npcFace := npc direction(npc ref) #Get the direction the particular NPC is facing
      


   #This block sets the values of the starting and final Xs and Ys.  What the block does is to set the x1, y1, x2, y2 coordinates of a
   #line that will be the basis for checking what that npc can see.
   #===================================================================================================================================
         startX := baseX
         startY := baseY
         finalX := baseX
         finalX := baseX
         
         stepX := 1
         stepY := 1
         
         switch(npcFace) do(
            case(North) do(finalY := baseY -- 5, stepY := -1)
            case(South) do(finalY := baseY +  5)
            case(West)  do(finalX := baseX -- 5, stepX := -1)
            case(East)  do(finalX := baseX +  5)
         )
   #===================================================================================================================================


         #spreadCounter is how wide the checking cone is.  It will grow either each X
         #or Y cycle based on the direction the NPC is moving.
         spreadCounter := 0
      
      
         #This block will go through the box (coordinates above) to check for the hero
         #===============================================================================================================================
         for(counterX, startX, finalX, stepX) do(

            for(counterY, startY, finalY, stepY) do(   

            
               #This block expands the box (above) into a cone of sorts
               #================================================================================================
               for(spread, -1 -- spreadCounter, 1 + spreadCounter) do(
               
                  #checkX and checkY are the actual values that are checked against the hero's position
                  checkX := counterX
                  checkY := counterY
               
                  #myX and myY are the hero's coordinates
                  myX := hero X(me)
                  myY := hero Y(me)

               
                  #This will expand the checking area by increasing either X or Y depending on where the NPC is facing
                  #If the npc is moving horizontally, then the Y will expand; if vertical, then the X will expand.
                  if(npcFace == North || npcFace == South) then(checkX := counterX + (spread))
                  if(npcFace == West || npcFace == East)   then(checkY := counterY + (spread))
               
               
                  if(checkX == myX && checkY == myY) then( #Check if the check coordinates equal the hero coordinates
                  
                     suspend player
                     suspend npcs
                     
                     breakcheck := TRUE #If it's a match, then break out of the entire loop and restart the timer

   #This block was meant to have the triggered NPC run towards the player.  It's disabled for now
   #until I can get the rest of the script working smoothly
   #----------------------------------------------------------------------------------------------
                     change npc id(npc ref, npc:TheocracyGuardsmanChase)
                     embiggen npcs
                     
                     walk npc to x(npc ref, myX)
                     walk npc to y(npc ref, myY)
                     
#                     wait for npc(npc ref)
   #----------------------------------------------------------------------------------------------

                     use npc(npc ref) #Activate the NPC if the coordinates match up
                     
                     resume npcs
                     resume player
                  )
               
                  if(breakcheck == TRUE) then(break) #If it's a match, then break out of the entire loop and restart the timer
               )
               #================================================================================================
            
            
               if(breakcheck == TRUE) then(break)    #If it's a match, then break out of the entire loop and restart the timer
               if(npcFace == North || npcFace == South) then(increment(spreadCounter,1)) #Increment spread counter if vertical
            )
         
            if(npcFace == West || npcFace == East) then(increment(spreadCounter,1)) #Increment spread counter if horizontal
            if(breakcheck == TRUE) then(break) #If it's a match, then break out of the entire loop and restart the timer
         )
      
      )
         #===============================================================================================================================
   )   
#   set timer(timer:los checker,1,9,@los checker) #Reset the timer.  It checks roughly every half-second for matches
end



I was having a problem with my Steps in the For loops. I overlooked the fact that the loop uses negative steps at times. It works correctly for the most part now.

One problem though, is that it's triggering through walls. I don't have any checks in place for walls, and the script just looks at the coordinates and has no way to see if it's going through walls.

Any ideas as to how to go about preventing seeing through walls? I was thinking something to do with zones, but I'm not too sure.
Being from the third world, I reserve the right to speak in the third person.

Using Editor version wip 20170527 gfx_sdl+fb music_sdl
Display posts from previous:
Page «  1, 2, 3 ... 6, 7, 8 ... 16, 17, 18  »