• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    Spells page en gesior 2012

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1Resuelto Spells page en gesior 2012 el Jue Mayo 18, 2017 9:39 pm

    Hokku

    avatar
    Miembro
    Miembro
    Estoy intentando poner la web de spells en mi gesior 2012, uso forgotten server 1.1, tengo esta pagina de spells en mi web.
    spells.php:

    Código:
    <?PHP
    $allowed_order_by = array('name', 'spell', 'spell_type', 'mana', 'lvl', 'mlvl', 'soul');
    $vocation_id = $_REQUEST['vocation_id'];
    $order = $_REQUEST['order'];
    if(in_array($order, $allowed_order_by))
     $orderby = $order;
    else
     $orderby = 'name';

    $spells = $SQL->query('SELECT * FROM z_spells WHERE hide_spell != 1 ORDER BY '.$orderby.', lvl');
    $main_content .= '<FORM ACTION="?subtopic=spells" METHOD=post>
    <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%>
    <TR BGCOLOR='.$config['site']['vdarkborder'].'><TD CLASS=white><B>Spell Search</B></TD></TR>
    <TR BGCOLOR='.$config['site']['darkborder'].'><TD>Only for vocation: <SELECT NAME="vocation_id">';
    $main_content .= '<OPTION VALUE="a:a" ';
    if('a:a' == $vocation_id)
     $main_content .= 'SELECTED';
    $main_content .= '>All';

    LINEA 20 foreach($vocation_name[0] as $prom => $arr)
     foreach($arr as $voc_id => $voc_name)
     {
     $main_content .= '<OPTION VALUE="'.$prom.';'.$voc_id.'"';
     if($prom.';'.$voc_id == $vocation_id && $vocation_id != "a:a" && $vocation_id != '')
     $main_content .= ' SELECTED';
     $main_content .= '/>'.$voc_name;
     }
    $main_content .= '</SELECT><input type="hidden" name="order" value="'.$orderby.'">&nbsp;&nbsp;&nbsp;<INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD><TR>
    </TABLE></FORM>';

    $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD CLASS=white><B><a href="?subtopic=spells&vocation_id='.$vocation_id.'&order=name"><font CLASS=white>Name</a></B></TD><TD CLASS=white><B><a href="?subtopic=spells&vocation_id='.$vocation_id.'&order=spell"><font CLASS=white>Sentence</a></B></TD><TD CLASS=white><B><a href="?subtopic=spells&vocation_id='.$vocation_id.'&order=spell_type"><font CLASS=white>Type<br/>(count)</a></B></TD><TD CLASS=white><B><a href="?subtopic=spells&vocation_id='.$vocation_id.'&order=mana"><font CLASS=white>Mana</a></B></TD><TD CLASS=white><B><a href="?subtopic=spells&vocation_id='.$vocation_id.'&order=lvl"><font CLASS=white>Exp.<br/>Level</a></B></TD><TD CLASS=white><B><a href="?subtopic=spells&vocation_id='.$vocation_id.'&order=mlvl"><font CLASS=white>Magic<br/>Level</a></B></TD><TD CLASS=white><B><a href="?subtopic=spells&vocation_id='.$vocation_id.'&order=soul"><font CLASS=white>Soul</a></B></TD><TD CLASS=white><B>PACC</B></TD><TD CLASS=white><B>For<br/>Vocations:</B></TD></TR>';
    if($vocation_id != 'a:a' && $vocation_id != '')
    {
     foreach($vocation_name[0] as $prom => $arr)
     foreach($arr as $voc_id => $voc_name)
     if($prom.';'.$voc_id == $vocation_id)
     $voc_n = $voc_name;
     foreach($spells as $spell)
     {
     $spell_vocations = explode(",", $spell['vocations']);
     if(in_array($vocation_id, $spell_vocations) || empty($spell['vocations']))
     {
     if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['lightborder']; } else { $bgcolor = $config['site']['darkborder']; } $number_of_rows++;
     $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>'.$spell['name'].'</TD><TD>'.$spell['spell'].'</TD>';
     if($spell['spell_type'] == 'conjure')
     $main_content .= '<TD>'.$spell['spell_type'].'('.$spell['conj_count'].')</TD>';
     else
     $main_content .= '<TD>'.$spell['spell_type'].'</TD>';
     $main_content .= '<TD>'.$spell['mana'].'</TD><TD>'.$spell['lvl'].'</TD><TD>'.$spell['mlvl'].'</TD><TD>'.$spell['soul'].'</TD><TD>'.$spell['pacc'].'</TD><TD>'.$voc_n.'</TD></TR>';
     }
     }
    }
    else
    {
    LINEA 55 foreach($spells as $spell)
     {
     $spell_vocations = explode(",", $spell['vocations']);
     $showed_vocations = 0;
     $vocs = '';
     foreach($spell_vocations as $voc)
     {
     $voc_info = explode(";", $voc);
     if(!empty($vocation_name[0][$voc_info[0]][$voc_info[1]]))
     {
     $vocs .= $vocation_name[0][$voc_info[0]][$voc_info[1]];
     if($showed_vocations != count($spell_vocations))
     $vocs .= '<br/>';
     }
     }
     if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['lightborder']; } else { $bgcolor = $config['site']['darkborder']; } $number_of_rows++;
     $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>'.$spell['name'].'</TD><TD>'.$spell['spell'].'</TD>';
     if($spell['spell_type'] == 'conjure')
     $main_content .= '<TD>'.$spell['spell_type'].'('.$spell['conj_count'].')</TD>';
     else
     $main_content .= '<TD>'.$spell['spell_type'].'</TD>';
     $main_content .= '<TD>'.$spell['mana'].'</TD><TD>'.$spell['lvl'].'</TD><TD>'.$spell['mlvl'].'</TD><TD>'.$spell['soul'].'</TD><TD>'.$spell['pacc'].'</TD><TD><font size="1">'.$vocs.'</font></TD></TR>';
     }
    }

    $main_content .= '</TABLE>';
    ?>

    Este es el error que me aparece en la pagina de la web, si alguien puede hecharme un cable, gracias de antemano.

    Ver perfil de usuario

    2Resuelto teste el Jue Mayo 18, 2017 11:42 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    no te funciona por que te falta en tu base de datos esta tabla mysql

    Código:
    z_spells


    ejecuta esta tabla en tu phpadmin

    Código:
    CREATE TABLE IF NOT EXISTS `z_spells` (
      `name` varchar(255) NOT NULL,
      `spell` varchar(255) NOT NULL,
      `spell_type` varchar(255) NOT NULL,
      `mana` int(11) NOT NULL default '0',
      `lvl` int(11) NOT NULL default '0',
      `mlvl` int(11) NOT NULL default '0',
      `soul` int(11) NOT NULL default '0',
      `pacc` varchar(255) NOT NULL,
      `vocations` varchar(255) NOT NULL,
      `conj_count` int(11) NOT NULL default '0',
      `hide_spell` int(11) NOT NULL default '0'
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    Ver perfil de usuario http://www.tibiaface.com

    3Resuelto Re: Spells page en gesior 2012 el Vie Mayo 19, 2017 11:12 am

    Hokku

    avatar
    Miembro
    Miembro
    maya hice la table y ya solo me sale error en la linea 20 del spells.php el de la 55 desaparecio

    Ver perfil de usuario

    4Resuelto teste el Vie Mayo 19, 2017 5:11 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    no compatible entonces con la tablas de base de datos


    mira remarke un archivo que hace una consulta al igual que cuando se intala la web bueno primero que nada

    tienes que a tu carpeta htdocs y crea una carpeta data y dentro un llamada spells y dentro pegar tu spells.xml ejemplo

    Código:
    htdocs\data\spells

    o

    Código:
    www\data\spells

    en tu web creas un submenu que se llame spells y creas un php spells.php y pegas esto dentro

    Código:
    <style type="text/css">
    td {
        color: white;
        height: 20px;
        color: #666;
    }
     
    </style>
    <?php
     

     
    $DIR = 'C:\xampp\htdocs\data\spells/';
       
    if(is_dir($DIR)) {
        $spells = simplexml_load_file($DIR.'spells.xml');
        $table_color_1 = '#FFF2db';
        $table_color_2 = '#FFF2db';
    ?>
    <h2>Spells </h2>
    <table style= border="0px" cellspacing="0px" cellpadding="4px" width="100%">
    <tr  bgcolor="#101010 ">
    <th style="color: #FF4500">Spell Name</th>
    <th style="color: #FF4500">Words</th>
    <th style="color: #FF4500">Mana Cost</th>
    <th style="color: #FF4500">Level Required</th>
    <th style="color: #FF4500">vocations</th>
    </tr>
     
     
    <?php
    $i = 1;
    foreach($spells as $spell) {
    $color = ($i % 2 ? $table_color_1 : $table_color_2);
    $i++;
     
        echo '
        <tr bgcolor="'.$color.'" id="spell_list">
            <td style="font-size: 10pt;">'.$spell['name'].'</td>
            <td style="font-size: 10pt;">'.$spell['words'].'</td>
            <td style="font-size: 10pt;">'.$spell['mana'].'</td>
            <td style="font-size: 10pt;">'.$spell['lvl'].'</td>
            <td style="font-size: 10pt;">'.$spell['vocations'].'</td>
        </tr>';
    }
    }
    else{alert('Error loading spells. Directory address must be correct.');}
    ?>
    </table>
     

    este archivo tiene una direccion que busca donde esta tu archivo :

    $DIR = 'C:\xampp\htdocs\data\spells/'; -------> eso te indica donde esta el archivo


    ejemlo para que te paresca el aprtado de de vocations tendras que editar cada una de tus spells colocandole la tag vocations. ejemplo:

    seplls normal

    <spells>
    <instant group="attack" spellid="62" name="Annihilation" words="exori gran ico" lvl="110" mana="300" prem="1" range="1" needtarget="1" needweapon="1" cooldown="30000" groupcooldown="4000" needlearn="0" script="attack/annihilation.lua">
    <vocation name="Knight" />
    <vocation name="Elite Knight" />
    </instant>

    spellls con el apartado vocations

    <spells>
    <instant group="attack" spellid="62" name="Annihilation" words="exori gran ico" lvl="110" mana="300" prem="1" range="1" needtarget="1" needweapon="1" cooldown="30000" groupcooldown="4000" needlearn="0" script="attack/annihilation.lua" vocations="knight y elite knight">
    <vocation name="Knight" />
    <vocation name="Elite Knight" />
    </instant>


    listo y con ellos se veran la spells

    Ver perfil de usuario http://www.tibiaface.com

    5Resuelto Re: Spells page en gesior 2012 el Vie Mayo 19, 2017 8:03 pm

    Hokku

    avatar
    Miembro
    Miembro
    me funciona perfecto, muchisimas gracias maya, eres un grande!

    Ver perfil de usuario

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.