Ir para conteúdo

totonho18

Campones
  • Total de itens

    60
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Histórico de Reputação

  1. Upvote
    totonho18 recebeu reputação de VictorTasquin em Quest que da varios itens! Corrigida vale a pena ver!   
    Olá galera,sou eu de novo com meu segundo script,esse tenho certeza que vai ajudar muito mais que o ultimo.
    Explicando: É um script de quest,que da um BP com itens dentro,quantos itens você quiser.
    OBS:Aqui no forum achei um script desse de quest de multiplos itens,porém encontrei alguns erros nele,ele era assim,você clicava no chest,e ganhava uma bp com itens dentro,até aí tudo bem,mas se você clicasse outra vez no chest,você ganhava outra BP vazia,isso fazia uma bagunça,isso ocorreu porque a BP que regia a Action era uma bp "independente" ou seja uma bp sem codificação,não existia um storage nela,aí o player podia dropar a bp infinitas x,porém a bp vinha vazia...
     
     
    créditos 50% meu que montei e corrigi o erro e 50% do criador que não sei quem é!
     
    Vá na pasta data/actions/scripts crie um arquivo.lua e o renomeie para "multichest.lua" sem as aspas!
    cole a seguinte função:
    function onUse(cid, item, frompos, item2, topos) if item.uid == 7778 then queststatus = getPlayerStorageValue(cid,7778) if queststatus == -1 then doPlayerSendTextMessage(cid,22,"Voce Ganhou um Tera Set!.") local bp = doPlayerAddItem(cid, 1991, 1) -- doAddContainerItem(bp, 7884, 1) doAddContainerItem(bp, 7903, 1) doAddContainerItem(bp, 7885, 2) doAddContainerItem(bp, 7887, 1) setPlayerStorageValue(cid,7778,1) else doPlayerSendTextMessage(cid,22,"It is empty.") end else return 0 end return 1 end Modifique a seu gosto salve e feche!
     
    tem essa forma aqui também!
    function onUse(cid, item, frompos, item2, topos) local items = { [7884] = 1, --Tabela, para facilitar a configuração. Configuração: [id do item] = quantida [7903] = 1, [7885] = 2, [7887] = 1, } if item.uid == 7778 then queststatus = getPlayerStorageValue(cid,7778) if queststatus == -1 then doPlayerSendTextMessage(cid, 22, "Voce Ganhou um Tera Set!.") local bp = doPlayerAddItem(cid, 1991, 1) for a, b in pairs(items) do --looping da tabela items: a = id do item, b = quantidade. Esse "a" generaliza todos os IDs; já "b", todas as quantidades (e seus respectivos items). for i = 1, b do --looping: sem esse looping, a quantidade seria sempre 1. doAddContainerItem(bp, a, 1) --Sendo a = ids configurados na tabela items; esse 1 foi alterado no looping acima, para ter como valor a quantidade "b". end end setPlayerStorageValue(cid,7778,1) else doPlayerSendTextMessage(cid, 22, "It is empty.") end else return 0 end return 1 end qualquer uma das 2 funções que você usar vai dar certo,a diferença é que a de baixo tem tabela,OBS o meu script é o primeiro,esse segundo é do zipter98 créditos pra ele. Use a que você achar mais fácil,as 2 tem a msm função.
     
    Agora na pasta data/actions/actions.xml cole essa tag:
    <action uniqueid="7778" script="multichest.lua" /> salve e feche,e dps no map editor coloque o unique id 7778 no item que você quiser,não precisa ser um chest,pode ser numa statue,num tile,numa wall,qualquer coisa que possa ser add um unique id,Certo?
     
    O que você precisa saber?
    Primeira linha= não meche
    Segunda linha = Unique id coloque o que você quiser desde q n exista no seu serv
    Terceira linha = Storage coloque o que você quiser que ainda n exista
    quarta linha = n meche nela
    quinta linha = msg que vai receber ao clicar no chest
    sexta linha = id da bp que vai ser dropada com os itens dentro
     
    apartir da sexta linha = os itens que estarão dentro da bp
    setPlayerStorageValue(cid,7778,1) = é o storage que o player vai ganhar, lembre-se dos prefixos, "Set" = Ganhar "get"=Checar
    não mecha nos else,nos return e nos end,se n vai dar zebra.
    doPlayerSendTextMessage(cid,22,"It is empty.") esse é a msg que o player vai receber quando concluir
     
    LEIA IMPORTANTE= É interessante você colocar um storage diferente do Uid,porque se você colocar um tile ou uma door pra abrir se o player tiver concluido a quest,com o uid igual ao storage vai bugar,nesse caso é legal colocar o uid diferente do storage..
     
    Muito obrigado por ler,critique! comente! elogie! mas n deixe de se manifestar sua opinião é o que me move e inspira!
  2. Upvote
    totonho18 recebeu reputação de Marco Oliveira em Quest Inovadora, CONFIRA!   
    É um script de quest feito 100% por mim
     
    O que ela retorna?
     
    Essa quest simplesmente te fornece um conjunto de itens dentro de uma bag, itens básicos, porém os itens recebidos da quest são diferentes para cada vocação, e detalhe, ela fornece uma sword ou um axe ou um club para o jogador caso ele seja knight, o tipo da arma dependerá do skill do mesmo, se seu maior skill for axe, ele receberá um machado, e o maior skill for club ele recebe uma clava e se o maior for sword ele recebe uma espada, é um sistema de fácil configuração e acredito que pode ser útil de alguma forma principalmente aos programadores iniciantes.
     
    Implementação;
     
    Abra a pasta data/actions/scripts -> copie e cole um arquivo qualquer e o renomeie para recompensa.lua
     
    Apague tudo que tiver dentro e cole o seguinte código:
    function onUse(cid, item, frompos, item2, topos) --A Configuração abaixo local config = { level_min = 20, -- level mínimo Premium = true, -- Necessita P.A? true para sim ou false para não Club = 7381, -- id da clava caso o suposto knight tenha skill club superior Sword = 7385, -- id da espada caso o suposto knight tenha skill sword superior Axe = 2435 -- id da machado caso o suposto knight tenha skill axe superior } -- Fim da config OBS Configure dessa linha pra baixo se e somente se souber o que está fazendo local SkillClub = getPlayerSkillLevel(cid, 1) local SkillSword = getPlayerSkillLevel(cid, 2) local SkillAxe = getPlayerSkillLevel(cid, 3) local level = getPlayerLevel(cid) local Voc = getPlayerVocation(cid) local QuestStatus = getPlayerStorageValue(cid,13139) if config.Premium and not isPremium(cid) then doPlayerSendTextMessage(cid,29,"Apenas para jogadores premium accounts") return 0 end if Voc == 4 or Voc == 8 then if level >= config.level_min then if QuestStatus == -1 then if (SkillClub > SkillSword) and (SkillClub > SkillAxe) then doPlayerAddItem(cid,config.Club,1) elseif (SkillSword > SkillClub) and (SkillSword > SkillAxe) then doPlayerAddItem(cid,config.Sword,1) elseif (SkillAxe > SkillClub) and (SkillAxe > SkillSword) then doPlayerAddItem(cid,config.Axe,1) end local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 2463, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 3 or Voc == 7 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8872, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 7438, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 1 or Voc == 5 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2188, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 2 or Voc == 6 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2185, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end end return true end feito isso salve e feche o arquivo.
     
    Agora vá na pasta data/actions/actions.xml e cole a seguinte tag abaixo:
    <action uniqueid="7111" script ="recompensa.lua" /> Feito isso basta abrir seu map editor e colocar o unique id no local onde o player vai clicar pra fazer a quest, seja lá o que for, um baú, uma estátua, uma parede,etc.
     
    Gostou? REP+
     
    Analíse, critique, elogie, comente, me ajude a crescer.
     
    By Totonho 18, autor do código :smile_positivo:
  3. Upvote
    totonho18 recebeu reputação de Danihcv em Quest Inovadora, CONFIRA!   
    É um script de quest feito 100% por mim
     
    O que ela retorna?
     
    Essa quest simplesmente te fornece um conjunto de itens dentro de uma bag, itens básicos, porém os itens recebidos da quest são diferentes para cada vocação, e detalhe, ela fornece uma sword ou um axe ou um club para o jogador caso ele seja knight, o tipo da arma dependerá do skill do mesmo, se seu maior skill for axe, ele receberá um machado, e o maior skill for club ele recebe uma clava e se o maior for sword ele recebe uma espada, é um sistema de fácil configuração e acredito que pode ser útil de alguma forma principalmente aos programadores iniciantes.
     
    Implementação;
     
    Abra a pasta data/actions/scripts -> copie e cole um arquivo qualquer e o renomeie para recompensa.lua
     
    Apague tudo que tiver dentro e cole o seguinte código:
    function onUse(cid, item, frompos, item2, topos) --A Configuração abaixo local config = { level_min = 20, -- level mínimo Premium = true, -- Necessita P.A? true para sim ou false para não Club = 7381, -- id da clava caso o suposto knight tenha skill club superior Sword = 7385, -- id da espada caso o suposto knight tenha skill sword superior Axe = 2435 -- id da machado caso o suposto knight tenha skill axe superior } -- Fim da config OBS Configure dessa linha pra baixo se e somente se souber o que está fazendo local SkillClub = getPlayerSkillLevel(cid, 1) local SkillSword = getPlayerSkillLevel(cid, 2) local SkillAxe = getPlayerSkillLevel(cid, 3) local level = getPlayerLevel(cid) local Voc = getPlayerVocation(cid) local QuestStatus = getPlayerStorageValue(cid,13139) if config.Premium and not isPremium(cid) then doPlayerSendTextMessage(cid,29,"Apenas para jogadores premium accounts") return 0 end if Voc == 4 or Voc == 8 then if level >= config.level_min then if QuestStatus == -1 then if (SkillClub > SkillSword) and (SkillClub > SkillAxe) then doPlayerAddItem(cid,config.Club,1) elseif (SkillSword > SkillClub) and (SkillSword > SkillAxe) then doPlayerAddItem(cid,config.Sword,1) elseif (SkillAxe > SkillClub) and (SkillAxe > SkillSword) then doPlayerAddItem(cid,config.Axe,1) end local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 2463, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 3 or Voc == 7 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8872, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 7438, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 1 or Voc == 5 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2188, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 2 or Voc == 6 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2185, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end end return true end feito isso salve e feche o arquivo.
     
    Agora vá na pasta data/actions/actions.xml e cole a seguinte tag abaixo:
    <action uniqueid="7111" script ="recompensa.lua" /> Feito isso basta abrir seu map editor e colocar o unique id no local onde o player vai clicar pra fazer a quest, seja lá o que for, um baú, uma estátua, uma parede,etc.
     
    Gostou? REP+
     
    Analíse, critique, elogie, comente, me ajude a crescer.
     
    By Totonho 18, autor do código :smile_positivo:
  4. Upvote
    totonho18 recebeu reputação de Sirarcken em Quest Inovadora, CONFIRA!   
    É um script de quest feito 100% por mim
     
    O que ela retorna?
     
    Essa quest simplesmente te fornece um conjunto de itens dentro de uma bag, itens básicos, porém os itens recebidos da quest são diferentes para cada vocação, e detalhe, ela fornece uma sword ou um axe ou um club para o jogador caso ele seja knight, o tipo da arma dependerá do skill do mesmo, se seu maior skill for axe, ele receberá um machado, e o maior skill for club ele recebe uma clava e se o maior for sword ele recebe uma espada, é um sistema de fácil configuração e acredito que pode ser útil de alguma forma principalmente aos programadores iniciantes.
     
    Implementação;
     
    Abra a pasta data/actions/scripts -> copie e cole um arquivo qualquer e o renomeie para recompensa.lua
     
    Apague tudo que tiver dentro e cole o seguinte código:
    function onUse(cid, item, frompos, item2, topos) --A Configuração abaixo local config = { level_min = 20, -- level mínimo Premium = true, -- Necessita P.A? true para sim ou false para não Club = 7381, -- id da clava caso o suposto knight tenha skill club superior Sword = 7385, -- id da espada caso o suposto knight tenha skill sword superior Axe = 2435 -- id da machado caso o suposto knight tenha skill axe superior } -- Fim da config OBS Configure dessa linha pra baixo se e somente se souber o que está fazendo local SkillClub = getPlayerSkillLevel(cid, 1) local SkillSword = getPlayerSkillLevel(cid, 2) local SkillAxe = getPlayerSkillLevel(cid, 3) local level = getPlayerLevel(cid) local Voc = getPlayerVocation(cid) local QuestStatus = getPlayerStorageValue(cid,13139) if config.Premium and not isPremium(cid) then doPlayerSendTextMessage(cid,29,"Apenas para jogadores premium accounts") return 0 end if Voc == 4 or Voc == 8 then if level >= config.level_min then if QuestStatus == -1 then if (SkillClub > SkillSword) and (SkillClub > SkillAxe) then doPlayerAddItem(cid,config.Club,1) elseif (SkillSword > SkillClub) and (SkillSword > SkillAxe) then doPlayerAddItem(cid,config.Sword,1) elseif (SkillAxe > SkillClub) and (SkillAxe > SkillSword) then doPlayerAddItem(cid,config.Axe,1) end local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 2463, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 3 or Voc == 7 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8872, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 7438, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 1 or Voc == 5 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2188, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 2 or Voc == 6 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2185, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end end return true end feito isso salve e feche o arquivo.
     
    Agora vá na pasta data/actions/actions.xml e cole a seguinte tag abaixo:
    <action uniqueid="7111" script ="recompensa.lua" /> Feito isso basta abrir seu map editor e colocar o unique id no local onde o player vai clicar pra fazer a quest, seja lá o que for, um baú, uma estátua, uma parede,etc.
     
    Gostou? REP+
     
    Analíse, critique, elogie, comente, me ajude a crescer.
     
    By Totonho 18, autor do código :smile_positivo:
  5. Upvote
    totonho18 recebeu reputação de Night Wolf em Stamina Potion   
    Tendi, pode ser porque a potion está no chão, coloca a potion dentro da bp do jogador, ele tem que usar a potion de dentro da sua bp.
     
    testei aqui e deu certo amigo, se der errado me fala que ai vou analisar isso do zero e procurar a falha.

    Mano não tem como dar errado, é um script muito simples. Siga o tutorial exatamente como está.
     
    Primeiro passo -> copie um arquivo da pasta data/actions/scripts e renomeie para stamina.lua, agora abra-o, apague tudo que tem dentro e coloque esse código no lugar
    --Stamina Potion System-- --Autor: Totonho 18 -- function onUse(cid, item, frompos, item2, topos) local Item = 7489 -- ID do item que será retirado if getPlayerItemCount(cid,Item) >= 1 then doPlayerAddStamina(cid, 2520) doSendMagicEffect(frompos, 14) doPlayerRemoveItem(cid,Item,1) end return true end feito isso salve e feche, agora no xml da pasta data/actions/actions.xml coloque essa tag
    <action itemid="7489" script="stamina.lua"/> Salve e feche, TEM QUE FUNCIONAR.
     
    POSSIVEIS ERROS -> PRESTE ATENÇÃO
     
    O script dará errado se;
    1 - Se a potion não estiver na bp do jogador
    2 - Se o item id que você usou como potion já estiver em uso em outro script
    3 - Se o distro não estiver reconhecendo o formato do arquivo
    4 - Se você instalou errado, na pasta errada, ou copiou com algum simbolo faltando, etc..
     
    Se der algum erro, olhe essas 4 possibilidades e diga em qual delas o erro se enquadra, qualquer duvida manda aqui!
  6. Upvote
    totonho18 recebeu reputação de brendoonh em Stamina Potion   
    Tendi, pode ser porque a potion está no chão, coloca a potion dentro da bp do jogador, ele tem que usar a potion de dentro da sua bp.
     
    testei aqui e deu certo amigo, se der errado me fala que ai vou analisar isso do zero e procurar a falha.

    Mano não tem como dar errado, é um script muito simples. Siga o tutorial exatamente como está.
     
    Primeiro passo -> copie um arquivo da pasta data/actions/scripts e renomeie para stamina.lua, agora abra-o, apague tudo que tem dentro e coloque esse código no lugar
    --Stamina Potion System-- --Autor: Totonho 18 -- function onUse(cid, item, frompos, item2, topos) local Item = 7489 -- ID do item que será retirado if getPlayerItemCount(cid,Item) >= 1 then doPlayerAddStamina(cid, 2520) doSendMagicEffect(frompos, 14) doPlayerRemoveItem(cid,Item,1) end return true end feito isso salve e feche, agora no xml da pasta data/actions/actions.xml coloque essa tag
    <action itemid="7489" script="stamina.lua"/> Salve e feche, TEM QUE FUNCIONAR.
     
    POSSIVEIS ERROS -> PRESTE ATENÇÃO
     
    O script dará errado se;
    1 - Se a potion não estiver na bp do jogador
    2 - Se o item id que você usou como potion já estiver em uso em outro script
    3 - Se o distro não estiver reconhecendo o formato do arquivo
    4 - Se você instalou errado, na pasta errada, ou copiou com algum simbolo faltando, etc..
     
    Se der algum erro, olhe essas 4 possibilidades e diga em qual delas o erro se enquadra, qualquer duvida manda aqui!
  7. Upvote
    totonho18 deu reputação a Skulls em Como faz pra verificar Ml do jogador na função get?   
    Try getPlayerMagLevel(cid)
  8. Upvote
    totonho18 recebeu reputação de rorix em Quest Inovadora, CONFIRA!   
    É um script de quest feito 100% por mim
     
    O que ela retorna?
     
    Essa quest simplesmente te fornece um conjunto de itens dentro de uma bag, itens básicos, porém os itens recebidos da quest são diferentes para cada vocação, e detalhe, ela fornece uma sword ou um axe ou um club para o jogador caso ele seja knight, o tipo da arma dependerá do skill do mesmo, se seu maior skill for axe, ele receberá um machado, e o maior skill for club ele recebe uma clava e se o maior for sword ele recebe uma espada, é um sistema de fácil configuração e acredito que pode ser útil de alguma forma principalmente aos programadores iniciantes.
     
    Implementação;
     
    Abra a pasta data/actions/scripts -> copie e cole um arquivo qualquer e o renomeie para recompensa.lua
     
    Apague tudo que tiver dentro e cole o seguinte código:
    function onUse(cid, item, frompos, item2, topos) --A Configuração abaixo local config = { level_min = 20, -- level mínimo Premium = true, -- Necessita P.A? true para sim ou false para não Club = 7381, -- id da clava caso o suposto knight tenha skill club superior Sword = 7385, -- id da espada caso o suposto knight tenha skill sword superior Axe = 2435 -- id da machado caso o suposto knight tenha skill axe superior } -- Fim da config OBS Configure dessa linha pra baixo se e somente se souber o que está fazendo local SkillClub = getPlayerSkillLevel(cid, 1) local SkillSword = getPlayerSkillLevel(cid, 2) local SkillAxe = getPlayerSkillLevel(cid, 3) local level = getPlayerLevel(cid) local Voc = getPlayerVocation(cid) local QuestStatus = getPlayerStorageValue(cid,13139) if config.Premium and not isPremium(cid) then doPlayerSendTextMessage(cid,29,"Apenas para jogadores premium accounts") return 0 end if Voc == 4 or Voc == 8 then if level >= config.level_min then if QuestStatus == -1 then if (SkillClub > SkillSword) and (SkillClub > SkillAxe) then doPlayerAddItem(cid,config.Club,1) elseif (SkillSword > SkillClub) and (SkillSword > SkillAxe) then doPlayerAddItem(cid,config.Sword,1) elseif (SkillAxe > SkillClub) and (SkillAxe > SkillSword) then doPlayerAddItem(cid,config.Axe,1) end local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 2463, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 3 or Voc == 7 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8872, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 7438, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 1 or Voc == 5 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2188, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 2 or Voc == 6 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2185, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end end return true end feito isso salve e feche o arquivo.
     
    Agora vá na pasta data/actions/actions.xml e cole a seguinte tag abaixo:
    <action uniqueid="7111" script ="recompensa.lua" /> Feito isso basta abrir seu map editor e colocar o unique id no local onde o player vai clicar pra fazer a quest, seja lá o que for, um baú, uma estátua, uma parede,etc.
     
    Gostou? REP+
     
    Analíse, critique, elogie, comente, me ajude a crescer.
     
    By Totonho 18, autor do código :smile_positivo:
  9. Upvote
    totonho18 recebeu reputação de NatsuRush em Quest Inovadora, CONFIRA!   
    É um script de quest feito 100% por mim
     
    O que ela retorna?
     
    Essa quest simplesmente te fornece um conjunto de itens dentro de uma bag, itens básicos, porém os itens recebidos da quest são diferentes para cada vocação, e detalhe, ela fornece uma sword ou um axe ou um club para o jogador caso ele seja knight, o tipo da arma dependerá do skill do mesmo, se seu maior skill for axe, ele receberá um machado, e o maior skill for club ele recebe uma clava e se o maior for sword ele recebe uma espada, é um sistema de fácil configuração e acredito que pode ser útil de alguma forma principalmente aos programadores iniciantes.
     
    Implementação;
     
    Abra a pasta data/actions/scripts -> copie e cole um arquivo qualquer e o renomeie para recompensa.lua
     
    Apague tudo que tiver dentro e cole o seguinte código:
    function onUse(cid, item, frompos, item2, topos) --A Configuração abaixo local config = { level_min = 20, -- level mínimo Premium = true, -- Necessita P.A? true para sim ou false para não Club = 7381, -- id da clava caso o suposto knight tenha skill club superior Sword = 7385, -- id da espada caso o suposto knight tenha skill sword superior Axe = 2435 -- id da machado caso o suposto knight tenha skill axe superior } -- Fim da config OBS Configure dessa linha pra baixo se e somente se souber o que está fazendo local SkillClub = getPlayerSkillLevel(cid, 1) local SkillSword = getPlayerSkillLevel(cid, 2) local SkillAxe = getPlayerSkillLevel(cid, 3) local level = getPlayerLevel(cid) local Voc = getPlayerVocation(cid) local QuestStatus = getPlayerStorageValue(cid,13139) if config.Premium and not isPremium(cid) then doPlayerSendTextMessage(cid,29,"Apenas para jogadores premium accounts") return 0 end if Voc == 4 or Voc == 8 then if level >= config.level_min then if QuestStatus == -1 then if (SkillClub > SkillSword) and (SkillClub > SkillAxe) then doPlayerAddItem(cid,config.Club,1) elseif (SkillSword > SkillClub) and (SkillSword > SkillAxe) then doPlayerAddItem(cid,config.Sword,1) elseif (SkillAxe > SkillClub) and (SkillAxe > SkillSword) then doPlayerAddItem(cid,config.Axe,1) end local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 2463, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 3 or Voc == 7 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8872, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 7438, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 1 or Voc == 5 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2188, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 2 or Voc == 6 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2185, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end end return true end feito isso salve e feche o arquivo.
     
    Agora vá na pasta data/actions/actions.xml e cole a seguinte tag abaixo:
    <action uniqueid="7111" script ="recompensa.lua" /> Feito isso basta abrir seu map editor e colocar o unique id no local onde o player vai clicar pra fazer a quest, seja lá o que for, um baú, uma estátua, uma parede,etc.
     
    Gostou? REP+
     
    Analíse, critique, elogie, comente, me ajude a crescer.
     
    By Totonho 18, autor do código :smile_positivo:
  10. Upvote
    totonho18 recebeu reputação de srkapetinha em Aaaah no Default [Pedido]   
    É simples, abra a pasta data/actions/scripts/liquids e abra o arquivo potions.lua ou apenas potions, provavalmenta estará escrito apenas potions, dê um Ctrl+f e digite doCreatureSay(itemEx.uid, "Aaaah..." ou pesquise apenas "Aaaah" Voce chegará em uma linha onde a expressão Aaaah estará escrito, agora apague essa linha e substitua pela linha que citei abaixo:
    doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) Salve e de reload, isso resolverá o problema, qualquer duvida manda msg!
     
    OBS --> É provavel que a tática acima resolva o problema, maaas se por acaso der alguma zebra, vc vai ter que fazer o seguinte, nesse caso dentro dessa mesma pasta liquids você vai ter que abrir os arquivos das potions uma por uma e editar separadamente todas elas, great_mana,strong_mana,etc.A edição parte do mesmo pré suposto do caso acima, vc procura a frase Aaaah dentro do código e apaga toda a linha que tem essa frase e subistitua pela tag que mostrei acima --> doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
     
    Ajudei? REP+
     
     
  11. Upvote
    totonho18 deu reputação a Skulls em Ajuda com essa magia por favor, REP+   
    Vê se isso resolve seu problema com os meteoros:
     
     
     
  12. Upvote
    totonho18 deu reputação a Skulls em Ajuda com essa magia por favor, REP+   
    Opa, se tiver um efeito de meteoro caindo do céu no ot, da sim. Mas não sei se tem.
  13. Upvote
    totonho18 deu reputação a Skulls em Ajuda com essa magia por favor, REP+   
    Amigo, tem 2 jeitos de fazer: um que fica mais uniforme, a animação é sempre a mesma e outro que é exatamente igual o evento /x 18 (que mand aleatoriamente).
     
    Vou colocar os 2 aqui e vc usa o que gostar mais:
     
    1. Uniforme
     
     
     
    2. Igual /x (o código do loop utilizado pode ser encontrado também la em talkactions.
     
     
     
    Bom é isso. Vi que você fez algumas coisas que não precisavam na hora de adicionar o callback da sua formula e na propria formula, se quiser dar uma lida no tutorial que fiz sobre formulas e callbacks para entender melhor, fica o link:
    http://www.xtibia.com/forum/topic/238759-tutorial-formulas-e-callbacks-das-spells-entendendo-melhor/
     
    Abraços, comente se funcionou como desejava.
  14. Upvote
    totonho18 deu reputação a Night Wolf em Como adicionar delay nesse código? REP+   
    O código acima irá funcionar e servir o propósito, porém uma boa prática quando trabalhamos com functions no addEvent é re-checar os parâmetros que iremos utilizar do callback. Em outras palavras, se vamos utilizar o cid na function, temos que checar se ele ainda existe quando o addEvent for chamado.
    addEvent(function() if isCreature(cid) then doTeleportThing(cid, townpos) doSendMagicEffect(getPlayerPosition(cid), 10) end end, 5 * 1000, cid, townpos) -- 5 * 1000 representa 5 segundos ate teleportar.
  15. Upvote
    totonho18 deu reputação a Skulls em Como adicionar delay nesse código? REP+   
    Olá,
    Editado, ops não vi que tinha um efeito, estou no celular.
     
    Basta substituir:
    doTeleportThing(cid, townpos)
    doSendMagicEffect(getPlayerPosition(cid), 10)
    Por
    addEvent(function()
    doTeleportThing(cid, townpos)
    doSendMagicEffect(getPlayerPosition(cid), 10)
    end, Tempo, cid, townpos)
     
    Abraços,
  16. Upvote
    totonho18 deu reputação a DuuhCarvalho em Talkaction duvida dou 2 REP+ da uma olhadinha aqui   
    na verdade o único erro foi que usou a função
     
    setPlayerStorageValue()
     
    dentro do if .
     
    o certo seria fora do 'if' , depois do end .. assim :
     
    function onSay(cid, words, param) local player = {x=5648, y=4646, z=8} -- pos onde o jogador precisa estar if getThingPos(cid).x ~= player.x or getThingPos(cid).y ~= player.y or getThingPos(cid).z ~= player.z then -- aqui checa return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Not here.") end setPlayerStorageValue(cid,55477,1) -- sto q vai ganhar return true end
  17. Upvote
    totonho18 deu reputação a DuuhCarvalho em Talkaction duvida dou 2 REP+ da uma olhadinha aqui   
    se sua intenção era essa , então desculpa mais eu não entendi ..
  18. Upvote
    totonho18 recebeu reputação de Duuhzinhow em Uma pedra que troca item com você! como um npc!   
    Antes de mais nada,queria deixar claro que sou um aprendiz,na verdade sou mapper,entendo muito de map editor,RME,criação de maps etc,sou novo no mundo dos scripts,então críticas e dicas são muito bem vindas.CRÉDITOS 80% meu e 20% de uma talkaction que me inspirou,minha ideia saiu de uma talkaction,mas eu modifiquei para ser uma action e troquei algumas funções.

    Sem mais delongas,o que é esse script?
    Você da use em alguma coisa,statue,wall,stone, sei la,você que sabe,e você ganha um item se tiver outros x itens.
    É como se fosse uma compra,você da x itens e ganha um Item,dando use na pedra.

    Abra a pasta data/action/script e crie um arquivo.lua com o nome "stonetrade.lua" sem as aspas,cole essa função:

    function onUse(cid, item, frompos, item2, topos)
    if doPlayerRemoveItem(cid,2157,200) then
    doPlayerAddItem(cid,2400,1)
    doSendMagicEffect(getPlayerPosition(cid), 14)
    else
    doPlayerSendCancel(cid, 'you not have 200 Gold Nuggets.')
    doSendMagicEffect(getPlayerPosition(cid), 3)
    end
    end
     
    salve e vá na pasta data/actions/actions.xml e add essa tag:
     
    <action actionid="5005" script="stonetrade.lua" />
     
    feito isso,agora é só ir no seu map editor e colocar a action id 5005 no item que você quiser,no meu caso coloquei numa "angel statue",mas fica a seu critério,pode colocar no item que vc quiser,uma arvore,uma parede até um tile,só basta colocar a mesma action que foi gravada no arquivo xml,e a mesma ainda não pode existir no seu server,se n vai dar errado!
     
    Explicando a função:
     
    Vermelho: significa que a função é executada através de um "Use" ou seja clicando com o botão direito do mouse na estatua.
    Verde: É o item ou os itens que serão retirados do jogador para que ele ganhe a recompensa, o primeiro é o id e o segundo a quantia.
    Azul: O item que o player irá ganhar caso ele tenha na bp os itens exigidos na linha de cima =2400 no caso uma sov no exemplo acima.
    Cinza: É a animação que vai surgir no corpo do jogador se ele tiver o item ,o número indica a animação.
    Azul Claro:A msg que vai aparecer caso o jogador não tenha os itens necessários para processar a função.
    Roxo:A animação que irá aparecer no corpo do player se ele não tiver o item,o numero 3 indica o tipo de animação
     
    Muito obrigado,esse foi meu primeiro post,espero que me critiquem com respeito se preciso,mas estou aprendendo,prometo que com um pouco de inspiração consigo criar coisas muito mais interessantes,mas esse foi só o inicio,comente,elogie,critique,me de um motivo para me superar e sempre postar novas coisas!
     
  19. Upvote
    totonho18 recebeu reputação de Vinicius Osorio em Magia ot 8.6   
    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
    setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

    local condition = createConditionObject(CONDITION_ATTRIBUTES)
    setConditionParam(condition, CONDITION_PARAM_TICKS, 10000)
    setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 150)
    setConditionParam(condition, CONDITION_PARAM_BUFF, true)
    setCombatCondition(combat, condition)

    local speed = createConditionObject(CONDITION_PARALYZE)
    setConditionParam(speed, CONDITION_PARAM_TICKS, 10000)
    setConditionFormula(speed, -0.7, 56, -0.7, 56)
    setCombatCondition(combat, speed)

    local exhaust = createConditionObject(CONDITION_EXHAUST)
    setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2)
    setConditionParam(exhaust, CONDITION_PARAM_TICKS, 10000)
    setCombatCondition(combat, exhaust)

    function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
    end



    onde ta destacado de azul coloca tudo "0" como esse exemplo >>> (speed, 0, 0, 0, 0)

    ou se preferir,pode apagar,apague TUDO que marquei de vermelho e azul na função

    testei aqui e funcionou,ajudei????
    REP+
  20. Upvote
    totonho18 deu reputação a zipter98 em Spell da imortalidade!   
    Suponho que você saiba fazer a tag da spell.
    data/spells/você decide:
    local msg = "During %d you'll be imortal." local STORAGE = 91811 local imortal_time = 5 --Segundos. function onCastSpell(cid, var) if getPlayerStorageValue(cid, STORAGE) > os.time() then return doPlayerSendCancel(cid, "Você já está imortal.") else setPlayerStorageValue(cid, STORAGE, os.time() + imortal_time) doPlayerSendTextMessage(cid, 27, msg:format(imortal_time)) end return true end data/creaturescripts/scripts: --[[ Tags no creaturescripts.xml: <event type="statschange" name="Imortal" event="script" value="nome do arquivo.lua"/> <event type="login" name="ImortalLogin" event="script" value="nome do arquivo.lua"/> ]]-- local STORAGE = 91811 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) then if getPlayerStorageValue(cid, STORAGE) > os.time() then return false end end return true end function onLogin(cid) registerCreatureEvent(cid, "Imortal") return true end
  21. Upvote
    totonho18 deu reputação a Shoguns em ERRO valendo 2 REP+ Magic wall com defeito!   
    Troca o scripter.lua da sua magic wall por esse:

    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) function isWalkable(pos)-- by Nord / editado por Omega if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false elseif getTopCreature(pos).uid > 0 then return false elseif isCreature(getTopCreature(pos).uid) then return false elseif getTileInfo(pos).protection then return false elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then return false end return true end function onCastSpell(cid, var) local pos = variantToPosition(var) if isWalkable(pos) then return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "It may not be cast there.") return false end end
  22. Upvote
    totonho18 deu reputação a Killua em Quest que add uma magia nova pro player!   
    Não sabia que tinha função pra isso.... Acabei de procurar e achei doPlayerLearnInstantSpell(cid, name)
     
    @TOPIC Nem precisa mudar nada no magia.lua, e a quest fica assim:
    local magia = 'Healing' -- Nome da magia function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 281921) < 1 then doPlayerSetStorageValue(cid, 281921, 1) doPlayerSendTextMessage(cid, 22, "Voce ganhou uma nova magia!") doPlayerLearnInstantSpell(cid, magia) else doPlayerSendCancel(cid, "Voce ja pegou sua magia.") end return true end E na tag da sua magia, vc coloca needlearn="1" depois do exhaustion="1000" por exemplo.
  23. Upvote
    totonho18 deu reputação a caotic em Quest que add uma magia nova pro player!   
    Bem mais pratico e parabéns.
    So tomar cuidado que mesmo em learn se a vocação não estiver liberada na xml não irá funcionar.
  24. Upvote
    totonho18 deu reputação a vital900 em Houses com "entry" não registrado no XML 2REP+   
    Resposta: ''Benigno"= se isso não vai me afetar em nada,além é claro do spam q causa pra abrir o server.
    Obs: Apesar que existem server's que da erro na hora de dar leave house (quando se da leave house, os itens devem ir para o depot da cidade.. Como a casa não esta registrada em nenhuma cidade, creio que os itens não serão movidos juntos).. Ou de um mesmo jogador poder comprar mais de 1 house (pela falta de registro).. Faça um teste destes dois itens, caso não dê erro então não terá problema algum.
    Solução: só registrando as 294 houses de 1 a 1.
  25. Upvote
    totonho18 recebeu reputação de Incur em Mapmark system MUITO UTIL vale a pena ver!   
    Olá minhas amigas e amigos,já fazia um tempo que procurava esse script,ai resolvi tentar criar sozinho,mas não deu certo,depois que desisti,um tempo depois,achei sem querer o script num ot Alissow,que baixei para buscar idéias de novos scripts, RSRSRSRS,quando a gente procura nunca acha né ? acabou que achei por acaso.
     
    O que é o script ?
    É um script que deixa uma marcação no MINI-MAP do jogador dando informações do lugar,ótimo pra quem ter ots com map próprio,vc pode usar essas marcações quantas vezes quiser,indicando hunts,npcs,locais perigosos,para ajudar na jogabilidade do player.
     
    100% funcional e simples,pode testar a eficiência é garantida,vale a pena usar!
     
    Créditos:
    1% pra mim que divulguei aqui no site!
    99% pro ot alissow e seus criadores!
     
    Ao script agora >>> Abra a pasta data/creaturescripts/scripts crie um arquivo.lua com o nome de "mapmark.lua" sem aspas e cole a seguinte função!
    local config = { storage = 030220122041, version = 1, marks = { {mark = 10, pos = {x = 2281, y = 2516, z = 7}, desc = "Derus Temple!"}, {mark = 15, pos = {x = 2340, y = 2508, z = 7}, desc = "Derus DP!"}, {mark = 16, pos = {x = 2355, y = 2526, z = 7}, desc = "Paladin seller!"} } } local f_addMark = doPlayerAddMapMark if(not f_addMark) then f_addMark = doAddMapMark end function onThink(cid, interval) if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then return end for _, m in pairs(config.marks) do f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "") end setPlayerStorageValue(cid, config.storage, config.version) return TRUE end bom creio eu que já é auto-explicativo,mas se alguem tiver dúvidas pode perguntar,se é que é possivel não entender esse script!
     
    agora vá em data/creaturescripts/login.lua
    e add essa tag:
    registerCreatureEvent(cid, "MapMark") quase acabando,vá agora registrar TUDO que você fez,vá na pasta data/creaturescript/creaturescript.xml e add essa tag depois desse simbolo aqui >>> />
    <event type="think" name="MapMark" event="script" value="mapmark.lua"/> Prontinho galera mais uma coperação pro xtibia,eu busquei esse tuto encontrei e pode ser util pra mais gente!
    REP+ ?
    ABRAÇOS PESSOAL
    XD
  • Quem Está Navegando   0 membros estão online

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