UltimaForum

Skrypty [VX] - Omega Achievements

Angius - Sro 20 Kwi, 2011 17:11
Temat postu: Omega Achievements

bartek2940 - Sro 20 Kwi, 2011 18:34

Czyli tak jakby odznaczenia?
Angius - Sro 20 Kwi, 2011 18:38

Achievementy, osiągnięcia. W większości gier flashowych w necie są takowe, przyznawane za przejście pierwszego poziomu, za pokonanie bossa jak już wspomniałem, etc. Nie dają tu żadnego bonusa, ale urozmaicają grę i wciągają na dłużej - jak choćby zbieranie zwojów, ksiąg i pudełek w Sacredzie...

Zapomniałbym!
WAŻNE!!!
Jeśli chcemy wywołać menu w którym będą acziki, wywołujemy skrypt:
Kod:
$scene = Achievements.new

Prosiłbym o aktualizację pierwszego posta...[/code]

bartek2940 - Czw 21 Kwi, 2011 09:31

Fajny skrypt, rzeczywiście działa i można go ciekawie użyć.
gomer - Czw 21 Kwi, 2011 10:14

Mozecie podac filmik albo screeny jak to zrobić... jestem początkujący.
Ayene - Czw 21 Kwi, 2011 12:08

Skrypty na ogół nie są "noob-friendly", dlatego proponowałabym wpierw zapoznać się z samouczkiem :arrow: http://www.ultimateam.pl/viewtopic.php?t=1896 a następnie dokładnie przeczytać instrukcję do skryptu (zazwyczaj zawarta jest w nagłówku).
bartek2940 - Nie 01 Maj, 2011 22:43

Są problemy z działaniem gdy mamy "Minimapę obrazkową" (konkretniej drugi skrypt niezbędny do jej działania). Po wduszeniu "Nowej gry" wyskakuje jakiś error.
Angius - Nie 01 Maj, 2011 23:43

Dziwne, mnie errora nie wywala po uruchomieniu, a mam oba te skrypty...
Umieściłem Omegę na samym dole listy skryptów i działa. Wcześniej miałem ją wyżej i wywalało error przy próbie wywołania menu aczików. Spróbuj przenieść, a jak nie pomoże, to jakiś rubysta coś zaradzi :-)

Edit: tak mam rozplanowany skrypty
Spoiler:


Eleanor - Czw 26 Maj, 2011 17:53

Znalazłam takie coś:
KLIK
i mnie zastanawia, czy mogę tego użyć ot tak? Bo w opisie było, że mają 90x90, ale czy muszę mieć dokładny wymiar kwadracika, wszystkie proporcje? Utnie mi kawałek obrazka lub go rozciągnie?

Angius - Sob 28 Maj, 2011 23:32

Na pewno musisz je pociąć na osobne kwadraty. I powinno działać, tak myślę. A jak nie, to utwórz w paint'cie obraz 90x90, pośrodku wklej fragment tej grafiki i zaimportuj. Albo wywal tło w GIMP-ie ;-)
anemone - Pon 30 Maj, 2011 23:23

Czy da się wywołać ten skrypt klawiszem? np f7 ^^
Angius - Wto 31 Maj, 2011 16:00

F7 bodaj nie, ale możesz każdym innym. Zainstaluj skrypt na rozszerzoną klawiaturę i ustaw typowe zdarzenie wywołujące ten skrypt po wciśnięciu jakiejśtam litery.
Albo poproś kogoś o dopisanie kilku linijek kodu :-)

barmen - Wto 31 Maj, 2011 16:43

Kod:
0x76        # F7 key

To wyjaśnia, że można :P

Wklej ten skrypt:
Spoiler:

Kod:
#===============================================================================
# Key.press?(key) keyboard Script
#===============================================================================
# Input Module written by Cybersam. Modified by Synthesize
# version 1.0.0
# May 11, 2008
#-------------------------------------------------------------------------------
module Key
  @keystatus = Win32API.new("user32","GetAsyncKeyState",['i'],'i')
  #-----------------------------------------------------------------------------
  # Check if specified key is being pressed
  #-----------------------------------------------------------------------------
  def self.press?(key)
    return true if @keystatus.call(key) != 0
    return false
  end
  #-----------------------------------------------------------------------------
  # Create Letter Values
  #-----------------------------------------------------------------------------
  Key_A         = 0x41        # A key
  Key_B         = 0x42        # B key
  Key_C         = 0x43        # C key
  Key_D         = 0x44        # D key
  Key_E         = 0x45        # E key
  Key_F         = 0x46        # F key
  Key_G         = 0x47        # G key
  Key_H         = 0x48        # H key
  Key_I         = 0x49        # I key
  Key_J         = 0x4A        # J key
  Key_K         = 0x4B        # K key
  Key_L         = 0x4C        # L key
  Key_M         = 0x4D        # M key
  Key_N         = 0x4E        # N key
  Key_O         = 0x4F        # O key
  Key_P         = 0x50        # P key
  Key_Q         = 0x51        # Q key
  Key_R         = 0x52        # R key
  Key_S         = 0x53        # S key
  Key_T         = 0x54        # T key
  Key_U         = 0x55        # U key
  Key_V         = 0x56        # V key
  Key_W         = 0x57        # W key
  Key_X         = 0x58        # X key
  Key_Y         = 0x59        # Y key
  Key_Z         = 0x5A        # Z key
  #-----------------------------------------------------------------------------
  # Map Mouse
  #-----------------------------------------------------------------------------
  Mouse_L = 0x01        # left mouse button
  Mouse_R = 0x02        # right mouse button
  Mouse_M = 0x04        # middle mouse button
  Mouse_4 = 0x05        # 4th mouse button
  Mouse_5 = 0x06        # 5th mouse button
  #-----------------------------------------------------------------------------
  # Map Control Buttons
  #-----------------------------------------------------------------------------
  Key_Backspace      = 0x08        # BACKSPACE key
  Key_Tab       = 0x09        # TAB key
  Key_Return    = 0x0D        # ENTER key
  Key_Shift     = 0x10        # SHIFT key
  Key_Control      = 0x11        # CTLR key
  Key_Alt       = 0x12        # ALT key
  Key_Pause     = 0x13        # PAUSE key
  Key_Capslock   = 0x14        # CAPS LOCK key
  Key_Escape    = 0x1B        # ESC key
  Key_Space     = 0x20        # SPACEBAR
  Key_Prior     = 0x21        # PAGE UP key
  Key_Next      = 0x22        # PAGE DOWN key
  Key_End       = 0x23        # END key
  Key_Home      = 0x24        # HOME key
  Key_Left      = 0x25        # LEFT ARROW key
  Key_Up        = 0x26        # UP ARROW key
  Key_Right     = 0x27        # RIGHT ARROW key
  Key_Down      = 0x28        # DOWN ARROW key
  Key_Select    = 0x29        # SELECT key
  Key_Print     = 0x2A        # PRINT key
  Key_Snapshot  = 0x2C        # PRINT SCREEN key
  Key_Insert    = 0x2D        # INS key
  Key_Delete    = 0x2E        # DEL key
  #-----------------------------------------------------------------------------
  # Map Number Keys
  #-----------------------------------------------------------------------------
  Key_0         = 0x30        # 0 key
  Key_1         = 0x31        # 1 key
  Key_2         = 0x32        # 2 key
  Key_3         = 0x33        # 3 key
  Key_4         = 0x34        # 4 key
  Key_5         = 0x35        # 5 key
  Key_6         = 0x36        # 6 key
  Key_7         = 0x37        # 7 key
  Key_8         = 0x38        # 8 key
  #-----------------------------------------------------------------------------
  # Map Windows Key
  #-----------------------------------------------------------------------------
  Key_Lwin      = 0x5B        # Left Windows key (Microsoft Natural keyboard)
  Key_Rwin      = 0x5C        # Right Windows key (Natural keyboard)
  Key_Apps      = 0x5D        # Applications key (Natural keyboard)
  #-----------------------------------------------------------------------------
  # Map Numpad
  #-----------------------------------------------------------------------------
  Key_Numpad0   = 0x60        # Numeric keypad 0 key
  Key_Numpad1   = 0x61        # Numeric keypad 1 key
  Key_Numpad2   = 0x62        # Numeric keypad 2 key
  Key_Numpad3   = 0x63        # Numeric keypad 3 key
  Key_Numpad4   = 0x64        # Numeric keypad 4 key
  Key_Numpad5   = 0x65        # Numeric keypad 5 key
  Key_Numpad6   = 0x66        # Numeric keypad 6 key
  Key_Numpad7   = 0x67        # Numeric keypad 7 key
  Key_Numpad8   = 0x68        # Numeric keypad 8 key
  Key_Numpad9     = 0x69        # Numeric keypad 9 key
  Key_Multiply  = 0x6A        # Multiply key (*)
  Key_Add       = 0x6B        # Add key (+)
  Key_Seperator = 0x6C        # Separator key
  Key_Subtract  = 0x6D        # Subtract key (-)
  Key_Decimal   = 0x6E        # Decimal key
  Key_Divide    = 0x6F        # Divide key (/)
  #-----------------------------------------------------------------------------
  # Map F-keys
  #-----------------------------------------------------------------------------
  Key_F1        = 0x70        # F1 key
  Key_F2        = 0x71        # F2 key
  Key_F3        = 0x72        # F3 key
  Key_F4        = 0x73        # F4 key
  Key_F5        = 0x74        # F5 key
  Key_F6        = 0x75        # F6 key
  Key_F7        = 0x76        # F7 key
  Key_F8        = 0x77        # F8 key
  Key_F9        = 0x78        # F9 key
  Key_F10       = 0x79        # F10 key
  Key_F11       = 0x7A        # F11 key
  Key_F12       = 0x7B        # F12 key
  #-----------------------------------------------------------------------------
  # Map Numlock and Scroll keys
  #-----------------------------------------------------------------------------
  Key_Numlock   = 0x90        # NUM LOCK key
  Key_Scroll    = 0x91        # SCROLL LOCK key
  #-----------------------------------------------------------------------------
  # Map Control, Shift and Alt keys
  #-----------------------------------------------------------------------------
  Key_Lshift       = 0xA0        # Left SHIFT key
  Key_Rshift       = 0xA1        # Right SHIFT key
  Key_Lcontrol  = 0xA2        # Left CONTROL key
  Key_Rcontrol  = 0xA3        # Right CONTROL key
  Key_Lalt       = 0xA4        # Left ALT key
  Key_Ralt       = 0xA5        # Right ALT key
  #-----------------------------------------------------------------------------
  # Map seperator keys
  #-----------------------------------------------------------------------------
  Key_Comma         = 0xBC        # , key
  Key_Dash         = 0xBD        # - key
  Key_Period         = 0xBE        # . key 
end

# Usage:
# Key.press?(Key::KEY_HERE)

# if Key.press?(Key::Mouse_L)
# or
# $mousel = Key::Mouse_L
# if Key.press?($mousel)



Powinien być kompatybilny z VX. Tworzysz warunek i dajesz na skrypt:
Key.press?(Key::Key_F7)
Dalej robisz jak tam chcesz...

JacQ13 - Sro 20 Lip, 2011 19:11

Eeee....to wszystko wkleić, bo troche nie rozumiem?
Angius - Sro 20 Lip, 2011 19:25

Nie inaczej, skrypt wklejasz nad main i wrzucasz odpowiednie grafiki.
JacQ13 - Czw 21 Lip, 2011 12:38

Mi wywala errora po dodaniu własnego achievementa...
Pisze tak:
Script:OmegaX Achievements' line 50:NameError occured
uninitalized constant AchievementsData:Achievements

a jak umieszcza go niżej:
Script:OmegaX Achievement' line 63:SynTax error occurred

Oczywiście jak usune to żadnych błędów nie ma.

Angius - Czw 21 Lip, 2011 15:28

Kody błędów podajemy w tagach code
Ponadto, byłoby miło, gdybyś podał, jak owe linijki (50 oraz 63) wyglądają, a także podał, w jaki sposób dodajesz własne achievementy, bo wygląda na to, że robisz to źle.

JacQ13 - Czw 21 Lip, 2011 17:41

Trzeba usunąć te achievementy co było od początku?
Ja robię to tak:
Wszystko co trzeba wpisuje ID switcha i takie tam(nazwe, opis)
a potem w grze usawiam w wybranym zdarzeniu przełączenie switcha
, który odpowiada za achievementa.

A tak wyglądają te linijki
Kod:
  Achievements[3] = ["Upadek Tytana",4]
  Descriptions[3] = ["Srebrny Tytan jest zniszczony."]

Angius - Czw 21 Lip, 2011 17:49

Nie podajesz grafiki w pierwszej linijce. Musisz ją podać.
Kod:
Instrukcje:
#    Podstawowy szablon aczika:
#
#    Achievements[ID] = ["Nazwa","OBRAZEK",ID Switcha]
#    Descriptions[ID] = ["1 wers","2 wers","3 wers"]
#
#    ID = ID aczika w skrypcie. Każdy aczik ma jeden, unikalny począwszy od 0.
#    "Nazwa" => Nazwa wyświetlana aczika. Podana w cudzysłowie " "
#    "Obrazek" => 90x90 nazwa grafiki w folderze [Pictures]. Podana w cudzysłowie " "
#    ID Switcha => ID switcha który ma aktywować danego aczika.
#    Możesz dodać tyle linii opisu ile ci się żywnie podoba.
#    Każda linia w cudzysłowiu " ", i każda oddzielona przecinkiem.

A konkretniej:
Cytat:
# Achievements[ID] = ["Nazwa","OBRAZEK",ID Switcha]

JacQ13 - Czw 21 Lip, 2011 19:21

:-) Bardzo dziękuje!Chodzi o to, że miałem wpisane jaki obrazek,
ale nie miałem go w Pictures ;). Teraz wszystko działa.

hubr - Sob 05 Sty, 2013 16:03

da się zrobić, aby ten skrypt był uruchamiany z menu (tego, które jest podczas gry?)

Powered by phpBB modified by Przemo © 2003 phpBB Group