Mister Posted July 15, 2015 Posted July 15, 2015 (edited) Tutorial Afk cu TextLabel Buna ziua, am vazut mai multe tutoriale de genul "afk" si majoritatea erau cu o comanda, dupa ce scriai comanda spunea ca playerul respectiv este afk. Acelea pareau destul de simple.Sper ca tutorialul meu este mult mai bun si sper sa va fie de ajuor. Sa incepem:Pentru inceput va trebui sa puneti acest fisier include in /pawno/includes OnPlayerPause.inc Fisierul uploadat nu contine nimic ascuns, tot ce am adaugat este aceasta variabila care va fi folosita mai tarziunew afktime[MAX_PLAYERS]; new Text3D:afklabel[MAX_PLAYERS]; Adaugati la inceputul GM-ului asta#include <OnPlayerPause> //incarcam pluginul care ne va ajuta mai tarziuDupa asta punem la OnPlayerPause urmatorul cod. Puneti acest public undeva in gm, este functia includeului.public OnPlayerPause(playerid) // forwardul este in include deci nu mai trebuie sa il punem noi { afklabel[playerid] = Create3DTextLabel("afk",COLOR_WHITE,0,0,0,50,-1,1);// cream labelul pentru a putea sa il actualizam Attach3DTextLabelToPlayer(afklabel[playerid], playerid, 0,0,0);// atasam labelul de player pentru a vedea cine este afk SetTimerEx("PauseTime", 1000, false, "i", playerid);// apelam la functia de contorizare pentru a avea timpul corect de cand jucatorul este afk return 1; } Acum sa cream funcita care contorizeaza timpul afkforward PauseTime(playerid); public PauseTime(playerid) { if(IsPlayerPaused(playerid))// verificam daca playerul este AFK { new strings[40];// adaugam functia strings pentru a putea crea textul afktime[playerid] ++;// crestem secundele decand este afk format(strings, sizeof(strings), "Afk De %d:%d minute",afktime[playerid]/60,afktime[playerid]-afktime[playerid]/60*60);// cream stringul, impartim timpul la 60 pentru a vedea cate minute sunt, apoi din timp scadem minutele pentru a obtine restul de secunde Update3DTextLabelText(afklabel[playerid], COLOR_WHITE, strings); // actualizam textlabelul pentru a afisa corect timpul decand playerul este afk SetTimerEx("PauseTime", 1000, false, "i", playerid);// apelam iar la aceasta functie pentru a contoriza secundele in continuare } return 1; // oprim functia } Cam atat, labelul se sterge atunci cand playerul revine in joc este in include, nu trebuie sa mai adaugati, este facuta deja public OnPlayerUnpause(playerid) { Delete3DTextLabel(afklabel[playerid]);// labelul este sters deci nu va faceti griji Cateva poze pentru a vedea cum arata:http://i.imgur.com/Wsl7CMt.pnghttp://i.imgur.com/hyNG3Ul.png Edited July 20, 2015 by Mister Am facut update la include 8 __ ____ __ / |/ (_)____/ /____ _____ / /|_/ / / ___/ __/ _ \/ ___/ / / / / (__ ) /_/ __/ / /_/ /_/_/____/\__/\___/_/ SERVICII SCRIPTING DE CALITATE Pagina Scripting pawn
WiDuAlK Posted July 15, 2015 Posted July 15, 2015 Chiar imi place. @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
Mister Posted July 15, 2015 Author Posted July 15, 2015 (edited) Multumesc Este facut de mine. Edited July 15, 2015 by Mister __ ____ __ / |/ (_)____/ /____ _____ / /|_/ / / ___/ __/ _ \/ ___/ / / / / (__ ) /_/ __/ / /_/ /_/_/____/\__/\___/_/ SERVICII SCRIPTING DE CALITATE Pagina Scripting pawn
Reflex Posted July 20, 2015 Posted July 20, 2015 Foarte frumos, dar e o mica problema. Daca eu, ma pun afk, sa zicem 20 secunde, mi se creeaza deasupra capului acel text, iar cand revin dispare. Dar, daca ma pun din nou afk, acel timp continua, nu o ia de la 0:0 .
Mister Posted July 20, 2015 Author Posted July 20, 2015 (edited) Trebuie sa pui in include astaafktime[playerid] = 0; Poftim downloadeaza si pune noul include, am adaugat eu, voi updata si linkul de la postare OnPlayerPause.inc Edited July 20, 2015 by Mister 1 __ ____ __ / |/ (_)____/ /____ _____ / /|_/ / / ___/ __/ _ \/ ___/ / / / / (__ ) /_/ __/ / /_/ /_/_/____/\__/\___/_/ SERVICII SCRIPTING DE CALITATE Pagina Scripting pawn
Ath9 Posted July 25, 2015 Posted July 25, 2015 +1 si de la mine. Respect acestei comunitati, dar mai presus respect membrilor ei !
Mister Posted July 25, 2015 Author Posted July 25, 2015 (edited) Multumesc, nu ma asteptam sa va placa asa de mult Poate pentru ca am rezolvat asa repede eroare? Edited July 25, 2015 by Mister __ ____ __ / |/ (_)____/ /____ _____ / /|_/ / / ___/ __/ _ \/ ___/ / / / / (__ ) /_/ __/ / /_/ /_/_/____/\__/\___/_/ SERVICII SCRIPTING DE CALITATE Pagina Scripting pawn
NoNamed Posted July 25, 2015 Posted July 25, 2015 Nu se da +1 numai ca l-am folosit si ca ne place, se da si pentru munca depusa, pentru interesul acordat ... :)
Ath9 Posted July 26, 2015 Posted July 26, 2015 Este ceva nou, eu unul nu am mai vazut, si de accea merita, poate mai faci si alte tutoriale :> Respect acestei comunitati, dar mai presus respect membrilor ei !
MAXYMUSS Posted March 8, 2016 Posted March 8, 2016 Asta : afktime[playerid] = 0; , trebuie pusa la onplayerconnect si onplayerunpause ( se face bug ) . in rest tutorial 10/10 , felicitari !
HsY Posted May 26, 2016 Posted May 26, 2016 Frumos tutorial si de ajutor , felicitari L-am si folosit si merge ok
TedyYy. Posted July 27, 2016 Posted July 27, 2016 Chiar foarte bun tutorialul , o sa-l folosesc in gamemode-ul meu .
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now