Jump to content
Addicted2 Romania
Aplicatiile pentru functia de "Helper" pentru serverul de Minecraft sunt deschise !

Chestii de baza in scripting samp.


RombyFlow

Recommended Posts

Chestii de baza in scripting samp.

Salut, ma numesc David am varsta de 14 ani si scriptez in SA:MP de 1 an. Am invatat multe chestii in acest timp si cred ca as putea sa impartasesc si la altii ce am invatat eu.

In primul rand, de la cine am invatat?

Eu am invatat scripting de la GroWy Tuts si Edison Tuts si bine inteles de pe forum-uri si am gandit sisteme cu capusorul meu si au mers..

Tutorial folositor incepatoriilor:

youtube.com/watch?v=2rYxDnxUu8M

 

Revenind, pentru a stii scripting SA:MP trebuie sa mai stii ceva. Limbaj-ul de programare "Pawn" este un limbaj de tip C, care acum mai este folosit pentru jocurile CS:1.6 si SA:MP.  Ca si la C++ sau alte limbaje de programare mai ai nevoie si de includeuri. SA-MP are include-ul "a_samp" in care sunt toate nativeurile, si alte includeuri pentru a merge server-ul de SA:MP.

- Nu recomand sa incepeti cu un gamemode de la 0 pentru ca daca nu aveti un minim de cunostinte nu puteti face multe lucruri. Asta a fost greseala mea.

- Daca doriti sa incepeti de la 0 puteti instala gamemode-ul + include-urile de pe www.sa-mp.com/download.php si selectati pe "Windows Server" daca aveti Windows sau "Linux Server" daca aveti linux.

- ATENTIE: Host-urile folosesc Linux, insa treaba cu linuxul si cum rezolvam o alta faza o discutam mai tarziu.

 

In primul rand.. hai sa invatam ce este o variabila string..

O variabila de tip string stockeaza niste date pe care le-ai scris cand ai creat string-ul. La string poti sa pui orice nume.

Hai sa facem o variabila string.

"new numevariabila[valoare]"

In loc de numevariabila puteti pune numele string-ului (Nu poate avea caracterele: _, -, ", (,),{,} etc..).

Valoarea inseamna cate caractere sunt.

Hai sa ii atribuim un text.

 

numevariabila[valoare] = "Salut imi place sa mananc mancare".

Gata, acum in loc de "valoare" punem cate caractere sunt in propozitie. Hai sa numaram!

Sunt 28 de caractere.

Acum in loc de valoare, punem 28.

numevariabila[28]

 

Acum daca vrem sa trimitem text-ul cand se conecteaza sa zicem, facem asa.

Cautam in gamemode, "OnPlayerConnect", iar acolo facem asa.

SendClientMessage(playerid, -1, numevariabila);

Ok, ce sunt toate astea?

SendClientMessage - un native din sa:mp care trimite mesaj cand il pui.

-1 = culoarea alb.

numevariabila = textul pus.

playerid = jucatorul.

 

Dar daca vrem sa trimitem la toti jucatorii cand se conecteaza cineva acel mesaj...

Cautam in gamemode, "OnPlayerConnect", iar acolo facem asa.

foreach(new i : Player) {

            SendClientMessage(i, -1, numevariabila);

}

 

Ok, acum hai sa formatam un mesaj, de exemplu la conectare vrei sa scrie la jucator-ul care se conecteaza cum il cheama pe samp.

Facem o variabila cu 128 de caractere pentru ca asa sunt toti obisnuiti si posibil sa mai foloseasca variabila in unele zone.

new string[128];

acum cum formatam?

Dar, cum ii vedem numele. Trebuie inca o variabila.

new nume[516]

GetPlayerName(playerid, name);

I-am luat numele, acum trebuie sa formatam mesaj-ul.

format(string, 128, "%s s-a conectat pe server!", name);

SendClientMessage(playerid, -1, string);

Ce inseamna %s?

Pai, hai sa iti explic.

%s inseamna litere, cifre, semne, etc (tot).

%d inseamna doar cifre.

%2.f = float gen 0.01 (%2.f se poate folosi la /stats la sistemul de ore jucate).

 

 

 

 

Link to comment
Share on other sites

  • 11 months later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...