burnfire Posted May 15, 2013 Posted May 15, 2013 Ceas ServerHristos A Inviat SA:MP!Astazi va voi arata cum sa facem un ceas functional pentru serverul nostru!Multi dintre noi stim ca functia TooglePlayerClock este invechita si destul de buguita...NOTA:Recomand utila citirea urmatoarelor articole:TextDrawCreate,TextDrawSetString,TextDraw Editor si cam atat 1.V-om crea textdrawul,iar aici aveti doua optiuni: -Vom folosi TextDraw Editor -Vom crea TD-ul manualPresupunand ca nu stiti cum sa folositi TextDraw Editorul,vom crea TD-ul manual!2.Vom crea o variabila pentru a stoca TD-ul:[pawn]new Text:Ceas;//Text este prefixul de la TextDraw[/pawn]3.Vom adauga/crea TD-ul in interiorul CallBack-ului OnGameModeInit:[pawn]public OnGameModeInit(){ Ceas = TextDrawCreate(500,500,"30.12.9999 00:00");}[/pawn]Am facut un TD,care v-a avea textul"30.12.9999 00:00" si care se v-a afisa in mijlocul ecranului!4.Vom face un foward sub define-uri,care se v-a chema "ServerTime",ca in urmatorul exemplu:[pawn]foward ServerTime();[/pawn]5.Vom face un public cu acelasi nume ca foward-ul,la sfarsitul scriptului:[pawn]public ServerTime(){//To Be Continued at step 5!}[/pawn]5.Sa trecem la lucruri serioase.In acest public vom adauga codurile necesare pentru a schimba ora:[pawn]public ServerTime(){ new Data[3],Ora[3],result[128];//V-om crea doua variabile care v-or stoca data si ora si una pentru a afisa rezultatul! gettime(Ora[0],Ora[1],Ora[2]);//V-om extrage ora PC-ului care hosteaza serverul sub formatul HH:MM:SS getdate(Data[0],Data[1],Data[2];//V-om extrage data PC-ului care hosteaza serverul sub formatul AN:LUNA:ZI format(result,sizeof(result),"%d:%d:%d %d:%d:%d",Data[2],Data[1],Data[0],Ora[0],Ora[1],Ora[2]);//V-om formata stringul ca sa accepte variabilele primite TextDrawSetString(Ceas,result);//V-om modifica textul TD-ului "Ceas" cu formatul nostru}[/pawn]Acum,va veti intreba cum se v-a modifica ora.Simplu facem un Timer care se va repeta de la initierea GM-ului si se va repeta odata la 1 secunde![pawn]public OnGameModeInit(){ Ceas = TextDrawCreate(500,500,"30.12.9999 00:00"); SetTimer("ServerTime",1000,true); return 1;}[/pawn]Ce inseamna fiecare parametru al functiei:"ServerTime" - ce se v-a repeta 1000 - intervalul de repetare in ms,unde 1000ms = 1 secunda true - inseamna ca se v-a repeta mai mult de o singura data!Acum,daca vreti sa faceti cu TextDrawEditor se face EXACT la fel!Va multumesc de vizionare,si va urez o zi placuta! )
Gireada Posted May 15, 2013 Posted May 15, 2013 Foarte bun tutorialul, dar puteai sa faci un tutorial la ce e folosit TextDrawSetString ca asa da orice copy+paste si gata, nu au invatat nimica. Data viitoare nu mai pune bold la text sa vede urat. 3/5
Kata12 Posted May 15, 2013 Posted May 15, 2013 Foarte bun!! Bravo! 4/5 Y!M: [email protected] ( help-center sau comenzi )
Massari Posted May 15, 2013 Posted May 15, 2013 Frumoase tutoriale 5/5 Dar fale mai frumos.. cate un rand liber colorate etc :P rimmon curv.
burnfire Posted May 15, 2013 Author Posted May 15, 2013 Frumoase tutoriale 5/5 Dar fale mai frumos.. cate un rand liber colorate etc Multumesc si nu,nu sunt cu aranjarea tutorialelor...Foarte bun!! Bravo! 4/5Multumesc Foarte bun tutorialul, dar puteai sa faci un tutorial la ce e folosit TextDrawSetString ca asa da orice copy+paste si gata, nu au invatat nimica. Data viitoare nu mai pune bold la text sa vede urat. 3/51.Daca vrei,voi face un tutorial pentru TextDrawSetString....2.De unde stii ca e copy+paste?Vreau sa imi dai sursa,ca nu accept sa mi se faca acuzatii fara argumente Va multumesc pentru note ;)
eXorcism Posted May 15, 2013 Posted May 15, 2013 burnfire cred ca se referea la cei care urmeaza tutorialul ... !Nota: 4/5 I'm back bitches.
Rock Posted May 16, 2013 Posted May 16, 2013 Oribil modul in care e scris. Marimea textului e prea mare si nu se intelege nimic + ca nu este explicat bine.Si unde ai invatat tu ca se scrie "V-om", daca asa se scrie vom ar insemna ca ar trebuii sa scriem si "V-oi, V-oua", nu? Just Rock
eXorcism Posted May 16, 2013 Posted May 16, 2013 Oribil modul in care e scris. Marimea textului e prea mare si nu se intelege nimic + ca nu este explicat bine.Si unde ai invatat tu ca se scrie "V-om", daca asa se scrie vom ar insemna ca ar trebuii sa scriem si "V-oi, V-oua", nu?Asta e ma "incepatorule" , doar atata gramatica stie sau e pe graba . I'm back bitches.
burnfire Posted May 16, 2013 Author Posted May 16, 2013 Am scris pe graba...Si vamultumesc pentru note!;)
macelaru1 Posted June 10, 2013 Posted June 10, 2013 Imi da eroare la compilatC:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(443) : error 010: invalid function or declarationC:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(12927) : error 017: undefined symbol "Ceas"C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(12930) : error 017: undefined symbol "Ceas"C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(13140) : warning 225: unreachable codeC:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(59545) : warning 235: public function lacks forward declaration (symbol "ServerTime")C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(59548) : error 032: array index out of bounds (variable "Ora")C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(59549) : error 032: array index out of bounds (variable "Data")C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(59549) : error 001: expected token: ",", but found ";"C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(59550) : error 032: array index out of bounds (variable "Data")C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(59551) : error 035: argument type mismatch (argument 1)C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(59551) : error 029: invalid expression, assumed zeroC:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(12930) : warning 204: symbol is assigned a value that is never used: "Ceas"Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase9 Errors.Si am facut exact ca acolo
SpriTe_ Posted June 10, 2013 Posted June 10, 2013 Frumos, dar ai dat cam prea mult mur-in-gura cum s-ar zice, dau numai COPY-PASTE si e gata Dar totusi 4/5.
burnfire Posted June 11, 2013 Author Posted June 11, 2013 Am incerca sa fac cat mai pas cu pas...oricum,asa la aproape orice tutorial poti alege varieta Copy+Paste )Va multumesc pentru note ;)
burnfire Posted July 8, 2013 Author Posted July 8, 2013 Dc 3/5 ma?Stii tu scripting sau esti un RSS-ist ordinar,de ala care nici nu stie cum se foloseste functia print()...Mai intai demonstreaza ca stii,dupaia sa critici ;)
hTTpftw Posted July 22, 2013 Posted July 22, 2013 4/5 , un tutorial pt textdraw ? : Fara reclama in semnatura!
hTTpftw Posted November 15, 2013 Posted November 15, 2013 3/5 Totusi bravo Fara reclama in semnatura!
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