Ir para conteúdo

DeCarvalho

Barão
  • Total de itens

    206
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que DeCarvalho postou

  1. Apoio.. eu faço isso nos scripts/sistemas que tenho trazido.. ajuda muito .. mas mesmo assim ainda tem gente sem noção que vem e pergunta .. 'funciona em 0.3.6/0.4?' kkkkkkkk bem de qualquer maneira seria interessante o admin do forum adicionar no sistema as tags de forma mais ampla .. e postar um aviso sobre a 'nova' funcionalidade com fim de deixar mais 'clara' a identificação //não posso dar likes :'(
  2. maneiro mesmo Agora basta alguém com conhecimento para tal e com vontade de fazê-lo
  3. Eu que agradeço pois tenho sido ajudado em algumas coisas.. acho que nada mais justo que eu por não saber, procurar algum conteúdo que não tenha visto ou não seja atualizado para versões novas, estar compartilhando
  4. Feito por Sir Islam e é bem simples.. Caso você nbão tenha na db execute a query db.query("INSERT INTO `player_namelocks`(`player_id`, `reason`, `namelocked_at`, `namelocked_by`) VALUES (".. PlayerGUID.."," .. db.escapeString(reason) .. ","..timeNow.."," .. player:getGuid() .. ")") NameLock Em talkactions.xml adicione <talkaction words="/namelock" separator=" " script="namelock.lua" /> <talkaction words="/unlock" separator=" " script="unlock.lua"/ Em namelock.lua adicione function onSay(player, words, param) if not player:getGroup():getAccess() then return true end local name = param local reason = '' local separatorPos = param:find(',') if separatorPos ~= nil then name = param:sub(0, separatorPos - 1) reason = string.trim(param:sub(separatorPos + 1)) end local PlayerGUID = getPlayerGUIDByName(name) if PlayerGUID == 0 then return false end local timeNow = os.time() db.query("INSERT INTO `player_namelocks`(`player_id`, `reason`, `namelocked_at`, `namelocked_by`) VALUES (".. PlayerGUID.."," .. db.escapeString(reason) .. ","..timeNow.."," .. player:getGuid() .. ")") local target = Player(name) if target ~= nil then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, target:getName() .. " has been Namelock.") target:remove() else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, name .. " has been Namelock.") end end Em unlock.lua adicione function onSay(player, words, param) if not player:getGroup():getAccess() then return true end local resultId = db.storeQuery("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(param)) if resultId == false then return false end db.asyncQuery("DELETE FROM `player_namelocks` WHERE `player_id` = " .. result.getDataInt(resultId, "id")) result.free(resultId) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, param .. " has been unlock.") return false end .~> Como usar /namelock nome, motivo /unlock nome Curtiu? da um rep ae né fi
  5. Bem, não é novidade que não manjo dos paranauê.. sei fazer/alterar o básico para alguma necessidade minha, enfim.. vi por ai diversos scripts sobre isso, mas antigos.. nenhum que me sirva então gostaria de saber se alguma alma caridosa poderia fazer/disponibilizar/atualizar para mim um script configurável assim ... .~> Como irá funcionar.. Inicialmente quero aplicar a essa area.. Gostaria de que quando o player (caso tenha completado uma quest ou qualquer coisa que libere uma storage qualquer), poderia remover a barra de ferro que esta trancando a passagem.. A ideia do basin é 'cobrar pedágio', o player que tem a quest feita, ficaria parado no sqm acima ou abaixo do basin , colocaria um item (configurável) no basin e a grade desapareceria por um tempo configurável. Creio que ao abrir um lado seria interessante adicionar uma storage que seria verificada na próxima tile, para evitar engraçadinhos, caso um player sem storage passe a barra aparece novamente na mesma hora... e indo de [1] para [2], funcionaria da mesma maneira, visto que ao pisar no tile [2] ele não teria a storage correta e a barra se fecharia logo atras. caso haja um player que completou a quest/matou certo monstro esteja parado acima/abaixo do basin mas um que não o fez esteja na tile da frente, logo na grade, seria enviada uma msg avisando que a grade não pode ser aberta.. E para evitar gente sacaneando ele também teleportaria o/os player/s ali para um local configurável, caso tenha 2 players no mesmo sqm acima/abaixo do basin ele teleportaria o que não tem a storage da quest.. gostaria que o item usado em cada basin possa ser configurado de forma independente.., ex usar uma white pearl para ir e uma black pearl para voltar.. Acho que é bem complexo, mas ficaria muito grato se alguém fizesse.. um bonus seria quem fizer 'ensinar' como fazer para alterar o script caso eu queira usar em outro lugar de outra forma.. tipo puxando um lever para remover uma pedra que iria reaparecer novamente depois de um tempo..
  6. Que bom É muito maneiro.. apesar de eu não saber criar, gosto de procurar coisas interessantes pois sei que muita gente não procura por não saber ingles/espanhol ou por não ter intimidade com o 'computador' .~^ mesmo que um ou 2 comentários, e umas curtidas já da uma animada em saber que não é tempo 'perdido' estar garimpando os forums gringos em busca de 'coisas' interessantes Grato pelos reps e comments
  7. Entendo, desculpe a minha ignorância na pergunta.. mas não tem uma maneira de fazer a verificaçãod e player sem vocação e não liberar acesso ao item? se a vocação for = 0 ele envia uma msg dizendo que não pode usar o item 22:53 You see your inbox (Vol:30). Item ID: 14404 Position: 382, 163, 7 22:53 You see the market. Item ID: 14405 Position: 382, 163, 7 .. tipo o meu npc de banco, se tentarem transferir para um jogador sem vocação ele informa que não é possível.. Não seria mais simples bloquear o uso do item.id se a vocação for igual 0? O char acessa o locker normalmente, o depot, inbox e o market estarão la dentro, mas se ele não tiver vocação ele simplesmente não vai acessar.. nesse caso nem precisa de mexer com db, creio eu.. [edit] tendo esse sistema eu posso pedir para alguém só trabalhar na verificação da db em cima de item recebido no correio retornando para quem enviou. Mas o mais importante é fazer que o mesmo não tenha acesso.. // Alguma novidade? alguém?
  8. Muito Obrigado iai fera, faz assim, abre um mapa novo e ir em file>import>import map
  9. Bem bem bem bem.. venho trazer aqui um sistema/script seja la como quiser chamar que me chamou bema a tenção por ser bem interessante.. Feito pelo Karain (qual pedi autorização para repostar).. inicialmente havia sido feito para 0.4, inspirado num mini game para mc mas com a tendência de mudança e pedidos da comunidade o mesmo foi atualizado.. Não me peçam 0.4 pois ele não disponibilizou.. e bem.. atualizem-se né... eu não suporto 0.4 (para quem não entende, não suporto de não apóio) .~> Sobre o sistema - Como funciona <~. Primeiramente, se o jogador decidir se juntar a lista de espera do evento ele irá utilizar o comando !join hunger games e pronto.. estará na lista de espera. Depois de um tempo e quantidade de players para o evento (ambos configuráveis), assim que o evento começar eles serão teleportados para um local; terão todos seus items removidos de forma segura para um depot (configurável) Em cada mapa haverá chests que tem uma chance (random) de conter alguns items, o player precisa encontrar e coletar com intenção de sobreviver e ser o último player vivo. Premio configurável .~> Mapa<~. o mapa não foi feito pelo Karain, caso você seja dono do mapa e tenha como provar, por favor informe para que seu nome seja colocado nos créditos Download Do Mapa Aqui P.s.: não sei colocar scan nem como faz, se for preciso scan alguém faz por favor que eu edito o post Bug conhecido (mas acho que para server que não fique reiniciando isso não venha a ser um problema..) não testei essa parte para ver o que realmente ocorre.. // [edit]Código para correção do bug (não oficial) após o hunger.lua do global events[/edit] - alguns items podem não retornar ao player após o evento, mesmo que tenha sido carregado no mapa e nos scripts, no entanto, irá funcionar se o player tiver visitado o depot ao menos uma vez, em que o server ficou online Changelog 1.0.0 23 de julho 2015 : Liberado 1.0.1 29 de julho 2015 : Arrumado a atualziaçãod e items no chest após um player o abrir. 1.0.2 30 de julho 2015 : -Corrigido um erro fatal que acontecia quando um player morria ou dava logout enquanto no evento. -Adicionado o comando !ragequit que faz o jogador se matar enquanto no evento. 1.0.3 8 de agosto 2015: Corrigido bug que fazia o evento death ser executado em qualquer situação pvp, arquivos alterados: - creaturescripts/scripts/hunger.lua 1.0.4 9 de agosto 2015: Corrigido um debug no client por conta de broadcasts, obrigado ao silveralol, arquivos alterados: -globalevents/scripts/hunger.lua -creaturescripts/scripts/hunger.lua -creaturescripts/scripts/eventlogout.lua 1.0.5 30 de agosto 2015 (não oficial): Adicionado uma alteração para o problema de recuperação de items -globalevents/scripts/hunger.lua .~> Códigos <~. Em globalevents/globalevents.xml <globalevent type="startup" name="hunger" script="hunger.lua"/> Crie um arquivo chamado hunger.lua em globalevents/scripts e cole isso Em 30/08 o usuário Mokerhamer apareceu com uma solução para o problema que fazia com que alguns players não conseguissem recuperar os items após o evento, adicionando uma função clone, então funciona abrindo ou não o dp antes do evento.. estou sem pc novamente então não pude testar e o Karain até o momento não se pronunciou, de qualquer maneira parece promissor então vou colocar aparte. alterem por conta e risco. Altere a função player:getbackitems do código acima por este Em creaturescripts/creaturescripts.xml <event type="logout" name="eventlogout" script="eventlogout.lua"/> <event type="death" name="hunger" script="hunger.lua"/> Em creaturescripts/scripts/login.lua antes do return true player:registerEvent("hunger") Em creaturescripts/scripts/eventlogout.lua Em creaturescripts/scripts/hunger.lua Em talkactions/talkactions.xml <talkaction words="!join" separator=" " script="join.lua"/> <talkaction words="!ragequit" separator=" " script="leave.lua"/> Em talkactions/scripts/join.lua Em talkactions/scripts/leave.lua Em actions/actions.xml <!-- Hunger Games Chests --> <action fromaid="60101" toaid="60499" script="games/hunger.lua"/> <action fromaid="61101" toaid="61499" script="games/hunger.lua"/> <action fromaid="62101" toaid="62499" script="games/hunger.lua"/> Em actions/scripts/hunger.lua Curtiu da um rep ae né.. não arranca pedaço da mão e incentiva a trazer mais.. se você for sovina e n gostar de dar rep, ao menos um obrigado ja ta bom.. pelo menos mostra que esta valendo a pena ficar procurando sistemas maneiros para trazer, pedir autorização e traduzir as informações... [edit] para evitar problemas façam testes antes, fui informado por pm que as vezes mesmo indo ao dp antes alguns items ainda não retornam.. eu fiz um teste básico no sistema e não tive esse problema.. mas é melhor prevenir, por isso antes de colocar o sistema on no seu server façam stress test .Certamente o Karain esta tentando resolver mas mesmo assim eu fiz um post no seu tópico perguntando sobre informações mais detalhadas sobre e se esta sendo feito algo [edit 08/08] Alteração no script - vide Changelog [edit 09/08] Alteração no script - vide Changelog [edit 30/08] Alteração para o script - vide Changelog
  10. Ola, gostaria de saber se alguém pode fazer para mim um script configuravel de npc onde um jogador sem vocação ao escolher a vocação e para onde deseja ir.. o sistema faça uma redução nos skills de acordo com a vocação desejada.. Tal qual acontece quando alguém vai de dawnport para rook.. ja cheguei a ficar treinando em dawnport até pegar 60/55 e voltar pra rookgaard com uma enorme redução... Enfim, se puder deixar a configuração de forma clara.. possibilidade de adicionar varias cidades (posições) redução em % da skill configuravel para cada 'elemento' melee(sword/club/axe/fist), distance, shield e magic e de acordo com cada vocação Grato
  11. Eu tava online na hora que o karain tinha postado.. dei uma testada por alto e pedi autorização pra trazer... particularmente não me ganhou.. mas tem gente que curte né isso de modalwindow é bem top e deixa com um ar bem moderno mesmo
  12. Esse sistema/script/sei lá o que foi desenvolvido por Karain que quis trazer um 'ar' mais moderno ao tibia.. Com esse script conversar com o npc será mais uma experiência mais amigável, continua sendo customizável mas de uma forma mais fácil! Como instalar Em data/creaturescripts/creaturescrips.xml adicione <event type="modalWindow" name="Dialogue" script="dialogue.lua"/> Em data/creaturescripts/scripts/login.lua adicione isso antes do "return true" player:registerEvent("Dialogue") Crie em data/creaturescripts o arquivo dialogue.lua e adicione player_choices = {} defaultButtons = {{id = 0x00, text = "Select", enter = true, escape = false}, {id = 0x01, text = "End", enter = false, escape = true}} function Player:getChoiceText(choice_id) if player_choices and player_choices[self:getId()] then return player_choices[self:getId()][choice_id].text else return false end end function Player:createDialogueWindowWithButtons(modalWindowId, headerText, bodyText, buttonTable, choiceTable, sendToPlayer, priority) local var = ModalWindow(modalWindowId, headerText, bodyText) for i = 1, #buttonTable do var:addButton(buttonTable[i].id, buttonTable[i].text) if buttonTable[i].enter then var:setDefaultEnterButton(buttonTable[i].id) end if buttonTable[i].escape then var:setDefaultEscapeButton(buttonTable[i].id) end end player_choices[self:getId()] = choiceTable for i = 0, #choiceTable do if choiceTable[i] ~= nil and (choiceTable[i].storage == false or self:getStorageValue(choiceTable[i].storage[1]) == choiceTable[i].storage[2]) then var:addChoice(i, choiceTable[i].text) end end if not priority then var:setPriority(false) end if sendToPlayer then var:sendToPlayer(self) end end function onModalWindow(player, modalWindowId, buttonId, choiceId) -- be careful here if you have other modalwindow scripts if buttonId == 0x00 then player:say(player:getChoiceText(choiceId),TALKTYPE_SAY) elseif buttonId == 0x01 then player:say("Good Bye.",TALKTYPE_SAY) end return true end Crie em data/npc/scripts o arquivo dialogue.lua e adicione local npc_dialogue = { [1] = { message="This is the message that shows up before the choices, make sure it's long enough if you are having long choices.", choices= { [1]={text="Choice 1", storage=false, dialogue=1, script="end"}, [2]={text="Choice 2",storage=false, dialogue=2, script="script1"}, [3]={text="Choice 3",storage={1234,1}, dialogue=3, script="trade"}, [4]={text="Choice 4",storage=false, dialogue=3, script="quest"}, [5]={text="Choice 5",storage=false, dialogue=false, script="quest2"}}}, [2] = { message="Bla bla bla bla bla bla bla.", choices= { [1]={text="Choice 1",storage=false, dialogue=1, script="end"}, [2]={text="Choice 2",storage=false, dialogue=2, script="end"}, [3]={text="Choice 3",storage={1234,1}, dialogue=false, script="end"}, [4]={text="Choice 4",storage=false, dialogue=false, script="end"}, [5]={text="Choice 5",storage=false, dialogue=3, script="end"}}}, [3] = { message="Brought to you by Matt Shadowwing.", choices= { [1]={text="Choice 1",storage={1245,2}, dialogue=false, script="end"}, [2]={text="Choice 2",storage=false, dialogue=false, script="end"}, [3]={text="Choice 3",storage={1234,1}, dialogue=false, script="end"}, [4]={text="Choice 4",storage=false, dialogue=1, script="end"}, [5]={text="Choice 5",storage=false, dialogue=2, script="end"}}} } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local talkstate = {} local function greetCallback(cid) local player = Player(cid) local npc = Npc(getNpcCid()) npcHandler:setMessage(MESSAGE_GREET, npc_dialogue[1].message) player:createDialogueWindowWithButtons(1, npc:getName(), npc_dialogue[1].message, defaultButtons, npc_dialogue[1].choices, true, false) talkstate[player:getId()] = 1 return true end local function creatureSayCallback(cid, type, msg) local player = Player(cid) local npc = Npc(getNpcCid()) if not npcHandler:isFocused(cid) then return false elseif talkstate[player:getId()] then for _, v in pairs(npc_dialogue[talkstate[player:getId()]].choices) do if msgcontains(msg, v.text) and (v.storage == false or player:getStorageValue(v.storage[1]) == v.storage[2]) then if v.script == "end" then talkstate[player:getId()] = v.dialogue npcHandler:say(npc_dialogue[v.dialogue].message, cid) player:createDialogueWindowWithButtons(1, npc:getName(), npc_dialogue[v.dialogue].message, defaultButtons, npc_dialogue[v.dialogue].choices, true, false) elseif v.script == "trade" then -- trading script here talkstate[player:getId()] = v.dialogue npcHandler:say(npc_dialogue[v.dialogue].message, cid) player:createDialogueWindowWithButtons(1, npc:getName(), npc_dialogue[v.dialogue].message, defaultButtons, npc_dialogue[v.dialogue].choices, true, false) elseif v.script == "quest" then -- quest script here talkstate[player:getId()] = v.dialogue npcHandler:say(npc_dialogue[v.dialogue].message, cid) player:createDialogueWindowWithButtons(1, npc:getName(), npc_dialogue[v.dialogue].message, defaultButtons, npc_dialogue[v.dialogue].choices, true, false) end end end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Em data/npc/lib/npcsystem/npchandler.lua altere todos os TALKTYPE_PRIVATE_PN para TALKTYPE_SAY Depois é só criar seu npc.xml referenciar o lua e seja feliz.. Qualquer problema eu terei que repassar para o criador pois não sou apto a dar suporte.. Estou somente trazendo para cá!
  13. "The most fundamental harm we can do to ourselves is to remain ignorant by not having the courage and the respect to look at ourselves honestly and gently"
  14. Flawless Deception
  15. Ficou bem maneiro e funcional. é fácil adaptar para 1.2?
  16. Bem, não vou falar muito do projeto pois o que gostaria de saber é a opinião sobre "seria interessante?" Bem meu projeto inicialmente é pessoal e com alguns conhecidos que tem interesse em estar jogando.. É meio que Full Rpg, para quem não sabe FullRpg é server sem tps, sem isso de munição infinita, blah blah blah.. Como não trabalho com essas coisas, 99% dos systemas são pegos na internet e implementados, quando não eu peço ajuda para o pessoal nos fórums com intenção de por o sistema para funcionar no tfs 1.2.. tenho a agradecer todas as pessoas que disponibilizam sistemas e que têm me ajudado a resolver os problemas que não tenho ideia de como fazer O foco inicial é em no vocation players, claro que tudo será revisado.. mas os sistemas são ~> Sistema de Encantamento de equipamento Colocando shield +9 e depois encantando Imagens Enchant Level up Imagens loots Vídeos ml+ e mana+ Vídeo Fire Damage, Range e Skill+ Vídeo Life Drain, Fire, Water and Normal Damage Vídeo Rings & Amulets Vídeo Loot .~> Sistema de Crafting Avançado -~> Sistema de Alquimia Avançada Vídeo do Alchemy Systtem .~> Pesca Avançada .~> Banco .~> Sistema de Revive (estou alterando) Vídeo Do Sistema .~> Sistema de teleport Obs.: ter esse sistema de teleport não tira a ideia de fullrpg, não é um item que todo mundo terá.. ainda sendo decidido como fazer.. se poderá ser criado com craft, quest, loot de boss, todas essas opções ou só algumas.. enfim Vídeo do Funcionamento do Portal Bem ainda não upei os outros vídeos mas é isso Só existe um bug encontrado até o momento. no sistema de encantamento.. Segue o vídeo Gostaria de saber o que acham de um server low rate, rpg, custom map(eternal kingom alterado), com sistemas assim.. *edit ~ Adicionado vídeo do sistema base de alquimia
  17. 1° - Overpower 2° - Avuenja 3° - Burno Minervino
  18. Então não colocarei o locker na area.. com esse script do tile de pressão eu colocar onde desejar esse tile, assim que o char pisa no local no inventário (seria na bp?) aparece o depot(só o depot, não quero mail nem market), guarda o que quer, retira e ao sair do tile o depot some.. mas as informações dos items continuam lá. certo?
  19. Pois é, não sabia.. ainda mais por ser uma sessão que eu não uso.. Vê se cresce infeliz.. como se eu fosse obrigadoa saber de tudo, se você sabe.. parabéns.. agora vai tomar leitinho
  20. O sistema esta bom, fizeram papagaiada diendo que é não é mais sistema operacional.. é um service.. desde que lançaram o programa insider.. mas pffff é só um windows modificado.. para dizer que é algo novo.. não há muito o que se falar sobre o dx12 pois não há o que usar, parece que o primeiro jogo que irá utilizar dx12 está para ser lançado.. a não ser isso só quem usa para desenvolver pode falar.. como meu projeto é um jrpg 2d para windows phone não tenho muito o que dizer sobre isso.. mas pelo preview do unity 5 com dx12 da para se dizer que está bom sim.. bem gosto é q nem **.. além do que esse é um tópico de windows.. se gosta de *nix abra um pra vc e vá falar dele lá flammer atoa
  21. Bem, o problema é exatamente o informado no titulo, hotmeys não funcionam.. eu configuro a hk mas quando vou usar nada acontece.. nenhum erro no console.. Quando é uma frase ele sai, quando é pot na tela do jogo é informado que não posso "atirar' diretamente em jogadores, e quando é runa/vara de pescar coisas que se usa com a seta ele não faz coisa alguma Procurei em varios lugares algo que me ajudasse e nada, então estou vindo perdir ajuda para tentar resolver isso.. Uso tfs 1.2 e o unico sistema que adicionei que se refere a hk é uma de advanced potion que tem essa configuração realPvpMode = false, -- True = Players can't use potions for hotkeys || False = Players are allowed to use potions for hotkeys. if isHotkey and config.realPvpMode == true then caster:getPosition():sendMagicEffect(CONST_ME_POFF) return caster:sendTextMessage(MESSAGE_INFO_DESCR,"Hotkey use is disabled for potions!") end Mas como está de boa nãoo creio que seja isso, alguém com paciência e disponível para ajudar?! Bem, gostaria de pedir desculpas por ter postado sem ter ao menos olhado TODAS as possibilidades.. sei lá por que motivo fui abrir o config.lua e o hotkeyAimbotEnabled estava = false, coloquei = true e ta funcionando Malz ae #Resolvido
  22. Vou estar por aqui, agradeço a intenção de ajudar, se conseguir melhor ainda.. darei varios reps
  23. Antes que caia nos 60 dias.. por que não dar um bump nisso bem.. acho que não é flood né 3:)
  24. Pois bem, volte atras e refaça todo o caminho de 'instalação' do sistema, de preferência como esta sendo pedido.. Não tenho certeza ams parece que você usa load de libs automático (estilo 0.4) enfim, para encargo de consciência , faça do modo tradicional.. tal qual pedido no post.. Eu cheguei a ter um erro mas foi por eu ter colocado de forma diferente.. o próprio razor indicou que eu fizesse os passos novamente da forma pedida e funcionou.. Estou com ambos sistemas funcionando e testados de todas as formas possíveis... Sei que é chato, mas seria bom se fizesse isso.. Grato
  25. Esse erro esta acontecendo somente com smelt? Quando você usa a faca na pele(tan) ou quando usa o lava mill (smith) ocorre o mesmo erro ou as janelas abrem normalmente?
  • Quem Está Navegando   0 membros estão online

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