Problem z chmurami 2123 5

O temacie

Autor Siemekk

Zaczęty 18.08.2016 roku

Wyświetleń 2123

Odpowiedzi 5

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Próbowałem przyśpieszyć chmury tak jak w CZ (o 100%), działa super, ale problem w tym że chmury ciągle zapierdzielają jak sam nwm ><
Próbowałem przywracać niebo na zasadzie divf i tracf ale nic nie daje skutku.
func void SleepFX_SpeedUpLayersOffset()
{

var zCSkyState SkyState0;
SkyState0= _^(MEM_SkyController.state0);

var zCSkyState SkyState1;
SkyState1= _^(MEM_SkyController.state1);

if(SkyState0!=last_state0)
&&(SkyState1!=last_state1)
{

if(gef(SkyState0.layer1_texSpeed[0],mkf(2)))
{ return; };


SkyState0.layer1_texSpeed[0]=mulf(sleepfx_cloudsSpeedMultipiler , SkyState0.layer1_texSpeed[0]);
SkyState0.layer1_texSpeed[1]=mulf(sleepfx_cloudsSpeedMultipiler , SkyState0.layer1_texSpeed[1]);

};

last_state0 = SkyState0;

if(SkyState1!=last_state1)
{
if(gef(SkyState1.layer1_texSpeed[0],mkf(2)))
{ return; };

SkyState1.layer1_texSpeed[0]=mulf(sleepfx_cloudsSpeedMultipiler , SkyState1.layer1_texSpeed[0]);
SkyState1.layer1_texSpeed[1]=mulf(sleepfx_cloudsSpeedMultipiler , SkyState1.layer1_texSpeed[1]);

};
last_state1 = SkyState1;
};

func void SleepFX_ResetSkyAfterSleep()
{
var zCSkyState SkyState0;
SkyState0= _^(MEM_SkyController.state0);

var zCSkyState SkyState1;
SkyState1= _^(MEM_SkyController.state1);

SkyState0.layer1_texSpeed[0]=fracf (SkyState0.layer1_texSpeed[0],sleepfx_cloudsSpeedMultipiler );
SkyState0.layer1_texSpeed[1]=fracf (SkyState0.layer1_texSpeed[1],sleepfx_cloudsSpeedMultipiler );

SkyState1.layer1_texSpeed[0]=fracf (SkyState0.layer1_texSpeed[0],sleepfx_cloudsSpeedMultipiler );
SkyState1.layer1_texSpeed[1]=fracf (SkyState0.layer1_texSpeed[1],sleepfx_cloudsSpeedMultipiler );

Prints("Sky was repaired!");
};
Print jest, ale niebo nie powraca do stanu pierwotnego...
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Nie lepiej spisać zmienne nieba do nowych zmiennych (pustych), jeśli te wynoszą 0?

if (!zmienna) { zmienna = wartość nieba; };
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Próbowałem. Dosłownie przed chwilą :F

MEM_Game.game_drawall = true;//turn on
Prints_Ext("JumpToNextState(7)... This is so fast :3",RGBA(255,0,0,255));
if(done)
{
SkyState0.layer1_texSpeed[0]=fracf  (SkyState0.layer1_texSpeed[0],sleepfx_cloudsSpeedMultipiler );
SkyState0.layer1_texSpeed[1]=fracf  (SkyState0.layer1_texSpeed[1],sleepfx_cloudsSpeedMultipiler );

SkyState1.layer1_texSpeed[0]=fracf  (SkyState0.layer1_texSpeed[0],sleepfx_cloudsSpeedMultipiler );
SkyState1.layer1_texSpeed[1]=fracf  (SkyState0.layer1_texSpeed[1],sleepfx_cloudsSpeedMultipiler );
done=false;
};


SleepFX_State = 7;
}
[...]

if(SleepFX_State>1)&&(SleepFX_State<6)
{

if(!done)
{
SkyState0.layer1_texSpeed[0]=mulf(sleepfx_cloudsSpeedMultipiler , SkyState0.layer1_texSpeed[0]);
SkyState0.layer1_texSpeed[1]=mulf(sleepfx_cloudsSpeedMultipiler , SkyState0.layer1_texSpeed[1]);

SkyState1.layer1_texSpeed[0]=mulf(sleepfx_cloudsSpeedMultipiler , SkyState1.layer1_texSpeed[0]);
SkyState1.layer1_texSpeed[1]=mulf(sleepfx_cloudsSpeedMultipiler , SkyState1.layer1_texSpeed[1]);
done=true;
};
Ciągle dzieje się to samo :/ Chmury dalej zapierdzielają.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.

Bogdan Zwei

Problem z chmurami
#3 2016-08-19, 08:53(Ostatnia zmiana: 2016-08-19, 11:24)
Zdaje mi się, że kompletnie mnie nie zrozumiałeś. Zapisujesz zmienne zaraz na starcie, zanim cokolwiek zmienisz, a po wszystkim, przywracasz je do stanu początkowego.

skystate = 35;//oryginalna zmienna
mojaZmienna = 35;//twoja zmienna która przechowuje wartości
skystate_MojaModyfikacja = 88;//oryginalna zmienna


W ogóle zrób zmienne skystate jako instance globalne i wypełniaj to tylko raz.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Yep próbowałem.

var int done;
if(!done)
{
After_Speed_Layer1 = SkyState0.layer1_texSpeed[0];
After_Speed_Layer2 = SkyState0.layer1_texSpeed[1];
After_Speed_Layer3 = SkyState1.layer1_texSpeed[0];
After_Speed_Layer4 = SkyState1.layer1_texSpeed[1];
done=true;
};

var int done1;
if(!done1)
{
before_Speed_Layer1 = mulf(SkyState0.layer1_texSpeed[0],sleepfx_cloudsSpeedMultipiler);
before_Speed_Layer2 = mulf(SkyState0.layer1_texSpeed[1],sleepfx_cloudsSpeedMultipiler);
before_Speed_Layer3 = mulf(SkyState1.layer1_texSpeed[0],sleepfx_cloudsSpeedMultipiler);
before_Speed_Layer4 = mulf(SkyState1.layer1_texSpeed[1],sleepfx_cloudsSpeedMultipiler);
};
[...]
SkyState1.layer1_texSpeed=before_Speed_Layer4 ;
Raz przy inicjacji świata. Niestety teraz chmury w ogóle nie reagują :/
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
To może użyj funkcji Splash'a. Jest tam zmienianie koloru, ale to ta sama struktura co ty chcesz, tyle, że inny pointer.
class zCSkyState
{
    var int time;                //zREAL
    var int polyColor[3];        //zVEC3
    var int fogColor[3];         //zVEC3
    var int domeColor1[3];       //zVEC3
    var int domeColor0[3];       //zVEC3
    var int fogDist;             //zREAL
    var int sunOn;               //zBOOL
    var int cloudShadowOn;       //int
    var int layer0_skyMode;      //zESkyLayerMode
    var int layer0_tex;          //zCTexture* //usage: zCTexture_Load("string")
    var string layer0_texName;   //zSTRING
    var int layer0_texAlpha;     //zREAL
    var int layer0_texScale;     //zREAL
    var int layer0_texSpeed[2];  //zVEC2
    var int layer1_skyMode;      //zESkyLayerMode
    var int layer1_tex;          //zCTexture* //usage: zCTexture_Load("string")
    var string layer1_texName;   //zSTRING
    var int layer1_texAlpha;     //zREAL
    var int layer1_texScale;     //zREAL
    var int layer1_texSpeed[2];  //zVEC2
};

func void SetFogSpeed (var int day_time, var int NewValue)
{
    var int ptr; ptr = MEM_ReadInt (MEM_SkyController.stateList_array + day_time * 4);
    var zCSkyState state; state = MEM_PtrToInst (ptr);
    state.layer0_texSpeed[0] = NewValue;
    state.layer0_texSpeed[1] = NewValue;
};
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry