Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Gra RPG


Rekomendowane odpowiedzi

Opublikowano

Witam robię grę RPG która ma wyglądać jak moja poprzednia gra RPG robiona w batch'u (cmd) więc zacząłem robić sobie funkcje rysowania w GUI (które miało być "konsolą") i wygląda to tak:

#NoTrayIcon
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <String.au3>
$CMD_BLACK = "0x000000"
$CMD_BLUE = "0x000080"
$CMD_GREEN = "0x008000"
$CMD_CYAN = "0x008080"
$CMD_RED = "0x800000"
$CMD_MAGENTA = "0x800080"
$CMD_BROWN = "0x808000"
$CMD_GREY = "0x808080"
$CMD_YELLOW = "0xFFFF00"
$CMD_ORANGE = "0xFF8000"
$CMD_WHITE = "0xFFFFFF"
$CMD_LIGHTGREY = "0xC0C0C0"
$CMD_LIGHTBLUE = "0x0000FF"
$CMD_LIGHTGREEN = "0x00FF00"
$CMD_LIGHTCYAN = "0x00FFFF"
$CMD_LIGHTRED = "0xFF0000"
$CMD_LIGHTMAGENTA = "0xFF00FF"
$GUI = GUICreate("ABatchIt RPG",80*8,50*12)
GUISetBkColor($CMD_BLACK)
GUISetState(@SW_SHOW)
$menu = Fill("          ABatchIt RPG Menu            ",$CMD_WHITE,$CMD_LIGHTBLUE,20,2,40,1)
$menu1 = Fill(".",$CMD_WHITE,$CMD_BLACK,20,3,40,3)
Sleep(5000)


Func Fill($FuncLine1,$FuncLine2,$FuncLine3,$FuncLine4,$FuncLine5,$FuncLine6,$FuncLine7)
    Local $Return
    Local $Buffer = StringLeft(_StringRepeat($FuncLine1,$FuncLine6),$FuncLine6)
    If Not $FuncLine7 = 0 Then
        For $i = 1 To $FuncLine7 - 1
            $Buffer&=@CRLF&$Buffer
        Next
    EndIf
    Local $Return = GUICtrlCreateLabel($Buffer,($FuncLine4 - 1)*8,($FuncLine5 - 1)*12,$FuncLine6*8,$FuncLine7*12)
    GUICtrlSetFont($Return, 10, 400, 0, "Lucida Console")
    GUICtrlSetBkColor($Return,$FuncLine3)
    GUICtrlSetColor($Return,$FuncLine2)
    Return($Return)
EndFunc

I wyświetla taki kawałek na razie "menu", kod działa...

Lecz przestaje działać gdy chcę wydłużyć białą część menu zamieniając to:

 

$menu1 = Fill(".",$CMD_WHITE,$CMD_BLACK,20,3,40,3)

Na to:

$menu1 = Fill(".",$CMD_WHITE,$CMD_BLACK,20,3,40,14)

 

Parametry funkcji fill jak komuś potrzebne żeby rozkminić:

 

Fill(tekst, kolor:liter, kolor:tło,x,y,rozmiar:x,rozmiar:y)

 

Proszę o pomoc naprawienia kodu

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

Nie pierdol się z tym w AU3 tylko zrób to po ludzku w C++.

Robienie labelów na GUI to najbardziej chujowy kijowy pomysł jaki dotychczas widziałem. Zrób w edicie jak już.

Dzięki za wyrozumiałość wiesz... ale ja proszę o pomoc w naprawieniu tego kodu a nie zbędne pier*dolenie bez sensu :D

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

Co to za nazwy argumentów w ogóle WTF?!

I zauważ, że za każdym razem, gdy jest wywoływana funkcja fill tworzysz nowego labela. Wiesz do czego to prowadzi?

I najlepiej zainteresuj się c++ i ncurses, bo robienie gier tekstowych w autoit to nie najlepszy pomysł.

  • 4 miesiące temu...
Opublikowano

No co ja poradzę że AutoIt to taki chujowy język, zresztą rozwiązanie też ci podałem. Potraktuj edita jako konsolę, i zrób inputa do którego będziesz wpisywał polecenia. Nie ma sensu pierdolić się z tymi labelami.

 

 

Sora za odkop ale chcę wypowiedzieć się co do tego. W edicie z tego co wiem nie zrobisz różnych kolorów tekstu że np masz 2 słowa "zjem cię" i zjem będzie na niebiesko a cię na czerwono. jakaś idea?

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

Moźesz to zrobić w GameMakerze np.

Cytat

That is not dead which can eternal lie. And with strange aeons even death may die.

 

Opublikowano

Ja sie w game kreatory nie bawie :P

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...