Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bookseller Display Script
07-02-2008, 07:19 PM,
#1
Bookseller Display Script
Howdy

We have need for a script which will change the bookseller's display book once every game week

This script will simply change the book ID each week to the next book in the list


I will provide the list of books, 3 or 4 books is all thats needed


let me know

Enjoy
Bob
I am a free single guy again, but I am still addicted to Elder Scrolls


http://z10.invisionfree.com/Island_of_Ra...hp?act=idx


[Image: qxbkbqrcde.jpg]

Enjoy the Great taste of Diet Bob, with Zero Calories
Reply
07-11-2008, 11:16 PM,
#2
RE: Bookseller Display Script
Hello, hope this helps! Smile
Code:
begin ab01bookSwapScript

; example of global script
; should randomly swap/cycle weekly (PERSISTENT)
; ab01BookA1, ab01BookA2, ab01BookA3, ab01BookA4
; and ab01BookB1, ab01BookB2, ab01BookB3, ab01BookB4


short myDay
short myDaysPassed
short i1
short i2
short state
short z1
short z2

if ( myDay == Day )
    return
endif
; a day has passed
set myDay to Day

set myDaysPassed to ( myDaysPassed + 1 )
if ( myDaysPassed <= 7 )
    return
endif

; a week has passed
set myDaysPassed to 0 ; reset week counter

if ( state == 0 )
    set state to 1 ; random books by default
    ; set state to 2 ; uncomment this to cycle books instead of randomize

    ; one time storage of book start position
    set z1 to ( ab01BookA1->GetPos Z )
    set z2 to ( ab01BookB1->GetPos Z )
endif

if ( state == 1 )
    ; assign random books by default
    set i1 to Random 10001
    set i1 to ( i1 * 0.0003 ) ; 0 <= i1 <= 3
    set i2 to Random 1001
    set i2 to ( i2 * 0.003 ) ; 0 <= i2 <= 3
elseif  ( state == 2 )
    ; cycle books
    set i1 to ( i1 + 1 )
    if ( i1 > 3 )
        set i1 to 0
    endif
    set i2 to ( i2 + 1 )
    if ( i2 > 3 )
        set i2 to 0
    endif
endif

if ( i1 == 0 )
    ab01BookA4->SetPos Z -300 ; move it to avoid collision problems
    ab01BookA4->Disable ; then disable
    ab01BookA3->SetPos Z -300
    ab01BookA3->Disable
    ab01BookA2->SetPos Z -300
    ab01BookA2->Disable
    ab01BookA1->SetPos Z z1 ; move the book to right position
    ab01BookA1->Enable ; display it
elseif ( i1 == 1 )
    ab01BookA4->SetPos Z -300
    ab01BookA4->Disable
    ab01BookA3->SetPos Z -300
    ab01BookA3->Disable
    ab01BookA1->SetPos Z -300
    ab01BookA1->Disable
    ab01BookA2->SetPos Z z1
    ab01BookA2->Enable
elseif ( i1 == 2 )
    ab01BookA4->SetPos Z -300
    ab01BookA4->Disable
    ab01BookA2->SetPos Z -300
    ab01BookA2->Disable
    ab01BookA1->SetPos Z -300
    ab01BookA1->Disable
    ab01BookA3->SetPos Z z1
    ab01BookA3->Enable
else ; if ( i1 == 3 )
    ab01BookA3->SetPos Z -300
    ab01BookA3->Disable
    ab01BookA2->SetPos Z -300
    ab01BookA2->Disable
    ab01BookA1->SetPos Z -300
    ab01BookA1->Disable
    ab01BookA4->SetPos Z z1
    ab01BookA4->Enable
endif

if ( i2 == 0 )
    ab01BookB4->SetPos Z -300
    ab01BookB4->Disable
    ab01BookB3->SetPos Z -300
    ab01BookB3->Disable
    ab01BookB2->SetPos Z -300
    ab01BookB2->Disable
    ab01BookB1->SetPos Z z2
    ab01BookB1->Enable
    return
elseif ( i2 == 1 )
    ab01BookB4->SetPos Z -300
    ab01BookB4->Disable
    ab01BookB3->SetPos Z -300
    ab01BookB3->Disable
    ab01BookB1->SetPos Z -300
    ab01BookB1->Disable
    ab01BookB2->SetPos Z z2
    ab01BookB2->Enable
    return
elseif ( i2 == 2 )
    ab01BookB4->SetPos Z -300
    ab01BookB4->Disable
    ab01BookB2->SetPos Z -300
    ab01BookB2->Disable
    ab01BookB1->SetPos Z -300
    ab01BookB1->Disable
    ab01BookB3->SetPos Z z2
    ab01BookB3->Enable
    return
else ; if ( i2 == 3 )
    ab01BookB3->SetPos Z -300
    ab01BookB3->Disable
    ab01BookB2->SetPos Z -300
    ab01BookB2->Disable
    ab01BookB1->SetPos Z -300
    ab01BookB1->Disable
    ab01BookB4->SetPos Z z2
    ab01BookB4->Enable
endif

end
Cheers!
[edit]test .esp attached, test books are just outside the Census office in Setyda Neen, there is an autostart script (Tribunal or better engine required) that increases Day when sneaking to help testing
Reply
07-12-2008, 01:08 AM,
#3
 
Super


Thanks Abot, I will give your example esp a go and let you know if we run into any trouble


Thanks Much


Enjoy
Bob
I am a free single guy again, but I am still addicted to Elder Scrolls


http://z10.invisionfree.com/Island_of_Ra...hp?act=idx


[Image: qxbkbqrcde.jpg]

Enjoy the Great taste of Diet Bob, with Zero Calories
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)