GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Thiibo0w67 le 12 Juillet 2010, 19:53:32

Titre: Toujours la nuit
Posté par: Thiibo0w67 le 12 Juillet 2010, 19:53:32
Bonjour, je possède un serveur RP, et je voudrais faire en sorte qu'il fasse nuit tout le temps ( La, chaques heure, le temps change un peut )
Quelqu'un pourrais me dire comment faire ? Ou me donner le petit morceau de code ? ^^'
Titre: Re : Toujours la nuit
Posté par: Thiibo0w67 le 12 Juillet 2010, 21:35:15
J'ai pas de SetTime, voici mon PayDay

public PayDay()
{
new string[128];
new account,interest;
new rent = 0;
new infostring[256];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    if(PlayerInfo[i][pLevel] > 0)
    {
      TimeWeather(i);
    if(MoneyMessage[i]==1)
{
    SendClientMessage(i, COLOR_LIGHTRED, "Vous n'avez pas payer votre dette, vous allez en prison.");
    GameTextForPlayer(i, "~r~Prison !", 2000, 1);
    SetPlayerInterior(i, 6);
    PlayerInfo[i][pInt] = 6;
    SetPlayerPos(i, 264.6288,77.5742,1001.0391);
            PlayerInfo[i][pJailed] = 1;
            SafeResetPlayerWeapons(i);
            SafeResetPlayerMoney(i);
WantedPoints[i] = 0;
PlayerInfo[i][pJailTime] = 240;
format(string, sizeof(string), "Vous êtes en prison pour %d secondes.   Bail: Aucun", PlayerInfo[i][pJailTime]);
SendClientMessage(i, COLOR_WHITE, string);
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(i, playername2, sizeof(playername2));
account = PlayerInfo[i][pAccount];
new key = PlayerInfo[i][pPhousekey];
new nxtlevel = PlayerInfo[i][pLevel]+1;
if(key != 255)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoney(i))
{
PlayerInfo[i][pPhousekey] = 255;
SendClientMessage(i, COLOR_WHITE, "Vous avez été virer de chez vous car vous n'avez plus assez pour payer.");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = intrate+4; }
else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
}
else
{
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = 3; }
else { tmpintrate = 1; }
}
if(PlayerInfo[i][pPayDay] >= 5)
{
    PlayerInfo[i][pAccount] -= Tax;
new checks = PlayerInfo[i][pPayCheck] / 4;
if(PlayerInfo[i][pDonateRank] > 0)
{
    new bonus = PlayerInfo[i][pPayCheck] / 10;
    checks += bonus;
}
    new ebill = (PlayerInfo[i][pAccount]/9000);
    //ConsumingMoney[i] = 1;
    //SafeGivePlayerMoney(i, checks);
    account += checks;
    if(PlayerInfo[i][pAccount] > 0)
    {
    PlayerInfo[i][pAccount] -= ebill;
    SBizzInfo[4][sbTill] += ebill;
}
else
{
    ebill = 0;
}
interest = (PlayerInfo[i][pAccount]/750)*(tmpintrate);
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
CoffreMaire += Tax;
PlayerInfo[i][pAccount] = account+interest;
SendClientMessage(i, COLOR_GREEN, "|___ BANQUE ___|");
format(string, sizeof(string), "  Salaire: $%d   Taxe: -$%d", checks, Tax);
SendClientMessage(i, COLOR_WHITE, string);
if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
{
    format(string, sizeof(string), "  Facture d'élécricité: -$%d", ebill);
SendClientMessage(i, COLOR_GRAD1, string);
}
format(string, sizeof(string), "  Compte: $%d", account - checks);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "  Pourecent d'intêret: 0.%d percent",tmpintrate);
SendClientMessage(i, COLOR_GRAD2, string);
format(string, sizeof(string), "  Interêt gagné : $%d", interest);
SendClientMessage(i, COLOR_GRAD3, string);
SendClientMessage(i, COLOR_GREEN, "|--------------------------------------|");
format(string, sizeof(string), "  Nouveau compte : $%d", PlayerInfo[i][pAccount]);
SendClientMessage(i, COLOR_GRAD5, string);
format(string, sizeof(string), "  Location: -$%d", rent);
SendClientMessage(i, COLOR_GRAD5, string);
format(string, sizeof(string), "~y~SAlaire~n~~w~SALAIRE envoye sur votre compte.");
GameTextForPlayer(i, string, 5000, 1);
rent = 0;
SaveStuff();
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pConnectTime] += 1;
if(FarmerVar[i] == 0)
{
FarmerPickup[i][0] = 0;
}
if(PlayerInfo[i][pExp] == 12)
{
format(string, sizeof(string), "~g~ANNIVERSAIRE~w~ Vous avez maintenant %d ans !", nxtlevel);
GameTextForPlayer(i, string, 5000, 1);
PlayerInfo[i][pExp] = 0;
PlayerInfo[i][gPupgrade] = PlayerInfo[i][gPupgrade]+2;
format(infostring, 256, "Vous avez maintenant %d ans. L'état vous offre un chèque cadeau, tapez /amelioration pour les utiliser.", nxtlevel);
SendClientMessage(i, COLOR_GRAD1, infostring);
format(infostring, 256, "Vous avez %d chèques non-utilisés.",PlayerInfo[i][gPupgrade]);
SendClientMessage(i, COLOR_GRAD2, infostring);
PlayerInfo[i][pLevel]++;
}
if(DrugFarmerVar[i] == 0)
{
DrugFarmerPickup[i][0] = 0;
}
if(SmugglerWork[i] == 0)
{
PayDaySecure[i] = 0;
}
}
else
{
    SendClientMessage(i, COLOR_WHITE, "* Vous n'avez pas jouer assez longtemps pour obtenir votre salaire.");
}
}
}
}
SaveAccounts();
Checkprop();
return 1;
}
Titre: Re : Toujours la nuit
Posté par: Thiibo0w67 le 12 Juillet 2010, 22:10:08
Vous m'avez dis de rajouter une ligne dans mon OnGameModeInit, ce que j'ai fais, malheureusement, il fais nuit que aprés un reboot, pendant 1heure..
Titre: Re : Toujours la nuit
Posté par: D0os-Nox le 14 Juillet 2010, 13:23:15
Bonjour, d'après mes connaissances, tu doit sûrement utiliser un FS pour savoir l'heure et intégrant un système temps automatique !

Malheureusement il n'y à que cette solutions probable à ton problème 


 :happy D0os-Nox  :dry
Titre: Re : Re : Toujours la nuit
Posté par: Gilux le 14 Juillet 2010, 14:18:36
Bonjour, d'après mes connaissances, tu doit sûrement utiliser un FS pour savoir l'heure et intégrant un système temps automatique !

Malheureusement il n'y à que cette solutions probable à ton problème 


 :happy D0os-Nox  :dry


gl_realtime sans doute, n'oublie pas de l'enlever du server.cfg si ce n'est pas fait ;)
++
Titre: Re : Toujours la nuit
Posté par: D0os-Nox le 14 Juillet 2010, 16:41:36
Oui, ou tout simplement prendre un autre FS avec systéme d'heure seulement ou fait par toi même  :)

Sinon, Utilise un Timer qui passe toute les minutes OU modifie le FS

 :happy D0os-Nox  :closedeyes