
Histórico de Curtidas
-
Linkz deu reputação a vudi em [8.54] PokeCyan [ Editado By Senhor] Atualizado 3.0 2016Boa Noite , Boa Tarde ou Bom Dia TK's não sei a hora que vocês vão ver o Tópico
Estava com meu Projeto do "Pokemon H" Fiz várias Ediçoes no Servidor Que Baixei aqui no Tibia King Mesmo e vim disponibilizá-los para vocês.
Então bora ao que interessa né?
• Menu:
├ Informações;
├ Edições;
├ Erros;
├ Prints;
├ Mapa
├ Download;
├ Atualização;
├ Utilitários;
└ Créditos.
• Informações Básicas •
• Edições / Ajustes •
• Erros do Servidor •
• Prints•
• MAPA •
• Downloads •
Cliente * MediaFire e Scan
Servidor * MediaFire e Scan
• Download Atualização 2.0 •
Download: https://www.mediafire.com/?ik211gku2hdqz2t
Scan :
• Download Atualização 3.0 • 2016
OBS: NÃO TERÁ MAIS EDIÇÕES.
• Utilitários •
Remeres que usei pra editar: AQUI
• Créditos •
Brun Por Criar o Servidor
Slicer Por Editar o Servidor
Mulurka (pelas out)
Stylo pelo tuto do ícone system
noninhu por ajudar em alguns spells
tem 2 caras tbm eu eskeci o nome deles agora que ajudaram 1 com as insignias na barra de skill e o outrio pelas scripts da liga pokemon
dandanrvb pelas scripts do icone system
erondino por algumas caves
ih é só bjundão a all
Vudi (Eu) Por editar o resto do servidor e trazer as novidades
Tioj Pelas edições e Por fazer eu copiar a organização do tópico dele kk obg
Kuuhaku pela cave dos geot .
Held Itens By Gabriel Sales
Gabriel Sales AnnaFeeh pelo script do ditto system pxg
Obs: Se Está faltando algum crédito me avise pra mim colocar ( Não sei se está faltando algum)
Obs: Qualquer Outra Duvida Estarei de Suporte no Tópico
Obs: SENHA GOD/GOD
OBS : Se Pegar o Servidor e Postar em Outro Fórum sem as minhas permissão vou pedir para o dono do forum ou site retirar o conteúdo . (Esse Conteúdo é exclusivo do TibiaKing obrigado)
Se ajudei Já sabe né
-
Linkz deu reputação a lukario em pokemon Shaman (pda old cliente)https://mega.nz/#!fgASRBbJ
pass:
!FR9otfwySD7TYUTbpdS7dRStgA25yMV86L7bhdojXbg
-
Linkz deu reputação a Wolf Admin em [PEDIDO] COMO CRIAR MAGIAS PARA POKETIBIAPara Criar magias, vc vai no pokemon moves.lua, Abre o procura por uma spell que você deseja "imitar" (Você só ira copiar, colar e trocar o efeito). Irei usar de Exemplo a "Earthquake":
elseif spell == "Earthquake" then local eff = getSubName(cid, target) == "Shiny Onix" and 175 or 118 --alterado v2.6.1 local function doQuake(cid) if not isCreature(cid) then return false end if isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return false end if isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end doMoveInArea2(cid, eff, confusion, GROUNDDAMAGE, min, max, spell) end times = {0, 500, 1000, 1500, 2300, 2800, 3300, 3800, 4600, 5100, 5600, 6100, 6900, 7400, 7900, 8400, 9200, 10000} setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 10000, cid, 3644587, -1) for i = 1, #times do --alterado v1.4 addEvent(doQuake, times, cid) end - Azul: Nome da Spell Vermelho: ID do efeito da spell Ciano: Tipo do Dano que a spell irá causar (DARKDAMAGE, PSYCHICDAMAGE, WATERDAMAGE ....) ~~ Você terá q copiar a spell e colar abaixo, em Seguida troque o nome da spell em Azul pelo nome que você preferir. ~~Logo Após, onde está Vermelho, Coloque o id do Efeito do Spell (Você pode escolher o Efeito por game fazendo /z 1, /z 2, /z 3, /z 4, etc. ou Abrindo seu Dat Editor ou Object Builder e veja o ID do efeito lá. ~~Mude o efeito da parte em Ciano para o efeito que a spell ira causar(FLYINGDAMAGE, FIGHTINGDAMAGE, ROCKDAMAGE, FIREDAMAGE, GRASSDAMAGE, GHOSTDAMAGE, etc...) Agora Vá na pasta spells/scripts/ps e Crie um arquivo em lua com o nome da spell que você criou no pokemon moves.lua e adicione isso:
Coloque o mesmo nome da spell lá na parte Verde.
~~Agora, abra o spells.xml e Adicione isso lá nas ultimas linhas:
<instant name="Nome Da Spell" words="spell301" lvl="1000" mana="0" event="script" value="ps/Nome da spell.lua"></instant> Espero ter ajudado, Postem suas duvidas sobre o assunto aqui, se houver.. -
Linkz deu reputação a Absolute em (Resolvido)Retirar uma área NO-PVPJovem, ta assim:
Se você manter o PZ da área selecionado e segurar o ctrl passando o mouse (clicando) vai tirar as áreas, ficando assim:
-
Linkz deu reputação a Bluetooth em Help moleboxjá baixei 1000 molebox e quando não tem vírus bota vírus no cliente o único que deu certo foi oque baixei do site oficial porem sempre que abro o cliente aparece uma mensagem falano que o cliente foi compilado com uma versão de test do molebox '-'
alguém pode posta um molebox sem vírus pf?
-
Linkz deu reputação a tiagoduuarte em Compilar client sem .SPR , .DAT , .PICOlá vou postar aqui como criar 1 client sem o .spr, .dat, .pic.
Para fazer seu client você vai precisar:
1º Cliente (Pode ser qualquer Client Wodbo - Tibia - Naruto - Pokemon)
2º MoleBox (pode ser encontrado no baixaki)
VIDEO AULA
No Final Postarei os Links.
Primeiramente: NÂO TEM COMO BLOQUEAR PARA NINGUEM COPIAR SUAS SPRITES! Existem Vários programas que desfazem essa Compilação.
Como exemplo vou compilar o Tibia 8.60
Tutorial em Imagens!
________________________________________________________________________________________
Abra o Molebox
Entre em Package Options
Em seguida selecione o executável do teu Cliente
No próximo passo selecione um local para salvar seu novo Cliente
Em seguida marque a opção "compress"
Pressione o botão "Add Files"
Selecione os Arquivos mostrados na imagem
Aperte OK
Em seguida aperte "Pack"
Aguarde até que todos os arquivos sejam Compilados
_________________________________________________________________________________
Links:
http://www.2shared.c..._By_Babidy.html
http://www.4shared.com/rar/vO-M74MG/MoleBox_Ultra_By_Babidy.html
http://www.multiupload.nl/0LE7I45F06
SENHA: babidy
SCAN: https://www.virustot...sis/1355177552/
Espero te Ajudado.
Créditos:
TODOS OS CREDITOS VÃO PARA: Babidy
eu só trouxe para cá para ajudar uma pessoa com dúvida.
-
Linkz deu reputação a Faelzdanil em Run EventOlá galera do TK,
Provavelmente maioria aqui não me conhece, meu nome é Raphael ( Fael ), e minha área preferida é o mapa porém estou com um conteúdo aqui que muitos buscam separado mas não encontram.
O bom evento Run Event.
É um evento de corrida em um mapa com muitos obstáculos.
Todos os players possuem a mesma velocidade.
Objetivo muito simples, o primeiro que chegar no final vence
Para entrar no evento é preciso dizer "!run" a mensagem será anunciada na hora que preciso.
Tem que estar em área pz pra executa-lo.
Bom vamos ao MOD:
OTserver/Mod/... Adiciona um RunEvent.xml
Script:
<?xml version="1.0" encoding="UTF-8"?> <mod name="Run_Event" version="3.0" author="CollocorpuseK" contact="otland.net" enabled="yes"> <config name="config_run_event"> <![CDATA[ configRunEvent = { storages = { player = 'runEventPlayer', -- set free storage joining = 'runEventJoining', -- set free storage group = 'runEventGroup', -- set free storage exhaust = 'runEventExhaust', -- set free storage countEvent = 'runEventCountEvent' -- set free storage }, position = {x=885, y=1002, z=7}, -- Posicao que vai ser teleportado os players rewards = {9931, 7697, 2346, 8880}, -- Itens pro vencedor ( Sera sortido) players = { max = 45, -- Maximo de player min = 5, -- Minimo de player minLevel = 100, -- Level minimo pra entrar no evento speed = 200 -- Velocidade que todos ficaram }, days = { ['Monday'] = {'16:00:20'}, ['Tuesday'] = {'16:00:20'}, ['Wednesday'] = {'16:00:20'}, ['Thursday'] = {'16:00:20'}, ['Friday'] = {'16:00:20'}, ['Saturday'] = {'16:00:20'}, ['Sunday'] = {'16:00:20'} }, delayTime = 5.0, -- Tempo pros players dizer o comando [minutos] startEvent = 2, -- Tempo pra começar o evento quando todos players tiverem no local [ segundos ] text = 'Vai comecar o Run Evento, se preparem' } ]]> </config> <lib name="lib_run_event"> <![CDATA[ function doStartEventRun() if configRunEvent.players.min <= doCountPlayersRunEvent() then for _, cid in ipairs(getPlayersOnline()) do if getCreatureStorage(cid, configRunEvent.storages.player) > 0 then doRemoveCondition(cid, CONDITION_INFIGHT) -- fight doTeleportThing(cid, configRunEvent.position) -- teleport pos doChangeSpeed(cid, configRunEvent.players.speed - getCreatureBaseSpeed(cid)) -- predkosc doCreatureSetStorage(cid, configRunEvent.storages.group, getPlayerGroupId(cid)) -- storage doPlayerSetGroupId(cid, 7) -- grupa addEvent(doCreatureSetNoMove, configRunEvent.startEvent * 1000, cid, false) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Get ready. Run Event start in '..configRunEvent.startEvent..' seconds.') end end addEvent(doCheckSpeedRunEvent, configRunEvent.startEvent * 1000) doBroadcastMessage('Run Event has started. LET\'S GO!') else for _, cid in ipairs(getPlayersOnline()) do if getCreatureStorage(cid, configRunEvent.storages.player) > 0 then doCreatureSetStorage(cid, configRunEvent.storages.player, -1) doCreatureSetNoMove(cid, false) doRemoveCondition(cid, CONDITION_INFIGHT) end end doBroadcastMessage('Run Event hasn\'t started beacuse there were not enough players.') end doSetStorage(configRunEvent.storages.joining, -1) end function doCountPlayersRunEvent() local x = 0 for _, cid in ipairs(getPlayersOnline()) do if getCreatureStorage(cid, configRunEvent.storages.player) > 0 then x = x + 1 end end return x end function doStartCountingRunEvent(x) if configRunEvent.delayTime-x > 0 then doBroadcastMessage('Run Event is going to start in '..configRunEvent.delayTime-x..' minutes. You can join to the event by saying "!run join".') addEvent(doStartCountingRunEvent, 60*1000, x+1) end end function doCheckSpeedRunEvent() if doCountPlayersRunEvent() > 0 then addEvent(doCheckSpeedRunEvent, 1000) end for _, cid in ipairs(getPlayersOnline()) do if getCreatureStorage(cid, configRunEvent.storages.player) > 0 then if getCreatureSpeed(cid) ~= configRunEvent.players.speed then doChangeSpeed(cid, (getCreatureSpeed(cid) < configRunEvent.players.speed and configRunEvent.players.speed - getCreatureSpeed(cid) or getCreatureSpeed(cid) > configRunEvent.players.speed and - (getCreatureSpeed(cid) - configRunEvent.players.speed))) end end end end ]]> </lib> <talkaction words="!run" event="script"> <![CDATA[ domodlib("config_run_event") function onSay(cid, words, param) if getStorage(configRunEvent.storages.joining) ~= 1 then return doPlayerSendCancel(cid, 'The Run Event hasn\'t started yet.') elseif param == '' then return doPlayerSendCancel(cid, 'Command param required (say: "!run join" or "!run leave.").') elseif getPlayerLevel(cid) < configRunEvent.players.minLevel then return doPlayerSendCancel(cid, 'You can\'t join to the event if you don\'t have a require '..configRunEvent.players.minLevel..' level.') elseif getTileInfo(getThingPos(cid)).protection ~= true then return doPlayerSendCancel(cid, 'You can\'t join to the event if you aren\'t in protection zone.') elseif exhaustion.check(cid, configRunEvent.storages.exhaust) ~= false then return doPlayerSendCancel(cid, 'You must wait '..exhaustion.get(cid, configRunEvent.storages.exhaust)..' seconds to use this command again.') end if param == 'join' then if getCreatureStorage(cid, configRunEvent.storages.player) > 0 then return doPlayerSendCancel(cid, 'You have arleady joined to event. Wait patiently for start.') elseif doCountPlayersRunEvent() == configRunEvent.players.max then return doPlayerSendCancel(cid, 'Max players in the event have been reached.') end doCreatureSetNoMove(cid, true) doPlayerPopupFYI(cid, configRunEvent.text) doCreatureSetStorage(cid, configRunEvent.storages.player, 1) doAddCondition(cid, createConditionObject(CONDITION_INFIGHT, -1)) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have joined to Run Event. You can\'t move until event don\'t start. Wait patiently for the event start.') doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have joined to Run Event.') elseif param == 'leave' then if getCreatureStorage(cid, configRunEvent.storages.player) <= 0 then return doPlayerSendCancel(cid, 'You can\'t leave from the event if you don\'t join.') end doCreatureSetNoMove(cid, false) doCreatureSetStorage(cid, configRunEvent.storages.player, -1) doRemoveCondition(cid, CONDITION_INFIGHT) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have left from the Run Event.') end exhaustion.set(cid, configRunEvent.storages.exhaust, 5) return true end ]]> </talkaction> <talkaction words="!startrun" access="5" event="script"> <![CDATA[ domodlib("config_run_event") domodlib("lib_run_event") function onSay(cid, words, param) doSetStorage(configRunEvent.storages.joining, 1) addEvent(doStartEventRun, configRunEvent.delayTime * 60 * 1000) doStartCountingRunEvent(0) for _, pid in ipairs(getPlayersOnline()) do if getCreatureStorage(pid, configRunEvent.storages.player) > 0 then doCreatureSetStorage(pid, configRunEvent.storages.player, -1) doPlayerSetGroupId(pid, getCreatureStorage(pid, configRunEvent.storages.group)) doChangeSpeed(pid, getCreatureBaseSpeed(pid) - configRunEvent.players.speed) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true) end end return true end ]]> </talkaction> <movement type="StepIn" actionid="5467" event="script"> <![CDATA[ domodlib("config_run_event") function onStepIn(cid, item, position) if getCreatureStorage(cid, configRunEvent.storages.player) > 0 then local prize = math.random(#configRunEvent.rewards) doCreatureSetStorage(cid, configRunEvent.storages.player, -1) doPlayerAddItem(cid, configRunEvent.rewards[prize], 1) doChangeSpeed(cid, getCreatureBaseSpeed(cid) - configRunEvent.players.speed) doPlayerSetGroupId(cid, math.max(1, getCreatureStorage(cid, configRunEvent.storages.group))) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true) doBroadcastMessage('Run Event has finished. The winner is '..getCreatureName(cid)..'.') doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You are winner. You have won '..getItemNameById(configRunEvent.rewards[prize])..'.') db.query("INSERT INTO `events` (`event_name`, `winner_name`, `won_item`, `time_win`) VALUES (\"Run\", \"" .. getCreatureName(cid) .. "\", \"" .. getItemNameById(configRunEvent.rewards[prize]) .. "\", " .. getStorage(configRunEvent.storages.countEvent) ..");") doSetStorage(configRunEvent.storages.countEvent, getStorage(configRunEvent.storages.countEvent) + 1) for _, pid in ipairs(getPlayersOnline()) do if getCreatureStorage(pid, configRunEvent.storages.player) > 0 then doCreatureSetStorage(pid, configRunEvent.storages.player, -1) doPlayerSetGroupId(pid, math.max(1, getCreatureStorage(pid, configRunEvent.storages.group))) doChangeSpeed(pid, getCreatureBaseSpeed(pid) - configRunEvent.players.speed) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, 'You loss.') end end end return true end ]]> </movement> <globalevent name="Run_Event_Days" interval="1000" event="script"> <![CDATA[ domodlib("config_run_event") domodlib("lib_run_event") local daysOpen = {} for k, v in pairs(configRunEvent.days) do table.insert(daysOpen, k) end function onThink(interval) if isInArray(daysOpen, os.date("%A")) then if isInArray(configRunEvent.days[os.date("%A")], os.date("%X", os.time())) then if getStorage(configRunEvent.storages.joining) ~= 1 then doSetStorage(configRunEvent.storages.joining, 1) addEvent(doStartEventRun, configRunEvent.delayTime * 60 * 1000) doStartCountingRunEvent(0) for _, pid in ipairs(getPlayersOnline()) do if getCreatureStorage(pid, configRunEvent.storages.player) > 0 then doCreatureSetStorage(pid, configRunEvent.storages.player, -1) doPlayerSetGroupId(pid, math.max(1, getCreatureStorage(pid, configRunEvent.storages.group))) doChangeSpeed(pid, getCreatureBaseSpeed(pid) - configRunEvent.players.speed) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true) end end end end end return true end ]]> </globalevent> <event type="login" name="Run_Event_Login" event="script"> <![CDATA[ domodlib("config_run_event") function onLogin(cid) if getCreatureStorage(cid, configRunEvent.storages.player) > 0 then doCreatureSetStorage(cid, configRunEvent.storages.player, -1) doPlayerSetGroupId(cid, math.max(1, getCreatureStorage(cid, configRunEvent.storages.group))) doCreatureSetNoMove(cid, false) doRemoveCondition(cid, CONDITION_INFIGHT) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true) end return true end ]]> </event> <globalevent name="Run_Event_Start" type="startup" event="script"> <![CDATA[ domodlib("config_run_event") function onStartup() doSetStorage(configRunEvent.storages.joining, -1) return true end ]]> </globalevent> </mod> Executem essa QUERY na sua DataBase
CREATE TABLE `events` ( `event_name` varchar(255) NOT NULL, `winner_name` varchar(255) NOT NULL, `won_item` varchar(255) NOT NULL, `time_win` varchar(256) NOT NULL, PRIMARY KEY (`event_name`) );
No final do mapa para marcar o vencedor você marque um ActionID - 5467 no piso final.
Não dou suporte !
Mapa Link
-
Linkz deu reputação a luanluciano93 em Run EventMuito bom cara, obrigado pelo conteúdo, reputado!
-
Linkz deu reputação a Doughell em [TalkAction] Scripts para PokeTIBIAOlá a todos!
Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.
Não é nada mais do quem um SHOP in-game.
Como assim?
Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.
Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.
Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.
Chega de enrolação e vamos direto ao script.
Changename Script:
Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.
(Este script serve para modificar o nome do jogador pelo jogo).
-- Creditos a Doughell function onSay(cid, words, param) local maxLen = 15 -- tamanho maximo do nome local itemid = 2145 ------ Numero do Item que será removido local proibido = [{"!","@","*"}-- simbolos proibidos for i = 1, #proibido do if string.find(tostring(param), proibido[i]) then doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.") return TRUE end end if tostring(param) == "" then -- checkar se não é nome vazio doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.") return TRUE end if string.len(tostring(param)) > maxLen then doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.") return TRUE end if not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.") return TRUE end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerRemoveItem(cid, itemid, 5) db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.") addEvent(doRemoveCreature, 5*1000, cid, true) else doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.") end return TRUE end Agora em talkactions.xml adicione em Players: <talkaction words="!changename" event="script" value="changename.lua"/> -- Explicação do Script (Changename): local maxLen = 15 -- tamanho maximo do nome O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome. local itemid = 2145 ------ Numero do Item que será removido Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds. local proibido = {"!","@","*"} -- simbolos proibidos Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte: {"!","@","*","?"} adicionando dessa seguinte maneira: ,"?"} Ditto Script: Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo: (Este script serve para adicionar a caixa do Ditto no jogador). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione em Players: <talkaction words="!buyditto" event="script" value="ditto2.lua"/> A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte: (Este script serve para o id da caixa ser usado para conseguir o Ditto) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 15215) <= 100 then doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.") setPlayerStorageValue(cid, 15215, 1) local pox = getTownTemplePosition(1) local health = 325 local maxhealth = 325 local description = "Contains a Ditto." local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]" item = doCreateItemEx(2219) doItemSetAttribute(item, "poke", poke1) doItemSetAttribute(item, "nome", "Ditto") doItemSetAttribute(item, "apelido", "Ditto") doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) doTransformItem(item, 2222) doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.") doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.") doTeleportThing(cid, pox) doSendMagicEffect(pox, 21) doPlayerAddSoul(cid, 1) doPlayerRemoveItem(cid,1738,1) setPlayerStorageValue(cid, 54842, "Ditto, ") return TRUE else doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.") end end Agora em actions.xml adicione: <action itemid="1738" event="script" value="ditto_.lua"/> -- Explicação do Script (Ditto): PARTE DAS TALKACTIONS if doPlayerRemoveItem(cid,2145,10) == TRUE then O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto. doPlayerAddItem(cid,1738,1) O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml! PARTE DAS ACTIONS doSendMagicEffect(pox, 21) O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir. doPlayerAddSoul(cid, 1) Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira. doPlayerRemoveItem(cid,1738,1) Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem. Kit Script: Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele: (Este script serve para receber Revives, Ultra Balls e Hyper Potions). function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,2) == TRUE then doPlayerAddItem(cid,2269,100) doPlayerAddItem(cid,2275,100) doPlayerAddItem(cid,2146,100) doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1) end end Agora em talkactions.xml adicione: <talkaction words="!buykit" event="script" value="kit.lua"/> -- Explicação do Script (Kit): if doPlayerRemoveItem(cid,2145,2) == TRUE then O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit. doPlayerAddItem(cid,2269,100) O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls. doPlayerAddItem(cid,2275,100) O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives. doPlayerAddItem(cid,2146,100) O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions. Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base: function onSay(cid,words,param) if doPlayerRemoveMoney(cid,10000) == TRUE then doPlayerAddItem(cid,2173,1) doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"Mensagem quando não possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1) end end
if doPlayerRemoveMoney(cid,10000) == TRUE then
Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:
doPlayerRemoveItem(cid,1738,1)
ficando assim:
doPlayerRemoveItem(cid,1738,1) = TRUE then
O id do shield você modifica no 1738 e a quantidade no número 1.
doPlayerAddItem(cid,2173,1)
Esas função adiciona o item e a quantidade no jogador, exemplo:
2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.
O que você pode adicionar em um script?
Efeitos, para adicionar um efeito basta colocar essa função:
doSendMagicEffect(getThingPos(cid), 132)
O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:
/z 1, /z 2, /z 3 até o seu limite.
É isso ai galera, qualquer dúvida postem ou dêem sujestões!
Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!
-
Linkz deu reputação a TsplayerT em Afk System!ALO, COM QUEM EU FALO?
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
INTRODUÇÃO
Galera, nesse topico estarei ensinando um projeto meu de Afk System, que foi esqueçido.
Esse sistema é bem basico e simples, porém é legal, util e interresante...
Só avisando... Ele é totalmente configuravel xD
Então vamos la...
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
COMO FUNCIONA
O jogador digitará um comando e fica saindo automaticamente umas mensagens em cima dele, também apareçerá uma mensagem de o jogador estará ausente, e apareçerá tambem uma janela dissendo que se o jogador se mover será cancelado o sistema.
NÃO INTENDEU? VEJA COM SEUS PROPRIOS OLHOS.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
ENSINANDO
Crie um arquivo chamado "Afk" em tipo ".lua" em: data\talkactions\scripts
e coloca essas configurações dentro do arquivo criado:
Após fazer isso abra o arquivo "TalkActions" do tipo ".xml". Localizado em: data\talkactions
E coloque essa linha no aquivo:
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
CONFIGURANDO
ESSAS CONFIGURAÇÕES SÃO PARA TROCAR AS MENSAGENS.
Onde está escrito em VERMELHO, é onde fica as mensagem que fica em cima do Jogador.
Obs¹: Caso queira mensagem diferentes, digite-as entre aspas e separadas por virgula
Obs²: Essas mensagens ficam repetindo sequencialmente.
O número escrito em AZUL, é o tempo em segundos que a mensagem apareçerá (Intervalo)
Em AMARELO, é a mensagem que apareçerá em vermelho, essa mensagem é como se fosse porque o jogador está ausente(Configurado somente no arquivo, não pelo jogador)
O CINZA ESCURO, é a mensagem que apereçerá na janela, para alertar o jogador que se ele se mover ele para de mandar essas mensagens.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
AJUDEI? GOSTOU? FOI BOM? ESTÁ EXPLICATIVO? ESTÁ ORGANIZADO? DA REP+ afinal, não explode o Dedo..
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
-
Linkz deu reputação a Kimoszin em [Action] Key Door SystemBem pessoal, pensei que uma action dessa ia deixar o servidor de vocês com mais RPG, então resolvi botar a ideia para funcionar.
- Para que serve?
Para o seu servidor ficar com mais RPG, serve para quest mais elaboradas
- Como funciona?
Você instala a quest e a action no seu servidor, depois para passar na porta, o player ira precisar da chave, quando ele der use, a porta vai se abrir e ficar aberta, quando ele der use denovo a porta irá se fechar e ficar trancada.
- Qual a vantagem disso?
Na verdade, quase nenhuma, pois só vai trazer mais RPG para o seu servidor se você tiver criatividade para usa-la, alguns players valorizam isso.
- Como "instalo" no meu servidor ?
Simples, vamos adicionar dois scripts em \data\actions\script e adicionar duas linhas em \data\actions\actions.xml
Vamos lá
Instalação
data\actions\scripts\portas.lua
function onUse(cid, item, fromPosition, itemEx, toPosition) local doors = {[5098]={id=5100}, [5099]={id=5100}, [5101]={id=5102}, [5107]={id=5109}, [5108]={id=5109}, [5110]={id=5111}} local config = { actionid = 1221, -- Uma action normal, só para a portar nao abrir. keyaid = 1222 -- A action que deve ter na key } for i, x in pairs(doors) do if ((itemEx.itemid == i) and (itemEx.actionid == config.actionid) and (item.actionid == config.keyaid)) then doTransformItem(itemEx.uid, x.id) doItemSetAttribute(itemEx.uid, "aid", 0) elseif (itemEx.itemid == x.id) and (itemEx.actionid == 0) and (item.actionid == config.keyaid) then doTransformItem(itemEx.uid, i) doItemSetAttribute(itemEx.uid, "aid", config.actionid) elseif (itemEx.itemid == i) and (itemEx.actionid == 0) and (item.actionid == config.keyaid) then doTransformItem(itemEx.uid, i) doItemSetAttribute(itemEx.uid, "aid", config.actionid) end end return TRUE end data\actions\actions.xml <action itemid="IDdeUmaChave" event="script" value="portas.lua" /> Agora uma quest para ganhar a chave que abre a porta. data\actions\scripts\darkey.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { storage = 3235, -- Uma storage, se quiser nao precisa modificar keyID = 2088, -- ID de uma chave, você pode trocar. aid = 1222, -- ActionID, tem que ser o mesmo do script acima. } if getPlayerStorageValue(cid, config.storage) == -1 then local item = doPlayerAddItem(cid, config.keyID,1) if item then doItemSetAttribute(item, "aid", config.aid) setPlayerStorageValue(cid, config.storage, 1) doPlayerSendCancel(cid, "Você recebeu uma key") end else doPlayerSendCancel(cid, "Desculpe, mais você ja fez essa quest") end end data\actions\actions.xml <action actionid="7777" event="script" value="darkey.lua" /> " Lembrando que o bau, ou qualquer outra coisa, deve conter o action id = 7777 " Se você preferir, aqui tem um NPC que vende a mesma key que é pega na quest. data/npc/Diog.xml <?xml version="1.0"?> <npc name="Diog" script="data/npc/scripts/diog.lua" walkinterval="7000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="76" body="96" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|! Eu vendo keys, Diga {keys} para saber quais eu vendo e o valor delas." /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="keys" /> <parameter key="keyword_reply1" value="Eu vendo {Key Quest Editada} por 1000 gps." /> </parameters> </npc> data/npc/scripts/diog.lua 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 keys = { ["Key Quest Editada"] = {id_key = 2088, price = 1000, action_id = 1222}, } local m = keys[msg] if (not m) then selfSay("Eu não vendo esta key ", cid) return FALSE end if doPlayerRemoveMoney(cid, m.price) == TRUE then a = doPlayerAddItem(cid, m.id_key, 1) doItemSetAttribute(a, "aid", m.action_id) selfSay("Obrigado, aqui esta sua key", cid) talkState[talkUser] = 0 else selfSay(" Você não tem ".. m.price.." gps para comprar ", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Configuração
Como você viu, eu nao adicionei todas as portas no script portas.lua, então só iram funcionar em um tipo.
Nao adicionei porque sou preguiçoso, então para você adicionar é simples.
Só seguir esses parametros [iDPortaFechada]={id=IDPortaAberta}, e adicionar em local doors = {}
Agora para adicionar mais keys para o npc vender, é muito simples tambem,
Só você adicionar mais linhas em local keys,
Siga os parametros ["NomeQueOPlayerTemQueFalar"] = {id_key = IDDaKey, price = PreçoDaKey, action_id = 1222},
E mudar para quando o player falar com o npc: <parameter key="keyword_reply1" value="Eu vendo {Key Quest Editada} por 1000 gps e {NomeQueOPlayerTemQueFalar} por 122 gps." />
Script bem facil que eu fiz, qualquer duvida só falar comigo,
Até mais.
-
Linkz deu reputação a JujuLady em [Help] Como adicionar Mega Evolução por SkillBom, darei algumas informações, pois a base que eu uso já tem alguns Megas, porém eu não sei adicionar.
E como já está no título, o Pokémon Mega Evolui apenas quando clico na skill que tem na sua CdBar.
Informações:
Em data/lib/configuration tem a seguinte parte:
Em data/actions/scripts tem o seguinte script:
Nome: swampertite.lua
Bom, caso precise de mais alguma informação, disponibilizarei assim que puder.
-
Linkz deu reputação a Bruno Carvalho em TibiaKing - Changelog de Julho!Estrutura
Nós resolvemos fazer algumas mudanças na estrutura de nosso fórum, e eu vou lista-las abaixo
Todas as áreas de Download (Servidores e Mapas) tiveram suas categorias unidas, agora será somente Normais e Derivados. Os Normais agora contém tags para manter a organização.
Novo Visual
O antigo visual estava trazendo problemas a estrutura do fórum e nós trazemos um novo com o mesmo estilo do anterior, só que menor, melhor e com cores mais bonitas!
Multi Linguagem
Novas mudanças foram feitas e o fórum agora tem uma melhor integração com o inglês, lembrando que qualquer erro de tradução favor reportar a equipe na área de atendimento geral.
Calendário
Adicionamos um calendário ao fórum, nele irá mostrar a data de aniversário de todos e há capacidade de criar eventos.
Você pode criar um evento de lançamento ou promoção do seu servidor ou empresa (ele será aprovado pela equipe para evitar flood), e em até uma semana antes ele pode aparecer nos painéis a direita da página principal!
Também usaremos ele para eventos realizados via fórum e outras coisas que estamos planejando futuramente.
Perfil
Houveram algumas mudanças no perfil.
No cadastro não é mais pedido qualquer informação não relevante. Algumas informações foram corrigidas. Agora somente pedimos as redes sociais mais importantes e da atualidade (o sistema ainda passará por mudanças). Em "Eu Sou" você agora pode escolher mais de uma opção.
Plugins
Alguns plugins do fórum foram atualizados e sistemas como, além de várias correções de bugs...
Sistema de Tópicos Similares está de volta ao fórum! (Desativado temporariamente) Novo sistema de alertas adicionado, o fórum agora está visualmente mais bonito. Mais reputados passou agora a ser um TOP 5. Agora no painel do membro em um tópico aparecerá botões de acesso rápido para melhor comunicação com os membros. O insert nick foi adicionado, agora você pode clicar no @ antes do nome do usuário e ele será mencionado na resposta. Novo plugin com últimos tópicos que você participou adicionado, agora você pode saber onde esteve! Quando você clicar em um tópico ele irá redirecionar para o primeiro post que você não leu. Pesquisas agora estão filtrando por data, e não mais relevância. Tapatalk foi atualizado e muitos bugs foram corrigidos. Adicionado novo sistema de mensagens globais no topo do fórum.
Correções Gerais
Corrigimos muitos problemas que o fórum vinha apresentando, muitas mudanças vocês talvez nem irão notar (ou irão, navegando no fórum), agora também temos um desempenho melhor e esperamos inovar cada vez mais...
Abaixo listamos algumas mudanças notórias
Imagens agora estão menores e com uma largura padrão de 180px, ainda vamos aperfeiçoar esse sistema. Novo plugin próprio do fórum agora permite trazer os recursos mais notórios do TibiaKing para todos os lugares do fórum. Muitas outras correções foram realizadas.
É isso galera, esperamos que gostem das novidades e caso encontrem algum problema, favor relatar para a equipe e ele será corrigido o mais breve possível. Também pretendemos trazer outras novidades em breve!
Ps. Eu criei esse tópico a um bom tempo e tinha me esquecido de postar, então estou lançando ele com as últimas novidades e algumas já antigas...
-
Linkz deu reputação a GabrielSapient em {AJUDA} Novo Client de Poketibia Como Editar.. {URGENTE}Para trocar o fundo você substitui esse arquivo de .png na pasta: OTClient PkR\data\images\background.png
Para compilar você pode seguir esse tutorial atualizadão: http://www.tibiaking.com/forum/topic/45996-compilando-otclient-com-microsoft-visual-studio-2013/
Para trocar o icone Usa o http://www.baixaki.c...urce-hacker.htm
Despois de instalar aperta botão direito no .exe, client em Open using Resource Hacker, depois de aperto em cima, vá em Actions> Replace icon> Open file do lado direito da janelinha ai Clica em seu .ico.
Usa esse site pra converter .png em .ico: http://www.convertico.com/
-
Linkz deu reputação a GabrielSapient em {AJUDA} Novo Client de Poketibia Como Editar.. {URGENTE}Ok.... mas da um rep ae manow.
-
Linkz deu reputação a Davinhow em PokémonCamp Open SourceOlá, estarei disponibilizando no TK o DOWNLOAD do servidor PokeCamp, ótima base Open Source.
Não darei suporte e não colocarei imagens, estou apenas trazendo para o TK, façam bom aproveito!
Informações Básicas:
• Pokémons 1º 2º Geração e 61 Shinys;
• Level system (apenas no summon);
• Task system com contagem;
• Mega Evolução (Apenas um Pokémon está configurado);
•HM System;
• Addon system;
• Autoloot (coletando tudo e indo pra bag);
• Boost System;
• Catch com nova Pokébola GS;
• Sistema de Profissão;
• TV (dando apenas um erro, coisa fácil de arrumar);
• Remakes de alguns Pokémons que não existem em outros servidores;
• OTClient Custom;
• Todos os sistemas do PDA e muito mais...
Download Client+Server+Source
Scan
Créditos:
Bluester
PokeCamp
Wend
Brun123
Overllord/Deadpool (Por Disponibilizar)
Davinhow (Por Trazer a Comunidade TK)
-
Linkz deu reputação a padreesss em PokeXLegendOlá Pessoal Sou Novo Aki Vim Traser Meu 1° Post De Base Lendaria, Editei Essa Base Não Sei De Quem é a Base,
Mais a Editei pra uma amigo mais ele não quis mais, dai eu resolvi pegar essa base so com megas de pokemons Bons vamos la.
[Pokemons Adicionados]
Arch Heatran. [100%]
Hoopa Unbound. [100%]
Shiny Hoopa Unbound. [100%]
Genesect Star. [100%]
Fallen Jirachi. [100%]
Majestic Lugia. [100%]
Black Kyogre. [100%]
Black Groudon. [100%]
Zygarde. [100%]
Shiny Zygarde. [100%]
Power Charizard. [100%]
Shiny Power Charizard. [100%]
Power Raichu. [100%]
Shiny Power Raichu. [100%]
Power Arcanine. [100%]
Shiny Power Arcanine. [100%]
Power Venusaur. [100%]
Shiny Power Venusaur. [100%]
Power Blastoise. [100%]
Shiny Power Blastoise. [100%]
Fotos: http://prntscr.com/bg3e47
[Boxs Adicionadas]
Xerneas Box Level 6000. [100%]
Yveatal Box Level 4000. [100%]
[Sistemas Novos]
Fotos: http://prntscr.com/bg3baw
NPC [SHOP] Donate. [100%]
Fotos: http://prntscr.com/bg3gzq
NPC [SHOP] Stone. [100%]
[Removidos Do Map]
Megas De Boxs Trocados Por Power Pra Tirar um Pouco Do Lag.
Retirado Lag [70%]
[Removidos]
Removidos Bugs [70%]
Removido Bug Que Dava Erro Ao Logar No Account manager [100%]
[Sprints De Todas Box Trocadas]
Box1 a Box19.
[Download] Servidor+Client: https://mega.nz/#!60EDlLiT!LnAvjmlPLZ_FDTHU3KG0pH0yVJ4md8BCM61s_ayIH4Y
[Scan] Servidor+Client: https://www.virustotal.com/pt/file/5fc602ad54c6a668ca06daa96e24239c3c19b0c5e118e04af09abf9c31f16352/analysis/1466248383/
[Scan Avast] : Servidor+Client: http://prntscr.com/bhvydx
[Contato] Facebook: https://www.facebook.com/everton.jesus.54
-
Linkz deu reputação a GabrielSapient em [Pedido]OTCColocar padrão ?
-
Linkz deu reputação a GabrielSapient em [Pedido]OTCSim isso mesmo.
Se ajudei REP+ !
-
Linkz deu reputação a GabrielSapient em Launcher AutoUpdate C#Posso sim, esta no meu perfil...
-
Linkz deu reputação a GabrielSapient em Launcher AutoUpdate C#Valeu !
-
Linkz deu reputação a GabrielSapient em Launcher AutoUpdate C#Galera sempre procurei um Launcher AutoUpdate para meu servidor, depois de muita pesquisa e pouco conhecimento consegui fazer um em C#, está ai:
1. Download:
• Download | • Scan
2. Oque ele faz:
• Verifica a existência da versão local na pasta do cliente; • Se a versão do arquivo não existir, ele assume que a versão é "1.0" e cria um arquivo de versão; • Verifica arquivo .xml no servidor de atualização; • Baixar atualizações para todas as versões maiores do que a versão atual do cliente (atualiza tudo em apenas formato de arquivo .zip); • Extrai os arquivos .zip; • Exclui os arquivos .zip após a extração; • Arquiva a versão atualizada na pasta do cliente; • E, finalmente, desbloqueia o botão "Start Game". 3. Como editar: • Abra o arquivo .sln na pasta "VS Project" com o Visual Studio: Procure por: string Server = "http://127.0.0.1/Updates/"; • Altere o http://127.0.0.1/Updates/ para qualquer URL que você estará hospedando suas atualizações.
• Agora vamos procurar por: Process.Start("OTClient PkR DX9.exe", "\\Pokémon Rusty"); • Modifique o OTClient PkR DX9.exe pelo nome do .exe do seu Client.
• \\Pokémon Rusty e a pasta que está seu .exe e vai ficar seu Launcher. (troque sem tirar os "\\")
• No Visual Studio, selecione o controle WebBrowser(Neste caso, o nome "patchNotes") e alterar a url do "http://127.0.0.1/"para o caminho do arquivo index.html, na pasta do host: OBS: Isto á opcional, é apenas um template em .html. Você pode remove-lo e editar da maneira deseja. • Agora apenas jogue o .exe, .dll e o arquivo version da pasta "Launcher\VS Project\Launcher v2\bin\Debug ou Release" para a pasta de seu Client: Pronto! Agora e com o Site. • No host do site, apos colarmos a pasta Updates, editamos o arquivo Updates.xml, para cada atualização adicionamos um <update> fechamos com </update> como no exemplo do arquivo. Colocamos o arquivo atualização em .zip nessa mesma pasta, editando a versão e o nome no arquivo: • No arquivo version.txt colocamos a versão da nova atualização: • Uma dica para o .zip de atualização é colocar em pastas o caminho no client desejado a fazer update. Exemplo: data/things/854 nesta pasta colocaremos os arquivos que será substituído, no exemplo foi Tibia.spr e .dat. Depois compactamos e deixamos na pasta Updates, sem esquecer de colocar o nome no arquivo Updates.xml. 4. Dica • Pronto! Agora e só criar um instalador com o launcher, com atalho na área de trabalho (o launcher é o .exe que você colocou no client). Você pode modificar o launcher do jeito que quiser, o arquivo index.html e etc. Quando abrir o arquivo ele irá atualizar, liberar o botão "Start Game", e quando você clicar vai fechar o Launcher e abrir o Client. 5. Créditos Eu - Pelo launcher e pelo tutorial. -
Linkz deu reputação a GabrielSapient em [Pedido]OTCVocê quer que apenas fique assim ao logar, mas que fique e não possa mudar ou que possa mudar ?
Para poder mudar e só você abrir o arquivo: "modules\game_interface\gameinterface.lua" e todo setupViewMode(0) coloque setupViewMode(2) acho que no seu vai ter 3 desses.
-
Linkz deu reputação a GabrielSapient em [Pedido]OTCOpa, muitos otclient tem esse mod, veja se o seu tem aperte Ctrl+> duas vezes.
-
Linkz deu reputação a Ashiley132 em Sprites ( Poketibia )Bom, não sei se já existem essas sprites em algum outro Spr e Dat. Terminei de fazer estes seis hoje.
Sprites de alguns Pokemons :
- Shaymin Sky form;
- Shiny Shaymin Sky form;
- Hoopa;
- Lillipup;
- Meloetta Alternative form;
- Mega Mewtwo Y;
Sprites de Itens :
- Mega Ring Feminino;
- Mega Ring Masculino;
- Mega Ring Golden;
- Gardevoirite;
- Latiosite;
- Latiasite;
- Tyranitarite;
- Blastoisinite;
- Charizardite X;
- Charizardite Y;
- Diancite;
- Gengarite;
- Blazikenita;
- Lucarionite;
- Venusaurite;
Corpses :
- Shaymin Sky form;
- Shiny Shaymin Sky form;
- Meloetta Alternative form;
- Lillipup;
- Hoopa;
- Mewtwo ( Como as mega evoluções são temporárias no anime, não me atrevi a fazer um corpse do mega Mewtwo Y )
Downloads :
Scan
Dat e Spr
Prints :
Edit ( 27/06/2015 ) :
Novos adicionados :
- Mega Gallade;
- Emolga.
Prints :
Edit ( 14/08/2015 ) :
Novos Adicionados :
- Diancie;
- Shiny Diancie;
- Gougeirst;
- Alguns pokemons megas obscuros;
- Pedra Chave;
- Colar da pedra chave ( Inspirado no colar de Dianta ).
Prints :