User Tools

Site Tools


lua:scripting:examples:mickeymouseears

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
lua:scripting:examples:mickeymouseears [2014/12/24 05:17] vodurlua:scripting:examples:mickeymouseears [2015/09/25 14:54] (current) vodur
Line 1: Line 1:
 ====== MickeyMouseEars ====== ====== MickeyMouseEars ======
  
-Let's make Mickey Mouse give us a quest point reward for giving his ears back. \\ +Let's make Mickey Mouse give us a quest point reward for giving his ears back.\\ 
-Before we get started, let's get a few things set up: \\ +Before we get started, let's get a few things set up:\\ 
-1. Turn wiznet on \\ +1. Turn wiznet on\\ 
-2. Turn on wiznet bug \\+2. Turn on wiznet bug\\
 This is important as any errors with our script will show up here. This is important as any errors with our script will show up here.
  
-A few things we need to know: \\ +A few things we need to know:\\ 
-1. Mickey's vnum: 11601 (find with 'vnum mickey') \\ +1. Mickey's vnum: 11601 (find with 'vnum mickey')\\ 
-2. Vnum for the ears: 11602 (find with 'vnum mickey') \\+2. Vnum for the ears: 11602 (find with 'vnum mickey')\\
 3. Mprog vnum we will use. 3. Mprog vnum we will use.
  
Line 17: Line 17:
  
 <code> <code>
-mpedit create 11601 +mpedit create 11601
 MobProgram Code Created. MobProgram Code Created.
  
-show  +show 
-Vnum: [11601]  +Vnum: [11601] 
-Lua: False +Lua: False
 Code: Code:
  
-lua +lua
 LUA set to TRUE LUA set to TRUE
  
-show  +show 
-Vnum: [11601]  +Vnum: [11601] 
-Lua: True  +Lua: True 
-Code: +Code:
 </code> </code>
  
Line 60: Line 60:
 Vuln: [bash] Vuln: [bash]
 Off: [kick] Off: [kick]
-Size: [medium]  +Size: [medium] 
-Start pos. [standing] +Start pos. [standing]
 Default pos [standing] Default pos [standing]
 Wealth: [200%=22] Wealth: [200%=22]
Line 68: Line 68:
 Long descr: Long descr:
 Mickey Mouse is here shaking everyone's hand. Mickey Mouse is here shaking everyone's hand.
-Description:  +Description: 
-A tall friendly looking mouse. He tips his hat to you and smiles. You +A tall friendly looking mouse. He tips his hat to you and smiles. You
 try to repress the urge to pull his tail. try to repress the urge to pull his tail.
  
Line 80: Line 80:
 </code> </code>
  
-We see we added a [[:triggers:mprog:give|GIVE]] trigger with Phrase of 11602 which means it will run mprog vnum 11601 any time that item vnum 11602 is given to Mickey. \\+We see we added a [[:triggers:mprog:give|GIVE]] trigger with Phrase of 11602 which means it will run mprog vnum 11601 any time that item vnum 11602 is given to Mickey.\\
 Knowing that let's go back to our code and make him do what we want him to! Knowing that let's go back to our code and make him do what we want him to!
  
Line 91: Line 91:
  Terminate with a ~ or @ on a blank line.  Terminate with a ~ or @ on a blank line.
 -=======================================- -=======================================-
- +> say("You just gave me what I was looking for")>
-> say("You just gave me what I was looking for") +Fixing mob 11601.
-> @  +
-Fixing mob 11601. +
 Fixed lua script for 11601. Fixed lua script for 11601.
  
-give ears mick  +give ears mick 
-You give Mickey Mouse ears to Mickey Mouse. +You give Mickey Mouse ears to Mickey Mouse.
 Mickey Mouse says 'You just gave me what I was looking for' Mickey Mouse says 'You just gave me what I was looking for'
 </code> </code>
Line 106: Line 104:
 When the script runs, there are certain variables passed along to our script depending on the trigger and circumstances. Information is found at the [[:triggers:mprog|Mob Progs]] page. In this case we see the player who gives the ears will be passed as a variable of type [[:lua:ch:members|CH]] named ch. In the lua script we also have the mob represented as a [[:lua:ch:members|CH]] named mob. This is important to know as it defines what the mob can do. We will need to use the [[:lua:ch:members|CH]] method '[[:lua:ch:reward|reward]]' to give the quest point reward. When the script runs, there are certain variables passed along to our script depending on the trigger and circumstances. Information is found at the [[:triggers:mprog|Mob Progs]] page. In this case we see the player who gives the ears will be passed as a variable of type [[:lua:ch:members|CH]] named ch. In the lua script we also have the mob represented as a [[:lua:ch:members|CH]] named mob. This is important to know as it defines what the mob can do. We will need to use the [[:lua:ch:members|CH]] method '[[:lua:ch:reward|reward]]' to give the quest point reward.
  
-Please note that you can call any of the functions available to [[http://rooflez.com/wiki/index.php?n=Main.CHProperties|CH]] without a qualifier (like our say() above), it will automatically use the mob running the script to run that function. So our say() above is the equivalent of mob:say().+Please note that you can call any of the functions available to [[:lua:ch:members|CH]] without a qualifier (like our say() above), it will automatically use the mob running the script to run that function. So our say() above is the equivalent of mob:say().
  
 <code> <code>
 mpedit 11601 mpedit 11601
  
-code +code
 -=======- Entering APPEND Mode -========- -=======- Entering APPEND Mode -========-
 Type .h on a new line for help Type .h on a new line for help
  Terminate with a ~ or @ on a blank line.  Terminate with a ~ or @ on a blank line.
 -=======================================- -=======================================-
-1. say("You just gave me what I was looking for") +1. say("You just gave me what I was looking for")> .c 
-> .c  +String cleared. > reward(ch.name.."qp 1") > say( "Thanks "..ch.name.."!!!") > @ 
-String cleared.  +Fixing mob 11601.
-> reward(ch.name.."qp 1" +
-> say( "Thanks "..ch.name.."!!!" +
-> @  +
-Fixing mob 11601. +
 Fixed lua script for 11601. Fixed lua script for 11601.
  
-give ear mick  +give ear mick 
-You give Mickey Mouse ears to Mickey Mouse.  +You give Mickey Mouse ears to Mickey Mouse. 
-[*****] BUG: do_mpreward: Too few arguments from vnum 11601. +[*****] BUG: do_mpreward: Too few arguments from vnum 11601.
 Mickey Mouse exclaims 'Thanks Ranglor!!!' Mickey Mouse exclaims 'Thanks Ranglor!!!'
 </code> </code>
  
-Whoops! Did you see my mistake? \\+Whoops! Did you see my mistake?\\
 I missed a space between the name and "qp" in reward. This is why we have 'wiznet bug' on! We can use a different style to make it a little easier to see the format: I missed a space between the name and "qp" in reward. This is why we have 'wiznet bug' on! We can use a different style to make it a little easier to see the format:
  
Line 150: Line 144:
  
 <code lua> <code lua>
-reward( "%s qp 1",ch.name )\\+reward( "%s qp 1",ch.name )
 say( "Thanks %s!!!",ch.name ) say( "Thanks %s!!!",ch.name )
 </code> </code>
Line 156: Line 150:
 **Preferred**: **Preferred**:
 <code lua> <code lua>
-reward(ch, "qp", 1 )\\+reward(ch, "qp", 1 )
 say( "Thanks %s!!!",ch.name ) say( "Thanks %s!!!",ch.name )
 </code> </code>
- 
  
 Note the 5 equivalent syntaxes above. Note the 5 equivalent syntaxes above.
  
 <code> <code>
-You give Mickey Mouse ears to Mickey Mouse.  +You give Mickey Mouse ears to Mickey Mouse. 
-You are rewarded 1 quest point! +You are rewarded 1 quest point!
 Mickey Mouse exclaims 'Thanks Ranglor!!!' Mickey Mouse exclaims 'Thanks Ranglor!!!'
 </code> </code>
Line 182: Line 175:
  
 <code> <code>
-give ear mick +give ear mick
 You give Mickey Mouse ears to Mickey Mouse. You give Mickey Mouse ears to Mickey Mouse.
-You are rewarded 1 quest point! +You are rewarded 1 quest point!
 Mickey Mouse exclaims 'Thanks Ranglor!!!' Mickey Mouse exclaims 'Thanks Ranglor!!!'
  
-give ear mick  +give ear mick 
-You give Mickey Mouse ears to Mickey Mouse. +You give Mickey Mouse ears to Mickey Mouse.
 Mickey Mouse exclaims 'Sorry Ranglor, let somebody else try!' Mickey Mouse exclaims 'Sorry Ranglor, let somebody else try!'
 </code> </code>
Line 200: Line 193:
     say( "Sorry %s, let somebody else try!",ch.name )     say( "Sorry %s, let somebody else try!",ch.name )
 else else
-    reward(ch, "qp", 1) +    reward(ch, "qp", 1)
     say( "Thanks %s!!!",ch.name)     say( "Thanks %s!!!",ch.name)
     remembername=ch.name     remembername=ch.name
Line 207: Line 200:
 obj1:destroy() obj1:destroy()
 </code> </code>
- 
  
 So we're being kind of mean because we are destroying the object whether or not we reward the player. Maybe we'll be nice and give it back if they don't get the reward: So we're being kind of mean because we are destroying the object whether or not we reward the player. Maybe we'll be nice and give it back if they don't get the reward:
 +
 <code lua> <code lua>
 if ch.name==remembername then if ch.name==remembername then
     say( "Sorry %s, let somebody else try!",ch.name )     say( "Sorry %s, let somebody else try!",ch.name )
-    mdo("give '%s' %s" ,obj1.name,ch.name)  +    mdo("give '%s' %s" ,obj1.name,ch.name) 
-    mdo("drop %s",obj1.name) - Just in case the give didn't work somehow+    mdo("drop %s",obj1.name) -- Just in case the give didn't work somehow
 else else
     reward(ch, "qp", 1)     reward(ch, "qp", 1)
-    say( "Thanks %s!!!",ch.name) +    say( "Thanks %s!!!",ch.name)
     remembername=ch.name     remembername=ch.name
     obj1:destroy()     obj1:destroy()
Line 229: Line 222:
     say( "Sorry %s, let somebody else try!",ch.name )     say( "Sorry %s, let somebody else try!",ch.name )
     mdo( "give '%s' %s",obj1.name,ch.name )     mdo( "give '%s' %s",obj1.name,ch.name )
-    if obj1.carriedby==mob then - It's still in mob's inventory! +    if obj1.carriedby==mob then -- It's still in mob's inventory! 
-        say("Hmmm, I couldn't give it back you...I'll just leave it here on the ground.")\\ +        say("Hmmm, I couldn't give it back you...I'll just leave it here on the ground."
-        mdo("drop %s",obj1.name)\\+        mdo("drop %s",obj1.name)
     end     end
 else else
lua/scripting/examples/mickeymouseears.1419398229.txt.gz · Last modified: 2014/12/24 05:17 by vodur