Hola visitante. Si tienes cuenta registrada logeate y si no lo tienes REGISTRATE que esperas.



 
ÍndicePortalFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
» Coinsumer
Jue Jul 30, 2015 11:51 am por Breek_Steel

» Curiosidad
Lun Mar 31, 2014 11:32 am por omersan

» Descargar Counter-Strike 1.6 (No-Steam)
Lun Jul 08, 2013 6:54 pm por ezequiel98

» Buenas a Todos!!:D
Dom Jun 30, 2013 6:27 pm por Toyejo

» Conoceme
Dom Jun 30, 2013 6:23 pm por Toyejo

» STAFF SERVER CSTRIKE
Dom Jun 30, 2013 6:17 pm por Toyejo

» Hola
Miér Abr 10, 2013 11:15 pm por AddictionCs1.6

» Corea del Norte vs Estados Unidos, al borde de la guerra
Miér Abr 10, 2013 4:40 pm por Admin

» Hallan huesos de embriones de dinosaurio
Miér Abr 10, 2013 4:23 pm por Admin

Compañeros


Publicidad
Paginas afiliadas
Los posteadores más activos del mes
Agosto 2017
LunMarMiérJueVieSábDom
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendarioCalendario
Compañeros



Comparte | 
 

 Tutorial - Crear Pluigin's [Nivel Novato]

Ver el tema anterior Ver el tema siguiente Ir abajo 

¿Buen Post?
Si esta bien
0%
 0% [ 0 ]
No esta bien explicado
0%
 0% [ 0 ]
Esta Mas O Menos
0%
 0% [ 0 ]
Perfecto
0%
 0% [ 0 ]
Exelente
100%
 100% [ 2 ]
Regular
0%
 0% [ 0 ]
Votos Totales : 2
 

AutorMensaje
FearPrOx
[SC] Novato
[SC] Novato
avatar

Masculino Mensajes : 1
Puntos : 5
Fecha de inscripción : 17/10/2012
Localización : Caracas-Distrito Capital

MensajeTema: Tutorial - Crear Pluigin's [Nivel Novato]   Mar Nov 06, 2012 6:17 pm

Buenas soy un nuevo aqui en el Foro cheers

chuck norris Hoy les enseñare un Tutorial explicado bien como crear tu propio Pluigin para tu servidor del Counter Strike chuck norris

Introduccion:
¿que son los plugin?
Los pugins son unos archivos que utiliza el AMX para realizar tareas
Ej:
-Ejercer un comando a tal momento
-Eliminar algun archivo
-Leer un archivo
-Reaccionar al accionarse un comando
-Reproducir sonidos
-Dejar mensajes
-Realizar eventos (Los evntos serian cuando sucede algo en el cs, Ej : headshot)
-Kickear, banear, slapear automaticamente
-Volcacion de sangre
etc
¿que son?
Aunque no lo creas son como un *.txt , se lo habre con el block de notas...

Requisitos:
Los requisitos dependerian de la cantidad de plugins o q cantidad contiene el plugin ... yo tengo una memoria de 8 gb y si lo lanzo a internet me da 30 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 q 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 sigunifica 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
#include
o solo
#include

#include: Si se fijan en examples/include habra unos archivos inc que tambien se abren con el block...
en este caso el #include 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
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 & 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 & 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 ... 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


Porfavor Comentar me costo mucho trabajo Embarassed
Volver arriba Ir abajo
Ver perfil de usuario
Admin
[SC] Administrador
[SC] Administrador
avatar

Masculino Mensajes : 553
Puntos : 1030
Fecha de inscripción : 26/09/2012
Edad : 17
Localización : en mi casa

MensajeTema: Re: Tutorial - Crear Pluigin's [Nivel Novato]   Miér Nov 07, 2012 12:56 pm

Hola

Men muy buen pero exelente trabajo Wink

Y ADEMAS HAY GRAN VARIEDAD DE PLUGINS ACÁ-->Plugins Amx Mod de server-cstrike

SALUDOS


_____________________________________________________________



LIKE ACÁ Y GANAS UN PREMIO
Volver arriba Ir abajo
Ver perfil de usuario http://server-cstrike.co.cc
AntiHack.2.1
[SC] Miembro PRO
[SC] Miembro PRO
avatar

Masculino Mensajes : 120
Puntos : 130
Fecha de inscripción : 06/11/2012
Localización : Tucuman Argentina

MensajeTema: Re: Tutorial - Crear Pluigin's [Nivel Novato]   Jue Nov 08, 2012 7:49 am

Jajaja Esta Bien Piola El Post Sigue Asi

_____________________________________________________________
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Tutorial - Crear Pluigin's [Nivel Novato]   

Volver arriba Ir abajo
 
Tutorial - Crear Pluigin's [Nivel Novato]
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» [Tutorial] Crear una Cinemática
» [Tutorial] Crear Pantalla de Carga
» Tutorial Photoshop: Texto Tipo 'Grand Theft Auto V'
» [Tutorial] Crear unidades No-Dummy •
» [Tutorial] Crear Objetos Tipo Dota

Permisos de este foro:No puedes responder a temas en este foro.
 :: [SC] Server CStrike - server-cstrike.jimdo.com :: Guias y Tutoriales-
Cambiar a: