Ir para conteúdo

Lyu

Membro
  • Registro em

  • Última visita

Tudo que Lyu postou

  1. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    Você precisa postar o seu script para nós tentarmos arrumar para você.
  2. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    vai em config.lua e procure por encryptionType, em seguida veja se está em "sha1", se estiver é porque você terá que mudar na database, não lembro mt como faz mas vou ver se vejo aqui.
  3. cara fiz aqui um mas não testei, adicione a uniqueid : 5000 no teleport (id 1387) pelo remeres e crie um arquivo lua na pasta movements/scripts dps coloca isso ai : function onStepIn(cid, item, fromPosition, itemEx, toPosition) position = {x = 0, y = 0, z = 0) if getGlobalStorageValue(55554) == -1 then doTeleportThing(cid, position) doSendMagicEffect(getThingPos(cid), 10) addEvent(overTime, 30 * 1000, cid) setGlobalStorageValue(55554, 1) end return true end function overTime(cid) if isCreature(cid) then if getGlobalStorageValue(55554) == 1 then doTeleportThing(cid, getTownTemplePosition(1)) doSendMagicEffect(getThingPos(cid), 10) setGlobalStorageValue(55554, -1) end end return true end depois adicione a tag no movements.xml : <movevent type="StepIn" uniqueid="5000" event="script" value="arquivo.lua"/> lembrando que você terá que colocar no-logout para não cancelar o addevent e criar outro teleport via script com storageglobal para o player sair da sala manualmente, faça assim : function onStepIn(cid, item, fromPosition, itemEx, toPosition) position = {x = 0, y = 0, z = 0) doTeleportThing(cid, position) doSendMagicEffect(getThingPos(cid), 10) setGlobalStorageValue(55554, -1) return true end esse script é pra cancelar o addevent e outro player entrar. abraço!
  4. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    Players com 1 reset, é isso? Se for, o sistema de reset é via dababase sem valor de storage? Se for, eu acho q consigo fazer.
  5. nunca mechi com poketibia mas creio que seja igual aos não derivados, vai em config.lua e procure por : newPlayerLevel, em seguida mude lá!
  6. Obrigado man, fico feliz com a sua opinião, sou seu fã! *-* Haha! valeu parça
  7. Como o Adriano disse, explique melhor como você quer que funcione este método mal explicado por você EAHUEA! :/ SEM OFENÇAS!
  8. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    tenta assim, não testei ;/ ----------------------------------- ---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS ----------------------------------- function onUse(cid, item, frompos, item2, topos) ------------------ Inicio das Config ------------ local castle_one_name = "Baiakuda" -- Nome do castelo 1 local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está...) -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 0 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 13 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 2160 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) <= os.time() then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes+1, os.time()+10) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end ------------------------- por pc98 function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end
  9. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    sim você está indo no caminho certo parceiro, pelo o que você disse a sua quest vai ficar muito boa, vai em frente
  10. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    Cara, se você for usar mais de 1 teleport com a mesma uniqueid, use actionid pelo motivo de não duplicar e para os outros não poderem usar o teleport sem está na quest adicione um valor de storage naqueles que passaram a participar da quest, não consegui ler o script direito pq to pelo cel, abraço!
  11. O ataque atinge algum monstro ou player? Ja tive algo parecido, no meu lagava tudo.
  12. tudo certo amigo, obrigado pelo rep+
  13. Olá pessoal, como eu não tinha nada pra fazer resolvi criar este sistema que será bem útil para usar como premiações. Como funciona? - Simplesmente você clica em um item chamado ticket medal e em seguida você receberá uma quantia em medalhas mas esta quantia será aleatória. Tabela de porcentagem abaixo : 49% == chances de cair nada. 20% == chances de cair 3 medalhas. 15% == chances de cair 5 medalhas. 10% == chances de cair 7 medalhas. 5% == chances de cair 10 medalhas. 1% == chances de cair 25 medalhas. vamos instalar o sistema [..] 1º - execute este código em sua database : ALTER TABLE `players` ADD medals INT(11) NOT NULL DEFAULT 0; 2º - crie um arquivo lua chamado 016-ticket na pasta data/lib e insira o seguinte código : --[[ functions by Ladyazaleia with love. ]]-- function getPlayerMedals(cid) -- function get medals. local qr = db.getResult("SELECT `medals` FROM `players` WHERE `id`= "..getPlayerGUID(cid)..";") medals = qr:getDataInt("medals", getPlayerGUID(cid)) if medals < 0 then medals = 0 end return medals end function doPlayerRemoveMedals(cid, count) -- function remove medals. if getPlayerMedals(cid) < count then return false else return db.query("UPDATE `players` SET `medals` = "..getPlayerMedals(cid)-count.." WHERE `players`.`id`= "..getPlayerGUID(cid)..";") end return true end function getTableWild() -- function get percent in randomtable. tablewild = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -- 49 % 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -- 20 % 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, -- 15 % 7,7,7,7,7,7,7,7,7,7, -- 10 % 10,10,10,10,10, -- 5 % 25, -- 1 % } return tablewild end 3º - abra o seu items.xml e adicione esta tag la no final : <item id="12427" article="a" name="ticket medal" plural="ticket medals"> <attribute key="weight" value="10" /> <attribute key="description" value="ticket medal is an item that when used will become worthless random medals that can be used to purchase items." /> </item> 4º - abra o seu actions.xml e insira esta tag : <action itemid="12427" event="script" value="ticket.lua"/> 5º - crie um arquivo lua chamado ticket na pasta data/actions/scripts e insira o seguinte código : --[[ script by Ladyazaleia with love. ]]-- function onUse(cid, item, fromPosition, itemEx, toPosition) rand = math.random(1, #getTableWild()) query = 'UPDATE `players` SET `medals` = '..getPlayerMedals(cid)+getTableWild()[rand]..' WHERE `players`.`id`= '..getPlayerGUID(cid)..';' if doPlayerRemoveItem(cid, 12427, 1) then db.query(query) doSendMagicEffect(getThingPos(cid), 13) doPlayerPopupFYI(cid, 'You received : ['..getTableWild()[rand]..'] medal coins.\n\nTo learn more about the system, type /medals.') end return true end 6º - abra o seu talkactions.xml e adicione esta tag la no final : <talkaction words="!medals;/medals" event="script" value="ticket.lua"/> 7º - crie um arquivo lua chamado ticket na pasta data/talkactions/scripts e insira o seguinte código : --[[ script by Ladyazaleia with love. ]]-- function onSay(cid) doPlayerPopupFYI(cid, 'Ticket medal is an item that promises to present you with medals\nfor you to purchase items available in the store medals.\n\nYou have ['..getPlayerMedals(cid)..'] medals coins.') return true end Observações : Caso você queira mudar as porcentagens, checar o arquivo 016-ticket.lua na pasta data/lib e fazer as alterações na tabela, só faça se souber. Se o item 12427 já estiver registrado, mude-o! mas se não estiver registrado meu conselho é : "deixe tudo do jeito que está". Você poderá usar as funções : getPlayerMedals(cid) para pegar o valor de medalhas do player & doPlayerRemoveMedals(cid, count) para remover uma quantidade de medalhas do player, count é a quantidade. Desculpe pela tabela constrangedora, só consegui porcentar assim. exemplo de uso : function onSay(cid, words, param) local count = 10 if doPlayerRemoveMedals(cid, count) then doPlayerAddItem(cid, 2160, 100) doSendMagicEffect(getThingPos(cid), 12) else doPlayerPopupFYI(cid, 'Você não possui '..count..' medal coins.') end return true end este exemplo faz com que o player possa comprar 100 crystal coins se ele tiver 10 medal coins. até mais pessoal, um grande abraço e se gostou, rep+ créditos : Halls Santos or Ladyazaleia.
  14. Parabéns lek, super útil para todos.
  15. obrigado amigo fico feliz com sua resposta, pretendo postar mais conteúdos futuramente pois é aqui que estou aprendendo, abraço :v
  16. Lyu postou uma resposta no tópico em Design Show Off
    Foooda :v
  17. Acho que é o playerKill, poste o script para eu dá uma olhada.
  18. Lyu postou uma resposta no tópico em Formação de Equipe
    Desde o começo de 2013 venho mechendo com otserver, nunca cheguei a terminar um pois vi que eu poderia melhorar bastante e até hoje eu fuço por ai aprendendo bastante mas o meu foco mesmo é scripting, estou estudando bastante lua e evoluindo rapidamente, bom eu acho! Caso você queira alguma ajuda pode contactar comigo, nunca formei equipe nenhuma mas eu gosto de ajudar.. Facebook : fb.com/wustehs
  19. Olá humanos, tudo certo? estou maior tempão sem frequentar o fórum devido a falta de internet em meu humilde notebook então resolvi entrar esses últimos dias para postar este CHANGEGOLD que acho bem legal e útil, principalmente para quem vende itens de preços altíssimos em seus servidores. Como usar? : fácil, apenas clique nos seus 100 crystal coins e em seguida se tornará 1 rare coin ou qualquer nome que você escolher pois no padrão está rare coin. 1º - abra o seu items.xml e digite CTRL+F, em seguida procure pelo id : 9971 e troque esta tag : <item id="9971" article="a" name="gold ingot"> <attribute key="weight" value="1800" /> </item> por esta : <item id="9971" article="a" name="rare coin" plural="rare coins"> <attribute key="weight" value="10" /> <attribute key="worth" value="1000000" /> </item> 2º vai em actions/actions.xml e digite CTRL+F, em seguida procure por : changegold e adicione esta tag em baixo : <action itemid="9971" event="script" value="other/changegold.lua"/> 3ª vai em actions/scripts/others e abra o ficheiro changegold.lua em seguida apague tudo que tem dentro e coloque isto : local coins = { [2148] = { to = 2152, effect = 210 }, [2152] = { from = 2148, to = 2160, effect = 130 }, [2160] = { from = 2152, to = 9971, effect = 65 }, [9971] = { from = 2160, effect = 198 } } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then return false end local coin = coins[item.itemid] if(not coin) then return false end if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, coin.to, 1) doSendAnimatedText(fromPosition, "+ $$$", coins[coin.to].effect) elseif(coin.from ~= nil) then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX) doSendAnimatedText(fromPosition, "- $$$", coins[coin.from].effect) end return true end pronto meu caro amigo, tudo funcionará perfeitamente lembrando que você poderá depositar os seus rare coins, comprar itens no NPC e etc.. tudo porque cada rare coin tem um valor de 1,000,000 gold coins. creditos : Halls Santos
  20. Poste o seu creaturescripts.xml por favor.
  21. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    Não entendi o que você quis dizer com coisas de tibia, você usa algum servidor derivado?
  22. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    Os players estão sendo salvos? Faz um char você mesmo e note quando re-logar se vai salvar level, itens e etc..
  23. Lyu postou uma resposta no tópico em Suporte Tibia OTServer
    To pelo celular mas vo tentar fazer aqui perai, vai em creaturescripts/scripts crie um arquivo.lua e dentro coloque isto : function onKill(cid, target, lastHit) if isPlayer(cid) then return true end if getCreatureName(target) == 'Baiakuda Earth Elemental' then doBroadcastMessage(''..getCreatureByName(cid)..' [Level : '..getPlayerLevel(cid)..'] acabou de derrotar o monstro '..getCreatureName(target)..'.', 21) end return true end depois em creaturescripts.xml coloque a seguinte tag : <event type="kill" name="MonsterDeath" event="script" value="arquivo.lua"/> depois na mesma pasta abra o arquivo login.lua e procure por "registerCreatureEvent" em seguida coloque no ultimo da fila o seguinte código : registerCreatureEvent(cid, "MonsterDeath") pronto lek, qualquer erro me desculpe, digitar pelo celular dói os dedos ahsusju celular de teclado :/
  24. Pelo o que eu saiba, "hitChance" é para ammo, "arrows" mas caso funcione em outras armas, tudo bem :v estou pelo celular mas quando eu entrar no pc se ninguém tiver te respondido, faço um script pra você.
  25. Parabéns meu amigo, achei bem interessante e com certeza irei usar em meus códigos.

Informação Importante

Confirmação de Termo