Problema intalnita (descriere): Am incercat sa fac la comanda /freeze un textdraw care arata de la cine ai primit freeze si timpul ramas.
Timpul mi-l arata, ex: /freeze 0 2 Test , 0 fiind id-ul si 2 minutele. In textdraw apare Timp ramas: 2 , si la Admin Name lafel, apare de la cine ai primit freeze. Problema e ca nu reusesc sa il fac in secunde. Daca ii dau unui player 10 minute jail, sa inceapa sa scada, 9:59, 9:58 pana la 0 cand va lua unfreeze. Ero(area / rile) / warning-(ul / urile): - Liniile de cod / sursa / script-ul(obligatoriu):
Imagini / Video (optional): "10" acela sunt minutele http://prntscr.com/7vnq1s Ati incercat sa rezolvati singur?: Desigur, am incercat sa folosesc un timer, dar de geaba..
Question
Snz
Problema intalnita (descriere): Am incercat sa fac la comanda /freeze un textdraw care arata de la cine ai primit freeze si timpul ramas.
Timpul mi-l arata, ex: /freeze 0 2 Test , 0 fiind id-ul si 2 minutele. In textdraw apare Timp ramas: 2 , si la Admin Name lafel, apare de la cine ai primit freeze. Problema e ca nu reusesc sa il fac in secunde. Daca ii dau unui player 10 minute jail, sa inceapa sa scada, 9:59, 9:58 pana la 0 cand va lua unfreeze.
Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul(obligatoriu):
CMD:freeze(playerid, params[]) { if(PlayerInfo[playerid][Level] < 2) return SendError(playerid, "You need to be Admin Level 2 to use this command!"); //-------------------------------------------------------------------------- new liPlayer, liTime, Reason[50]; eString[0] = EOS; //-------------------------------------------------------------------------- if(sscanf(params, "uiS(No Reason)[50]", liPlayer, liTime, Reason)) return SendUsage(playerid, "/freeze [PlayerID] [Freeze Time] [Reason]"); //-------------------------------------------------------------------------- if(!IsPlayerConnected(liPlayer)) return SendError(playerid, "Player not connected."); //-------------------------------------------------------------------------- if(PlayerInfo[liPlayer][Frozen] == 1) return SendError(playerid, "Player is already frozen!"); //-------------------------------------------------------------------------- if(liTime > 9999) return SendError(playerid, "Invalid Time!"); //-------------------------------------------------------------------------- TogglePlayerControllable(liPlayer, false), SetPlayerVirtualWorld(liPlayer, 10); PlayerInfo[liPlayer][Frozen] = 1, PlayerPlaySound(liPlayer, 1057, 0.0, 0.0, 0.0); fTime[liPlayer][0] = liTime-1, fTime[liPlayer][1] = 60; new Str[80]; format(Str, sizeof(Str), "%d:%d",liTime/60,liTime-liTime/60*60); TextDrawSetString(Textdraw7, Str); new Str2[80]; format(Str2, sizeof(Str2), "%s", PlayerName(playerid)); TextDrawSetString(Textdraw11, Str2); TextDrawShowForPlayer(liPlayer, Textdraw0); TextDrawShowForPlayer(liPlayer, Textdraw1); TextDrawShowForPlayer(liPlayer, Textdraw2); TextDrawShowForPlayer(liPlayer, Textdraw3); TextDrawShowForPlayer(liPlayer, Textdraw4); TextDrawShowForPlayer(liPlayer, Textdraw5); TextDrawShowForPlayer(liPlayer, Textdraw6); TextDrawShowForPlayer(liPlayer, Textdraw7); TextDrawShowForPlayer(liPlayer, Textdraw8); TextDrawShowForPlayer(liPlayer, Textdraw9); TextDrawShowForPlayer(liPlayer, Textdraw10); TextDrawShowForPlayer(liPlayer, Textdraw11); //-------------------------------------------------------------------------- SetTimerEx("ShowFreezeLeftTime", 1000, 0, "i", liPlayer); //-------------------------------------------------------------------------- format(eString, sizeof(eString), "Co-Owner {FF0000}%s{D1D1D1} la inghetat pe {00A6FF}%s {D1D1D1}pentru {00A6FF}%d {D1D1D1}minute.(Motiv: %s)", PlayerName(playerid), PlayerName(liPlayer), liTime, Reason); SendClientMessageToAll(COLOR_GREY2, eString); //-------------------------------------------------------------------------- return 1; }Imagini / Video (optional): "10" acela sunt minutele http://prntscr.com/7vnq1s
Edited by SnzAti incercat sa rezolvati singur?: Desigur, am incercat sa folosesc un timer, dar de geaba..
4 answers to this question
Recommended Posts