--- "Mervine, Keith" <[EMAIL PROTECTED]> wrote:
You know those warnings you get when you compile? Those are there for a reason.
When you're compiling this function it's probably giving you some warnings
about the variable lottery being used before it's initialized. Don't ignore
this! Lottery is a pointer, it has to point to some peice of valid memory. When
it hasn't been initialized it points to some random point in memory, and by
iterating over that and/or modifying the data being pointed to you will at best
munge you games internal structure causing numerous glitches until the game is
restarted. At worst it will cause a crash. Always initialize your data before
you use it. And pay attention to warnings your compilier gives you.
> void do_generate(CHAR_DATA *ch)
> {
> int num1, num2, num3;
> int pnum1, pnum2, pnum3;
> int i;
> LOTTERY_DATA *lottery;
>
> num1 = dice(1,1);
> num2 = dice(1,1); //Testing all will be 0,9
> num3 = dice(1,1);
>
> for (i=0;i<maxLottery;i++)
> {
> pnum1 = lottery[i].slot1;
> pnum2 = lottery[i].slot2;
> pnum3 = lottery[i].slot3;
>
> if (pnum1 == num1 && pnum2 == num2 && pnum3 == num3)
> {
> info (ch,0,"We have a winner!\n\r");
> }
> }
> }
>
> Using GDB I look at pnum1 pnum2 and pnum3 and they turn into something
> like 824193073
>
>
> Any help would be ...well...helpful!
=====
-----BEGIN GEEK CODE BLOCK-----
Version 3.1
GCS/L/C/O d-(+) s++: a-- C+++$>++++ UBLS++++$
P+++(--)$ L+++>++++ E--- W+>++$ N !o K? w(--) !O
M- !V PS+ PE(++) Y+ PGP->+ t+ 5 X+() R(+) tv+@
b++(+++) !DI+++ D G(-) e>+++$ h---() r+++ y+++
------END GEEK CODE BLOCK------
__________________________________
Do you Yahoo!?
Friends. Fun. Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/