Ir para conteúdo

20cm

Barão
  • Total de itens

    221
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que 20cm postou

  1. É, slicer, mas como eu disse dps de vários edits vai acabar acabando com seus outros movements então o melhor mesmo seria adicionar o creaturescripts onmove nas sources pra deixar o negócio mais "profissional"
  2. na verdade, o que o lordbug falou é verdade, não precisa nem se preocupar com as escadas. pelo que eu fiz, ele manda efeito onde o jogador tá mesmo ele ter subido a escada (fora que dava pra por um addevent com 100ms que nao ia dar lag nenhum) ficou tipo assim function onStepIn(cid, item, position, fromPosition) doSendMagicEffect(getThingPos(cid),10) return true end com <movevent type="StepIn" fromid="1" toid="30000" event="script" value="ps.lua"/> mas nao fiz com os outfits e tal, acho q é isso msm, flw. edit: sem querer desmerecer seu trabalho, seu script ficou muito bom! edit² quando abri o sv nem deu erro mas dps q dei reload deu vários duplicated e parou de funfar, entao acho q nem ta valendo edit³ funfa s mas dá varios duplicated move event found edit4 é, nao funfa, ele faz todos os outros movements pararem de pegar
  3. Faltou uma mensagem de erro "você não tem a bota pra recarregar, noob!" ou algo do tipo, mas tá valendo
  4. Bom, o script que venho lhes dar/mostrar hoje é um globalevent que manda broadcast messages. Sim, isso é muito comum e fácil, mas o que diferencia esse dos outros é que esse aqui manda as mensagens em ordem, uma de cada vez, e num só script. data/globalevents/scripts/broadcasts.lua: data/globalevents/globalevents.xml: configurando e explicando: Acho que é isso Façam bom uso e podem deixar um rep+ caso queiram Valeu!
  5. Na realidade eu tenho preguiça tbm kk Mas no final do script como no xtibia n tem tab vc usa ctrl h / tab por 5 espaços
  6. Legal cara, mas você devia tentar usar tables ao invés de vários ifs Por exemplo esta table: local table = { [1] = "valor um", [2] = "valor dois", } se você quiser acessar o "valor um" você usa table[1], por exemplo: "print(table[1])" vai printar no console: "valor um" se você usasse table[2] ia retornar "valor dois" isso é legal porque dá pra usar o math.random que retorna um número aleatório pra retornar um valor aleatório da table, por exemplo: local aleatorio = math.random(1,2) local table = { [1] = "valor um", [2] = "valor dois", } print(table[aleatorio]) supondo que o math.random retornasse o número aleatório 1, ficaria algo do tipo: "local aleatorio = 1", e na hora de printar table[aleatorio], ficaria table[1] (pois aleatorio = 1), que é, na table, o "valor um" ou seja, você já está deixando o seu script aleatório E com table você também pode usar table[math.random(1,2)] agora, uma coisa legal, é que você não precisa mudar o valor máximo do math.random pro valor máximo da sua table (por exemplo, no caso, 2 é o último valor da table), porque tem um jeito de retornar o tamanho da tabela, usando um # antes de chamar a tabela (por exemplo #table retornaria 2) agora, se a tabela fosse assim: local table = { [1] = "valor um", [2] = "valor dois", [3] = "valor três", } e você usasse #table, retornaria 3, entendeu? assim você não precisa alterar o math.random toda hora que adiciona um valor na tabela. só que lembre-se de usar o #table depois de user a table! por exemplo: MODO INCORRETO local aleatorio = math.random(1,#table) local table = { [1] = "valor um", [2] = "valor dois", [3] = "valor três", } MODO CORRETO local table = { [1] = "valor um", [2] = "valor dois", [3] = "valor três", } local aleatorio = math.random(1,#table) porque você no modo incorreto estaria tentando pegar o valor máximo de uma table que nem existe (pois ela nao foi declarada ainda) agora, uma versão com table do seu script: function fixString(string) local k = string.explode(string," ") local x = "" local y = 0 for i = 1, #k do if y == 0 then x = x ..string.sub(k[i],0,1):upper()..string.sub(k[i],2) y = 1 else x = x .." "..string.sub(k[i],0,1):upper()..string.sub(k[i],2) end end return x end function onUse(cid, item, fromPosition, itemEx, toPosition) local items = { [1] = {id=7439,quantidade=1}, [2] = {id=2158,quantidade=1}, [3] = {id=7443,quantidade=1}, [4] = {id=2160,quantidade=1}, [5] = {id=18304,quantidade=1}, [6] = {id=18437,quantidade=1}, [7] = {id=18552,quantidade=1}, [8] = {id=18519,quantidade=1}, [9] = {id=7591,quantidade=1}, [10] = {id=7590,quantidade=1}, [11] = {id=2155,quantidade=1}, [12] = {id=7618,quantidade=4}, [13] = {id=7640,quantidade=4}, [14] = {id=7440,quantidade=1}, [15] = {id=18397,quantidade=1}, [16] = {id=18456,quantidade=1}, [17] = {id=2152,quantidade=5}, [18] = {id=2156,quantidade=1}, [19] = {id=5911,quantidade=1}, [20] = {id=18509,quantidade=1}, [21] = {id=7588,quantidade=1}, [22] = {id=7588,quantidade=2}, [23] = {id=7589,quantidade=2}, [24] = {id=18457,quantidade=1}, [25] = {id=2787,quantidade=20}, [26] = {id=2154,quantidade=1}, [27] = {id=7588,quantidade=1}, } local rand = math.random(1, #items) local nomedoitem = fixString(getItemNameById(items[rand].id)) local quantidade = items[rand].quantidade doCreatureSay(cid, "You had "..(quantidade == 1 and (isInArray({"a","e","i","o","u"},string.sub(nomedoitem,0,1)) and "an" or "a") or quantidade).." "..nomedoitem.."!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, items[rand].id,items[rand].quantidade) doRemoveItem(cid, item.uid, 1) return TRUE end ps. A linha 50 pode ser avançada pra você mas acho que é isso, da uma estudada no script que sabendo usar tables vai facilitar muito sua vida flw! edit e outra, vc nao precisa checar se o item que está sendo usado é o da lotteryid, porque no actions.xml quando você põe a tag "<action itemid="18215" event="script" value="Gnomish.lua"/>", ele só vai usar o script se for pro item 18215, já sendo um "if item.itemid == 18215" entre aspas
  7. 20cm

    Eu na formatura :P

    no facebook a legenda da foto foi: "Eu de pluto haha" ehuehue
  8. Cara, que diabos é isso, tu usa o code media pra postar imagem? Fonte comba com estabilizador? "[+sem quotar img]"
  9. HAEEAUAEHAEUHAEUAEH tbm li encantamento HEUEHEUHEU
  10. HEUEHUEHUEHEU DAORA e tecnicamente a seção nem é sobre tibia, logo... +edit É um bar, não acho que tenha assunto específico e acho que está aberto pra dúvidas também. EHAUHEAUEHAU XORA NEGUIM
  11. Na verdade, no caso, já é "amanhã", hahah é q no momento tava ouvindo pais e filhos, malz
  12. Relaxa, se é só pra uns parafusos destes, não tem problema não ^^ Pode martelar tranquilamente, só tome cuidado pra não machucar os dedinhos
  13. 20cm

    ERIMYTH

    se nao pagassem pau pra vc já tava banido só digo isso e agora flw
  14. começo a favelada +vlw tonynh é uma honra +vc foi mais rápido q eu e nem vi a nova montagem daora AHSUAHSUAHSAUSHAUSHA
  15. ok, você "venceu", agora relaxa mano '-'
  16. Na verdade é mesmo só para unidimensionais, mas ele deixou mais completinho... Acho que ficou melhor mesmo, ele compara todo o tipo que eu testei... Parabéns.
  17. O que ela faz é comparar duas matrizes unidimensionais [vlw lf], e retornar true caso os valores forem iguais Bom, há um tempo eu já ia fazer essa função, ela não é difícil, mas eu ia fazer ela com um for in pairs e comparando cada valor e tal. Mas eu resolvi entrar na onda de deixar os scripts o mais curto possível, fugindo da POG, e disso: function isArrayEquals(a,b) for x,i in pairs(a) do if i ~= b[x] then return false end end return true end Foi pra isso: function isArrayEquals(a,b) return table.concat(a) == table.concat(b) end Exemplo: local array1 = {1,2,3,4,0} local array2 = {1,2,3,4,0} print(tostring(compair(array1,array2))) No caso ia printar true, mas, se qualquer valor do array2 fosse diferente do array1 (na mesma posição) printaria false Numa rápida pesquisa no google não achei a função aqui, mas espero que eu tenha conseguido deixar o menor possível xD Espero que seja útil, pelo menos pra mim vai ser, comparar vetores é daora mano
  18. KKKKKKKKKKKKKKKKKKKKK Scripts do Caotic foi muito boa gostei do tópico, ri pra caralho
  19. Sério? Pelo que eu vi ele cria um .bat que ao ser executado desliga o PC, na pasta de startup do windows (programas que abrem com o windows) Basicamente quando você inicia seu PC ele abre o .bat e desliga de novo... Pra tirar é só abrir pelo modo de segurança e deletar o arquivo, ou dar shutdown -a no executar antes de desligar e depois remover
  20. HMMMMMMMMMMMMMMMMM verdade HASUAHUS Vou tentar fazer um que corta só um e na ordem Mas gostei xD, apesar que usaria o gsub do oneshot
  • Quem Está Navegando   0 membros estão online

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