Mensajes:
Registrado
Mensaje para el usuario:
Presentamos a nuestros miembros más activo del mes y más popular, es un verdadero orgullo para Z1 tenerte en nuestra familia.
Conectarse
Últimos temas
» Infografía Neptuno (Hyperdimension Neptunia)por Dalex Vie Nov 08, 2024 2:13 pm
» Como REPARAR Disco Duro dañado✅ Externo o Interno | Con Victoria HDD SSD
por Dalex Sáb Ago 31, 2024 2:55 pm
» El usuario de arriba se merece, Beso, Abrazo, Golpe, Patada, Mordisco?
por Dalex Lun Ago 19, 2024 7:08 pm
» Donde quisieras estar y haciendo que??
por Dalex Lun Ago 19, 2024 7:07 pm
» A qué le tienes miedo y porque?
por Dalex Lun Ago 19, 2024 7:07 pm
» Desactivar servicios que consume Internet en Windows 10
por Dalex Dom Jul 21, 2024 8:49 pm
» Editor de Mapa para Minecraft
por Dalex Mar Sep 19, 2023 9:53 pm
» Nunca digas SI y NO, Falso , Verdadero , etc
por Sarai Dom Mar 19, 2023 3:22 am
» [Juego] Decir una mentira propia
por Sarai Dom Mar 19, 2023 3:21 am
» Que harías si fueras invisible???
por Sarai Dom Mar 19, 2023 3:21 am
» DI una mentira del miembro de arriba
por Sarai Dom Mar 19, 2023 3:19 am
» Deseo concedido y arruinado
por Sarai Dom Mar 19, 2023 3:19 am
» Elije un poder,arma o forma y mata al de arriba?
por Sarai Dom Mar 19, 2023 3:18 am
» [Juego] Quien llegue al numero 200 Gana!!
por Sarai Dom Mar 19, 2023 3:18 am
» Quéjate!!!
por Sarai Dom Mar 19, 2023 3:17 am
» Regala algo!
por Sarai Dom Mar 19, 2023 3:17 am
» ¿Qué palabra viene a tu mente cuando digo?
por Sarai Dom Mar 19, 2023 3:17 am
» ¿Que harias si volverías al pasado?
por Janifer Sáb Mar 18, 2023 11:25 pm
» ¿Qué llevarías contigo a una isla desierta?
por Sarai Vie Mar 17, 2023 1:54 pm
» ¿Porque entraste en este foro?
por Janifer Vie Mar 17, 2023 8:39 am
» ¿Por qué tienes este avatar?
por Janifer Jue Mar 16, 2023 11:54 pm
» Si supieras que mañana moriré que me dirías??
por Sarai Jue Mar 16, 2023 11:52 pm
» ¿Por qué tienes tu Nombre de Usuario?
por Janifer Jue Mar 16, 2023 11:44 pm
» El últimos post gana
por Sarai Jue Mar 16, 2023 11:37 pm
» Que harías si Fueras Millonario?
por Sarai Jue Mar 16, 2023 11:26 pm
» ¿Qué estas haciendo en este momento?
por Sarai Jue Mar 16, 2023 11:25 pm
» Carlos Medellín ( olvido )
por Sarai Sáb Mar 11, 2023 11:40 pm
» prueba de nuevo seleccionar
por Dalex Vie Mar 10, 2023 3:01 pm
» Ella es Shesu mi tierna
por Sharoneko Vie Mar 10, 2023 2:49 pm
» Hola, me presento!!
por Dalex Vie Mar 10, 2023 2:47 pm
» Vista de la Iglesia El Calvario
por Sharoneko Vie Mar 10, 2023 2:36 pm
» Parque Nacional Volcán Masaya
por Jaymi Castillo Mar Mar 07, 2023 1:34 pm
» Parque jurásico en Nindirí
por Jaymi Castillo Mar Mar 07, 2023 1:28 pm
» Mirador y Parque Ecológico Cerro El Calvario
por Jaymi Castillo Mar Mar 07, 2023 1:23 pm
» Salto Santa Emilia Matagalpa
por Jaymi Castillo Mar Mar 07, 2023 1:18 pm
» Cascada La Luna
por Jaymi Castillo Mar Mar 07, 2023 1:14 pm
» Visita al Volcán Cosigüina
por Jaymi Castillo Mar Mar 07, 2023 1:08 pm
» Bocana las Peñitas
por Jaymi Castillo Mar Mar 07, 2023 12:58 pm
» [DNG] Morgan Freeman y El Misterio - Capitulo 1
por Jaymi Castillo Dom Mar 05, 2023 9:21 pm
» Di una verdad que nadie acepta.
por Jaymi Castillo Dom Mar 05, 2023 9:19 pm
» [Presentación] Lucia Rosales llegó a la Familia
por Erika Dom Mar 05, 2023 8:55 pm
» Avatar de nuestra bella Janifer
por Dalex Sáb Mar 04, 2023 11:09 pm
» Que opinan de mi avatar
por Ximena Vie Mar 03, 2023 6:19 pm
» Que rango de staff quieres y porque
por Lucia Rosales Jue Mar 02, 2023 10:04 pm
» Finca Neblina del Bosque
por Lucia Rosales Jue Mar 02, 2023 9:55 pm
» hablemos de cualquier cosa?
por Yuking Mar Feb 28, 2023 7:59 pm
» Trailer del nuevo juego Undawn
por Yuking Mar Feb 28, 2023 7:47 pm
» Hola a todos
por Yuking Mar Feb 28, 2023 7:15 pm
» [Receta] Repostería de Brioches Cremosos
por Lucy Mar Feb 28, 2023 3:22 pm
» [Receta] Tortilla de Ariana y Queso
por Lucy Mar Feb 28, 2023 3:19 pm
» [Receta] Pancillo de Queso
por Lucy Mar Feb 28, 2023 3:14 pm
» [Receta] Albóndigas en Salsa
por Lucy Mar Feb 28, 2023 3:09 pm
» [Receta] Pollo Enchilado
por Lucy Mar Feb 28, 2023 3:05 pm
» [Receta] Leche frita con maicena
por Lucy Mar Feb 28, 2023 2:53 pm
» Arañita pequeña
por Dalex Lun Feb 27, 2023 10:20 pm
» [Recurso] Elimina las Marcas de Agua de tus Imágenes de forma Online
por Dalex Lun Feb 27, 2023 8:07 pm
» [Recurso] Reduce el Tamaño y peso de tus Imágenes de forma online
por Dalex Lun Feb 27, 2023 8:01 pm
» [Recurso] Cambia el formato de tus imagenes en png,jpeg,webp de forma online
por Dalex Lun Feb 27, 2023 7:55 pm
» [Recurso] Elimina fondo de tus fotos y agrega efectos de forma online
por Dalex Lun Feb 27, 2023 7:46 pm
» [Recurso] Aumeta la Resolucion de tus fotos de forma Online
por Dalex Lun Feb 27, 2023 7:36 pm
» [Sugerencia] Zona DNG Privada
por Lucy Lun Feb 27, 2023 10:47 am
» Habla con Eriol de cualquier cosa.
por Lucy Lun Feb 27, 2023 10:39 am
» [Presentación] Kendra llegó a la Familia
por Lucy Lun Feb 27, 2023 10:37 am
» [Presentación] Laila se presenta a los de Nicaragua xd
por Lucy Lun Feb 27, 2023 10:36 am
» [Presentación] Jeymi la Teniente más Bella se presenta
por Lucy Lun Feb 27, 2023 10:35 am
» [Presentación] Sarai se presenta en la pagina
por Lucy Lun Feb 27, 2023 10:35 am
» [Presentación] Hola ,me presento..!soy Melissa .
por Lucy Lun Feb 27, 2023 10:34 am
» Rocio se presenta en la pagina
por Lucy Lun Feb 27, 2023 10:33 am
» [Presentación] Janifer se presenta
por Lucy Lun Feb 27, 2023 10:29 am
» [Juego] El primero que llegue a la Z gana
por Sarai Lun Feb 27, 2023 5:33 am
¿Quién está en línea?
En total hay 6 usuarios en línea: 0 Registrados, 0 Ocultos y 6 Invitados Ninguno
El record de usuarios en línea fue de 253 durante el Dom Mayo 02, 2021 7:57 pm
Afiliados
últimos usuarios conectados
Contador de Visitas
[Tutorial] Hook say
Zona 1 :: Otras Zonas :: Zona Gamer :: Plugins Counter Strike 1.6 :: Tutoriales
Página 1 de 1. • Comparte
[Tutorial] Hook say
Muchos se preguntaran como hook el say, para crear su propio chat, con sus tags definidos, pues entonces quedate y ve este tutorial
para realizar el tutorial necesitamos saber lo basico en pawn, y tener el include del chatcolor, o usar estos stocks que les pondre
paso 1: Registramos el SAY en plugin_init()
paso 2:Creamos la funcion y definimos las variables STATICS que usaremos
paso 3:Empezamos a Hook las variables, o mejor dicho setearles un valor
Paso 4:Creamos la estructura del chat
paso 5:Mandamos el mensaje
Muchas partes de este codigo, usa stocks. Los stocks son funciones como las librerias, del amx
stocks
El code quedaria asi
LOS STOCKS SE AGREGAN AL FINAL.
para realizar el tutorial necesitamos saber lo basico en pawn, y tener el include del chatcolor, o usar estos stocks que les pondre
paso 1: Registramos el SAY en plugin_init()
- Código:
public plugin_init() {
register_plugin("Hook say", "1.0", "Alguien")
register_clcmd("say", "CmdHookSay") //Hookeamos el SAY
}
paso 2:Creamos la funcion y definimos las variables STATICS que usaremos
- Código:
public CmdHookSay(id)
{
static szSay[192]; //Definimos la variable que contendra el chat, los maximos caracteres son 192
static Nombre[40]; //Creamos la variable que contendra el nombre del usuario
paso 3:Empezamos a Hook las variables, o mejor dicho setearles un valor
- Código:
static szSay[192]; //Definimos la variable que contendra el chat, los maximos caracteres son 192
static Nombre[40]; //Creamos la variable que contendra el nombre del usuario
//Comenzamos a definir el say
read_args(szSay, charsmax(szSay)) //Guardamos el mensaje en la variable szSay[192];
remove_quotes(szSay) //Eliminamos las " "
replace_all(szSay, charsmax(szSay), "%", "") //eliminamos que el mensaje contenga el % por un error
get_user_name(id, Nombre, charsmax(Nombre)) //Guardamos el nombre del usuario en la variable
if(!ValidMessage(szSay, 1)) //Si el mensaje es invalido
{
return PLUGIN_HANDLED; //no lo manda
}
Paso 4:Creamos la estructura del chat
- Código:
format(szSay, charsmax(szSay), "%s:%s", Nombre, szSay) //Formamos la estructura del chat
paso 5:Mandamos el mensaje
- Código:
ColorChat(0, szSay) //No ponemos el index (id) porque el mensaje ira para todos, se pone 0, y mostramos el chat szSay.
Muchas partes de este codigo, usa stocks. Los stocks son funciones como las librerias, del amx
stocks
- Código:
stock ValidMessage(text[], maxcount) {
static len, i, count
len = strlen(text)
count = 0
if (!len)
return false;
for (i = 0; i < len; i++) {
if (text[i] != ' ') {
count++
if (count >= maxcount)
return true;
}
}
return false;
}
stock ColorChat(id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "^4"); // Verde
replace_all(msg, 190, "!y", "^1"); // Default
replace_all(msg, 190, "!t", "^3"); // Color del Equipo
if (id) players[0] = id; else get_players(players, count, "ch"); {
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
El code quedaria asi
- Código:
#include <amxmodx>
#include <amxmisc>
public plugin_init() {
register_plugin("Hook say", "1.0", "Alguien")
register_clcmd("say", "CmdHookSay")
}
public CmdHookSay(id)
{
static szSay[192]; //Definimos la variable que contendra el chat, los maximos caracteres son 192
static Nombre[40]; //Creamos la variable que contendra el nombre del usuario
//Comenzamos a definir el say
read_args(szSay, charsmax(szSay)) //Guardamos el mensaje en la variable szSay[192];
remove_quotes(szSay) //Eliminamos las " "
replace_all(szSay, charsmax(szSay), "%", "") //eliminamos que el mensaje contenga el % por un error
get_user_name(id, Nombre, charsmax(Nombre)) //Guardamos el nombre del usuario en la variable
if(!ValidMessage(szSay, 1)) //Si el mensaje es invalido
{
return PLUGIN_HANDLED; //no lo manda
}
format(szSay, charsmax(szSay), "%s:%s", Nombre, szSay) //Formamos la estructura del chat
ColorChat(0, szSay) //No ponemos el index (id) porque el mensaje ira para todos, se pone 0, y mostramos el chat szSay.
}
// ==========[STOCKS]==========
stock ValidMessage(text[], maxcount) {
static len, i, count
len = strlen(text)
count = 0
if (!len)
return false;
for (i = 0; i < len; i++) {
if (text[i] != ' ') {
count++
if (count >= maxcount)
return true;
}
}
return false;
}
stock ColorChat(id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "^4"); // Verde
replace_all(msg, 190, "!y", "^1"); // Default
replace_all(msg, 190, "!t", "^3"); // Color del Equipo
if (id) players[0] = id; else get_players(players, count, "ch"); {
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
LOS STOCKS SE AGREGAN AL FINAL.
Saber- Avanzado
- Créditos : 2394
Mensajes : 326
Reputación : 11
Edad : 22
Carrera/Profesión : Scripter de CS 1.6
Provincia/Departamento : Venezuela
Temas similares
» [Tutorial] Enumeradores, usos, estrucutra
» [Tutorial] Aprendizaje de pawn
» Normas para publicar un tutorial
» [Tutorial] sistema nuevo de menues
» [Tutorial] Variables, tipos y usos
» [Tutorial] Aprendizaje de pawn
» Normas para publicar un tutorial
» [Tutorial] sistema nuevo de menues
» [Tutorial] Variables, tipos y usos
Zona 1 :: Otras Zonas :: Zona Gamer :: Plugins Counter Strike 1.6 :: Tutoriales
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.