Página 1 de 1

[BBCode] TAG combate

Publicado: 20 Jul 2006, 16:42
por dinoyoco
Bueno, con el trabajo de Mitch para insertar el botón del TAG hide del BBCode, vi que para insertar nuevos TAG no eran tan complicados como entendí en el foro oficial. Asi que aqui os enseño este pequeño TAG que he subido para mi sitio.

Se que existen algunos MOD para el tema de ligas o clanes. Ninguno de los que he visto estan adaptados para el XS. Esto no es un MOD, lo único que hace es poner en una pequeña tabla un enfrentamiento (mirar la captura como ejemplo) en un mensaje. Desconozco si esos MOD ya incluyen algun BBCode parecido para los mensajes. Pero yo he hecho este, uno sencillo y básico.

Captura
Imagen
Como veis en el cuadrado de abajo, en donde he introducido el mismo TAG pero no con todos los elementos, si falta algun elemento, aparecen los interroogantes para avisarte de que faltan algunos.

Instalacion

Abrir "includes/bbcode.php":

Buscar

Código: Seleccionar todo

			'code' => array(
					'nested' => false,
					'inurl' => false,
		),
Añadir antes

Código: Seleccionar todo

			'combate' => array(
					'nested' => false,
					'inurl' => false,
					),
Buscar

Código: Seleccionar todo

		//HIDE
		if($tag === 'hide')
		{
Añadir antes

Código: Seleccionar todo

		//COMBAT
		if($tag == 'combate')
		{
			if($this->is_sig)
			{
				return $error;
			}
			// La variable $content contiene el texto que esta entre los tags. Por lo que lo desgranamos (segun la ','
			// para obtener cada uno de los valores
			$combat_default = array ("¿Equipo 1?", "¿Equipo 2?", "¿Tipo combate?", "¿Lugar?", "¿Fecha?");
			$combat_variables = array ();

			$cadena_texto = $content;
			for ($i=0; $i<5; $i++) {
				// buscamos separador
				$busqueda = strcspn($cadena_texto, ",");
				// extraemos elemento
				$combat_variables[$i] = ((substr($cadena_texto, 0, $busqueda)!="")?substr($cadena_texto, 0, $busqueda):$combat_default[$i]);
				// actualizamos variable
				$cadena_texto = substr($cadena_texto, $busqueda+1);
			}

			// generate html
			$html .= '<div align="center"><table width="400" class="forumline" align="center" border="0">';
			$html .= '<tr><th class="thTop align="center" colspan="3">Partido ' . $combat_variables[2] . '</th></tr>';
			$html .= '<tr><td align="right">' . $combat_variables[0] . '</td><td align="center" width="34" valign="middle"><img src="images/bbcb_mg/images/combateb.gif" width="32" height="32" alt=""></td><td align="lefth">' . $combat_variables[1] . '</td></tr>';
			$html .= '<tr><td class="forum-buttons2" colspan="3">Lugar: ' . $combat_variables[3] . '</td></tr>';
			$html .= '<tr><td class="forum-buttons2" colspan="3">Fecha: ' . $combat_variables[4] . '</td></tr>';
			$html .= '</table></div>';

			return array(
				'valid' => true,
				'html' => $html,
				'allow_nested' => false
			);
		}
Abrir "language/lang_spanish/bbcb_mg.js"

Buscar

Código: Seleccionar todo

s_hide_help = 'Oculta un Texto, solo quienes posteen podrán ver el mensaje oculto Mensaje: [hide]Texto[/hide]';
Añadir despues

Código: Seleccionar todo

s_combate_help = 'Insertar partido entre clanes: [combate]equipo1, equipo2, tipo_combate, lugar, fecha[/combate]';
Buscar

Código: Seleccionar todo

var Hide = 0;
Añadir despues

Código: Seleccionar todo

var Combate = 0;
Buscar

Código: Seleccionar todo

'[fade]','[/fade]',
Añadir despues

Código: Seleccionar todo

'[combate]','[/combate]',
Buscar

Código: Seleccionar todo

function BBChide()
{
Añadir antes (o despues de la funcion)

Código: Seleccionar todo

function BBCcombate() {
	var txtarea = document.post.message;

	if ((clientVer >= 4) && is_ie && is_win)
	{
		theSelection = document.selection.createRange().text;
		if (theSelection != '')
		{
			document.selection.createRange().text = "[combate]" + theSelection + "[/combate]";
			document.post.message.focus();
			return;
		}
	}
	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	{
		//mozWrap(txtarea, "", "");
		mozInsert(txtarea, "[combate]", "[/combate]");
		return;
	}
	if (Combate == 0)
	{
		ToAdd = "[combate]";
		document.post.combate.src = bbcb_mg_img_path + "combate1.gif";
		Combate = 1;
	}
	else
	{
		ToAdd = "[/combate]";
		document.post.combate.src = bbcb_mg_img_path + "combate.gif";
		Combate = 0;
	}
	PostWrite(ToAdd);
}
Abrir "templates/ca_aprhodite/bbcb_mg.tpl"

Buscar

Código: Seleccionar todo

							<a href="javascript:BBCgrad()"><img border="0" src="{BBCB_MG_IMG_PATH}grad.gif" name="rainb" type="image" onMouseOver="helpline('grad')" alt="{L_BBCBXR_G}"></a>
							<span class="genmed">&nbsp;&nbsp;</span>
Añadir despues (Punto A)

Código: Seleccionar todo

							<?php
								global $userdata;
								if (($userdata['user_level'] == MOD) || ($userdata['user_level'] == ADMIN)) {
							?>
								<a href="javascript:BBCcombate()"><img border="0" src="{BBCB_MG_IMG_PATH}combate.gif" name="combate" type="image" onMouseOver="helpline('combate')" alt="Partido/Combate"></a>
								<span class="genmed">&nbsp;&nbsp;</span>
							<?php
								}
							?>
Las imagenes las agrego como adjunto. Descomprimirlos en la raiz del foro.

Notas
Si leeis el codigo, en un principio quería que el icono fuese visible para un cierto grupo, pero dado el codigo necesario para conseguirlo, use la via rápida, y es que fuese visible para moderadores y adminstradores. Si quereis que sea visible para todos, no teneis mas que borrar la reestricción (el codigo PHP) >>> Punto A.

Este TAG puede usarse para otros tipos de enfrentamientos: partidos de futbol, tenis,.. no tendreis mas que cambiar los graficos: para un partido de futbol poner un balon, de tenis unas raquetas, etc.

Tambien puede ampliarse y modificarse si quereis que aparezcan imagenes, como pueden ser las imagenes de los equipos o clanes: bien pasando ya las imagenes como argumento (que estan ya subidos las imagenes) o bien que busque las imagenes en la BD segun el nombre del equipo. Puede usarse como complemento a una lista de equipos o clanes, ya que se puede convertir el nombre del equipo en un enlace para consultar sus estadisticas en tu BD.

Salu2

Respuesta: [BBCode] TAG combate

Publicado: 20 Jul 2006, 20:03
por mitch
Esta perfecto dinoyoco :P
justamente ayer iba a hacer eso para un foro phpbb normal si, mas sencillo, para un foro de un amigo, es algo similar a esto :P
y que bien que el post de hide te haya ayudado ;) me costó bastante pillar de que forma agregar el bendito boton xDDD

Eso dinoyoco, excelente trabajo :)

Respuesta: [BBCode] TAG combate

Publicado: 20 Jul 2006, 20:07
por ThE KuKa
Mas de lo mismo, que ganas de currar y de que manera, GENIAL.

Gracias Dinoyoco :ok:

Respuesta: [BBCode] TAG Combate

Publicado: 20 Jul 2006, 22:23
por zankyw
Buf, genial Dinoyoco, eres un crack :D 8)

Respuesta: [BBCode] TAG Combate

Publicado: 20 Jul 2006, 22:37
por invi
impresionante, esto para algun torneo de Age of Empires que igual tengo pensado hacer me viene de pelo :P

Respuesta: [BBCode] TAG combate

Publicado: 20 Jul 2006, 22:53
por SuperNovato
Demostrado una vez más que hay otro artista a sumar a la lista.
Felicidades, Dinoyoco (mola en el ejemplo que has puesto el Avatar Groucho jejeje).

Respuesta: [BBCode] TAG combate

Publicado: 21 Jul 2006, 16:44
por dinoyoco
Hay un pequeño error de texto. Abrir "language/lang_spanish/bbcb_mg.JS":

Y reemplazar

Código: Seleccionar todo

s_combate_help = 'Insertar partido entre clanes: [combate]equipo1, equipo2, lugar, fecha, tipo_combate[/combate]';
Por

Código: Seleccionar todo

s_combate_help = 'Insertar partido entre clanes: [combate]equipo1, equipo2, tipo_combate, lugar, fecha[/combate]';
Salu2

Re: [BBCode] TAG Combate

Publicado: 26 Oct 2007, 16:19
por Libra
Podrías pasarlo a BBcode simple?
Quiero decir que este esta echo para XS, y me interesa bastante, pero mi foro es phpbb2 a secas, ya que prefiero instalar los mods a mano, y no que vengan por defecto.

Salu2 ^.^ y gracias de antemano

Re: [BBCode] TAG Combate

Publicado: 26 Oct 2007, 17:42
por ronalito
si la verdad que no estaría mal este mod, para un phpbb normal... haver si nos ayudan! pero la cosa es que si se hace normal para un phpbb sin bbcode box o con el que es lo mas probable..

sin embargo muy util esta arte para foros rpg :twisted:

estoy muy agradecido y creo que no mas de uno querra ayuda para colocarlo en un phpbb2 (Normal)

Bye... :oops: