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

Trzy nowe funkcje do Slidera


Rekomendowane odpowiedzi

Opublikowano

1. SetRange(min, max)            - Ustawia minimalny i maksymalny zakres paska

2. GetSliderPosRange()           - Pobiera aktualnie ustawioną liczbę

3. SetSliderPosRange(liczba)  - Ustawia pozycje paska na podaną liczbę (musi być ona z zakresu ustawionego przez SetRange())

 

 

Wchodzimy do pliku ui.py, wyszukujemy klase "SliderBar" i dopisujemy nowe funkcje:

	def SetRange(self, min, max):
		self.min = min
		self.max = max

	def GetSliderPosRange(self):
		return float(((self.max - self.min)*self.GetSliderPos())+self.min)

	def SetSliderPosRange(self, pos):
		if (pos < self.min) or (pos > self.max): 
			return
		else:
			self.SetSliderPos(float(1/((float(self.max) - float(self.min))/(float(pos) - float(self.min)))))

Przykład użycia:

self.RotZSliderBar = ui.SliderBar()
self.RotZSliderBar.SetPosition(267, 80+30+30)				#Pozycja paska na ekranie
self.RotZSliderBar.SetRange(1000, 1500) 					#Ustawiamy zakres w jakim ma się poruszać pasek
self.RotZSliderBar.SetSliderPosRange(1250)  				#Ustawiamy pozycje paska na podaną wartość
self.RotZSliderBar.SetEvent(ui.__mem_func__(self.DoTestu))	#Deklarujemy nazwę funkcji jaką ma wykonywać po przesunięciu paska
self.RotZSliderBar.Show()									#Pokazujemy pasek na ekranie


def DoTestu(self):
	aktualna_liczba = self.RotZSliderBar.GetSliderPosRange() 	#Pobieramy aktualną liczbę na jaką wskazuje pasek z zakresu ustawionego wcześniej

Wynik pracy:

50772142402397681780.png

 

 

Na koniec:

Jak widzimy pobrana liczba jest typu float - zmienno przecinkowa jeśli chcemy odciąć tą końcówkę musimy ją przekonwertować na liczbę całkowitą typu int, w pythonie wystarczy liczbę typu float objąć nawiasami i dopisać słowo "int" przykład:

aktualna_liczba = self.RotZSliderBar.GetSliderPosRange()
Wynik:
1250.0


aktualna_liczba = int(self.RotZSliderBar.GetSliderPosRange())
Wynik:
1250

8910814572903361049127.png

Opublikowano

w sumie dobre pod system zmiany koloru peta u mnie, zamaist przedmiotami to suwakiem, + leci baranie :D

Kolor tekstury można tak zmieniać?

 

Opublikowano

Nie, ale można pisać, że się da.

Ironiczny przekaz w mych postach ukryty, odnajdź go a bedziesz znakomity.

 

topic

nie widzę zastosowania

 

Opublikowano

Coś czuję że niedługo tu wrzucisz dynamiczne przejścia między środowiskami

 

Mozna,jak zmodyfikujesZ src (kolumna color w mob_proto)

Tylko ze trzeba jakos w,bazie Zapisac ten koror ;)

 

W bazie? Co ma do tego baza?  :huh: To wszystko client-side.

sygnatura2.png


Opublikowano

pewnie chodzi mu o to aby to było na "stałe" ,aby wszyscy gracze to widzieli 

 

Tak czy inaczej to żadne kolumny w bazie nie wpływają na to jakiego koloru są moby, o tym decyduje tekstura przypisana do modelu, pliki msm nadpisujące ją i opcjonalnie specjalna 'nakładka' mob_color w mob_proto klientowym. No i środowisko też ma na to wpływ.

 

#Edit Wojtkowi chyba chodziło o to że musielibyśmy ten kolor petów zapisywać w bazie na serwerze, jednak gra nie czyta tych kolorów z serwerowego mob_proto tylko klientowego (chyba że coś się zmieniło) więc potrzeba by to jeszcze zmienić - a właściwie to dodać do petów kolumnę od koloru i ją wczytywać, bo przecież nie chcemy zmieniać u wszystkich ale tylko u jednego gracza..

sygnatura2.png


Opublikowano

Dokładnie o to mi chodziło przerobienie funkcji pet.summon żeby przyjmowała jeszcze kolor peta a wartości kolorow pobieralo by z bazy (kazdy gracz przecież może ustawić dowolny kolor)

8910814572903361049127.png

Opublikowano

jeśli chodzi o kolor petów to najlepszym sposobem jest zrobić kilka modeli  z kilkoma kolorami petów (jak na Astium)

bo ten efekt który pokazałem nawet mnie nie zadowala 

IZNBlaO.png

No bo to co pokazałeś jest serio słabe wizualnie. Nałożenie warstwy koloru nigdy nie będzie tak dobre jak po prostu inna tekstura.

 

Opublikowano

No bo to co pokazałeś jest serio słabe wizualnie. Nałożenie warstwy koloru nigdy nie będzie tak dobre jak po prostu inna tekstura.

 

Na pewno słabo, ale jednak w ten sposób są zrobione wszystkie głodne, złe, wredne, brutalne i jeszcze kilka takich wersji mobów przez ymira. Czyli rozwiązanie nie najlepsze, ale najszybsze.

sygnatura2.png


Opublikowano

to prawda jest to najgorsze rozwiązanie , tak też dałem do przekazania w moim poprzednim poście , ale kolega napisał ze chce zmieniać kolor peta za pomocą Slidera

jak znajdzie inne rozwiązanie to jestem pełen podziwu

sam również bym nie zrobił tą metodą

Przecież to jest Ciura, on wszystko już ma, wszystko wie i wszystko rozumie.
Opublikowano

Na pewno słabo, ale jednak w ten sposób są zrobione wszystkie głodne, złe, wredne, brutalne i jeszcze kilka takich wersji mobów przez ymira. Czyli rozwiązanie nie najlepsze, ale najszybsze.

podszedłem do sprawy całkiem  inaczej i proszę all wybieranie kolorków w pythonie bez edytowania textur efekt nie jest zły :

 vjKFhIV.png

6lCw9sp.png

Opublikowano

Fajny efekt, ale na source, prawda? Nie wyobrażam sobie tego bez ruszenia source.

 

btw, jestem trochę zdezorientowany xD

 

 

 

podeszłam

 

 

 

dałem

sygnatura2.png


Opublikowano

Fajny efekt, ale na source, prawda? Nie wyobrażam sobie tego bez ruszenia source.

 

btw, jestem trochę zdezorientowany xD

Taka mała edycja :p 

 

A co do pomyłki to pisze teraz z tabletu bo wcześniej mpc nie działało a musiałem się pochwalić :D i tak jakoś wskoczyło :p

"podeszłam "-  to dojebałem xD 

Opublikowano

Taka mała edycja :p

 

A co do pomyłki to pisze teraz z tabletu bo wcześniej mpc nie działało a musiałem się pochwalić :D i tak jakoś wskoczyło :p

"podeszłam "- to dojebałem xD

zrobiłeś to na module grp?
Opublikowano

to prawda jest to najgorsze rozwiązanie , tak też dałem do przekazania w moim poprzednim poście , ale kolega napisał ze chce zmieniać kolor peta za pomocą Slidera 

jak znajdzie inne rozwiązanie to jestem pełen podziwu 

sam również bym nie zrobił tą metodą 

 

Może wyboru z całej gammy kolorów się nie zrobi tak łatwo, a nawet jeśli to efekt nie będzie widoczny przez innych graczy, ale można dać spokojnie opcję wyboru z jakiś 3 tekstur.  Przykładowo 3 identyczne modele z 3 różnymi teksturami i za pomocą slidera odwołujesz jednego i przywołujesz kolejnego. Wszystkie te 3 pety muszą mieć jednocześnie wbijane lvle ale to nie jest problemem.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...