* * * * * * * * * * Zamknięte forum dyskusyjne Gildii Najemników na prywatnym serwerze "Dziedzictwo Mistrzów" na bazie gry Ultimy Online * * * * * * * * *
Aktywny
; ===================
; Skrypt wyswietla czas ostatniego gaina w kazdej cwiczonej
; umiejetnosci. Dodatkowo stara sie wyliczyc kiedy nastapi
; kolejny gain. by urug
; ===================
set %amount 0
set #menubutton N/A
while ( CLOSED notin #menubutton )
{
if ( Your_skill_in_ in #sysmsg )
{
set %tmp #sysmsg
gosub get_skill_name #sysmsg
gosub reset_gain_time #result
gosub print_menu
; Czekaj az zmieni sie #sysmsg
while ( #sysmsg = %tmp )
wait
}
}
halt
; ===================
; Wyswietl menu z informacjami na temat gainow
; ===================
sub print_menu
{
; Oblicz wysokosc okna
set %size 27 + ( ( %amount - 1 ) * 23 )
menu Clear
menu Window Size 250 %size
menu Window Title Czasy gainow:
menu Window Color black
menu Font Transparent #true
menu Font Size 12
menu Font Style b
menu Font Color white
menu Show
set %i 0
set %Ypos 5
while ( %i < %amount )
{
; Pobierz nazwe umiejetnosci/czas do gaina/czas ostatniego gaina
set %name %skills . %i
set %remain %remain . %name
set %time %time . %name
if ( %remain = NoData )
menu Text %name 5 %Ypos %name :: %time
else
menu Text %name 5 %Ypos %name :: %time ( %remain )
set %Ypos %Ypos + 23
set %i %i + 1
}
return
}
; ==================
; Aktualizuj czas ostatniego gaina
; ==================
sub reset_gain_time
{
set %skill_name %1
set %i 0
while ( %i <= %amount )
{
set %name %skills . %i
if ( %i = %amount || %skill_name = %name )
{
set %skills . %i %skill_name
gosub make_time_human_readable #time
set %time . %skill_name #result
if ( %seconds . %skill_name = N/A )
set %remain . %skill_name NoData
else
{
set %licz ( #scnt - ( %seconds . %skill_name ) ) / 60
set %licz %licz , #spc , min
set %remain . %skill_name %licz
}
set %seconds . %skill_name #scnt
if ( %i = %amount )
set %amount %amount + 1
break
}
set %i %i + 1
}
return
}
; ===================
; Spraw by czas byl czytelny dla czlowieka
; ===================
sub make_time_human_readable
{
set %time_gain %1
str Ins %time_gain : 3
set %time_gain #strres
str Ins %time_gain : 6
return #strres
}
; ==================
; Wytnij z informacji o gainie nazwe skilla
; ==================
sub get_skill_name
{
set %name %1
; Wytnij to co znajduje sie przed nazwa umiejetnosci
str pos %name _ 3
str del %name 1 #strres
set %name #strres
; Wytnij to co za nazwa umiejetnosci
str pos %name _ 1
set %start_cut #strres
str len %name
set %stop_cut #strres
str del %name %start_cut %stop_cut
return #strres
}
Offline