RGZ Gaming Forum


 
AcasaUltimele imaginiCăutareÎnregistrareConectare

Distribuiţi|

[Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
Agnostic
Moderator
Agnostic

Rank: Moderator
Status:
Posturi : 1146
Reputatie : 36
Data de Inscriere : 09/02/2014
Oras : RGZ City
Varsta : 25
[Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)  Empty
MesajSubiect: [Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init) [Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)  EmptyMar Iul 29, 2014 7:01 pm

Salut! De ceva timp vreau să încep o serie de tutoriale Pawn, care este limbajul de scripting al AMXX-ului. Nu sunt un om cu foarte mult timp liber, deci sunt câteva săptămâni de când vreau să fac asta şi nu-mi găsesc timpul. Ei bine, acum am nişte timp liber, deci m-am hotărât să încep.

1. Include-urile
Include-urile sunt funcţiile care spun compilerului din ce fişiere .inc, adică module, să ia definiţiile funcţiilor folosite în pluginul respectiv. Include-urile arată cam aşa:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include < modul >


2. Define-uri, new-uri
Define-urile se folosesc după include-uri, pentru a face eventuale definiri suplimentare, pe lângă cele aflate în modulele incluse. De exemplu, cum se observă în multe pluginuri:

#define PLUGIN "Nume plugin"
#define VERSIUNE "1.0"
#define AUTOR "Nume autor"

public plugin_init()
{
register_plugin(PLUGIN, VERSIUNE, AUTOR)
}


Acum, fiecare dintre cele trei variabile definite (PLUGIN, VERSIUNE, AUTOR) vor fi echivalente cu ce au fost definite. Aşadeci, compilerul va citi funcţia dată ca exemplu mai sus aşa:


#define PLUGIN "Nume plugin"
#define VERSIUNE "1.0"
#define AUTOR "Nume autor"

public plugin_init()
{
register_plugin("Nume plugin", "1.0", "Nume autor")
}

New-urile se folosesc pentru a defini o constanta, astfel:


new PLUG[] = "Nume plugin"
new VERS[] = "Versiune plugin"
​new AUTH[] = "Autor plugin"

Fiind aceeaşi poveste ca şi cea de mai sus, cu define-urile.


3.Plugin_init
Plugin_init este funcţia care înregistrează pluginul. Această funcţie conţine numele pluginului, versiunea pluginului, autorul pluginului şi comenzile administrative. Această funcţie se realizează cu ajutorul unui public, care este cea mai comuna funcţie. Ar trebuii să arate cam aşa:

public plugin_init()
{
register_plugin("Nume plugin", "Versiune plugin", "Autorul pluginului")
register_concmd("amx_test", "testCmd", ADMIN_BAN, "Aceasta este o comanda data ca exemplu.")
}

register_plugin - Înregistrează pluginul register_concmd - Aceasta este o comandă ce poate fi executată fie din consola serverului, fie din consola unui jucător, fiuncţionând astfel:


register_concmd("comanda ce va fi scrisa in consola", "functia public ce va fi executata la executarea comenzii", accesul_de_care_are_nevoie_un_admin_ca_sa_poata_executa_comanda, "Descrierea comenzii, ce va apărea în amx_help")


Se pot folosi şi alte funcţii în loc de register_concmd. Un exemplu comun este register_clcmd, care este exact ca şi register_concmd, doar că poate fi executată doar din consola jucătorului, nu şi din cea a serverului. Un exemplu de register_clcmd:


register_clcmd("say /rs", "cmdResetscore")


Nu este nevoie să mai adăugăm restul, dacă nu vrem. Parametrii sunt aceiaşi ca şi cei de la register_concmd şi pot fi adăugaţi la nevoie. Acest exemplu va executa publicul cmdResetscore când un jucător scrie în chat /rs. Se pot folosi, de altfel, şi funcţii care nu necesită executare manuală, ci care vor fi executate în mod automat, cum ar fi RegisterHam, funcţie pentru care trebuie inclus modulul Hamsandwich. Un exemplu de RegisterHam:


RegisterHam(Ham_Spawn, "player", "cmdSpawn", 1)


Această funcţie va executa publicul cmdSpawn pe jucătorul definit "player", automat, la spawn. Se mai pot adăuga în plugin_init şi eventuale cvar-uri, prin funcţia register_cvar, astfel:

register_cvar(test_cvar, "cmdTest", "1")

test_cvar este cvar-ul efectiv, cmdTest este publicul ce va fi executat, 1 este valoarea default a cvar-ului.


Ei bine, cam asta a fost deocamdată. O sa mai postez când o să mai am timp!
Sus In jos
Sprite
Moderator Global
Sprite

Rank: Moderator Global
Status:
Posturi : 140
Reputatie : 3
Data de Inscriere : 04/08/2014
Oras : Manchester City
Varsta : 27
[Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)  Empty
MesajSubiect: Re: [Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init) [Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)  EmptyMar Aug 05, 2014 5:35 pm

Bun tutorial mersi BRAVO :bestpost:
Sus In jos
FLEWEENTE
Moderator
FLEWEENTE

Rank: Moderator
Status:
Posturi : 537
Reputatie : 13
Data de Inscriere : 05/08/2014
Oras : ORAS RGZ
Varsta : 27
[Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)  Empty
MesajSubiect: Re: [Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init) [Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)  EmptyLun Aug 11, 2014 9:17 pm

Multumim pentru tutorial.
Pentru evitarea spamului , T.C
Sus In jos
Continut sponsorizat

Rank:
Status:
[Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)  Empty
MesajSubiect: Re: [Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init) [Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)  Empty

Sus In jos

[Tutorial-Rgz] Pawn scripting (include, define, new, plugin_init)

Vezi subiectul anterior Vezi subiectul urmator Sus

Subiecte similare

-
t [Tutorial-Rgz] LJ,HJ,CJ,SCJ
t [Tutorial-Rgz]Half-Life Model Viewer + tutorial utilizare!
t Tutorial Photoshop Cs6-Tutorial Incepatori || Basic
t [TUTORIAL] MC 1.4.1
t [RGZ-TUTORIAL]
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
RGZ Gaming Forum  :: »[RGZ] Gaming :: Counter Strike 1.6 :: Tutoriale-