Acredito que esse seja meu primeiro tutorial feito por mim mesmo aqui no fórum, espero que gostem e aprovem Rep +
Introdução: Nesse tutorial, vou lhes ensinar como instalar e configurar o sistema de PagSeguro automático, para que quando o pagamento for Aprovado pelo PagSeguro, o sistema entregar os pontos automaticamente. Testado e funcionando em Gesior e Modern Acc. Funciona para qualquer versão de Tibia, desde que seja em MySQL.
Quando você for testar, pode acontecer que os pontos sejam entregues com um atraso de no máximo 5~10 minutos depois de Aprovado o pagamento, porém, geralmente os pontos são entregues NA HORA do Aprovado pagamento.
Instalação: Primeiramente vamos adicionar uma tabela na sua DataBase do MySQL, Executem esta query para criar a tabela:
Feito isso, vamos editar ou adicionar se você já não tiver, essas linhas no seu htdocs/config/config.php :
Depois, vamos adicionar essas linhas no seu htdocs/index.php :
Agora, troque todo o seu htdocs/shopsystem.php (pode variar, mas no gesior geralmente é shopsystem.php)por este:
Também troque todo o seu htdocs/donate.php (pode variar, mas no gesior geralmente é donate.php) por este:
Agora, crie um novo arquivo .php com o nome pag_retorno.php com este conteúdo:
Por último mas não menos importante, entre no site do PagSeguro e logue, após logar, vai aparecer várias opções na parte inferior do site do PagSeguro, clique em "Retorno Automático". Nesta página, é onde você gera o seu Token PagSeguro e configura sua URL de retorno. Você deve ativar a URL de retorno, e colocar este link na URL de Retorno:
Pronto, já está tudo OK, agora vou ensinar como configurar algumas partes de alguns arquivos que citei acima.
Configuração Adicional: Depois que você já alterou as informações no config.php no que é pedido, algumas alterações devem ser feitas também no arquivo htdocs/pag_retorno.php : (não esqueça de editar as partes que pedem informações sobre usuario, senha, nome db do MYSQL)
1 - Nas linhas:
Você deve alterar o que está sendo pedido, e no "127.0.0.1", se você usa seu site no mesmo PC ou Dedicado/VPS que o seu Server, pode deixar "127.0.0.1" mesmo, se não (no caso de usar domínio), deve colocar ali o seu IP Externo Numérico do Server.
2 - Nas linhas:
Esta parte é a que entrega os pontos automaticamente pra account, se você tem algum tipo de promoção no seu server, deve alterar aqui conforme sua promoção, exemplo: Se você tem a promoção de Double Points no seu Server, deve alterar:
Por este:
Para que os pontos sejam DOBRADOS na hora de entregar automaticamente, entendeu?
Bom Galera, é isso aí, espero que gostem.
Dúvidas, Sugestões ou Críticas, postem aqui para que eu possa atender a todos.
Créditos: Tutorial feito 100% por mim (Lucas502 - xtibia.com)
Te Ajudei? Então REP+ aew!
EDIT: Adicionados Spoilers para melhor visualização do tópico.
Olá a todos, venho aqui lhes trazer o script de Zombie Event.
Não tenho certeza se estou postando na areá correta, mais caso eu não esteja por favor movam o tópico.
Mãos a obra.
Zombie Events.
Testado em: TFS 0.4
Se quiser testar em outro distro responsabilidade de vocês.
Algumas informações sobre ele primeiramente, Quando o evento está começando você terá certos minutos em você para incorporar o teleport antes que desapareça. Quando o teleport desaparece mesmo acontece com zombie spawn após 20 segundos. Zombie iram aparece 1 de cada vez, a cada 20 segundos. Os players que morrerem no evento, serão teleportados para o templo. O vencedor do evento, recebe algumas recompensas e um cale-se dourado com seu nome.
Lembrando a areá de evento tem que ser non-pvp para que os possam disputar la.
Vamos la.
Globalevents/scripts/zombie event.lua
local config = {playerCount = 2001, -- Global storage for counting the players left/entered in the eventzombieCount = 2002, -- Global storage for counting the zombies in the eventteleportActionId = 2000, -- Action id of the teleport needed for the movement scriptteleportPosition = {x = 1135, y = 1077, z = 3, stackpos = 1}, -- Where the teleport will be createdteleportToPosition = {x = 1190, y = 1076, z = 7}, -- Where the teleport will take youteleportId = 1387, -- Id of the teleporttimeToStartEvent = 5, -- Minutes, after these minutes the teleport will be removed and the event will be declared startedtimeBetweenSpawns = 20, -- Seconds between each spawn of zombiezombieName = "event zombie", -- Name of the zombie that should be summonedplayersNeededToStartEvent = 5, -- Players needed before the zombies can spawn.-- Should be the same as in the creaturescript!-- The zombies will spawn randomly inside this areafromPosition = {x = 1186, y = 1072, z = 7}, -- top left cornor of the playgroundtoPosition = {x = 1195, y = 1081, z = 7}, -- bottom right cornor of the playground}function onTimer()local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition)doItemSetAttribute(tp, "aid", config.teleportActionId)doBroadcastMessage("Zombie event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING)setGlobalStorageValue(config.playerCount, 0)setGlobalStorageValue(config.zombieCount, 0)addEvent(startEvent, config.timeToStartEvent * 1000 * 60)print(getGlobalStorageValue(2001))endfunction startEvent()local get = getThingfromPos(config.teleportPosition)if get.itemid == config.teleportId thendoRemoveItem(get.uid, 1)endlocal fromp, top = config.fromPosition, config.toPositionif getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent thenaddEvent(spawnZombie, config.timeBetweenSpawns * 1000)doBroadcastMessage("Good luck in the zombie event people! The teleport has closed!", MESSAGE_STATUS_WARNING)for x = fromp.x, top.x dofor y = fromp.y, top.y dofor z = fromp.z, top.z doareapos = {x = x, y = y, z = z, stackpos = 253}getPlayers = getThingfromPos(areapos)if isPlayer(getPlayers.uid) thendoPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. config.timeBetweenSpawns .. " seconds! Good luck!")endendendendelsedoBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING)for x = fromp.x, top.x dofor y = fromp.y, top.y dofor z = fromp.z, top.z doareapos = {x = x, y = y, z = z, stackpos = 253}getPlayers = getThingfromPos(areapos)if isPlayer(getPlayers.uid) thendoTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false)doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT)endendendendendendfunction spawnZombie()if getGlobalStorageValue(config.playerCount) >= 2 thenpos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)}doSummonCreature(config.zombieName, pos)doSendMagicEffect(pos, CONST_ME_MORTAREA)setGlobalStorageValue(config.zombieCount, getGlobalStorageValue(config.zombieCount)+1)doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(config.zombieCount) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED)addEvent(spawnZombie, config.timeBetweenSpawns * 1000)endend
Movements/scripts/zombie event.lua
local config = {playerCount = 2001, -- Global storage for counting the players in the eventmaxPlayers = 15, -- Max players who can participate}function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)if getGlobalStorageValue(config.playerCount) < config.maxPlayers thensetGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)+1)if getGlobalStorageValue(config.playerCount) == config.maxPlayers thendoBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(config.playerCount) .. " players]! The event will soon start.")elsedoBroadcastMessage(getPlayerName(cid) .. " entered the Zombie event! Currently " .. getGlobalStorageValue(config.playerCount) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED)endelseaddEvent(tpBack, 1000, cid, fromPosition)doPlayerSendCancel(cid, "The event is full. There is already " .. config.maxPlayers .. " players participating in the quest.")return falseendprint(getStorage(config.playerCount) .. " Players in the zombie event.")return trueendfunction tpBack(cid, fromPosition)doTeleportThing(cid, fromPosition, true)doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)end
Creaturescripts/scripts/zombie event.lua
local config = {playerCount = 2001, -- Global storage for counting the players left/entered in the eventgoblet = 5805, -- id of the gold goblet you'll get when finishing the event.rewards = {2195, 2152, 2160}, -- You will get this + a gold goblet with your name on.-- {moneyId, count, using? 1 for using moneyReward, 0 for not using.}moneyReward = {2160, 10, 1},-- Should be same as in the globalevent!-- The zombies will spawn randomly inside this areafromPosition = {x = 1186, y = 1072, z = 7}, -- top left cornor of the playgroundtoPosition = {x = 1195, y = 1081, z = 7}, -- bottom right cornor of the playground}function onStatsChange(cid, attacker, type, combat, value)if isPlayer(cid) and isMonster(attacker) thenif isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) thenif getGlobalStorageValue(config.playerCount) >= 2 thendoBroadcastMessage(getPlayerName(cid) .. " have been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED)local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)-1)elseif getGlobalStorageValue(config.playerCount) == 1 thenif isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) thendoBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING)local goblet = doPlayerAddItem(cid, config.goblet, 1)doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.")local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)for _,items in ipairs(config.rewards) dodoPlayerAddItem(cid, items, 1)endif config.moneyReward[3] == 1 thendoPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2])endendfor x = config.fromPosition.x, config.toPosition.x dofor y = config.fromPosition.y, config.toPosition.y dofor z = config.fromPosition.z, config.toPosition.z doareapos = {x = x, y = y, z = z, stackpos = 253}getMonsters = getThingfromPos(areapos)if isMonster(getMonsters.uid) thendoRemoveCreature(getMonsters.uid)endendendendendreturn falseendendreturn trueend
Creaturescripts/scripts/login.lua poste a seguinte função.
Vá ate "C:/xampp/htdcos/" crie um arquivo chamado Zombieevent.php dentro coloque isso.
<?PHP$main_content .= '<h4 style="" id="pt"><br><center><h2><b> Zombie Event</b></h2></center><br><br><center><object height="350" width="425"><imgsrc="http://i52.tinypic.com/wjdth1.jpg" height="700"width="525"></object></center><br><br><br> </h4><b></b><center><b>O que é o Zombie Event?</b><br><br>É um evento que acontece todos os dias as 12:00, 18:30 e 21:30 hr noservidor.<br><br><br><b>Como funciona?<br></b><br>Quando estiver na hora irá abrir um teleport no mesmo lugar onde aparece oteleport da WoE, basta você entrar e aguardar o tempo para inicio do Evento,o objetivo do jogo é correr dos zombies, a cada 20 segundos irá nascer um novo emalguma área randomica, você deve correr pois se eles te tocarem vocêautomaticamente é retirado do evento e volta para o seu temple.O ultimo jogador que sobrar vivo vence o evento.<br><br><br><b>Quais são os prêmios?<br></b><br>O ganhador irá ganhar<b> 100k</b>, uma <b>Boots of Haste</b> e um <b>Globet com onome dele</b>.<br><br></center>';?>
Depois abra o index.php em "C:/xampp/htdcos/".
Depois de:
case "buypoints":$topic = "Buy Points";$subtopic = "buypoints";include("buypoints.php");break;
Cole isso:
case "zombieevent":$topic = "Zombie event";$subtopic = "zombieevent";include("zombieevent.php");break;
Agora vá em "C:/xampp/htdcos/layout/tibiacom/" abra o arquivo layout.php.
* Opção de download rapido: Download - Rme 2.1 + Tibia.dat e spr
Bom galera muito nego aqui no XTibia ta se matando para poder conseguir abrir o REMERES MAP EDITOR na versão 2.1 (8.60x). Claro ja foram postados tutoriais solucionando o problema do mesmo. Porém esse aqui é diferente e 100% cérto. Vou ensinar perfeitamente como você pode abrir seu REMERES de outra forma sem que isso se torne um problema maldito de solucionar!
Antes de tudo: Desinstale seu REMERES e seu TIBIA Agora!
Primeiramente você vai diretamente no site OFFICIAL do Remeres Map Editor abaixo:
SITE OFFICIAL: Clique Aqui Para faser o download.
Após ter feito o download do Remeres, vá direto para o outro site abaixo:
SITE OFFICIAL: Clique Aqui e baixe a versão do Tibia 8.60x (OBS: se você tem o tibia baixado no seu PC de qualquer outro site, desinstale-o.)
PRONTO! já baixou os dois arquivos acima? Muito bem, agora vamos faser o seguinte:
1° Vá para a pasta: Meu Computador > Disco Local (C:) > Arquivos de Programas > Tibia
2° Na pasta do Tibia existem dois arquivos super importantes para esse procedimento, chamados: Tibia.spr e Dat, copie-os!
3° Volte para a pasta: Arquivos de Programas e crie uma nova pasta chamada: SPR
4° Dentro désta pasta SPR criada, você vai colar os dois arquivos: Tibia.spr e Dat. (Feche)
5° Abra seu Remeres map editor
6° Quando Aparecer a mensagem para procurar "Couldn't Find Tibia.dat Or Tibi.spr" você vai abrir a pasta SPR que criou a pouco!
PRONTO! Seu Remeres map editor está pronto para ser ultilizado =D
Dúvidas? (MSN: fefo_wg@hotmail.com)
Se possível o teste, e aprovação do tutorial; Rep+
Bom pessoal enfim eu consegui lançar o script arrumado para TFS 0.3.6 e 0.4 Mais dessa vez eu fiz ele de uma maneira muito mais facil de usar e 100% funcional você apenas vai colocar os arquivos na pasta MODS de sua TFS para que ele funcione ele se instala sozinho em sua Database
Vip Sistem TFS 0.3.6.rar Vip Sistem TFS 0.4.rar
O script possibilita você ver quantos dias de vip restam nas contas quando elas são atualizadas em tempo real aparece no console a quantidade de dias que restam nas contas vip quando são atualizadas alem de que o player mesmo pode ver quantos dias restante ele tem de vip aparece para o player logo que ele entra em seu character a quantidade de dias vip
Bom para saber como usar é simples para adicionar a vip la vai um explo de adicionar 30 dias no player Luke sky walker /addvip Luke sky walker, 30
Esse script tem um sistema para aqueles que usam ROOKGUARD no servidor é facil configurar caso você usar o sistema de rookguard é so você configurar no vip_sys.xml é facil logo abaixo tera uma explicação
Aqui o sistema de rook está ativado mais caso você queira desativar!!! você coloca RookSistem = "no" e as configs logo abaixo de RookSistem são apenas os ID dos templo o RookTempleID você coloca o ID do templo de rook e MainTempleID você coloca o ID preferencial de uma cidade de Main
O tile que você quiser que so VIP passe coloque a ActionID 7777
Caso você ache bugs postem aqui mais creio que não tenha nenhum bug pois testei tudo. OBS: Ele foi projetado para TFS ORIGINAL caso você esteja usando uma versão ja editada por outras pessoas não garanto o FUNCIONAMENTO
Por favor não tirem os creditos deste script! Gostou??? Não esqueça de deixar um comentario e nao esqueça do REP++ Obrigado.
Vip Sistem TFS 0.3.6.rar
Vip Sistem TFS 0.4.rar
function onUse(cid, item, frompos, topos)
local pos = {x=xxx, y=xxx, z=x}
if getPlayerGroupId(cid) == 1 then
doTeleportThing(cid, fromPosition)
else
doPlayerSendTextMessage(cid, 22, "Digite sua MSG")
doTeleportThing(cid, pos)
doSendMagicEffect(getCreaturePosition(cid), 10)
end
end
Actions.xml
<action itemid="ID da estatua" script="nome" />
Quem Está Navegando
0 membros estão online
Nenhum usuário registrado visualizando esta página.