| 
										 
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                [==>DESCARGAS<==]
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                [==>UTILIDADES<==]
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                [===>GUIAS<===]
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                [==SERVER MODS==]
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
                                            | 
                                                
                                             | 
                                         
										
											
												 
											 | 
										 
									 
								 | 
								
									
										
											
												
													
														| 
															
														 | 
													 
													
														
															
																
																	
																		
																			
																				|   | 
																				
																					¿Como crearse su propio plugin?
[Nivel Novato] 
                              
 
Introduccion:
  ¿Que son los plugins?
Los PLUGINS son unos archivos que utiliza el AMX MOD para realizar tareas 
 
Ejemplos:
 -Ejercen un comando a tal momento 
-Eliminar un archivo 
-Leer un archivo 
-Reaccionar alaccionar un comando 
-Reproducir sonidos 
-Dejar mensajes 
-Realizar eventos (los eventos serian cuando sucede algo en el CS. Ej: HeadShot!) 
-Kickear, Banear, Slapear Automaticamente 
 
 
¿Que son?
 Son como un  *.txt , se lo habre con el block de notas... 
 
Requisitos: 
 Los requisitos dependerian de la cantidad de plugins o que cantidad contiene el plugin,  yo tengo una memoria de 120 MB y si lo lanzo a internet me da 300 latency por ahi XD ... claro q si tienes de 256 o 512 o tansolo juegas por LAN esto no es un problema.  
Otra cosa que se necesita es tener el block de notas o algo que lea .txt q no sea el Microsoft word.  
¿Que me debo bajar?
 Nada de nada (amenos q sea el Block de notas XD)  
Debes tener el AMXMOD  
Si recuerdas donde instalaste el AMX , en el caso general de el winzip lo pudiste haber descomprimido en unnziped/amx , adento de la carpeta de AMX tiene q haber una karpeta llamada "examples". Si no la tienes bajate el amx de nuevo  
 
 
Comenzar: 
 1°. No creas q esto es sensillo , es un poco complicado  
 
Entra a la carpeta de EXAMPLES y veráz archivos llamados:  
admin.sma  
adminvote.sma  
adminchat.sma  
adminhelp.sma  
mapchopser.sma  
  
Puedes abrirlos con el block de notas.  
Si te sucede como ami que se ven unos cuadraritos negros y no se entiende nada podes aser lo siguiente  
1° . Seleccionar un cuadradito  
2° . Presionar Ctrl + C  
3° . Presiona F3 (debe aparecerte el buscador o sino aslo manualmente)  
4° . En donde te deja escribir teclea Ctrl + V  
5° . Poner buscar siguiente  
6° . Salir del buscador  
7° . vamos al principio del texto, que el | tambien se valla.  
8° . Ahora aremos seguido F3 y Enter ,F3 y Enter ,F3 y Enter ,F3 y Enter ,F3 y Enter , ... no le erres a repetir , enter y enter , enter y F3 , porque despues puede no funcionar el plugin  
  
Ahora tenemos el ejemplo echo , con eso N05 podremos guiar...  
 
 
Les dare que significa la mayoria de las cosas: 
  
Veran que al comienzo hay algo asi  
/* AMX Mod script.  
*  
* (c) Copyright 2002-2003, OLO  
* This file is provided as is (no warranties).  
*  
*/  
eso es el credito ... se pone "/*" al comienzo de cada credito y "*/" al final (lo que no se es si es necesario los * en la parte de adentro XD)  
 
Mas abajo se encontrara  
#include <amxmod>  
#include <amxmisc>  
o solo  
#include <amxmod>  
 
#include: Si se fijan en examples/include habra unos archivos inc que tambien se abren con el block...  
en este caso el #include <amxmod> esta queriendo incluir lo que tiene ese amxmod  
ATENCION NUNCA MODIFICAR ESOS ARCHIVOS  
 
Fijense el archivo admin ... lo usare como ejemplo para enseniales q hace cada unas de sus lienas  
 
:  
#define MAX_ADMINS------------64  
Define un numero con letras , en este caso es 64 , todo va con mayuscula  
 
 
new admin_password[MAX_ADMINS][32]  
aca utilizo el MAX_ADMINS , osea q podemos enves de new admin_password[MAX_ADMINS][32] podemos poner new admin_password[64][32]  
esto de new crea un , un , un , un , como decirlo . Lo entenderan mas tarde pero les puedo explicar algo  
El 64 son las cantidades de admins , como dije habia maximo  
Quedaria dibidida en 64 partes y cada parte solo puede tener 32 caracteres ( letras , incluyendo los espacios)  
por ahora no se le assigno nada al ,al ,al ,al ,al por ahora llamemola "linea nueva"  
osea que el  
admin_password[0] no tiene nada  
admin_password[1] no tiene nada  
admin_password[2] no tiene nada  
admin_password[3] no tiene nada  
  
  new admin_num = 0  
Este solo tiene numero asignado , no tiene limite de caracteres ni tampoco se dibide ... esta "linea nueva" se puede sumar y restar  
 
en otros casos hay lago asi:  
 
new nuevalinea[32]  
tiene de limite 32 caracteres, si queremos podemos a 33 o 34 o 35 y asi... o puede estar dividido en 32 partes  
 
new nuevalinea[32] = {"Palabras1","Palabras2","Palabras3","Palabras4",y mas alla}  
esta dibidida en 32 partes y cada una tiene accinada lo que esta en { } , Palabra1 pertenese a nuevalinea[0], palabra2 pertenece a nuevalinea[1] y asi ...  
tambien se puede poner numeros pero no se le ponen comillas como  
new nuevalinea[32] = {0,3,6,8,23,56,y asi}  
y si queremos que toda la division tenga un mismo numero ponemos puntos suspenciovos  
new nuevalinea[32] = {15,...}  
ahora las 32 partes tienen un valor de 15  
 
 
public admin_cmd(){  
Como explicar eso... public seria digamos una parte del plugin XD , admin_cmd es como se llama ese public , los () son como un new que viene de otra parte del plugin que lo acciono , ese plugin tiene varios new y eso se envia a traves del () ...  
LOS NEW QUE ESTAN DENTRO DEL PUBLIC SON SOLO DE AHI, NO SALEN A MENOS QUE LO MANDES POR ()...  
el { significa que abre el ese public  
 
 
----------------if (admin_num >= MAX_ADMINS){  
Ahi dice que cuando el admin_num que nos acordamos que era 0 es mayor o igual a MAX_ADMIN que nos acordamos que MAX_ADMINS representaba el 64 se activara lo de abajo  
If dice que cuando algo sea igual, mayo o menor pase lo que esta abajo que se lo habre con un {  
 
 
--------------------------------server_print("Admins limit reached!")  
Despues de que el admin_num fue mayor que 64, server_print muestra en la consola del server el mensaje que sigue ( se lo escribe en comillas porque si no lo hacemos el plugin lo tomara como una "linea nueva" , pero si es un numero no es necesario) ("Admins limit reached!")  
 
--------------------------------return PLUGIN_HANDLED  
Se detiene de leer , lo de abajo del public ya no cuenta...  
 
----------------}  
Esta cerrando el if que pusimos en esa coumna ... al que me refiero es el if (admin_num >= MAX_ADMINS){ osea que si el admin_num es menor q el MaX_ADMINS el se saltea esa parte hasta el } de esa columna  
 
----------------new data[32]  
Se creo una "linea nueva" del public , solo pertenece ahi!  
 
----------------read_argv(1,admin_name[admin_num],31)  
Lee el comando que se acciono...  
el 1 representa el valor del comando ...  
Si se fijan a lo ultimo del PLUGIN habra algo asi  
register_srvcmd("amx_admin","admin_cmd")  
cuando accione el "amx_admin" se acciona el public admin_cmd  
yo acciono el amx_admin <y aca seria el read_argv(1>  
read_argv(1,admin_name[admin_num],31)  
admin_name[admin_num]  
recuerdan la "linea nueva" admin_num que esta mas arriba , tiene valor 0  
osea que quedaria  
admin_name[0] le damos el valor de lo que se escribio despues del comando... osea  
amx_admin "N050Tr05"  
y el valor ahora de  
 
admin_name[0] = N050Tr05  
 
el 31 ese que esta ahi es el maxmimo de caracteres ... siempre pongan uno menos que el otro , 32 a 31 , 64 a 63 y asi  
 
despues estan los otros de read_argv  
es el que esta segundo en el comando  
amx_admin N050Tr05 *******  
Fijense que este read_argv ahora tiene un "2" despues ...  
 
-admin_priv[admin_num] = read_flags(data)  
recuerdan mas arriba la "linea nueva" que es new admin_priv[MAX_ADMINS], que es new admin_priv[64]...  
para asignrle nu valor a esa lineanueva solo debemos poner el nombre:  
admin_priv[admin_num] que si recuerdan admin num es 0 entonces seria  
admin_priv[0]  
el = le esta asignando lo que es read_flags(data)  
read_flags(data) , lee la letra o letras que le pusimos . abcde , abc , bd , eso... y lo transforma en numero  
a = 1 ... 2 a la 0 potencia (matematicas)  
b = 2 ... 2 a la 1 potencia (matematicas)  
c = 4 ... 2 a la 2 potencia (matematicas)  
d = 8 ... 2 a la 3 potencia (matematicas)  
e = 16 ... 2 a la 5 potencia (matematicas)  
f = 32 ... 2 a la 6 potencia (matematicas)  
g = 64 ... 2 a la 7 potencia (matematicas)  
h = 128 ... 2 a la 8 potencia (matematicas)  
i = 256 ... 2 a la 9 potencia (matematicas)  
...  
 
----------------admin_num++  
Asignacion de una suma al admin_num  
La suma es de 0 + 1...  
entonces el admin_num ahora es 1 ... si se vuelve a accionar el amx_admin sera lo mismo solo que ahora el admin_priv[0] no sera 0 sino admin_priv[1] ... luego llegara al 64 y ahi si que es mayor q el MAX_ADMIN ... ok?...  
 
----------------return PLUGIN_HANDLED  
Cuando se ocupa una o mas veses en el public eso se pone return PLUGIN_HANDLED al final y despues e pone el } alado del margen para cerrar el plugin  
  
  
Mas abajo esta get_access(id,name[],authid[],ip[], password[]){  
fijense que no tiene public alado y tiene en el () palabras como les habia explicado ...  
 
veran las "lineas nuevas"  
 
estara algo asi  
for(new i = 0; i < admin_num; ++i) {  
 
eso quiere decir que se hace una lineanueva y se va comparando  
quedaria  
i = 0  
se compara si i es menor que el admin num y si es asi se hace todo lo de abajo ocupando la i cuando se termina eso se suma esa i ... i = 0 , 0 + 1 = 1... ahora i vale 1 entonces se vuelve a comparar y si i es menor que la cantidad de admin se activa todo lo de abajo y cuando termina i se suma ... i = 1 ... 1 + 1= 2 ... ahora i vale 2 ... asi susesibamente y cuando i ya sea igual o mayor que admin_num ya la especie de public que no lo es se cierra  
 
 
checka una mirada a include/amxcont.inc y busca FLAG_AUTHID ... el numero es algo asi (1<<2) ... en este caso es una c . si a nuestro admin le pusimos una C se activara lo siguiente  
 
if (admin_flags[i] & FLAG_AUTHID) {  
mira mas arrba abiamos mostrado lo que era admin_flags ...  
si admin_flag[0] (por ahora es 0)  
a = (1<<0)  
b = (1<<1)  
c = (1<<2)  
es igual a FLAG_AUTHID que FLAG_AUTHID es (1<<2) se activa lo de abajo y se sierra esa con el }  
 
mas abajo esta  
else if (admin_flags[i] & FLAG_IP) {  
que dice?  
pero si admin_flag....  
else significa PERO  
osea que si se activo el IF de arrba no se puede activar ese if porque este es solo PERO  
 
asi susesibamente  
 
 
index = i  
esta diciendo que el significado de index que mas arriba dice que vale -1 ahora vale i ... cuando vale i ? puede valer 0 , 1 ,2 ,etc  
 
 
if (index != -1) {  
Este no esta incluido con el for de arriba  
Dice que si index NO ES IGUAL A -1 se abre lo de abajo  
 
 
new sflags[32]  
get_flags(admin_priv[index],sflags,31)  
actuan juntos ... se creo una lineanueva y el valor de esa linea es de las letras que le dimos a nuestro admin (admin_priv[index] (index es igual al valor de i y i es el numer0 de admin))...sflags no va entre comillas porque es una nuevalinea  
 
result |= 8  
no entendi ... sorry  
 
log_to_file(logfilename,"Login: ^"%s<%d><%s><>^" become an admin (account ^"%s^") (access ^"%s^") (address ^"%s^")",name,get_user_userid(id),authid,admin_name[index] ,sflags,ip)  
 
graba en amx/logs lo siguiente Login: "%s<%d><%s><>" become an admin (account "%s") (access "%s") (address "%s")  
que es %s? ... eso es un valor que dice por ahi ese ",name" el primer %s va con el primer con coma , el segundo que es un %d va con get_user_userid(id) .... porque %d? ... se usa %d para las lineasnuevas que se dividen , tambien se ocupa para la userid  
^ ¿que es el ^?  
este esta junto a la " ... ^"  
cuando queremos poner por ejemplo  
 
bind 2 "spk "hello men""  
queremos que las comillas verdes sean parte del spk pero solo queda  
bind 2 "spk " hello men""  
 
el rojo con el rojo y el verde con el verde  
en el amx funcionaria (como ejemplo , no lo vallan a intentar) bind 2 "spk ^"hello men^""  
 
el verde abarca el spk y el rojo abarca el bind....  
 
en este caso se remplaza el ^" se lo toma como "  
 
 
 
new defaccess[32]  
get_cvar_string("amx_default_access",defaccess,31)  
Checka el cvar amx_default_access y le da el valor al defaccess  
 
 
BAMOS AL SIGUIENTE PUBLIC  
 
new result = get_access(id,username,userauthid,userip,password)  
 
¿que es get_access?  
fijense arriba .. el que estubimos biendo , el que no tiene public , se llama get_access y lleva (id,name[],authid[],ip[], password[]) como el get_access(id,username,userauthid,userip,password)... se traslado las nuevaslineas al otro ...  
esto debe ser asi ... el get_access checka todo eso y el result son las flags que le pusimos a nuestro admin  
 
ya me estoy cansando asi que aca llegue ... este fue un ejemplo para que se guien mas o menos como se hace un plugin del amx ... yo lo tube que descubrir yo solito X(... si tienen el sma para hacer hagan lo siguiente:  
1° . Creen una carpeta que se llame como quieran y ahi manden todos los sma de ejemplos...  
2° . El suyo dejen lo en examples  
3° . Mandar el sc.exe . Cual de todos? . el que tiene esa tuerquita  
4° . Mirar los errores que aparecen . Te dice que renglon fue ... te lo dice entre parentecis ... por ej  
MIPLU~1.SMA(28) : .... el numero ese es el renglon en el que esta el error  
 
SALUDOS!!   
 
No se Olviden de dejar su comentario!!   
 
 
 
 
 
 
																				 | 
																				  | 
																			 
																		 
																	 | 
																 
															 
														 | 
													 
													
														 | 
													 
												 
											 | 
										 
										
											
												
													
														|   | 
														
															Hoy habia 2 visitantes (3 clics a subpáginas) ¡Aqui en esta página!														 | 
														  | 
													 
												 
											 | 
										 
									 
								 |                               
								
                                 
									
                                    
                                    
                                     
                                    
								 |