Help with script.... - 11/07/09 12:59 AM
I made a script to test for the end of the month but, for some reason it gets stuck, could you gurus look at it a see what I did wrong??? Thanks...
What its suppose to look like:
The Hebrew date is Friday, 18th of Tammuz, 5769
Corresponding civil dates: night of 7/9/2009 & day of 7/10/2009
what it does:
The Hebrew date is Friday, 18th of Tammuz, 5769
Corresponding civil dates: night of 6/31/2008 & day of 7/10/2009
Corresponding civil dates: night of 6/30/2009 & day of 7/10/2009
Script:
on *:TEXT:!hebcal*:#:{
/var
%gyear = $date(yyyy)
%gmonth = $date(m)
%gday = $date(d)
%day = $day
/msg $chan The Hebrew date is %day $+ , $hebdate
/var
; Compute last year
if(%gmonth == 1)&&(%gdate == 1) {
%lyear = $calc($date(yyyy) - 1)
%lmonth = $calc($date(m)-1)
%yday = 31
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %lyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
; Comparing months to April-May(5), june-July(7), Sept-Oct(10), Nov-Dec(12) to set last day of the past month 30 days
elseif((%gday == 1)&&(%gmonth == 5)||(%gmonth == 7)||(%gmonth == 10)||(%gmonth == 12)){
%yday = 30
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
; Comparing months to Dec-Jan(1), Jan-Feb(2), Mar-Apr(4), May-Jun(6), July-Aug(8), Oct-Nov(11) to set last day of the past month 31 days
elseif((%gday == 1)&&(%gmonth == 2)||(%gmonth == 4)||(%gmonth == 6)||(%gmonth == 8)||(%gmonth == 11)){
%yday = 31
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
; compute for end of Feb and leap year
elseif((%gday == 1)&&(%gmonth == 3)&&($leap(%gyear) == 1)){
%yday = 28
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
elseif((%gday == 1)&&(%gmonth == 3)&&($leap(%gyear) == 1)){
%yday =29
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
else{
%yday = $calc($date(d)-1)
/msg $chan Corresponding civil dates: night of %gmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear
%yday = $calc($date(d)-1)
/msg $chan Corresponding civil dates: night of %gmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear
What its suppose to look like:
The Hebrew date is Friday, 18th of Tammuz, 5769
Corresponding civil dates: night of 7/9/2009 & day of 7/10/2009
what it does:
The Hebrew date is Friday, 18th of Tammuz, 5769
Corresponding civil dates: night of 6/31/2008 & day of 7/10/2009
Corresponding civil dates: night of 6/30/2009 & day of 7/10/2009
Script:
on *:TEXT:!hebcal*:#:{
/var
%gyear = $date(yyyy)
%gmonth = $date(m)
%gday = $date(d)
%day = $day
/msg $chan The Hebrew date is %day $+ , $hebdate
/var
; Compute last year
if(%gmonth == 1)&&(%gdate == 1) {
%lyear = $calc($date(yyyy) - 1)
%lmonth = $calc($date(m)-1)
%yday = 31
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %lyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
; Comparing months to April-May(5), june-July(7), Sept-Oct(10), Nov-Dec(12) to set last day of the past month 30 days
elseif((%gday == 1)&&(%gmonth == 5)||(%gmonth == 7)||(%gmonth == 10)||(%gmonth == 12)){
%yday = 30
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
; Comparing months to Dec-Jan(1), Jan-Feb(2), Mar-Apr(4), May-Jun(6), July-Aug(8), Oct-Nov(11) to set last day of the past month 31 days
elseif((%gday == 1)&&(%gmonth == 2)||(%gmonth == 4)||(%gmonth == 6)||(%gmonth == 8)||(%gmonth == 11)){
%yday = 31
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
; compute for end of Feb and leap year
elseif((%gday == 1)&&(%gmonth == 3)&&($leap(%gyear) == 1)){
%yday = 28
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
elseif((%gday == 1)&&(%gmonth == 3)&&($leap(%gyear) == 1)){
%yday =29
/msg $chan Corresponding civil dates: night of %lmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear }
else{
%yday = $calc($date(d)-1)
/msg $chan Corresponding civil dates: night of %gmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear
%yday = $calc($date(d)-1)
/msg $chan Corresponding civil dates: night of %gmonth $+ / $+ %yday $+ / $+ %gyear & day of %gmonth $+ / $+ %gday $+ / $+ %gyear