checking a PC's guild.

For builders to discuss and ask building questions.
Post Reply
User avatar
Duranamir
Sword Grand Master
Sword Grand Master
Posts: 740
Joined: Thu Nov 27, 2003 11:58 am
Location: Skull port

checking a PC's guild.

Post by Duranamir » Tue Oct 31, 2006 10:40 pm

I understand that to check the exact guild a pc is on you use the command.

if guild($n) == XXX

Is there a list of what XXX can be ? as i cannot get the command to work :(


Duranamir
Dalvyn
Sword Grand Master
Sword Grand Master
Posts: 4708
Joined: Tue Jul 15, 2003 9:26 pm
Location: House of Wonder, Waterdeep

Post by Dalvyn » Tue Oct 31, 2006 11:05 pm

Here's a summary:

Rangers
Paladins
Fighters
Squires
Mages
Enchanters
Illusionists
...
Thieves
Bards
Clerics of Mielikki
Clerics of Yondalla
Clerics of Cyric
Clerics of Torm
...
Druids of Chauntea
Image
User avatar
Duranamir
Sword Grand Master
Sword Grand Master
Posts: 740
Joined: Thu Nov 27, 2003 11:58 am
Location: Skull port

Post by Duranamir » Tue Oct 31, 2006 11:36 pm

This does not currently work for me (see Mob 14514) which always trigger the third option even though the PC should trigger example A below. The program always goes to C . :(

Code: Select all

>speech_prog guild thief thieves~

if quest(5,4,$n) == 0 
  if class($n) == Rogue
    if guild($n) == Thieves 
      sayto $n Choice A
       mpmset $n quest 5 4 1 
    else
      if guild($n) == Bards
        sayto $n Choice B       
        mpmset $n quest 5 4 1 
      else  
        mpmset $n quest 5 4 1 
        sayto $n Choice C
     endif
   else
     sayto $n No idea what you are talking about.
   endif
else
  sayto $n No idea what you are talking about.
endif
~


Duranamir.

Edit. I put your program excerpt into "code" tags to make it more readable.
User avatar
Japcil
Sword Grand Master
Sword Grand Master
Posts: 1143
Joined: Fri Jun 17, 2005 5:32 pm
Location: Golden Oaks
Contact:

Post by Japcil » Wed Nov 01, 2006 12:29 am

First thing I see is a no 1:1 ratio of if's and endif's. I think your missing the last maybe. Try using the code tag so that the spacing shows on the forums.
Image
Dalvyn
Sword Grand Master
Sword Grand Master
Posts: 4708
Joined: Tue Jul 15, 2003 9:26 pm
Location: House of Wonder, Waterdeep

Post by Dalvyn » Wed Nov 01, 2006 12:33 am

As Japcil said... you have two "else" parts corresponding to your third "if". Not sure if that might cause your problem, but it's likely to cause at least some problem.
Image
User avatar
Japcil
Sword Grand Master
Sword Grand Master
Posts: 1143
Joined: Fri Jun 17, 2005 5:32 pm
Location: Golden Oaks
Contact:

Post by Japcil » Wed Nov 01, 2006 12:34 am

Code: Select all

>speech_prog guild thief thieves~
if quest(5,4,$n) == 0
  if class($n) == Rogue
    if guild($n) == Thieves
      sayto $n Choice A
      mpmset $n quest 5 4 1
    else
      if guild($n) == Bards
        sayto $n Choice B
        mpmset $n quest 5 4 1
      else
        mpmset $n quest 5 4 1
        sayto $n Choice C
      endif
    endif
  else
    sayto $n No idea what you are talking about.
  endif
endif
~
Image
Post Reply