Ir para conteúdo

W0lfer

Campones
  • Total de itens

    43
  • Registro em

  • Última visita

Tudo que W0lfer postou

  1. Em creaturescripts crie mount.lua: function onAdvance(cid, oldLevel, newLevel) local tab = { [20] = {mountid = xx, storage = 11950}, [35]= {mountid = xx, storage = 11951}, [50] = {mountid = xx, storage = 11952} } select = tab[newLevel] if select then if getPlayerStorageValue(cid, select.storage) < 0 then doPlayerAddMount(cid, select.mountid) setPlayerStorageValue(cid, select.storage, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou uma nova montaria por chegar no level " .. newLevel .. ".") end end end em creaturescripts.xml <event type="advance" name="MountByLevel" event="script" value="mountbylevel.lua"/> Em login.lua adicione a linha: registerCreatureEvent(cid, "MountByLevel")
  2. W0lfer

    Ot Host Manager 1.0

    OT Host Manager é um programa que verifica as portas necessárias para rodar um OTserver. Ele vai te mostrar se as portas 7171, 7172 e 80 estão Abertas ou Fexadas. Caso estejam fexadas, voce deve abri-las. Se estiverem abertas, voce está pronto para Hostear um OTserver. Configuração Voce deve primeiramente colocar o IP do OTserver que está configurado no config.lua no campo de texto "Your ip adress". Após isso deixe configurado como na imagem acima as portas e clica em Check e depois em "Can I Host"" Se estiverem todas Open como a porta 80 na imagem acima, você está pronto para rodar um OTserver. Se estiverem como Closed, você deve abri-las no Painel de Controle > Firewall do Windows. ____________________________________________________________ Download: http://www.mirrorcre...ntrol.exe_links Espero que gostem. Se for útil REP+ Créditos: Aldruh
  3. E atravez das querys que coloquei !
  4. W0lfer

    Gamer Youtube [Feed]

    Vou pensar em um comprimento da hora kk
  5. W0lfer

    Gamer Youtube [Feed]

    É meu primeiro vídeo, tava um pouco tímido pra gravar auhauahuahu no proximo vo tentar me soltar mais.
  6. W0lfer

    Gamer Youtube [Feed]

    Se gostaram dê Like e Inscrevam-se no canal!
  7. Voce tem que ir nas paginas php, dar control F, procurar e deletar :X
  8. Servidores 8.6, 9.6 e 9.7 com exclusividade em www.otmaker.com
  9. Obrigado Vou estar trazendo novos conteúdos ao Xtibia.
  10. W0lfer

    Endless World 8.60

    Endless World Elf War-System Sistema De Task Novas Magias: Utori Tempo Buff ML, Exevo Natura Hur Druids, Trudere Truse Sorcerers, Exevo Vigor San Paladins, Exori Min Knights. Contém 4 Cidades Free + 2 Ilhas. (Darkan,Pewter,Entrace,Salazart,Tiquanda) Contém 2 Cidades VIP + Gengia e Oken. Lembrando que todas minhas quests, são Proprias, não são iguais global! Todas são proprias feita por mim! ~ Algumas Quests ~ Annhihilation Quest Demon Oak Quest Demon Helmet Quest Pits Of Inferno Quest Yalaharian Quest E algumas outras.. Demon Hellspawn Temple ~ City Principal. Download Está incluso WebSite + Dabase (com Shop_Offer) e OTserver + Distro TFS 0.4 Creditos: Pedrook - Por fazer o servidor, actions, map e trazer aqui para vocês. Yaguiin - Por ajudar no servidor
  11. Aqui neste tópico postarei para voces um Script "anti clone". Ele NÃO evitará o clone mas com ele você poderá verificar os items clonados e deleta-los. Primeiro vá em data/lib/functions.lua e coloque antes ou depois da ultima function: function generateSerial() local strings = "AaBbCcDdEeFfGgHhIiJjKkLlMmOoPpQqRrSsTtUuVvWwXxYyZz" local newSerialStr, newSerialInt = "", 0 local newSerial = "" local query, query2, query3 repeat for k = 1, math.random(1, 10) do local l = math.random(1, string.len(strings)) newSerialStr = newSerialStr .. string.sub(strings, l, l) end newSerialInt = math.random(999999) newSerial = newSerialStr .. "-" .. newSerialInt query = db.getResult("select * from player_items where substring(convert(attributes using latin1) from 18) = " .. db.escapeString(newSerial)) query2 = db.getResult("select * from player_depotitems where substring(convert(attributes using latin1) from 18) = " .. db.escapeString(newSerial)) query3 = db.getResult("select * from tile_items where substring(convert(attributes using latin1) from 18) = " .. db.escapeString(newSerial)) until query:getID() == -1 and query2:getID() == -1 and query3:getID() == -1 return "!" .. newSerial end Agora em Globalevents/Scripts crie um arquivo track.lua e coloque dentro: tablesToCheck = {"player_items", "player_depotitems", "tile_items", {"player_items", {"player_depotitems", "tile_items"}}, {"player_depotitems", "tile_items"}} function onstartup() local text, final = "", "" local filex = "data/logs/duplicated.txt" local f = io.open(filex, "a+") local count = 0 for i = 1, table.maxn(tablesToCheck) do if type(tablesToCheck[i]) == "string" then local query = db.getResult("SELECT *, SUBSTRING(CONVERT(attributes USING latin1) FROM 18) AS 'track' FROM " .. tablesToCheck[i] .. " WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 18) IN (SELECT SUBSTRING(CONVERT(attributes USING latin1) FROM 18) FROM " .. tablesToCheck[i] .. " WHERE CONVERT(attributes USING latin1) LIKE '%serial%' GROUP BY SUBSTRING(CONVERT(attributes USING latin1) FROM 18) HAVING COUNT(*) > 1)") if query:getID() ~= -1 then while(true) do local delete = db.executeQuery("delete from " .. tablesToCheck[i] .. " where SUBSTRING(CONVERT(attributes USING latin1) FROM 18) = " .. db.escapeString(query:getDataString("track")) .. " and player_id = " .. query:getDataInt("player_id") .. ";") text = "[!] -> Deleting items with duplicated serial from '" .. tablesToCheck[i] .. "': [Player: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. ", Item: " .. query:getDataInt("itemtype") .. ", Count: " .. query:getDataInt("count") .. ", Serial: " .. query:getDataString("track") .."]... " .. (delete and "Success!" or "Failed!") count = (delete and count + 1 or count) final = final .. (final ~= "" and "\n" or "") .. text print(text) if not query:next() then break end end end else if type(tablesToCheck[i][2]) == "string" then local query = db.getResult("SELECT *, SUBSTRING(CONVERT(attributes USING latin1) FROM 18) AS 'track' FROM " .. tablesToCheck[i][1] .. " WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 18) IN (SELECT SUBSTRING(CONVERT(attributes USING latin1) FROM 18) FROM " .. tablesToCheck[i][2] .. " WHERE CONVERT(attributes USING latin1) LIKE '%serial%' GROUP BY SUBSTRING(CONVERT(attributes USING latin1) FROM 18) HAVING COUNT(*) > 0)") if query:getID() ~= -1 then while(true) do local query_ = db.getResult("SELECT *, SUBSTRING(CONVERT(attributes USING latin1) FROM 18) AS 'track' FROM " .. tablesToCheck[i][2] .. " WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 18) IN (SELECT SUBSTRING(CONVERT(attributes USING latin1) FROM 18) FROM " .. tablesToCheck[i][1] .. " WHERE CONVERT(attributes USING latin1) LIKE '%serial%' GROUP BY SUBSTRING(CONVERT(attributes USING latin1) FROM 18) HAVING COUNT(*) > 0)") local delete = db.executeQuery("delete from " .. tablesToCheck[i][1] .. " where SUBSTRING(CONVERT(attributes USING latin1) FROM 18) = " .. db.escapeString(query:getDataString("track")) .. ";") count = (delete and count + 1 or count) local delete2 = db.executeQuery("delete from " .. tablesToCheck[i][2] .. " where SUBSTRING(CONVERT(attributes USING latin1) FROM 18) = " .. db.escapeString(query:getDataString("track")) .. ";") count = (delete2 and count + 1 or count) text = "[!] -> Deleting item with duplicated serial from '" .. tablesToCheck[i][1] .. "' [Player: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. ", Item: " .. query:getDataInt("itemtype") .. ", Count: " .. query:getDataInt("count") .. ", Serial: " .. query:getDataString("track") .."]... " .. (delete and "Success!" or "Failed!") .. "\n[!] -> Deleting item with duplicated serial from '" .. tablesToCheck[i][2] .. "' [Player: " .. getPlayerNameByGUID(query_:getDataInt("player_id")) .. ", Item: " .. query_:getDataInt("itemtype") .. ", Count: " .. query_:getDataInt("count") .. ", Serial: " .. query_:getDataString("track") .."]... " .. (delete and "Success!" or "Failed!") final = final .. (final ~= "" and "\n" or "") .. text print(text) if not query:next() then break end end end else for j = 1, #tablesToCheck[i][2] do local query = db.getResult("SELECT *, SUBSTRING(CONVERT(attributes USING latin1) FROM 18) AS 'track' FROM " .. tablesToCheck[i][1] .. " WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 18) IN (SELECT SUBSTRING(CONVERT(attributes USING latin1) FROM 18) FROM " .. tablesToCheck[i][2][j] .. " WHERE CONVERT(attributes USING latin1) LIKE '%serial%' GROUP BY SUBSTRING(CONVERT(attributes USING latin1) FROM 18) HAVING COUNT(*) > 0)") if query:getID() ~= -1 then while(true) do local query_ = db.getResult("SELECT *, SUBSTRING(CONVERT(attributes USING latin1) FROM 18) AS 'track' FROM " .. tablesToCheck[i][2][j] .. " WHERE SUBSTRING(CONVERT(attributes USING latin1) FROM 18) IN (SELECT SUBSTRING(CONVERT(attributes USING latin1) FROM 18) FROM " .. tablesToCheck[i][1] .. " WHERE CONVERT(attributes USING latin1) LIKE '%serial%' GROUP BY SUBSTRING(CONVERT(attributes USING latin1) FROM 18) HAVING COUNT(*) > 0)") local delete = db.executeQuery("delete from " .. tablesToCheck[i][1] .. " where SUBSTRING(CONVERT(attributes USING latin1) FROM 18) = " .. db.escapeString(query:getDataString("track")) .. ";") count = (delete and count + 1 or count) local delete2 = db.executeQuery("delete from " .. tablesToCheck[i][2][j] .. " where SUBSTRING(CONVERT(attributes USING latin1) FROM 18) = " .. db.escapeString(query:getDataString("track")) .. ";") count = (delete2 and count + 1 or count) text = "[!] -> Deleting item with duplicated serial from '" .. tablesToCheck[i][1] .. "' [Player: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. ", Item: " .. query:getDataInt("itemtype") .. ", Count: " .. query:getDataInt("count") .. ", Serial: " .. query:getDataString("track") .."]... " .. (delete and "Success!" or "Failed!") .. "\n[!] -> Deleting item with duplicated serial from '" .. tablesToCheck[i][2][j] .. "' [Player: " .. getPlayerNameByGUID(query_:getDataInt("player_id")) .. ", Item: " .. query_:getDataInt("itemtype") .. ", Count: " .. query_:getDataInt("count") .. ", Serial: " .. query_:getDataString("track") .."]... " .. (delete and "Success!" or "Failed!") final = final .. (final ~= "" and "\n" or "") .. text print(text) if not query:next() then break end end end end end end end if f ~= nil then f:write("[" .. os.date("%d %B %Y %X ", os.time()) .. "] >> [Anti-Dupe] " .. count .. " duplicated items have been deleted from the database.\n" .. (final == "" and "[!] -> No duplicated item was found in the database" or final) .. "\n\n") f:close() else print("[!] -> [Anti-Dupe] Cannot save info to file!") end return true end e em Globalvents.xml <globalevent name="trackitems" type="start" event="script" value="trackitems.lua"/> Para "adicionar" a table Serial na Database execute essa query: SELECT * , SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) AS 'serial' FROM player_items WHERE CONVERT( attributes Para verificar os items duplicados execute essa query: --Use this command to see duplicated items on players inventory SELECT * , SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) AS 'duplicated serials' FROM player_items WHERE SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) IN ( SELECT SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) FROM player_items WHERE CONVERT( attributes USING latin1 ) LIKE '%serial%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) HAVING COUNT( * ) >1 ) --Use this command to see duplicated items on players inventory or depot items SELECT * , SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) AS 'duplicated serials' FROM player_items WHERE SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) IN ( SELECT SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) FROM player_depotitems WHERE CONVERT( attributes USING latin1 ) LIKE '%serial%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) HAVING COUNT( * ) >1 ) --Use this command to see duplicated items on players depots SELECT * , SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) AS 'duplicated serials' FROM player_depotitems WHERE SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) IN ( SELECT SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) FROM player_depotitems WHERE CONVERT( attributes USING latin1 ) LIKE '%serial%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) HAVING COUNT( * ) >1 ) --Use this command to see duplicated items on player_items and player_depotitems (Example of usage) --Use this command to see duplicated items on players depots SELECT * , SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) AS 'duplicated serials' FROM player_items WHERE SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) IN ( SELECT SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) FROM player_depotitems WHERE CONVERT( attributes USING latin1 ) LIKE '%serial%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 18 ) HAVING COUNT( * ) >0 Créditos: Darkhaos
  12. Por que esse tópico? Criei este tópico para esclarecer o que é e a diferença entre cada um. Recomendação Recomendo a todos que comecem com VPS e depois do sucesso do OT, aluguem um dedicado. Servidor Dedicado Virtual Private Server (VPS) Resumo Dedicado é um computador físico exclusivo para você. Virtual Private Server (VPS) é uma pequena parte de um Dedicado, ou seja um PC divido. Conclusão Concluindo, Dedicado é melhor que VPS.
  13. Cara isso é um script, não precisa de nenhum complemento '-' E sim, ao clciar voce ganha pontos.
  14. Obrigado, ja modifiquei. REP+
  15. Bom, ainda sou iniciante em Script, postei o Script que deu certo. Sobre a correção eu alterei apenas o "doRemoveItem(cid, item.uid, 1)" porque o resto ta funcionando, é o que importa.
  16. Amigo é meu sim; Eu estou copiando os tópicos meus de outro fórum. Chamo-me WarW0lf e não colocarei os créditos, pois é de minha autoria.
  17. Descrição: O mais completo website usado atualmente pelos melhores servidor, pois além de possuir uma funcionabilidade incrível conta com interatividade para os players. Com todos os script que se encontra de melhor. Oque possui? - Ranking Lateral 100% - Anti SQL Injection 100% - Videos System (Script: Compartilhamento de videos de “WAR,QUESTS,HUNTS”) - Pagseguro Automático (Script: Faz a verificação e envia pontos automáticamente aos donantes) - Menu Events (Script: Permite aos players visualizarem todos os eventos que você possui) - Buy Points 100% RL (Script: Sistema de doação idêntico ao Tibia.com) - Create Account 100% RL (Script: Criação de conta e character de uma só vez oque facilita para os players) - Visual do Tibia.com mais atualizado possível - Paginas Ranking e Guilds idênticas ao Tibia.com - Character’ Page (Totalmente customizada com um visual muito legal) - Shop system (Script: Possui subdivisões para melhor organizar suas vendas) - Entre outras coisas… Download Créditos: ChaitoSoft
  18. Muitos ja viram no GlobalWar que tem uma quest que dá um doll que adiciona level para quem usa. Fiz um parecido e gostaria de compartilhar com vocês Adicione esta linha em actions.xml: Troque o ID pelo ID do item que voce quer que sirva de Level Doll. Agora vá em actions/scripts e cria um arquivo leveldoll.lua e adicione: E seja feliz
  19. Este sistema é vendido por 10,00 ~ 19,90 por algumas empresas e estou liberando gratuitamente para vocês. Detalhes: Os players conseguirão subir telhados com a ROPE. <iframe width="640" height="360" src="http://www.youtube.c...layer_embedded" frameborder="0" allowfullscreen></iframe> Versão 8.60 Vá em data/actions/scripts/tools/rope.lua e troque tudo que estiver la por isto: Versão 9.60 ~ 9.70 Espero que gostem
  20. W0lfer

    Global Tps [8.60]

    Ae galera to aqui pra postar um OT que varias pessoas me pediram que é o Global com TPS sem nenhum Bug. Um servidor que usa ele é o Confidence World bem conhecido #Descrição: Esse servidor é considerado inovador no mundo do otserver, pois é uma nova modalidade de servidor global, muito famoso entre os players. Possui muitos adeptos e, dificilmente, é encontrado um servidor adaptado a este mapa com poucos players. Difere-se do Global TPS em relação à quantidade de sistemas. #O que possui? - War of Emperium (Evento) - Dota Conquest (Evento) - Coliseum Arena (Evento) - Vip Test (Script) - Bonus 50+ (Script) - Database completa (DB) - TFS 0.4 (Distro: Anti-Divulgação, War System e No-otbm check) - Task 80% RL (Script: Com ranking e bonus bosses) - War System com escudos (Script) - VIP System (Script) - 2 cidades VIP Oken e Gengia (Mapa) - 10 items VIPS (Script) - +150 teleports free (Mapa) - Entre outras coisas... *OBS: Este servidor só funciona em S.O. Windows ou Linux com +3GB de RAM Download
  21. Ei! Quer aumentar a venda e o comercio in game do seu OTserver? Aqui vou te ensinar a criar um item que adiciona pontos no shop ao usa-lo. Em data/libs crie 048-ppoints.lua e coloque dentro: -- Sirion_Mido Says: Credites to: LucasFerraz -- Sirion_Mido Says: Credites to: LucasFerraz -- Sirion_Mido Says: Credites to: LucasFerraz function getAccountPoints(cid) local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function doAccountAddPoints(cid, count) return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end function doAccountRemovePoints(cid, count) return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) - count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end -- Sirion_Mido Says: Credites to: LucasFerraz -- Sirion_Mido Says: Credites to: LucasFerraz -- Sirion_Mido Says: Credites to: LucasFerraz Em data/actions/scripts crie points.lua e coloque: local cfg = { amount = 10 -- here how many points you want } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 8 then doAccountAddPoints(cid, cfg.amount) doCreatureSay(cid, "CONGRATULATIONS! You have recived 10 premium points!. ", TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(cid), 28) doRemoveItem(item.uid,1) else doPlayerSendCancel(cid,"You need level 8 or higher to use this item.") end return TRUE end e em actions.xml adicione a linha: <action itemid="5952" event="script" value="points.lua"/> Creditos: Lucas Ferraz e Sirion Mido Por trazer: WarW0lf (eu)
  22. Que tal dar de presente para o seu player, o promotion? Vá em creaturescript/scripts e crie promote.lua: function onAdvance(cid, skill, oldlevel, newlevel) local config = { level = 20, storage = 6576, } if (getPlayerLevel(cid) >= config.level and getCreatureStorage(cid, config.storage) <= 0) then doCreatureSetStorage(cid, config.storage, 1) doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE, 'Voce foi promovido!') return doPlayerSetPromotionLevel(cid, 1) end end Agora em creaturescripts.xml adicione a linha: <event type="advance" name="promote" event="script" value="promote.lua"/> e em creaturescripts/scripts em login.lua adicione essa linha: registerCreatureEvent(cid, "promote") Créditos: Kimoszin Fim@Final@Bye
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...