FU

TOP Fraggers System

Por Furabio, 11 de abr. de 2016 em Websites & Layouts

frag
frags
topfrags
top frags
top frag system
frags system
top
system
12
4.6k
FurabioF
11 de abril de 2016 às 18:36

***IMPORTANTE***

A parte para website foi desenvolvida para funcionar em gesior, então dificilmente irá funcionar em outros sem alguma alteração.

 

 

Recentemente fiz um top fragger e decidi disponibilizar, existe um parecido que foi feito pelo Ryzor usei ele como base e melhorei o código tanto php e lua, de acordo com o que eu precisei.

 

***IMAGEM DO TOP FRAGGERS***

 

3q8lzyO.png

 

 

 

 

Primeiramente vamos instalar a parte do website(PHP).

 

Abram seu layout.php e procure por :

 

				<a href="?subtopic=guilds">					<div id="submenu_guilds" class="Submenuitem" onmouseover="MouseOverSubmenuItem(this)" onmouseout="MouseOutSubmenuItem(this)">						<div class="LeftChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div>						<div id="ActiveSubmenuItemIcon_guilds" class="ActiveSubmenuItemIcon" style="background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);"></div>						<div id="ActiveSubmenuItemLabel_guilds" class="SubmenuitemLabel">Guilds</div>						<div class="RightChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div>					</div>				</a>

 

e cole logo abaixo :

 

				<a href="?subtopic=fraggers">					<div id="submenu_frags" class="Submenuitem" onmouseover="MouseOverSubmenuItem(this)" onmouseout="MouseOutSubmenuItem(this)">						<div class="LeftChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div>						<div id="ActiveSubmenuItemIcon_guilds" class="ActiveSubmenuItemIcon" style="background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);"></div>						<div id="ActiveSubmenuItemLabel_guilds" class="SubmenuitemLabel"><span style="color:red">Top Fraggers</span></div>						<div class="RightChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div>					</div>				</a>

 

dps na pasta /pages/ e crie fraggers.php e adicione no arquivo :

 

Spoiler
<?phpif(!defined('INITIALIZED'))    exit;$main_content .= '<div class="TableContainer">    <div class="CaptionContainer">        <div class="CaptionInnerContainer">            <span class="CaptionEdgeLeftTop" style="background-image:url(./layouts/tibiarl/images/content/box-frame-edge.gif);"></span>            <span class="CaptionEdgeRightTop" style="background-image:url(./layouts/tibiarl/images/content/box-frame-edge.gif);"></span>            <span class="CaptionBorderTop" style="background-image:url(./layouts/tibiarl/images/content/table-headline-border.gif);"></span>            <span class="CaptionVerticalLeft" style="background-image:url(./layouts/tibiarl/images/content/box-frame-vertical.gif);"></span>            <div class="Text">The 3 best killers on '.htmlspecialchars($config['server_name']).'</div>            <span class="CaptionVerticalRight" style="background-image:url(./layouts/tibiarl/images/content/box-frame-vertical.gif);"></span>            <span class="CaptionBorderBottom" style="background-image:url(./layouts/tibiarl/images/content/table-headline-border.gif);"></span>            <span class="CaptionEdgeLeftBottom" style="background-image:url(./layouts/tibiarl/images/content/box-frame-edge.gif);"></span>            <span class="CaptionEdgeRightBottom" style="background-image:url(./layouts/tibiarl/images/content/box-frame-edge.gif);"></span>                </div>                    </div>                        <table class="Table5" cellpadding="0" cellspacing="0">                            <tbody>                                <tr>                                    <td>                                    <div class="InnerTableContainer">                                        <table style="width:100%;">                                            <tbody>                                                <tr>                                                    <td>                                                        <div class="TableShadowContainerRightTop">                                                            <div class="TableShadowRightTop" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-rt.gif);"></div>                                                        </div>                                                    <div class="TableContentAndRightShadow" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-rm.gif);">                                                    <div class="TableContentContainer">                                                        <table bgcolor="#D4C0A1" border="0" cellpadding="3" cellspacing="1" width="100%">                                                         <tr bgcolor="#505050"></tr>                                                                                            <tr>                                                            <td>                                                                <table border="0" cellpadding="4" cellspacing="1" width="100%">                                                                    <tr bgcolor="#505050">                                                                        <td align="center" class="white" colspan="3"><b>Ranking</b>                                                                        </td>                                                                    </tr>                                                                <tbody>                                                                    <tr bgcolor="#F1E0C6">';$rankingFrags = $SQL->query('SELECT name, frags_all, lookbody, lookfeet, lookhead, looklegs, looktype, lookaddons FROM players WHERE group_id = 1 AND account_id != 1 ORDER BY frags_all DESC LIMIT 3');$rm = 1;foreach ($rankingFrags as $member) {    $main_content .= '        <td align="center">            <img style="margin-top: -40px; margin-left: -50px; position: relative;" src="images/trofeus/'.$rm.'.gif" />            <img  style="margin-top: -45px; margin-left: -40px;" src="outfit.php?id='.$member['looktype'].'&addons='.$member['lookaddons'].'&head='.$member['lookhead'].'&body='.$member['lookbody'].'&legs='.$member['looklegs'].'&feet='.$member['lookfeet'].'" width="80" height="80" />            <br>            <a href="?subtopic=characters&name='.$member['name'].'"> '.$member['name'].'</a>            <br>            <b>'.$member['frags_all'].'</b>        </td>    ';    $rm++;}$main_content .= '        </td>            </tr>                </table></tr></tbody>                        </table>                            <br/>                                </div>                                    </div>                                        <div class="TableShadowContainer">                                            <div class="TableBottomShadow" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-bm.gif);">                                            <div class="TableBottomLeftShadow" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-bl.gif);"></div>                                            <div class="TableBottomRightShadow" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-br.gif);"></div>                                        </div>                                    </td>                                </tr>                            </tbody>                        </table>                    </div>                </td>            </tr>        </tbody>    </table></div><br />';$main_content .= '<div class="TableContainer">    <div class="CaptionContainer">        <div class="CaptionInnerContainer">            <span class="CaptionEdgeLeftTop" style="background-image:url(./layouts/tibiarl/images/content/box-frame-edge.gif);"></span>            <span class="CaptionEdgeRightTop" style="background-image:url(./layouts/tibiarl/images/content/box-frame-edge.gif);"></span>            <span class="CaptionBorderTop" style="background-image:url(./layouts/tibiarl/images/content/table-headline-border.gif);"></span>            <span class="CaptionVerticalLeft" style="background-image:url(./layouts/tibiarl/images/content/box-frame-vertical.gif);"></span>            <div class="Text">TOP Frags on '.htmlspecialchars($config['server_name']).'</div>            <span class="CaptionVerticalRight" style="background-image:url(./layouts/tibiarl/images/content/box-frame-vertical.gif);"></span>            <span class="CaptionBorderBottom" style="background-image:url(./layouts/tibiarl/images/content/table-headline-border.gif);"></span>            <span class="CaptionEdgeLeftBottom" style="background-image:url(./layouts/tibiarl/images/content/box-frame-edge.gif);"></span>            <span class="CaptionEdgeRightBottom" style="background-image:url(./layouts/tibiarl/images/content/box-frame-edge.gif);"></span>                </div>                    </div>                        <table class="Table5" cellpadding="0" cellspacing="0">                            <tbody>                                <tr>                                    <td>                                    <div class="InnerTableContainer">                                        <table style="width:100%;">                                            <tbody>                                                <tr>                                                    <td>                                                        <div class="TableShadowContainerRightTop">                                                            <div class="TableShadowRightTop" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-rt.gif);"></div>                                                        </div>                                                    <div class="TableContentAndRightShadow" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-rm.gif);">                                                    <div class="TableContentContainer"><table border="0" cellspacing="1" cellpadding="4" width="100%">    <tr bgcolor="#505050">        <td class="white" style="text-align: center; font-weight: bold;">Name</td>        <td class="white" style="text-align: center; font-weight: bold;">Frags</td>    </tr>';$topFrags = $SQL->query('SELECT name, frags_all FROM players WHERE group_id = 1 AND account_id != 1 ORDER BY frags_all DESC LIMIT 30');$bgcount = 0;foreach ($topFrags as $member) {       $bgcount++;    if(is_int($bgcount / 2)):        $bgcolor = $config['site']['darkborder'];    else:        $bgcolor = $config['site']['lightborder'];    endif;    $main_content .= '<tr bgcolor="'.$bgcolor.'">        <td><a href="?subtopic=characters&name='.$member['name'].'">'.$member['name'].'</a></td>        <td style="text-align: center;">'.$member['frags_all'].'</td>    </tr>';};$main_content .= '          </table>                                </div>                                    </div>                                        <div class="TableShadowContainer">                                            <div class="TableBottomShadow" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-bm.gif);">                                            <div class="TableBottomLeftShadow" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-bl.gif);"></div>                                            <div class="TableBottomRightShadow" style="background-image:url(./layouts/tibiarl/images/content/table-shadow-br.gif);"></div>                                        </div>                                    </td>                                </tr>                            </tbody>                        </table>                    </div>                </td>            </tr>        </tbody>    </table></div>';?>

 

 

Com isso já poderemos verificar os top fraggers do nosso ot acessando www.meusite.com/?subtopic=fraggers

 

 

 

Agora vamos instalar a parte de frags no servidor(LUA).

 

Primeiramente rode esse comando na sua database :

 

ALTER TABLE players ADD frags_all smallint(5) unsigned default 0 ;

 

Vá em creatuscripts/scripts e crie topfrags.lua:

 

local skulls = {SKULL_WHITE, SKULL_YELLOW, SKULL_RED, SKULL_BLACK}function addPlayerFrag(cid, value)	db.executeQuery("UPDATE `players` SET `frags_all` = `frags_all` + " .. value .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")	return trueendfunction onKill(cid, target)    if isPlayer(cid) and isPlayer(target) then    	for i= 1, #skulls do    		if getPlayerSkullType(target) == skulls[i]  then    			addPlayerFrag(cid, 1)    			break    		end    	end    end    return trueendfunction onLogin(cid)	registerCreatureEvent(cid, "TopFrags")	return trueend

 

em creatuscripts.XML adicione:

 

<event type="kill" name="TopFrags" event="script" value="topfrags.lua" /><event type="login" name="RTopFrags" event="script" value="topfrags.lua" />

 

 

Pronto!! sistema instalado.

 

 

Confira como fica a página : http://baiakfontana.com/?subtopic=fraggers

 

 

 

abrçs

 

Editado Abril 15 por christensen

v2

Tony AraujoT
11 de abril de 2016 às 18:42

Na parte do "onKill" ali, você poderia usar assim também.

function onKill(cid, target)    if isPlayer(cid) and isPlayer(target) then    	if isInArray(skulls, getPlayerSkullType(target)) then			addPlayerFrag(cid, 1)    	end    end    return trueend

 

FurabioF
11 de abril de 2016 às 18:45
1 minuto atrás, OrochiElf disse:

Na parte do "onKill" ali, você poderia usar assim também.

function onKill(cid, target)    if isPlayer(cid) and isPlayer(target) then    	if isInArray(skulls, getPlayerSkullType(target)) then			addPlayerFrag(cid, 1)    	end    end    return trueend

 

 

Uhum, só que acabei esquecendo o nome da função e na correria fiz com for mesmo hahaha.

leozinpbbL
11 de abril de 2016 às 19:57

Funciona sem site esse sistema para versao 0.3.6 ? 

FurabioF
11 de abril de 2016 às 19:59
2 minutos atrás, leozinpbb disse:

Funciona sem site esse sistema para versao 0.3.6 ? 

 

Sim funciona.

leozinpbbL
11 de abril de 2016 às 20:14
14 minutos atrás, Christensen disse:

 

Sim funciona.

mais onde vai aparecer o rank do top frags ? nao vi nenhum comando que mostre !

FurabioF
11 de abril de 2016 às 21:58
1 hora atrás, leozinpbb disse:

mais onde vai aparecer o rank do top frags ? nao vi nenhum comando que mostre !

 

Vá em talkactions/scripts crie topfrags.lua :

 

function onSay(cid)    local str = ""	str = "--[\"Top 20 Fraggers\"]--\n\n"	local query = db.getResult('SELECT `name`, `frags_all` FROM `players` WHERE `group_id` < 3 AND `account_id` > 1 ORDER BY `frags_all` DESC LIMIT 20');	k = 1 	repeat		str = str .. "\n " .. k .. ". "..query:getDataString("name").." - [" .. query:getDataInt("frags_all") .. "]"		k = k + 1	until not query:next()	doShowTextDialog(cid, 2160, str) 	return trueend

 

e adicione em talkactions.XML :

 

	<talkaction words="!topfrags;/topfrags" event="script" value="topfrags.lua"/>

 

Basta digitar !topfrags ou /topfrags que tu verá os 20 players que tem mais frags no seu servidor.

FurabioF
15 de abril de 2016 às 18:31

Atualizado!

 

  1. Design da página melhorado.
  2. Adicionado ranking dos 3 maiores fraggers do server.
  3. Adicionado imagem ao tópico.

Editado Abril 15 por christensen

leozinpbbL
15 de abril de 2016 às 21:47
3 horas atrás, christensen disse:

Atualizado!

 

  1. Design da página melhorado.
  2. Adicionado ranking dos 3 maiores fraggers do server.
  3. Adicionado imagem ao tópico.

da error ao tentar inserir as query no sqlite .

FurabioF
15 de abril de 2016 às 22:26

Sim pois sqlite não tem unsigned pelo que pesquisei aqui, tenta :

 

ALTER TABLE players ADD frags_all smallint(5) default 0;

 

leozinpbbL
16 de abril de 2016 às 15:06
16 horas atrás, christensen disse:

Sim pois sqlite não tem unsigned pelo que pesquisei aqui, tenta :

 

ALTER TABLE players ADD frags_all smallint(5) default 0;

 

Obrigado funcionou perfeitamente ! +REP

9 meses depois...
BennyhappyB
07 de janeiro de 2017 às 22:43

Obrigado por compartir

Editado Janeiro 8 por Bennyhappy