Jump to content

SourceMod: Introducere limbaj scripting incepatori


Recommended Posts

Posted (edited)

Am creat acest ghid pentru cei care sunt noi în scrierea unui plugin SourceMod.

Pentru a începe, dacă nu sunteți familiari cu  limbajul SourcePawn, vă recomand cu drag să treceți prin următorul articol și să incercați să îl înțelegeți, știu că la început pare a fi complicat, dar , cu timpul o să vedeți că totul o să fie mai ușor.

Link articol SourcePawn:Click aici

Crearea unui plugin

 

Quote

Dacă ați citit articolul despre introducerea în SourcePawn acum putem să începem creearea pluginului SourceMod.

 

 

 

Pentru început, vom avea nevoie de un editor de text pentru plugin. Aici puteți să vă alegeți ce doriți dumneavoastră, cu care sunteți mai comod, care credeți că vă avantajează pe dumneavoastră.

Eu o să vă dau o serie de editoare de text folositoare pe care le folosesc:

  • SPEdit(acesta este principalul editor de text pe care îl folosesc deoarece vine cu compilator SourceMod inclus, vi-l recomand cu toată încrederea să îl folosiți pe acesta)  Preview:Click aici Link de download:Download
  • UltraEdit - (fara compilator SourceMod inclus) 
  • Notepad ++  - (fara compilator SourceMod inclus) 
  • Sublime Text  (fara compilator SourceMod inclus) 

 

După ce ne-am instalat editorul de text favorit, putem să începem crearea unui plugin de început.O să folosesc ca și referință editorul de text SPEdit.

 

Deschidem SPEdit, iar în colțul din stânga sus avem următoarea bară:

 bara.PNG

Vom apăsa pe prima coloană numită  "File", iar după aceea pe butonul "New". După ce am apăsat butonul o să se deschida o nouă fereastră in editorul de text cu mai multe opțiuni, după cum urmează:

tab nou.PNG   Noi o să folosim opțiunea "CS:S / CS:GO Script"  deoarece pluginul nostru o să fie numai pentru CS:GO.

 

După selectarea opțiunii "CS:S / CS:GO Script" programul ne va creea un plugin gol SourceMod pentru CS:GO care ar trebui să arate așa:

exemplu.PNG

 

 

Înțelegerea pluginului default

 

Dacă ați urmărit cu atenție explicația de creeare a pluginului putem trece mai departe la înțelegerea codului sursă al pluginului standard. Programul ne-a creat deja structura standard a unui plugin special pentru CS:GO.

Pentru unii dintre voi, toată această sintaxă pare complicată așa că o să vă explic ce face linie cu linie pluginul standard.

Spoiler

Poate explicația sună destul de complicată ca și începător dar cu timpul totul o să se simplifice dacă incepeți să lucrați.

 

  • "#pragma semicolon 1"  -  dacă  v-ați documentat despre SourcePawn (pentru cei care nu au facut-o deja, aveți în introducerea topicului un link la articolul despre SourcePawn)  și știți puțină programare, această linie nu face nimic altceva decât sa spună compilatorului că la sfârșit de linie cod avem nevoie de ; (punct și virgulă -RO) => (semicolon - EN)
  • "#define PLUGIN_AUTHOR"  - definirea PLUGIN_AUTHOR (este un preprocesor pentru câmpul 'author' care o să urmeze din informațiile generale ale pluginului).
  • "#define PLUGIN_VERSION" - definirea PLUGIN_VERSION(este un preprocesor pentru câmpul 'version' care o să urmeze din informațiile generale ale pluginului).
  • "#include <sourcemod>"  - este o instrucțiune care comunică cu compilatorul și îi spune să "copieze" codul sursă dintr-un alt fișier de-al nostru, iar asta ne lasă să folosim funcțiile publice ce le conține codul sursă (1) .  În acest caz, codul sursă din fisierul inclus "sourcemod" o sa fie "copiat" in pluginul nostru" 
  • "#include <sdktools>"  - în acest caz, codul sursă din fisierul inclus "sdktools" o sa fie "copiat" in pluginul nostru" .
  • "#include <cstrike>"  - în acest caz, codul sursă din fisierul inclus "cstrike" o sa fie "copiat" in pluginul nostru" .
  • "#pragma newdecls required" - această linie spune compilatorului să ruleze la syntaxa cea noua din sourcemod, nu cea veche.
  • "EngineVersion g_Game" - este o variabilă globală de tip "EngineVersion"  numita "g_Game" pe care o va folosi pluginul în funcția de Start a pluginului.
  • "public Plugin myInfo {.......}" - este o variabila publică numită "myInfo" de tip "Plugin"(care este o structură cu 5 câmpuri de tip char[]. Pentru această variabilă v-am pregătit o imagine pentru a înțelege mai bine.     

 

Untitled-Diagram-(3).png

  • "public void OnPluginStart{.......}" - este o variabilă publică de tip void numită "OnPluginStart" care este numele default pentru aceasta funcție. Ea se va apela de fiecare dată când pluginul o să fie rulat.

! Restul de instrucțiuni din funcție deocamdată nu ne interesează deoarece o să învățăm să scriem la rândul nostru o serie de instrucțiuni, iar atunci o să le înțelegeți singuri.

 

Cam aceasta a fost 'Introducerea în SourceMod ', sper că acest ghid a fost și o să fie de folos pentru cei ce vor să facă și să înțeleagă pluginuri SourceMod.

Urmează și alte tutoriale pentru scrierea de pluginuri în SourceMod care eu zic că o să fie interesante. 

 

 

 

 

 

 

 

Pentru orice nelămurire puteți să mă contactați pe forum!

 

❤️Shirou❤️

 

              

 

Edited by Shirou
  • Like 2
  • Thanks 1
  • Congrats! 1
  • Love 1
  • Maximum Rate 2
Guest
This topic is now closed to further replies.
×
×
  • Create New...