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

Staty itemu z pliku.ini


Rekomendowane odpowiedzi

Opublikowano

Yo, mógł by mi ktoś powiedzieć jak zrobić by item, który jest w combo:

 

Mam combo i jest lista itemów - Helm Mistrza, Helm Podwodnego Zbawienia itp i każdy z nich ma swoje statystyki

 

Helm Mistrza

HP: +50

SIŁA: + 7

 

Helm Podwodnego Zbawienia

HP: -30

ZRĘCZNOŚĆ: +4

 

itp

 

I teraz jak by to zrobić by statystyki czytało z pliku .ini i jak by taki plik miał wyglądać?

 

(Jestem newbie nie bijcie)

10 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 200 | 300 400 | 500 | 600 | 700 | 800 | 900 | 1000logoskillowcy.png

 

Opublikowano

Plik ini:

[Helm Mistrza]
HP=+50
SIŁA=+7
 
[Helm Podwodnego Zbawienia]
HP=-30
ZRĘCZNOŚĆ=4

Czytasz za pomoca:

$hp_helm_mistrza = IniRead("ini.txt", "Helm Mistrza", "hp", "")
$sila_helm_mistrza = IniRead("ini.txt", "Helm Mistrza", "hp", "")

$hp_helm_zbawienia=IniRead("ini.txt", "Helm Podwodnego Zbawienia", "sila", "")

itd.....

Moza tez zrobic to na inny sposób ale ten jest chyba najłatwiejszy.

4758463064.png

 

Opublikowano

Plik ini:

[Helm Mistrza]
HP=+50
SIŁA=+7
 
[Helm Podwodnego Zbawienia]
HP=-30
ZRĘCZNOŚĆ=4

Czytasz za pomoca:

$hp_helm_mistrza = IniRead("ini.txt", "Helm Mistrza", "hp", "")
$sila_helm_mistrza = IniRead("ini.txt", "Helm Mistrza", "hp", "")

$hp_helm_zbawienia=IniRead("ini.txt", "Helm Podwodnego Zbawienia", "sila", "")

itd.....

Moza tez zrobic to na inny sposób ale ten jest chyba najłatwiejszy.

 

Ale to wtedy będzie działać gdy wybiera z listy item? bo mam kategorie helm, spodnie itp. i w każdej są itemy po kilka sztuk.

10 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 200 | 300 400 | 500 | 600 | 700 | 800 | 900 | 1000logoskillowcy.png

 

Opublikowano

A jak myślisz po co są sekcje i klucze  w pliku ini ?  Po to by nazwać sekcję  i pobrać dane dla danych kluczy. 

IniRead ( "filename", "section", "key", "default" )

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

A jak myślisz po co są sekcje i klucze  w pliku ini ?  Po to by nazwać sekcję  i pobrać dane dla danych kluczy. 

IniRead ( "filename", "section", "key", "default" )

 

Czyli nic więcej nie będę musiał kombinować tylko to zrobie i normalnie się staty przypiszą do itemu wyświetlanego w combo?

10 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 200 | 300 400 | 500 | 600 | 700 | 800 | 900 | 1000logoskillowcy.png

 

Opublikowano

Tak, kluczy dla sekcji możesz mieć kilka. 

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

 

Tak, kluczy dla sekcji możesz mieć kilka. 

Zrobiłem tak jak pisaliście i mi nie liczy tego np. hp od helm mistrza ;/ wyswietla tylko domyślne hp podane w inpucie tutaj mój kod


#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPIFiles.au3>
#Region ### START Koda GUI section ### Form=C:\Users\rychu\Desktop\KalkulatorUmiejetno sci\test.kxf
$hp_helm_mistrza = IniRead("ini.txt", "Helm Mistrza", "hp", "")
$sila_helm_mistrza = IniRead("ini.txt", "Helm Mistrza", "sila", "")
$Form1 = GUICreate("Kalkulator Statystyk", 425, 598, 692, 75)
$Group1 = GUICtrlCreateGroup("Statystyki", 8, 8, 201, 265)
$hp = GUICtrlCreateInput("200", 90, 40, 105, 21)
$mana = GUICtrlCreateInput("200", 90, 72, 105, 21)
$kondycja = GUICtrlCreateInput("200", 90, 104, 105, 21)
$sila = GUICtrlCreateInput("10", 90, 136, 105, 21)
$zrecznosc = GUICtrlCreateInput("10", 90, 168, 105, 21)
$moc = GUICtrlCreateInput("10", 90, 200, 105, 21)
$wiedza = GUICtrlCreateInput("10", 90, 232, 105, 21)
$Label1 = GUICtrlCreateLabel("HP", 16, 48, 70, 17)
$Label2 = GUICtrlCreateLabel("MANA", 16, 80, 70, 17)
$Label3 = GUICtrlCreateLabel("KONDYCJA", 16, 112, 70, 17)
$Label4 = GUICtrlCreateLabel("SILA", 16, 144, 70, 17)
$Label5 = GUICtrlCreateLabel("ZRECZNOSC", 16, 176, 70, 17)
$Label6 = GUICtrlCreateLabel("MOC", 16, 208, 70, 17)
$Label7 = GUICtrlCreateLabel("WIEDZA", 16, 240, 70, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Ekwipunek", 8, 280, 201, 313)
$Combo1 = GUICtrlCreateCombo("Wybierz Item", 88, 296, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$helm = GUICtrlSetData($Combo1, "Helm Mistrza")
$Combo2 = GUICtrlCreateCombo("Wybierz Item", 88, 320, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$zbroja = GUICtrlSetData($Combo2, "")
$Label8 = GUICtrlCreateLabel("HELM", 16, 304, 70, 17)
$Label9 = GUICtrlCreateLabel("ZBROJA", 16, 328, 70, 17)
$Combo3 = GUICtrlCreateCombo("Wybierz Item", 88, 344, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo4 = GUICtrlCreateCombo("Wybierz Item", 88, 368, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo5 = GUICtrlCreateCombo("Wybierz Item", 88, 392, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo6 = GUICtrlCreateCombo("Wybierz Item", 88, 416, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo7 = GUICtrlCreateCombo("Wybierz Item", 88, 440, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo8 = GUICtrlCreateCombo("Wybierz Item", 88, 464, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo9 = GUICtrlCreateCombo("Wybierz Item", 88, 488, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo10 = GUICtrlCreateCombo("Wybierz Item", 88, 512, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo11 = GUICtrlCreateCombo("Wybierz Item", 88, 536, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo12 = GUICtrlCreateCombo("Wybierz Item", 88, 560, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Label10 = GUICtrlCreateLabel("SPODNIE", 16, 352, 70, 17)
$Label11 = GUICtrlCreateLabel("BUTY", 16, 376, 70, 17)
$Label12 = GUICtrlCreateLabel("PELERYNA", 16, 400, 70, 17)
$Label13 = GUICtrlCreateLabel("NASZYJNIK", 16, 424, 70, 17)
$Label14 = GUICtrlCreateLabel("PASEK", 16, 448, 70, 17)
$Label15 = GUICtrlCreateLabel("PIERSCIEN 1", 16, 472, 70, 17)
$Label16 = GUICtrlCreateLabel("PIERSCIEN 2", 16, 496, 70, 17)
$Label17 = GUICtrlCreateLabel("BRON", 16, 520, 70, 17)
$Label18 = GUICtrlCreateLabel("TARCZA", 16, 544, 70, 17)
$Label19 = GUICtrlCreateLabel("REKAWICZKI", 16, 568, 70, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Nowe Statystyki", 216, 8, 201, 537)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("KALKULUJ", 216, 552, 75, 41, $WS_GROUP)
$Dodaj = GUICtrlCreateCheckbox("Dodaj", 250, 40, 105, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $Button1
           $a = GUICtrlRead($hp_helm_mistrza)
           $b = GUICtrlRead($hp)
           If GUICtrlRead($Dodaj) == $GUI_CHECKED Then
               MsgBox(0, "Test", $a + $
           EndIf
         Case $GUI_EVENT_CLOSE
           Exit
    EndSwitch
WEnd

10 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 200 | 300 400 | 500 | 600 | 700 | 800 | 900 | 1000logoskillowcy.png

 

Opublikowano

$a = GUICtrlRead($hp_helm_mistrza) ---- ta komenda słuzy do odczytania wartosci z GUI 
$b = GUICtrlRead($hp)

powinno być tak:

$a = $hp_helm_mistrza
$b = GUICtrlRead($hp)
MsgBox(0, "Test", $a + $

$hp_helm_mistrza - jest to znana juz wartość po co chcesz ją odczytać za pomocą komendy która jest i tak zła :D

4758463064.png

 

Opublikowano

$a = GUICtrlRead($hp_helm_mistrza) ---- ta komenda słuzy do odczytania wartosci z GUI 
$b = GUICtrlRead($hp)

powinno być tak:

$a = $hp_helm_mistrza
$b = GUICtrlRead($hp)
MsgBox(0, "Test", $a + $

$hp_helm_mistrza - jest to znana juz wartość po co chcesz ją odczytać za pomocą komendy która jest i tak zła :D

 

 

Wiem, że jest znana. Mówię, że to ma być kalkulator umiejętności ma on zliczać wartości hp/sily itp. każdego wybranego przedmiotu z danej kategorii i sumować po czym wyswietlac HP: X SILA: X, ale nie wiem jak to zrobić by liczyło z wybranego przedmiotu bo widzę, że ten liczy po prostu z itemu i nie ma znaczenia czy jest on wybrany czy też nie :/

10 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 200 | 300 400 | 500 | 600 | 700 | 800 | 900 | 1000logoskillowcy.png

 

Opublikowano
$hp_helm_mistrza = IniRead("ini.txt", "Helm Mistrza", "hp", "") --- po tej operacji zmienna ma wartość z pliku ini np. 20
$a = GUICtrlRead($hp_helm_mistrza) - po tej operacji i $a wynosi 0 gdyz chcesz przeczytac zmienną która nie jest elementem GUI 
jeśli chesz nadać innej zmiennej wartość która również pochodzi ze zmiienej to:
$zmienna1 = $zmienna2

Prawidłowo:

$a = $hp_helm_mistrza ; teraz a = 20
$b = GUICtrlRead($hp)
MsgBox(0, "Test", $a + $

lub:

$b = GUICtrlRead($hp)
MsgBox(0, "Test", $hp_helm_mistrza + $

4758463064.png

 

Opublikowano
$hp_helm_mistrza = IniRead("ini.txt", "Helm Mistrza", "hp", "") --- po tej operacji zmienna ma wartość z pliku ini np. 20
$a = GUICtrlRead($hp_helm_mistrza) - po tej operacji i $a wynosi 0 gdyz chcesz przeczytac zmienną która nie jest elementem GUI 
jeśli chesz nadać innej zmiennej wartość która również pochodzi ze zmiienej to:
$zmienna1 = $zmienna2

Prawidłowo:

$a = $hp_helm_mistrza ; teraz a = 20
$b = GUICtrlRead($hp)
MsgBox(0, "Test", $a + $

lub:

$b = GUICtrlRead($hp)
MsgBox(0, "Test", $hp_helm_mistrza + $

 

Liczyć liczy tak samo jak u mnie w tym 1 skrypcie, ale ten sam problem, że podaje się zmienna do hełmu od razu przy dodawaniu a jak zrobić by sprawdzało jaki przedmiot jest wybrany? Jak widzisz w kodzie moim jest kilka kategorii przedmiotów helm, spodnie, rękawiczki itp. i teraz każdy z nich ma kilkanaście itemow w sobie a nie tylko 1 dla danej kategorii. jak by to zrobić by przy dodawaniu sprawdzało combo $helm i jaki item jest wybrany? Bo $hp - jest to domyślna wartość hp która wynosi 200 i można ja zmienić w zaleznosci ile posiadamy, a przedmioty dobieramy pod siebie by sprawdzić jakie statystyki otrzymamy z danym ekwipunkiem. Chyba opisałem to w miare jasno :D

10 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 200 | 300 400 | 500 | 600 | 700 | 800 | 900 | 1000logoskillowcy.png

 

Opublikowano
$Combo3 = GUICtrlCreateCombo("Wybierz Item", 88, 344, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$hp_helm_mistrza = IniRead("ini.txt", $combo3, "hp", "")

Tylko nazwa musi byc taka sama w ini i w combo

O to chodzi? :D

4758463064.png

 

Opublikowano
$Combo3 = GUICtrlCreateCombo("Wybierz Item", 88, 344, 105, 25, BitOR($CBS_DROPDOWNLIST,$CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$hp_helm_mistrza = IniRead("ini.txt", $combo3, "hp", "")

Tylko nazwa musi byc taka sama w ini i w combo

O to chodzi? :D

 

 

Wytłumacze jeszcze raz tylko tak lepiej :D

1. Mam w combo liste itemów przypisanych do kategorii Hełm

2. Chce by wartość hp "Helm Mistrza" była dodawana dopiero po wybraniu go z listy combo a nie jak teraz, że wybiera od razu.

3. Oraz by sumowało statystyki wszystkich itemów wybranych z każdej kategorii np.

 

Domyślne HP = 200

kategoria spodnie - spodnie mistrza HP = 10

kategoria helm - helm mistrza HP = 50

kategoria rękawiczki - rekawice mistrza HP = 15

 

I to sumuje wszystko i wyswietla HP = 275

(Tylko by liczyło jako kategorie a nie jako oddzielny item jak teraz, dam przykład z tego kodu twojego :D)

To nie będzie działać na pewno ale o co takiego chodzi:

 

$a = $helm;

$b = $spodnie;

$c = $rekawice;

$d = GUICtrlRead($hp)

MsgBox(0, "Test", $a + $b + $c +$d)

 

​4. I takie pytanko dodatkowe jak w msgboxie wyświetlić informacje za tekstem? W sensie wyświetla się msgbox i jest:

​HP:

Siła:

​Mana:

i po hp, sila, mana będą zsumowane statystyki tylko nie mam pojęcia jak dodac do msgboxu tekst

10 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 200 | 300 400 | 500 | 600 | 700 | 800 | 900 | 1000logoskillowcy.png

 

Opublikowano

Rozwiazanie w zalaczniku.

 

Bardzo ci dziękuje! :D

Tylko mam jeden problem jak dodaje nowe staty to wywala mi b

"error: syntax error" a zrobiłem tak samo jak ty zrobiłeś :(

 

 

//edit już rozkminiłem :D

10 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 200 | 300 400 | 500 | 600 | 700 | 800 | 900 | 1000logoskillowcy.png

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...