SA-MP Forums Archive
New weather changing, and TogglePlayerClock problem - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: New weather changing, and TogglePlayerClock problem (/showthread.php?tid=101697)



New weather changing, and TogglePlayerClock problem - yugokoral - 11.10.2009

I have this code
pawn Код:
#include <a_samp>

forward RealHourUpdate();

new T_MIN=0, T_HOUR=19, T_DAY=0;
new Text:DAN;

public OnPlayerSpawn(playerid)
{
  TogglePlayerClock(playerid, 1);
    TextDrawShowForPlayer(playerid, DAN);
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
  TextDrawHideForPlayer(playerid, DAN);
  return 1;
}

public OnFilterScriptInit()
{
    DAN = TextDrawCreate(497.000000, 5.000000, "----");
    TextDrawFont(DAN, 3);
    TextDrawLetterSize(DAN, 0.6, 1.5);
    TextDrawSetOutline(DAN, 2);
    TextDrawSetProportional(DAN, 1);
    TextDrawSetShadow(DAN, 1);

   
    SetTimer("RealHourUpdate", 1000, true);
    return 1;
}

public RealHourUpdate()
{
  T_MIN++;
    if(T_MIN == 60)
    {
        T_MIN=0;
        T_HOUR++;
    }

    if(T_HOUR == 24)
    {
        T_HOUR=0;
        T_DAY++;
    }


    if(T_DAY == 7)
    {
        T_DAY=0;
    }

    if(T_DAY == 0)
    {
        TextDrawSetString(DAN,"Ponedeljek");
        new string[]="Ponedeljek";
        new result[156];
        format(result, sizeof(result), "worldtime %s %02d:%02d",string, T_HOUR, T_MIN);
        SendRconCommand(result);
    }

    if(T_DAY == 1)
    {
        TextDrawSetString(DAN,"Torek");
        new string[]="Torek";
        new result[156];
        format(result, sizeof(result), "worldtime %s %02d:%02d",string, T_HOUR, T_MIN);
        SendRconCommand(result);
    }

    if(T_DAY == 2)
    {
        TextDrawSetString(DAN,"Sreda");
        new string[]="Sreda";
        new result[156];
        format(result, sizeof(result), "worldtime %s %02d:%02d",string, T_HOUR, T_MIN);
        SendRconCommand(result);
    }

    if(T_DAY == 3)
    {
        TextDrawSetString(DAN,"Cetrtek");
        new string[]="Cetrtek";
        new result[156];
        format(result, sizeof(result), "worldtime %s %02d:%02d",string, T_HOUR, T_MIN);
        SendRconCommand(result);
    }

    if(T_DAY == 4)
    {
        TextDrawSetString(DAN,"Petek");
        new string[]="Petek";
        new result[156];
        format(result, sizeof(result), "worldtime %s %02d:%02d",string, T_HOUR, T_MIN);
        SendRconCommand(result);
    }

    if(T_DAY == 5)
    {
        TextDrawSetString(DAN,"Sobota");
        new string[]="Sobota";
        new result[156];
        format(result, sizeof(result), "worldtime %s %02d:%02d",string, T_HOUR, T_MIN);
        SendRconCommand(result);
    }

    if(T_DAY == 6)
    {
        TextDrawSetString(DAN,"Nedelja");
        new string[]="Nedelja";
        new result[156];
        format(result, sizeof(result), "worldtime %s %02d:%02d",string, T_HOUR, T_MIN);
        SendRconCommand(result);
    }  
}
Weather changing is now like in GTA SA SP. But i want to set player time with this, because i want that all players have the same time:
Код:
  for(new i=0; i<MAX_PLAYERS; i++)
  {    
    SetPlayerTime(i, T_HOUR, T_MIN);
  }
under public RealHourUpdate. And when i do this, than weather wont work anymore like in GTA SA SP. I mean it change imidiately from sun to rain etc. How can i make this script to solve this problem?

thank you for help!


Re: New weather changing, and TogglePlayerClock problem - Beaver07 - 11.10.2009

i have the same problem as i'm syncing every players time with SetPlayerTime(playerid,hour,minute); but after i do this the weathers just change instantly instead of gradually is there any fix around this so that players time is synced aswell as the weather changing gradually?


Re: New weather changing, and TogglePlayerClock problem - yugokoral - 12.10.2009

Anybody knows? BTW, i tried different code combinations and i didnt find the solve of the problem.


Re: New weather changing, and TogglePlayerClock problem - dugi - 15.10.2009

The weather interpolation will work only with TogglePlayerClock, if SetPlayerTime is used it wont work.


Re: New weather changing, and TogglePlayerClock problem - Doktor - 15.10.2009

Thats true, but in order to sync the time for every player you NEED to work with SetPlayerTime. Or is there any other possibility?


Re: New weather changing, and TogglePlayerClock problem - yugokoral - 15.10.2009

LOL, i need this too. But i think its impossible now untill kye will not repair this or make a new command (like a: ToggleWeatherGradualy(toggle)). But SAMP is feature lock down for now! This is a problem...


Re: New weather changing, and TogglePlayerClock problem - Doktor - 15.10.2009

Theres no need for a
Код:
ToggleWeatherGradualy(toggle);
cause it would be enough if if you could use SetWeather with SetPlayerTime and the Weather changes like in SP...


Re: New weather changing, and TogglePlayerClock problem - yugokoral - 15.10.2009

Thats the problem! If you using SetPlayerTime, than weather changing is not gradualy like in SP!


Re: New weather changing, and TogglePlayerClock problem - Jasen - 15.10.2009

You could SetPlayerTime, in OnPlayerSpawn the player's time will be a few seconds off but then the smooth weather changing will work.


Re: New weather changing, and TogglePlayerClock problem - yugokoral - 16.10.2009

What about using timer? I need to have the same time for all players. But When i add this under timer , it wont work.