Jump to content

[Tutorial]Cum sa faci un ceas functional pentru server


burnfire

Recommended Posts

                                  Ceas Server

Hristos 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 manual

Presupunand 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! :))

Link to comment
Share on other sites

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

 

1859311972_BANNER-GIREADAcopy-min.thumb.png.48e5e420ae2185dce5b244965a1d2601.png

 

Link to comment
Share on other sites

Frumoase tutoriale 5/5

Dar fale mai frumos.. cate un rand liber colorate etc :P

Multumesc si nu,nu sunt cu aranjarea tutorialelor...

Foarte bun!! Bravo! 4/5

Multumesc ;)

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

1.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 ;)

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 4 weeks later...

Imi da eroare la compilat

C:\Users\MrSmith\Desktop\MakeFakeeeee\gamemodes\gf.pwn(443) : error 010: invalid function or declaration

C:\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 code

C:\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 zero

C:\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 CompuPhase

9 Errors.

Si am facut exact ca acolo

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 months later...
  • 3 weeks later...
  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.