Re: Problems with arcane portal

From: Torgny Bjers (artovil@arcanerealms.org)
Date: 06/21/02


On 02-06-21 23.23, "Alex Mann" <alex4501@HOTMAIL.COM> wrote:

> Hi
>
> Im trying to code in arcane portal, and seems to be in correctly, arcane
> generates a name for the room, and portal tries to find it.
>
> Portal seems to look for the target in tar_str which i have coded in, and i
> presume that this spell is supposed to save the naem of the room into
> tar_str, but i can't seem for the life of me anywhere in the code that saves
> anything to anything. It splits it down nicely but then doesn't seem to do
> anythign with it, bar send it to char!!!
>
> Can anyone who has done these spells point out where im going wrong.
>
>
> Thanks
>
> Alex Mann
> ASPELL(spell_arcane)
> {
>
> char buf[MAX_STRING_LENGTH];
>
> const char *arc[5][2][11] = {
> { /* Ten Thousands */
> {"ba", "bo", "di", "fo", "gu", "hy", "ja", "ke", "li", "mu", "\n"},
> {"ny", "cu", "qe", "ri", "so", "tu", "vy", "wa", "xe", "zi", "\n"},
> },
> { /* Thousands */
> {"b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "\n"},
> {"n", "p", "q", "r", "s", "t", "v", "w", "x", "z", "\n"},
> },
> { /* Hundreds */
> {"ab", "ae", "ai", "ao", "au", "ay", "ea", "ec", "ei", "eo", "\n"},
> {"oi", "of", "ou", "oy", "ac", "ec", "ed", "ug", "uz", "uq", "\n"},
> },
> { /* Tens */
> {"z", "c", "x", "f", "w", "h", "v", "k", "s", "m", "\n"},
> {"n", "b", "q", "d", "k", "t", "j", "g", "r", "p", "\n"},
> },
> { /* Ones */
> {"aq", "as", "av", "au", "an", "ef", "eg", "et", "en", "ep", "\n"},
> {"re", "ru", "us", "ut", "at", "ur", "yr", "yr", "er", "ea", "\n"},
> }
> };
>
> int roomno, tmp, tenthousands, thousands, hundreds, tens, ones;
>
> if (ch == NULL)
>   return;
>
> roomno = world[ch->in_room].number;
>
> ones = roomno % 10;            /* 12345 = 5    */
> tmp = roomno / 10;             /* 12345 = 1234 */
> tens = tmp % 10;               /* 1234  = 4    */
> tmp = tmp / 10;                /* 1234  = 123  */
> hundreds = tmp % 10;           /* 123   = 3    */
> tmp = tmp / 10;                /* 123   = 12   */
> thousands = tmp % 10;          /* 12    = 2    */
> if (tmp > 0)
>  tenthousands = tmp / 10;       /* 12    = 1    */
> else
>  tenthousands = 0;
>
> sprintf(buf, "You feel a strange sensation in your body, as the wheel of
> time stops.\r\n");
> send_to_char(ch, buf);
> sprintf(buf, "Strange sounds can be heard through the mists of
> time.\r\n");
> send_to_char(ch, buf);
> sprintf(buf, "An old man tells you : 'The Arcane name for this place is
> %s%s%s%s%s'.\r\n",
> arc[0][number(0,1)][tenthousands], arc[1][number(0,1)][thousands],
> arc[2][number(0,1)][hundreds], arc[3][number(0,1)][tens],
> arc[4][number(0,1)][ones]);
> send_to_char(ch, buf);
>
> }

Isn't:
send_to_char(ch, buf);

Supposed to be:
send_to_char(buf, ch);

Or did the send_to_char get switched around recently?

Make sure that tar_str is passed through call_magic() and the underlying
functions properly.

If you still don't get it right, let me know privately and I will send you a
working version.  Though you might have to strip some stuff from it that's
not stock behavior (automatic creation of portal object for group travel if
the caster's skill level is high enough and some other stuff such as
creation of arcane word parchments).

Regards,
/Torgny

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT