Histórico de Curtidas
-
T0RR3SM0 deu reputação a Victor Fasano Raful em 2015 GESIOR ACC 1.0 BY VICTORWEBMASTERBom, acho que não preciso falar muito!
WEbsite gesior com compatibilidade a versões novas e recentes do tibia!
Disponibilizado em primeira mão com qualidade e desempenho.
Website comporta uma vasta gama de ferramentas de ultima geração para maior desempenho do servidor na maquina instalada e também na hora do acesso, diversos erros foram arrumados das versões anteriores, eu peguei uma base aqui do Tibia King para poder editar pois os modulos de injeção ao banco de dados eram completamente diferentes do que eu havia dos ultimos mais antigos. Então resolvi disponbilizar pois criei para venda e para uso exclusivo de meus clientes ja ativos, porém não vou mais dar procedimento a sistemas exclusivos pagos. Vocês do Tibia King terão em primeira mão e exclusivo com o conteudo extremamente bloqueado para outros foruns, portais, blogs etc. (É open source, porém tem as credenciais registradas em cartório!).
Sem mais delongas, segue os links protegidos e exclusivos.
DOWNLOAD
PRINT
DATABASE
[DOWNLOAD]
-
T0RR3SM0 deu reputação a xWhiteWolf em Experience SystemEai galera, eu acabei criando um sistema bem legal que você mata certos bixos e acumula parte da experiencia deles na sua arma, por enquanto tá bem rudimentar mas eu gostaria de saber a opinião de vocês.. esses leveis a mais deveriam significar oque??
Comentem as sugestões doque vocês acham que o level da arma deveria influenciar no sistema que depois eu vejo de postar ele
Uma arma +5 deveria ter oque em relação à uma arma que não tem level ainda? É isso que eu quero que vcs comentem com sugestões pra terminar o sistema. Aqui tá uma lista de coisas que eu pensei mas sintam-se livres pra falar opções que vcs considerem melhores:
• Dropar mais gold dos monstros
• Adicionar skills pro player
• Aumentar vida/mana
• Tirar mais dano (+ attack)
• Deixar ele tomando alguma condition (poison/curse/fire/energy)
• Liberar novas magias pro player
• Ao clicar nela/Ao atacar soltar um efeito bonito
• Fazer um efeito em area em volta do char que possuir uma arma de nivel alto
• Aumentar a experiencia ganha
• Roubar vida/Mana de quem atacar dependendo do level
• Aumentar chance de critical dependendo do level
Então, essas foram as coisas que eu pensei.. eu também fiz uma votação pra vcs colocarem se eu devo continuar com essa idéia ou se ela é uma merda auheuhuha
-
T0RR3SM0 deu reputação a xWhiteWolf em Passagem secreta diferenteQual o bug? Você tem que construir uma área parecida com aquela do mapa (2 paredes em cima e 2 obstáculos embaixo com espaço pra se moverem pelo menos 1 sqm pros lados) e colocar todas as posições e id's dos itens que você utilizou
-
T0RR3SM0 deu reputação a xWhiteWolf em Passagem secreta diferenteEai pessoal, vim trazer hoje um sistema de passagem secreta que um amigo viu no Baiak-wars. Não sei qual server é esse e eu não jogo tibia então pra mim tanto faz mas ele gravou um vídeo, pediu um igual e obviamente eu não fiz um igual porque o sistema dos caras era muito ruim uhauheuhauheuhauheuhuhauhe
Enfim, comecei um script do 0 pra fazer exatamente oque ele queria e foi isso daqui que eu consegui:
Explicação: Você clica em algum item escondido pelo mapa e abre uma passagem secreta que vai durar X segundos (configurável), após esse tempo a passagem se fecha; Note que nessas imagens ele não tá escondido já que tem uma FUCKING ARVORE NO MEIO DE UM DESERTO mas você pode colocar uma tocha em cima de uma parede e colocar o actionid na tocha pra ativar e vai ficar super foda e com muito rpg
Ué, mas oque tem de diferente dos outros scripts?
Bem, ele é super fácil de configurar e ele dá a sensação de que o item foi arrastado :]
Bom, se isso não foi o bastante pra você entender então observe essas fotinhas
Tendo entendido tudo vamos à parte mais legal da coisa (SCRIPTAR!!!!)
Você vai precisar criar um arquivo em actions\scripts chamado hidden.lua com o seguinte conteúdo:
local positions = { [1] = {pos = {x=139, y=77, z=7}, id = 1718}, [2] = {pos = {x=140, y=77, z=7}, id = 1718}, [3] = {pos = {x=139, y=76, z=7}, id = 6855, toid = 6884}, [4] = {pos = {x=140, y=76, z=7}, id = 6855, toid = 6884}, } local createpos = { [1] = {pos = {x=138, y=77, z=7}, id = 1718}, [2] = {pos = {x=141, y=77, z=7}, id = 1718} } local tempo = 5 function onUse(cid, item, frompos, item2, topos) if getTileItemById(positions[1].pos, positions[1].id).uid < 100 then doPlayerSendCancel(cid, "Is already open.") return true end doCreatureSay(cid, "You have ".. tempo .." seconds.", 19) function criar_paredes() for i = 1, #positions do if i <= (#positions/2) then doCreateItem(positions[i].id, 1, positions[i].pos) local obst = getTileItemById(createpos[i].pos, createpos[i].id).uid doSendMagicEffect(createpos[i].pos, 2) doRemoveItem(obst, 1) elseif i > (#positions/2) then local obst = getTileItemById(positions[i].pos, positions[i].toid).uid doTransformItem(obst, positions[i].id) end end return true end for i = 1, #positions do local obst = getTileItemById(positions[i].pos, positions[i].id).uid if i <= (#positions/2) and obst ~= 0 then doRemoveItem(obst, 1) doSendMagicEffect(positions[i].pos, 2) doCreateItem(createpos[i].id, 1, createpos[i].pos) elseif i > (#positions/2) and obst ~=0 then doTransformItem(obst, positions[i].toid) end end addEvent(criar_paredes, tempo*1000) return true end Feito isso vc vai precisar declarar no actions.xml a forma que você quer utilizar o script
<action actionid="27004" script="hidden.lua"/> note que vc pode colocar algum itemid, actionid ou uniqueid de sua escolhe, só lembre de mudar no map editor dependendo da forma que vc escolher.
Agora eu vou ensinar vocês a configurarem o meu monstrinho *-*
aqui você tem o tempo que a passagem vai ficar aberta
aqui você vai editar o seguinte: na primeira são as posições dos itens e seus respectivos id's
posição das duas prateleiras e seus id's
posição das paredes, id dela e pra qual id ela vai ser transformada.
aqui você tem as posições que sua prateleira vai se mover e os id's dela.
Lembrando que você pode se sentir livre pra adicionar oque vc quiser e deixar do seu gosto, só lembrando que se vc quiser adicionar mais items ou diminuir itens é só alterar nas duas tabelas seguindo a mesma lógica. Metade pra prateleira, metade pra parede e uma tabela pra fazer as prateleiras se moverem.
Os créditos são 60% meus e 40% do @MaXwEllDeN por ter me dado um norte no começo do script.
Qualquer coisa comenta aí e dá aquele rep+ pra ajudar ;]
-
T0RR3SM0 deu reputação a Victor Fasano Raful em [2015] Gesior 1.0 - VictorWEBMasterSalve TK!
Após a morte subta de um ... bom vocês estão aparte do acontecido... Bom, resolvi disponibilizar minhas versões dos meus websites compatível com o mais novo e complexo TFS 1.0 (The Forgotten Server 10.20 ~10.3x).
Bom, este website está em uma versão BETA, ou seja. Há erros, não há falhas de invasão e algo relacionado a intervenções in game ou no site. NÃO tem a possibilidade de clonar points, não garanto itens pois isto é um processo ingame... Não há possibilidade de fazer falsos pagamentos e ter pontos sendo creditados.
Bom, esta versão estava sendo disponibilizada por minha pessoa por um preço de R$200, resolvi postar pois estou sem mais cabeça de ficar fazendo negociações com iniciantes. Então resolvi postar aqui e deixar com que vocês quebrem as suas próprias cabeças.
Com certeza esta não é minha melhor versão do site, pois tenho que lucrar algo com isto né..
Bom, apreciem com moderação!
Website foi testado com uma base desconhecida do TFS 1.0 na versão 10.37. Obteve funcionabilidade de 97% de sucesso.
Download Website VictorWEBMaster 1.0 Scan Website VictorWEBMaster 1.0
>> Quais quer que sejam os bugs, por favor reportem no tópico ou eventualmente na sessão correta de dúvidas de websites. <<
-
T0RR3SM0 deu reputação a DavidSabino em onStatsChange for TFS 1.0Fala Galera do TK!
Estou aqui novamente, pois já rodei TUDO e não achei oque queria ...
Estou em um projeto, montando um servidor com a TFS 1.0.0 ...
Estou adicionando uns eventos, porém é necessário que tenha a função onStatsChange compilado na TFS para rodar uns eventos tais como Zombie Event , Battlefield Event ...
Eu achei sim alguma coisinha, porém não deu certo ...
Acho que aqui no TK terei o meu problema solucionado !
E como de lei darei aquele REP+ Dahora para quem me ajudar !
-
T0RR3SM0 deu reputação a xWhiteWolf em Anel de SauronFala galera do TK, criei esse anelzinho pra servers que procuram inovar..
bom, oque ele faz??
Simples, ele torna o usuário invisível.
aff, mas já existe o stealth ring que faz isso!
Sim mas dessa vez eu digo invisível mesmo, nenhum monstro ou players conseguirá te ver.
que lixo, assim qualquer player vai poder ficar invisível e passar no meio dos monstros e players.. vai estragar o server
Aí é que vc se engana porque o anel vem uma maldição, quem usar ele vai perdendo 3% de vida por segundo (ajustável) e só vai estragar o server se vc sair distribuindo o anel pra todos os players haha
O anel em si possui duas versões, na primeira ele retira 3% de vida por segundo, na segunda ele adiciona uma condição que te deixa perdendo uma quantidade fixa de vida, CONTUDO, na segunda versão aparece uma poça de sangue cada vez que toma o dano então dá pros players te pegarem caso vc coloque o anel e resolva fugir kkkkk
Vou chamar aqui de versão 1 e 2 respectivamente.
OBS: ISSO É EM MOVEMENTS!
1ª versão (sem sangue mas que tira 3% de vida por segundo):
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local percent = 3 local tempo = 1 -- em segundos function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") function lifesteal(cid) steal = addEvent(lifesteal, 1000*tempo, cid) if isCreature(cid) then doSendAnimatedText(getCreaturePos(cid), "-"..math.floor((getCreatureMaxHealth(cid) * (percent/100))), 144, cid) doCreatureAddHealth(cid, -math.floor(getCreatureMaxHealth(cid) * (percent/100))) end end lifesteal(cid) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") stopEvent(steal) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end 2ª versão (a cada 1,5 segundos ele te tira um dano configurado e deixa uma poça de sangue embaixo de vc facilitando que te identifiquem mesmo estando invisivel):
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE) addDamageCondition(condition, -1, 1500, -500) function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") doAddCondition(cid, condition) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") doRemoveCondition(cid, CONDITION_PHYSICAL) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end Agora edite no items.xml o stealth ring pra que ele seja infinito:
<item id="2202" article="a" name="stealth ring"> <attribute key="weight" value="100" /> <attribute key="slotType" value="ring" /> <attribute key="transformDeEquipTo" value="2165" /> </item> e em movements.xml adicione essas linhas:
<movevent type="Equip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> <movevent type="DeEquip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> Editando:
Na primeira versão vc pode alterar as seguintes coisas que estão em colorido:
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE)
local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false)
local percent = 3
local tempo = 1 -- em segundos
em vermelho é o tempo que dura a invisibilidade... -1 é infinito
em azul é a porcentagem de vida que perde por tempo
em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo perde 3%
Na segunda versão vc pode editar as mesmas coisas do primeiro só que o tempo e o dano pelo tempo estão na condition:
local condition = createConditionObject(CONDITION_PHYSICAL)
setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE)
addDamageCondition(condition, -1, 1500, -500)
em vermelho é o numero de vezes que vai tirar vida. Mais uma vez -1 significa infinito (infinito até remover o anel)
em azul é o dano que vc toma a cada tempo (lembre-se de deixar sempre um - na frente se não ele vai adicionar vida)
em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo e meio retira 500 de vida
Bom, é isso.. um script simples mas que vai ajudar muita gente pelo fato de usar conditions não tão comuns e de uma forma diferente haha
-
T0RR3SM0 deu reputação a xWhiteWolf em Knight Implode/ExplodeEu tava brincando de "vamos procurar uns scripts legais e tentar melhorá-los" e eis que eu me deparei com duas spells muito legalzinhas num forum americano e decidi editá-las pra que elas funcionassem em conjunto.
Feito isso eu acabei criando o seguinte sistema de combos: O cara solta a primeira spell e ele tem 5 segundos pra soltar a segunda spell, NÃO É POSSÍVEL UTILIZAR A SEGUNDA SPELL SEM TER USADO A PRIMEIRA ANTES e se o player tentar usar a primeira spell novamente nesses 5 segundos ele vai perder 15% de vida.... só se atentem ao fato de que a segunda magia deve ser bem mais forte que a primeira pra coisa ter graça.
Primeiro de tudo crie dois scripts chamados kaesar7.lua e kaesar9.lua
em kaesar7.lua adicione o seguinte:
e em kaesar9.lua adicione o seguinte:
e em spells.xml adicione:
<instant name="Implode" words="knight implode" lvl="120" mana="200" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="attack/kaesar9.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Explode" words="knight explode" lvl="120" mana="200" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="attack/kaesar7.lua"> <vocation id="4"/> <vocation id="8"/> </instant> Bom, ambos scripts são complexos mas as edições são bem parecidas com qualquer outra magia.
No script 1 vc pode editar aqui:
local stepDelay = 75 --- tempo entre um e outro.. quanto menor mais rápido a magia sai
local spins = 2 --- numero de voltas que vai dar antes de explodir
local percent = 15 --- porcentagem de vida que perde caso use a spell 2x seguidas
Créditos: 90% pro Colandus (o cara que fez os scripts)
10% pra mim por ter editado tudo e feito as magias serem dependentes
-
T0RR3SM0 deu reputação a xWhiteWolf em Puxar/Empurrar (conjunto de spells)Fala galera do TK, hoje vim trazer pra vocês um conjuntinho de spells que eu criei com base em uma spell que achei aqui no fórum mesmo
Os créditos da spell base que eu utilizei são do OneShot
São duas spells bem simples, uma puxa o oponente pra perto e a outra arremessa ele longe.
Idéia original tirada dos servidores de Avatar que possuem esse tipo de magia pra nação do Ar haha.
Aqui vão os scripts:
empurrararea.lua
Agora algumas imagens (não deu pra captar muito bem oque a spell faz porque ela é composta por diferentes movimentos, sugiro que vcs instalem e testem)
Puxar:
Empurrar
-
T0RR3SM0 deu reputação a xWhiteWolf em NPC Diceracho q vc esqueceu de configurar o script:
local posCoal = {x = 169, y = 58, z = 7} -- POSIÇÃO DO COAL, ONDE O GOLD DEVE ESTAR -
T0RR3SM0 deu reputação a xWhiteWolf em NPC Dicerarrumei o erro que dava:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local coins = {[2148] = 1, [2152] = 100, [2160] = 10000} function countMoneyOnPos(pos) local money = 0 for stack = 1, 255 do pos.stackpos = stack local item = getThingFromPos(pos) if item and item.uid > 0 then if coins[item.itemid] then money = money + coins[item.itemid] * item.type end end end return money end local posCoal = {x = 145, y = 49, z = 7} -- POSIÇÃO DO COAL, ONDE O GOLD DEVE ESTAR local posNpc = {x = 145, y = 48, z = 7} -- POSIÇÃO DO NPC local pos = getPosByDir(getThingPos(cid), getCreatureLookDirection(cid), 1) -- NÃO ALTERAR if msgcontains(msg, 'l') or msgcontains(msg, 'L') or msgcontains(msg, 'low') or msgcontains(msg, 'Low') then if countMoneyOnPos(pos) > 0 then if math.random(1, 6) <= 3 then doPlayerAddMoney(cid, countMoneyOnPos(pos)*2) doSendMagicEffect(posNpc, 26) doSendMagicEffect(posNpc, 28) doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(1, 3)..', parabéns!', TALKTYPE_ORANGE_1) else doSendMagicEffect(posNpc, 2) doSendMagicEffect(posNpc, 26) doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(4, 6)..', tente novamente!', TALKTYPE_ORANGE_1) end for stack = 1, 255 do pos.stackpos = stack local item = getThingFromPos(pos) if item and item.uid > 0 then if coins[item.itemid] then doRemoveItem(item.uid) end end end else doCreatureSay(getNpcId(), getCreatureName(cid)..', coloque uma quantia de gold no recipiente para começar a apostar!', TALKTYPE_ORANGE_1) end elseif msgcontains(msg, 'h') or msgcontains(msg, 'H') or msgcontains(msg, 'high') or msgcontains(msg, 'High') then if countMoneyOnPos(pos) > 0 then if math.random(1, 6) <= 3 then doPlayerAddMoney(cid, countMoneyOnPos(pos)*2) doSendMagicEffect(posNpc, 26) doSendMagicEffect(posNpc, 28) doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(4, 6)..', parabéns!', TALKTYPE_ORANGE_1) else doSendMagicEffect(posNpc, 2) doSendMagicEffect(posNpc, 26) doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(1, 3)..', tente novamente!', TALKTYPE_ORANGE_1) end for stack = 1, 255 do pos.stackpos = stack local item = getThingFromPos(pos) if item and item.uid > 0 then if coins[item.itemid] then doRemoveItem(item.uid) end end end else doCreatureSay(getNpcId(), getCreatureName(cid)..', coloque uma quantia de gold no recipiente para começar a apostar!', TALKTYPE_ORANGE_1) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) -
T0RR3SM0 deu reputação a MaxSilver em [Pedido] Bloqueando 1/1 do gesiorPrimeiramente vá na database do seu servidor vá em accounts procure pela conta name 1 e senha 1 (provavelmente será a primeira) depois disso vá em page access e modifique para 2
Após transfira os characters "samples" do account manager para outra conta deixe só o proprio Account Manager na acc.
Em seguida abra a pasta do seu site depois abra a pasta config e logo depois abra o arquivo config.php
Procure por:
// ACC MAKER OPTIONS config $config['site']['access_news'] = 2; // access level needed to edit news $config['site']['access_admin_panel'] = 3; // access level needed to open admin panel Modifique Para
// ACC MAKER OPTIONS config $config['site']['access_news'] = 3; // access level needed to edit news $config['site']['access_admin_panel'] = 3; // access level needed to open admin panel Feito isso volta a pasta do seu site e abra o arquivo accountmanagement.php
logo depois do <?PHP adicione isso:
if($group_id_of_acc_logged == 2) $main_content .= '<h1>Account Manager Bloqueado.'; else Pronto após executar todos os passos seu account manager estará bloqueado para acessos no site
Ele ficara impossibilitado de mudar o password do account manager pelo site !!
Gostou? REP +
-
T0RR3SM0 deu reputação a RuanSantos em [Pedido] Live cast.php informativoNo diretório do seu gesior crie um arquivo
livestreams.php
<?PHP $update_interval = 2; if(count($config['site']['worlds']) > 1) { $worlds .= '<i>Select world:</i> '; foreach($config['site']['worlds'] as $id => $world_n) { $worlds .= ' <a href="?subtopic=livestreams&world='.$id.'">'.$world_n.'</a> , '; if($id == (int) $_GET['world']) { $world_id = $id; $world_name = $world_n; } } $main_content .= substr($worlds, 0, strlen($worlds)-3); } if(!isset($world_id)) { $world_id = 0; $world_name = $config['server']['serverName']; } // Sorting type $order = $_REQUEST['order']; if($order == 'level') $orderby = 'level'; elseif($order == 'vocation') $orderby = 'vocation'; if(empty($orderby)) $orderby = 'name'; $tmp_file_name = 'cache/livestreams-'.$orderby.'-'.$world_id.'.tmp'; if(file_exists($tmp_file_name) && filemtime($tmp_file_name) > (time() - $update_interval)) { $tmp_file_content = explode(",", file_get_contents($tmp_file_name)); $number_of_players_online = $tmp_file_content[0]; $players_rows = $tmp_file_content[1]; } else { $players_online_data = $SQL->query('SELECT * FROM players WHERE world_id = '.(int) $world_id.' AND stream_status > 0 AND online > 0 ORDER BY '.$orderby); $number_of_players_online = 0; foreach($players_online_data as $player) { $number_of_players_online++; $acc = $SQL->query('SELECT flag, vip_time FROM '.$SQL->tableName('accounts').' WHERE '.$SQL->fieldName('id').' = '.$player['account_id'].' LIMIT 1;')->fetch(); if(is_int($number_of_players_online / 2)) $bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder']; $skull = ''; if($config['site']['show_skull']) { if ($player['skulltime'] > 0 && $player['skull'] == 3) $skull = '<right><image src="./images/whiteskull.gif"/></right>'; elseif ($player['skulltime'] = $player['skull'] == 4) $skull = '<right><image src="./images/redskull.gif"/></right>'; elseif ($player['skulltime'] = $player['skull'] == 5) $skull = '<right><image src="./images/blackskull.gif"/></right>'; } $players_outfit_row = ''; if($config['site']['show_outfit']) $players_outfit_row .= '<TD ALIGN="right">'.$skull.'<center><image src="'.getOutfitLink($player['id']).'"/></center></TD>'; $players_rows .= ' <TR BGCOLOR='.$bgcolor.'> <TD><center><image src="images/flags/'.$acc['flag'].'.png"/></center></TD> '.$players_outfit_row.' <TD><A HREF="?subtopic=characters&name='.$player['name'].'">'.$player['name'].'</A></TD> <TD>'.$player['stream_desc'].'</TD> <TD>'.$player['level'].'</TD> <TD>'.$vocation_name[$world_id][$player['promotion']][$player['vocation']].'</TD> <TD>'.($acc['vip_time'] > 0 ? '<font color="green"><b>VIP</b></font>' : '<font color="red"><b>NO</b></font></TD>').' </TR>'; } file_put_contents($tmp_file_name, $number_of_players_online.','.$players_rows); } if($number_of_players_online == 0) //server status - server empty $main_content .= ' <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><B>Server Status</B></TD></TR> <TR BGCOLOR='.$config['site']['darkborder'].'> <TD> <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1> <TR><TD>There are no players streaming right now on <b>'.$config['site']['worlds'][$world_id].'</b>.</TD></TR> </TABLE> </TD> </TR> </TABLE> <BR>'; else { //Vocations pics $vocs = array(); foreach($SQL->query('SELECT `vocation`, COUNT(`id`) AS `count` FROM `players` WHERE `world_id` = "'.$world_id.'" AND `online` > 0 GROUP BY `vocation`') as $entry) $vocs[$entry['vocation']] = $entry['count']; $main_content .= ' <div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url(http://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url(http://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url(http://static.tibia.com/images/global/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url(http://static.tibia.com/images/global/content/box-frame-vertical.gif);" /></span> <div class="Text" >World Information</div> <span class="CaptionVerticalRight" style="background-image:url(http://static.tibia.com/images/global/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url(http://static.tibia.com/images/global/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url(http://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url(http://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" > <tr> <td class="LabelV150" ><b>Status:</b></td> <td>Online</td></tr><tr><td class="LabelV150" ><b>Live Streams:</b></td> <td>'.$number_of_players_online.'</td></tr><tr><td class="LabelV150" ><b>Creation Date:</b></td> <td>30/11/2010</td></tr> <tr><td class="LabelV150" ><b>Location:</b></td><td>Brazil</td></tr> <tr><td class="LabelV150" ><b>PvP Type:</b></td><td>Open PvP</td></tr> <tr> <td class="LabelV150" ><b>World Quest Titles:</b></td> <td><a href="?subtopic=lightbearer">Lightbearer</a></td> </tr> </table> </div> </td> </tr> </table> </div> <br>'; //list of players $width_name = 35; if($config['site']['show_outfit']) { $players_outfit_row = '<TD WIDTH=5%><a href="" CLASS=white >Outfit</a></TD>'; $width_name = 30; } $main_content .= ' <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"> <TD WIDTH=5%><a href="" CLASS=white >Country</a></TD> '.$players_outfit_row.' <TD WIDTH='.width_name.'%><A HREF="?subtopic=livestreams&order=name&world='.$world_id.'" CLASS=white>Name</A></TD> <TD WIDTH=40%><A HREF="?subtopic=livestreams&order=stream_desc&world='.$world_id.'" CLASS=white>Stream Description</A></TD> <TD WIDTH=5%><A HREF="?subtopic=livestreams&order=level&world='.$world_id.'" CLASS=white>Level</A></TD> <TD WIDTH=10%><A HREF="?subtopic=livestreams&order=vocation&world='.$world_id.'" CLASS=white>Vocation</TD> <TD WIDTH="5%><a href="" CLASS=white >VIP</a></TD></TR>'.$players_rows.'</TABLE>'; //search bar $main_content .= ' <BR> <FORM ACTION="?subtopic=characters" METHOD=post> <TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR> <TR> <TD BGCOLOR="'.$config['site']['darkborder'].'"> <TABLE BORDER=0 CELLPADDING=1> <TR> <TD>Name:</TD> <TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD> <TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD> </TR> </TABLE> </TD> </TR> </TABLE> </FORM>'; } ?> Após isso execute essa query no seu phpmyadmin
ALTER TABLE `players` ADD `cast` TINYINT NOT NULL DEFAULT '0', ADD `castViewers` INT( 11 ) NOT NULL DEFAULT '0', ADD `castDescription` VARCHAR( 255 ) NOT NULL