Error przy skryptowej zmianie Skina

Uczymy się edytowania P2 i rozwiązujemy nasze problemy. Nowi adepci mile widziani!

Moderatorzy: Moderatorzy, Admini

Awatar użytkownika
seebeek17
Modder
Modder
Posty: 8399
Rejestracja: 10 cze 2013, 13:25
Lokalizacja: Z Zewnątrz
Kontakt:

22 lis 2014, 01:11

Mam takie coś:

Kod: Zaznacz cały

	local MyProjectile myproj;

	myproj = spawn(class'MyProjectile', Instigator,, StartTrace, AdjustedAim);

	if(myproj != None)
	{
		myproj.WybierzAmciu(Jedzenie);

		switch(Jedzenie)
		{
			case 'Frytki': 
				myproj.Skins(0)=Texture'amciu.frytki'
				break;
			case 'Bekon': 
				myproj.Skins(0)=Texture'amciu.bekon'
				break;
			default:
				myproj.Skins(0)=Texture'amciu.glod'
				break;
		}
	}
'Jedzenie' jest typu Name.

Podczas kompilacji wywala taki błąd:

"Error: '(': Expression has no effect
Failed due to errors."

Próbowałem to rozwiązać na kilka sposobów, ale nie wiem już jak to zrobić żeby UMake mi to wciągnął.

Dla mnie to wygląda dobrze. Spawnujemy projectile a potem switchem wybieramy skina na podstawie wybranego jedzenia. Ale UMake ma jak zwykle jakiś problem.

Wie ktoś jak to naprawić/zrobić?


Awatar użytkownika
Tiquill
V.I.P.
V.I.P.
Posty: 14479
Rejestracja: 25 sty 2007, 02:00
Lokalizacja: z naprzeciwka
Postawił piwo: 1 raz
Otrzymał  piwo: 1 raz
Kontakt:

22 lis 2014, 02:15

seebeek17 pisze:local MyProjectile myproj;
Nie ma takiej klasy MyProjectile. Choć komunikat sugeruje, jakbyś taką klasę utworzył.

Błąd tkwi raczej w sformułowaniu samego warunku. if(myproj != None) to nieco za mało. Dla czego to, dla jakiej klasy. Późna noc, więcej nie zczaję.
Ostatnio zmieniony 01 sty 1970, 01:00 przez Tiquill, łącznie zmieniany 2 razy.


Zawsze jest ryzyko, że wyczerpałeś już limit dobrych dni i czeka cię już tylko samo zło...
Obrazek
Awatar użytkownika
seebeek17
Modder
Modder
Posty: 8399
Rejestracja: 10 cze 2013, 13:25
Lokalizacja: Z Zewnątrz
Kontakt:

22 lis 2014, 22:26

No 'MyProjectile' to moja klasa, to objekt, który chcę zespawnować po strzale. ;)

I to ma działać tak, że po strzale spawnuje się to moje nowe projectile, potem sprawdza czy się powiodło i potem w zależności jakie amciu, zmienia skina projectile'a na kolor jedzenia.

Ogólnie to wyciąłem najważniejszy fragment kodu, bo całość obejmuje 4 skrypty (Weapon, Projectile i 2 inne), i one są na pewien sposób połączone ze sobą.
Oglądałeś Ludzką Stonogę?
No to właśnie tak działają te skrypty. :diabeł:

ehh... w sumie to nie działają na razie. :p

Wiem, że problem tkwi w tym fragmencie, bo jak go wywalam to skrypty się normalnie kompilują.


Awatar użytkownika
Rycho3D
Modder
Modder
Posty: 11978
Rejestracja: 24 kwie 2011, 15:47
Lokalizacja: SinCity
Postawił piwo: 8 razy
Otrzymał  piwo: 1 raz
Kontakt:

22 lis 2014, 22:33

Masz sam warunek, brak efektu


8=======D
Awatar użytkownika
seebeek17
Modder
Modder
Posty: 8399
Rejestracja: 10 cze 2013, 13:25
Lokalizacja: Z Zewnątrz
Kontakt:

22 lis 2014, 22:39

Jest warunek:

if(myproj != None)

i jest efekt:

{
myproj.WybierzAmciu(Jedzenie);

switch(Jedzenie)
{
case 'Frytki':
myproj.Skins(0)=Texture'amciu.frytki'
break;
case 'Bekon':
myproj.Skins(0)=Texture'amciu.bekon'
break;
default:
myproj.Skins(0)=Texture'amciu.glod'
break;
}
}


Awatar użytkownika
Rycho3D
Modder
Modder
Posty: 11978
Rejestracja: 24 kwie 2011, 15:47
Lokalizacja: SinCity
Postawił piwo: 8 razy
Otrzymał  piwo: 1 raz
Kontakt:

22 lis 2014, 22:42

Kod: Zaznacz cały

    if(myproj != None)
    {
        myproj.WybierzAmciu(Jedzenie);

        switch(Jedzenie)
        {
            case 'Frytki':
                myproj.Skins(0)=Texture'amciu.frytki'
                break;
            case 'Bekon':
                myproj.Skins(0)=Texture'amciu.bekon'
                break;
            default:
                myproj.Skins(0)=Texture'amciu.glod'
                break;
        }
    }
to jest warunek


8=======D
Awatar użytkownika
seebeek17
Modder
Modder
Posty: 8399
Rejestracja: 10 cze 2013, 13:25
Lokalizacja: Z Zewnątrz
Kontakt:

22 lis 2014, 23:12

Wywaliłem if'a, bo w sumie nie potrzebny, dałem zmienną Skins(0) w defaultproperties Projectile'a, bo wcześniej nie było.
Teraz jest już tylko to:

Kod: Zaznacz cały

        myproj.WybierzAmciu(Jedzenie);

        switch(Jedzenie)
        {
            case 'Frytki':
                myproj.Skins(0)=Texture'amciu.frytki'
                break;
            case 'Bekon':
                myproj.Skins(0)=Texture'amciu.bekon'
                break;
            default:
                myproj.Skins(0)=Texture'amciu.glod'
                break;
        } 
Błąd wywala w linijce
myproj.Skins(0)=Texture'amciu.frytki'

nie wiem o co może chodzić. Nie raz już robiłem taką zmianę Skina i jakoś wcześniej działało.

A przy okazji jeszcze zapytam po co jest i co robi to ShortSleeveType?
Wydaje mi się, że to jest coś do multi, ale grałem już broniami w MP, które nie miały tego a działały.


Awatar użytkownika
Rycho3D
Modder
Modder
Posty: 11978
Rejestracja: 24 kwie 2011, 15:47
Lokalizacja: SinCity
Postawił piwo: 8 razy
Otrzymał  piwo: 1 raz
Kontakt:

22 lis 2014, 23:19

bo chyba powinno być Skins[0]


8=======D
Awatar użytkownika
Rycho3D
Modder
Modder
Posty: 11978
Rejestracja: 24 kwie 2011, 15:47
Lokalizacja: SinCity
Postawił piwo: 8 razy
Otrzymał  piwo: 1 raz
Kontakt:

22 lis 2014, 23:22

Zaraz zaraz. w Projectile jest funcja Skins ? ;>


8=======D
Awatar użytkownika
seebeek17
Modder
Modder
Posty: 8399
Rejestracja: 10 cze 2013, 13:25
Lokalizacja: Z Zewnątrz
Kontakt:

22 lis 2014, 23:24

Rycho3D pisze:bo chyba powinno być Skins[0]
ja pierd...... kuźwa, zaczynają mnie już wkur..... takie errory.. -,-
udało się! to, że wyskoczyła masa następnych errorów to już pominę. :F
dzięki!! :)
Rycho3D pisze:Zaraz zaraz. w Projectile jest funcja Skins ?
Nie, to jest zmienna w defaultproperties. :p
Ostatnio zmieniony 22 lis 2014, 23:25 przez seebeek17, łącznie zmieniany 1 raz.


ODPOWIEDZ