Ir para conteúdo

Frajolaa

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Frajolaa deu reputação a Augusto em Jogar tibia com internet proxy?   
    Olha, eles ate disponibilizam pra teste uma conta, mais tem que falar no chat com eles.
     
    O que o Esdras Eduardo acho que tentou lhe dizer, é caso você tivesse tentando abrir um ot, e você tivesse acesso ao proxy da sua rede, ai faz sentido o que ele falou.
  2. Gostei
    Frajolaa deu reputação a Augusto em Jogar tibia com internet proxy?   
    Se a internet que voce utiliza passa por um proxy, esqueca, geralmente as portas altas sao liberadas em proxys (da 1024 ate 65535) e como o tibia usa a 7171/7172, provavelmente estas portas estao todas bloqueadas, deixando apenas as de navegacao (http 80/ ssl 443).
     
    O que pode tentar e usar um proxy, como o tibiatunnel ou o noping, pois eles se conectam nos servidores pela porta 22 (ssh) e a partir dela redirecionam para os servidores do tibia.
    Caso vc nao consiga usar um proxy, provavelmente a porta 22 tbm esta bloqueada...ai o que resta e ver com a prestadora de internet a possibilidade de desbloquear tais portas.
  3. Gostei
    Frajolaa deu reputação a fumi em Servidor In4k - Recrutamento   
    Iai galera!
     
     
    Estamos procurando uma equipe para finalizar o servidor que já está em fase final.
     
    Quem estiver interessado deixar skype e o que quer fazer (Mapper, Spriter, Etc).
     
    Estamos precisando urgente de spriter.
     
    Entrarei em contato o mais rápido possível para testes.
     
     
    Um video para mostrar o sistema que já está pronto só falta terminar as sprites.
     
     
     

     
     
     
     
    para mais informações acesse www.in4k.com.br
  4. Gostei
    Frajolaa deu reputação a Qwizer em (Resolvido)[Nologout zone] Ajuda com area nologout   
    corrija o kicktime no config.lua caso não mudar verifica de tem o idle no creaturescripts.xml se esta adicionado la se tiver e ainda assim tiver bugado post o idle.lua pra gente ver.
  5. Gostei
    Frajolaa deu reputação a Absolute em (Resolvido)[Nologout zone] Ajuda com area nologout   
    Altere essa parte:
    -- Limits idleWarningTime = 14 * 60 * 1000 idleKickTime = 1000 * 1000 * 10000 expireReportsAfterReads = 1 playerQueryDeepness = 2 maxItemsPerPZTile = 0 maxItemsPerHouseTile = 0 POR:
    idleWarningTime = 14 * 60 * 1000 idleKickTime = 15 * 60 * 1000 reportsExpirationAfterReads = 1 playerQueryDeepness = -1 tileLimit = 400 protectionTileLimit = 7 houseTileLimit = 0
  6. Gostei
    Frajolaa deu reputação a Qwizer em (Resolvido)[Nologout zone] Ajuda com area nologout   
    idleKickTime = 15 * 60 * 1000
  7. Gostei
    Frajolaa deu reputação a Absolute em (Resolvido)[Nologout zone] Ajuda com area nologout   
    Correto, faça o test.
  8. Gostei
    Frajolaa deu reputação a Leandro Rissa em Velocidade de Push/empurrar player   
    em (distance push) game.ppc
     
     
    procura por
     
    if(Position::areInRange<1,1,0>(movingCreature->getPosition(), player->getPosition()) && delay > 0
    && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere))   linha 1031   troque para   if(Position::areInRange<1,1,0>(movingCreature->getPosition(), player->getPosition()) && delay > 250
                && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere))     pronto e compila de novo 
  9. Gostei
    Frajolaa deu reputação a Markin em (Resolvido)[Pedido] um script igual ao underwar   
    Eu já joguei underwar, se eu não me engano ele quer um script que o player ao fazer seu primeiro acesso ao servidor(logar pela primeira vez) ira receber uma mensagem com a função
    doPlayerPopupFYI(cid, "bla bla bla")
  10. Gostei
    Frajolaa deu reputação a Markin em (Resolvido)[Pedido] um script igual ao underwar   
    data/creaturescripts/scripts crie um arquivo com o nome undermsg.lua e adicione isso dentro:
    local mensagem = "bla bla bla" function onLogin(cid) if getPlayerStorageValue(cid, 62627) == 0 then doPlayerPopupFYI(cid, mensagem) doPlayerSetStorageValue(cid, 62627, 1 end return TRUE end creaturescripts.xml adicione a tag:
    <event type="login" name="underMSG" event="script" value="undermsg.lua"/> ai você edita a mensagem na parte:
    local mensagem = "bla bla bla" Pra pular linha você deve usar \n
    Exemplo:
    local mensagem = "bla bla\n bla bla"
  11. Gostei
    Explica o de fly


    em /data/creaturescripts/scripts

    adcione esse script




    em creaturescripts.xml essa tag

    <event type="death" name="KillerBroad" event="script" value="nomedoscript.lua"/> em login.lua essa linha registerCreatureEvent(cid, "KillerBroad")
  12. Gostei
    Frajolaa deu reputação a Nildson em [TUTORIAL] Criando de baú inicial de pokemon !   
    Cria uma pasta chamada pokeinicial.lua dentro de data > actions > script  


    depois vai em actions.xml data > actions execute com notped ++ ou bloco de notas e poe em qualquer lugar esse nome no spoiler



     
    Despois vá no seu rme onde estiver o bau e coloque o action id do bau onde tiver o 0 coloque 1000  ! e depois dê ok e salve o mapa e inicie o server e teste se der certo fala e se gostar da +rep
     
    Dependendo da sua versão de poketibia essa dai é para gabrieltxu 3.2 caso for outra versão troque o item id onde estiver azul , e onde estiver vermelho você troca pokemon ou codernada ,
    e esse é para level sistem !
     
    Creditos : Nildson " Por Criar a Criar só a script e Divulgação do trabalho !"
  13. Gostei
    Frajolaa recebeu reputação de MaxSilver em [!deathlist] Funcionando comando para players.   
    Vai na pasta: data/talkactions/scripts
    copie um arquivo e renomeie para: deathlist1.lua  e cole:
    limit = 5 function onSay(cid, words, param, channel) str = "" if param == "" then local qry = db.getResult("SELECT `player_id`, `date`, `level`, `killer_name` FROM `death_list` ORDER BY `date` DESC LIMIT 0, " .. limit) if(qry:getID() ~= -1) then repeat str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." "..getPlayerNameByGUID(qry:getDataString("player_id")).." died at level "..qry:getDataInt("level").." by:\n"..qry:getDataString("killer_name") until not(qry:next()) qry:free() else str = "Não há mortes no servidor." end doPlayerPopupFYI(cid, "Last Deaths:\n\n" .. str) return true end local deaths = db.getResult("SELECT `player_id`, `date`, `level`, `killer_name` FROM `death_list` ORDER BY `date` DESC LIMIT 0, " .. limit)if(getPlayer:getID() == -1) then doPlayerSendCancel(cid, "Este Player não existe.") return true end local getGuid = getPlayer:getDataInt("id") getPlayer:free() local qry = db.getResult("SELECT `id`, `date`, `level`, `killer_name` FROM `death_list` WHERE `player_id` = " .. getGuid .." ORDER BY `date` DESC LIMIT 0, " .. limit) if(qry:getID() ~= -1) then repeat str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." died at level "..qry:getDataInt("level").." by:\n"..qry:getDataString("killer_name") until not(qry:next()) qry:free() else str = "Não há mortes." end doPlayerPopupFYI(cid, "Last Deaths of: " .. param .. ".\n\n" .. str) return true end Vai na pasta: data/talkactions e abre talkactions.xml
    e cole em player ou em outro lugar, eu coloquei em players. cole isso:
    <talkaction words="!deathlist" script="deathlist.lua"/>
     
     
    Em limit = 5 logo no começo do script é o limite de quantas mortes irao aparecer dos ultimos player que morreu.
     
    Comando !deathlist
  14. Gostei
    Frajolaa recebeu reputação de luanluciano93 em [!deathlist] Funcionando comando para players.   
    Vai na pasta: data/talkactions/scripts
    copie um arquivo e renomeie para: deathlist1.lua  e cole:
    limit = 5 function onSay(cid, words, param, channel) str = "" if param == "" then local qry = db.getResult("SELECT `player_id`, `date`, `level`, `killer_name` FROM `death_list` ORDER BY `date` DESC LIMIT 0, " .. limit) if(qry:getID() ~= -1) then repeat str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." "..getPlayerNameByGUID(qry:getDataString("player_id")).." died at level "..qry:getDataInt("level").." by:\n"..qry:getDataString("killer_name") until not(qry:next()) qry:free() else str = "Não há mortes no servidor." end doPlayerPopupFYI(cid, "Last Deaths:\n\n" .. str) return true end local deaths = db.getResult("SELECT `player_id`, `date`, `level`, `killer_name` FROM `death_list` ORDER BY `date` DESC LIMIT 0, " .. limit)if(getPlayer:getID() == -1) then doPlayerSendCancel(cid, "Este Player não existe.") return true end local getGuid = getPlayer:getDataInt("id") getPlayer:free() local qry = db.getResult("SELECT `id`, `date`, `level`, `killer_name` FROM `death_list` WHERE `player_id` = " .. getGuid .." ORDER BY `date` DESC LIMIT 0, " .. limit) if(qry:getID() ~= -1) then repeat str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." died at level "..qry:getDataInt("level").." by:\n"..qry:getDataString("killer_name") until not(qry:next()) qry:free() else str = "Não há mortes." end doPlayerPopupFYI(cid, "Last Deaths of: " .. param .. ".\n\n" .. str) return true end Vai na pasta: data/talkactions e abre talkactions.xml
    e cole em player ou em outro lugar, eu coloquei em players. cole isso:
    <talkaction words="!deathlist" script="deathlist.lua"/>
     
     
    Em limit = 5 logo no começo do script é o limite de quantas mortes irao aparecer dos ultimos player que morreu.
     
    Comando !deathlist
  15. Gostei
    Frajolaa deu reputação a yogo em [TalkAction] Sistema de Frags   
    Olá, hoje venho apresentar o script, Sistema de Frags, este script faz com que abra uma janela em game, e depois na janela apresente os 'Top Killers' do servidor.
    Bom, vamos lá.

    Primeiro, abra a pasta de seu Servidor > Data > TalkActions > Scripts, lá copie qualquer arquivo.LUA e renomeio como "topkillers" e nele coloque isso:



    Agora, vamos em seu Servidor > Data > TalkActions > TalkActions.XML lá adicione está linha:


    Salve e Feche. Abra seu servidor e veja os 'Top Killers'

    Bom esse script, eu só editei.

    Obrigado pela Atenção.

    Abraços.
  16. Gostei
    Frajolaa deu reputação a Mek Fiuchem em [DUVIDA] Como Posso dar look No Player e ver os frags   
    Crie na pasta Data/Creaturescripts/script o arquivo fraglook.lua
    e cole isso

    function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } return size.day + size.week + size.month end function onLogin(cid) registerCreatureEvent(cid, "fraglook") return true end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..']') return true elseif thing.uid == cid then doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..']') local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'' if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end return true end Agora no Data/Creaturescripts/creaturescripts.xml adicione essas tags: <event type="login" name="fraglook_register" event="script" value="fraglook.lua"/> <event type="look" name="fraglook" event="script" value="fraglook.lua"/>


    Ajudei ? Rep+ Please
  17. Gostei
    Frajolaa deu reputação a Beyond Sky em [Mod] Automatic Raids [Dia E Hora Marcada]   
    O alerta que continha no tópico antes do meu post me alertava que eu não poderia postar desde que não fosse nada importante ou que não fosse relacionado ao assunto discutido creio que não cometi uma inflação.
  18. Gostei
    Frajolaa deu reputação a Vodkart em [Mod] Automatic Raids [Dia E Hora Marcada]   
    Automatic Raids.xml

    <?xml version="1.0" encoding="UTF-8"?> <mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="tibiaking.com" enabled="yes"> <config name="raids_func"><![CDATA[ days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 15}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 20} }, ["Sunday"] = { ["10:08"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} } } ]]></config> <globalevent name="AutomaticRaids" interval="60" event="script"><![CDATA[ domodlib('raids_func') function onThink(interval, lastExecution) if days[os.date("%A")] then hours = tostring(os.date("%X")):sub(1, 5) tb = days[os.date("%A")][hours] if tb then function removeCreature(tb) for x = ((tb.pos.fromPosition.x)-10), ((tb.pos.toPosition.x)+10) do for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid if m ~= 0 and isMonster(m) then doRemoveCreature(m) end end end end doBroadcastMessage("The invasion of " .. tb.nome .. " started") for _,x in pairs(tb.m) do for s = 1, tonumber(x:match("%d+")) do pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z} doSummonCreature(x:match("%s(.+)"), pos) end end addEvent(removeCreature, tb.Time*60*1000, tb) end end return true end ]]></globalevent> </mod> Configuração: days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 1}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 2} }, ["Tuesday"] = { ["10:44"] = {nome = "Demon", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}}, m = {"5 Demon", "8 Fire Devil"}, Time = 1}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 2} } } ["DIA"] = { ["HORA DA INVASÃO"] = {nome = "NOME DA INVASÃO", pos = {começo e final da área}, monster = {"MONSTROS"}, Time = para remover os monstro} } O dia da invasão é colocada entre " " e somente dia em inglês e a primeira letra maiúscula, exemplo: "Saturday" Depois são as hora da invasão, que é colocada entre " " e somente a hora e minuto, segundos não precisa exemplo: "15:00" As Posições estão entre { } adicionando as posições x, y e z, é o começo e final da área exemplo: pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}} fromPosition -- começo da área onde vai acontecer a raid toPosition -- final da área onde vai acontecer a raid Os monters tem um modo especial de configurar, vc coloca entre { }, e cada monstro entre " ", e entre as " " vc adiciona "QUANTIDADE MONSTRO", e para adicionar mais tipos de monstro se separa por virgulas, exemplo: {"40 Water Elemental", "5 Cyclops"} Time é uma função extra, é para caso ninguém participe do evento os monstros não fiquem pelo mapa, e é em minutos, exemplo: Time = 15
  19. Gostei
    Frajolaa deu reputação a Skyforever em [Wand] Muda de efeito   
    Olá, galerinha do tibia king vi esse sistema em 1 site e eles estavam vendendo por 9,90 então resolvi fazer e postar de graça

    primeiramente va em

    data/talkactions/scripts crie um arquivo chamando wand.lua e coloque isso dentro


    <talkaction words="!wand" event="script" value="wand.lua"/> agora em data/weapons/scripts crie um arquivo e renomeie para wand1.lua e adicione isso dentro: <wand id="xxx" level="50" mana="13" min="0" max="0" type="earth" event="script" value="wand1.lua"> <!-- wand of effects --> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> em items.xml <item id="xxx" article="the" name="nome da sua wand"> <attribute key="description" value="Você pode mudar o elemento da wand digitando !wand elemento desejado." /> <attribute key="weight" value="2300" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="holy" /> <attribute key="range" value="8" /> em data/creaturescripts/scripts login.lua antes do ultimo return true adicione essa linha: if getPlayerStorageValue(cid, 12036) == -1 then setPlayerStorageValue(cid, 12036, 1) end

    PS : Testado, e funcionando
    PS2 : Podem postar em outros fórums se colocarem créditos
    PS3 : Tem que ser o mesmo id em items.xml talkactions.xml e weapons.xml
  20. Gostei
    Frajolaa deu reputação a Renato em [Talkaction] Shop System [ !sell - !buy ] Fácil Configuração!   
    Sim, tive a ideia ao ver o shop system do skyd, mas não peguei nada do script dele.


    Instalando

    talkactions/scripts/shop.lua



    local config = {
    ["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
    ["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'no' },
    ["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'no' }
    }

    function upperfirst(first, rest)
    return first:upper()..rest:lower()
    end

    function onSay(cid, words, param, channel)

    if (param == nil or param == '' or param == 'lista' or param == 'list') then
    if (words == "!sell" or words == "/sell") then
    str = "Showing items that you can sell:\n\n"
    else
    str = "Showing items that you can buy:\n\n"
    end
    for item, vars in pairs(config) do
    if (words == "!sell" or words == "/sell") then
    expl = string.explode(vars.sell, " ")
    else
    expl = string.explode(vars.buy, " ")
    end
    item = item:gsub("(%a)([%w_']*)", upperfirst)
    if (expl[1] == 'no') then
    str = str
    else
    str = str .. item.. " - " .. expl[2] .. " gps\n"
    end
    end
    return doShowTextDialog(cid, 2160, str)
    end
    local item = config[param:lower()]
    param = param:lower()
    if (item) then
    local sell = string.explode(item.sell, " ")
    local buy = string.explode(item.buy, " ")
    if (words == "!sell" or words == "/sell") then
    if (sell[1] == "yes") then
    if (doPlayerRemoveItem(cid, item.id, 1)) then
    doPlayerAddMoney(cid, sell[2])
    doSendMagicEffect(getPlayerPosition(cid), 30)
    return doPlayerSendTextMessage(cid,29,"Here are, you sold "..param.." for "..sell[2].." gold coins.")
    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    return doPlayerSendTextMessage(cid,29,"You don't have anything "..param.." to sell.")
    end
    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    return doPlayerSendTextMessage(cid,29,"Sorry, "..param.." cannot be sold.")
    end
    else
    if (buy[1] == "yes") then
    if (doPlayerRemoveMoney(cid, buy[2])) then
    doPlayerAddItem(cid, item.id)
    doSendMagicEffect(getPlayerPosition(cid), 28)
    return doPlayerSendTextMessage(cid,29,"Here are, you bought "..param.." for "..buy[2].." gold coins.")
    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    return doPlayerSendTextMessage(cid,29,"You don't have enough money.")
    end
    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    return doPlayerSendTextMessage(cid,29,"Sorry, "..param.." cannot be bought.")
    end
    end

    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    if (words == "!sell") then
    return doPlayerSendTextMessage(cid,29,"Sorry, this item cannot be sold or it does't exist.")
    else
    return doPlayerSendTextMessage(cid,29,"Sorry, this item cannot be bought or it does't exist.")
    end
    end
    end
    [/code] [b]talkactions/talkactions.xml[/b] [code]<talkaction words="!sell;/sell;!buy;/buy" event="script" value="shop.lua"/> Adicionando novos itens
    ♣ Config Observem no começo do código estas linhas: local config = {
    ["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
    ["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'yes 60000' },
    ["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'no' }
    }[/code] Seguindo uma ordem óbvia, adicionem abaixo do boots of haste e antes do '}' que fecha o config. assim para adicionar sigam o modelo ["nome do item"], repectivamente de suas variáveis. [b]♣ Variáveis[/b] [color=#800080][b]id[/b][/color] - é onde você coloca o id do item [color=#800080][b]sell [/b][/color]- você precisa colocar se o item pode ser vendido por "yes" ou "no", caso for yes de um espaço (se não der espaço não funciona) e bote o valor em gold coins (não é k) [color=#800080][b]buy [/b][/color]- segue a ordem igual ao sell porem é se o item pode ser comprado pelo !buy ou não, e o preço que o player pagará. [b]♣ Exemplos[/b] Assim, digamos que desejo acrescentar um mastermind shield onde o player pode vender por 60k e comprar por 120k, adicionarei: [code]["mastermind shield"] = {id = 2514, sell = 'yes 60000', buy = 'yes 120000' }, Em seguida quero adicionar uma soft boots que pode ser vendida por 300k, mas NÃO PODE ser comprada. Colocarei: ["soft boots"] = {id = 6132, sell = 'yes 300000', buy = 'no' }, local config = {
    ["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
    ["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'no' },
    ["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'yes 60000' },
    ["mastermind shield"] = {id = 2514, sell = 'yes 60000', buy = 'yes 120000' },
    ["soft boots"] = {id = 6132, sell = 'yes 300000', buy = 'no' }
    }[/code]

    [color=#ff0000][size=5][b]Atenção![/b][/size][/color]
    [color=#ff0000]Reparem que em todas as linhas finalizam-se com }, mas na última há ausência da vírgula, isto ocorre por que não pode ter vírgula no último, não sei ao certo se dará erro, não cheguei a testar, mas em muitas linguagens de programação ocorre um erro. Então é melhor ficar atento.[/color]

    Creio que passei as devidas instruções corretamente, e não é nenhum bixo de sete cabeças... qualquer um que tenha uma mentalidade normal conseguirá configurar.

    [size=5][b]
    [size=6][color=#006400]Explicando as talkactions[/color][/size]
    [/b][/size]
    [b]♣ Comprando[/b]
    Bom, agora que já adicionou todos os items, vou explicar como funciona:
    O player comprará uma boh (item sugestivo) item por: [color=#800080][b]!buy boots of haste[/b][/color], caso não tenha grana, não vai conseguir, caso tenha comprará.

    [b]♣ Vendendo[/b]
    O mesmo quando ele for vender, ele falará: [color=#800080][b]!sell boots of haste[/b][/color], caso não tenha o item, o script negará, caso tenha o item some e o dinheiro aparece (:




    [center][/center]




    [center][/center]


    [b]♣ Lista de items[/b]
    [i]Ohh, não sei quais items pode ser comprados, e também não sei quanto custa, e agora?[/i]
    Diga [b][color=#800080]!buy[/color][/b], ou [b][color=#800080]!buy[/color] [color=#800080]list [/color][/b]ou [b][color=#800080]!buy[/color] [color=#800080]lista[/color][/b] para ver todos os items




    [center][/center]


    [i]O mesmo com os items que podem ser vendidos:[/i]
    [b][color=#800080]!sell[/color][/b], [b][color=#800080]!sell list[/color][/b] ou [b][color=#800080]!sell lista[/color][/b]



    [center][/center]



    [size=7][color=#006400]Versão 2[/color][/size]

    Deixo aberto sugestões para a versão 2
    E claro, caso haja, correção de bugs.

    __________________


    [b]♣ Créditos[/b]
    Renato - Desenvolvimento
    skydangerous - Ideia
    Então, meu config ficará desta forma:
  21. Gostei
    Frajolaa deu reputação a KekezitoLHP em [ Pedido ] NPC DE TROCA   
    quer coloca pra vende mais item edita aqui
     
     
    local t = {      [2195] = {price = 15} -- [iD DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR}          }    
    local t = { [2195] = {price = 15}, -- [iD DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR} [2195] = {price = 15} } LEMBRA-SE ULTIMO NAO PRECISA DE VIGULA... Se ajudei rep++
  22. Gostei
    Frajolaa deu reputação a KekezitoLHP em [ Pedido ] NPC DE TROCA   
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local shopWindow = {} local moeda = 9020 -- [iD DA MOEDA] local t = { [2195] = {price = 15} -- [iD DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR} } local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then selfSay("você não tem "..t[item].price.." "..getItemNameById(moeda), cid) else doPlayerAddItem(cid, item) selfSay("aqui está seu item!", cid) end return true end if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then for var, ret in pairs(t) do table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)}) end openShopWindow(cid, shopWindow, onBuy, onSell) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) COLOCA NO itensvip.lua
  23. Gostei
    Frajolaa deu reputação a KekezitoLHP em [ Pedido ] NPC DE TROCA   
    vai em ...\data\npc copie um arquivo qualquer e renomeie para Strike.xml depois abra com o bloco de notas, apague oque estiver dentro e coloque isso.
     
    <?xml version="1.0"?> <npc name="Strike" script="data/npc/scripts/itensvip.lua" access="5" lookdir="2" walkinterval="0"> <health now="200" max="200" /> <look type="324" head="95" body="95" legs="95" feet="95" addons="3" /> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Veio trocar uns vips coins por itens? Diga {vips}." /> </parameters> </npc> vai em ...\data\npc\scripts copie qualquer arquivo que esteje la renomeie para itensvip.lua abra com bloco de notas, apague oque estiver dentro e coloque isso.
     
    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 -- STRIKE START -- function jestervip(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if getPlayerItemCount(cid,2157) >= 50 then if doPlayerRemoveItem(cid,2157,50) then npcHandler:say('Aqui esta seu item!', cid) doPlayerAddItem(cid,7424,1) end else npcHandler:say('Voce nao tem itens necessarios!', cid) end end -- STRIKE END -- keywordHandler:addKeyword({'vips'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Eu troco {jester staff} por vips coins."}) local node1 = keywordHandler:addKeyword({'jester staff'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer trocar 50 vips coins por 1 jester staff?? Yes or no??'}) node1:addChildKeyword({'yes'}, jestervip, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, volte quando quizer negociar!', reset = true}) npcHandler:addModule(FocusModule:new())  
    onde esta 2157 é o id do item que o npc vai pegar no meu caso eh 2157.
    onde esta 50 é a quantidade de vip coins que o npc quer para vender o iten no meu caso são 50.
    onde ta 7424 é o id no item que o npc está vendendo no meu caso é 7424.
    onde ta 1 é a quantidade de itens que o npc vai entregar quando o player efetuar a compra, no meu caso ele so vai dar 1 iten (aconcelho nao mexer) só se vc quizer que o npc vende mais...
    onde ta vip é a fala que o player vai dizer para que o npc diga qual itens ele está vendendo.
    onde ta  Eu troco {jester staff} por vips coins essa é a fala do npc.
    onde ta  jester staff é oq o player tem que falar para comprar o item no meu caso o player fala jester staff e ai o npc diz se quer compra ou nao...
    onde ta  Voce quer trocar 50 vips coins por 1 jester staff?? Yes or no?? essa eh a fala do npc para saber se o player quer compra ou nao...
  24. Gostei
    Frajolaa deu reputação a ViitinG em Ajuda! Como faz outra area vip ?   
    "data/movements/scripts/segundavip"
    function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Somente players VIP podem passar aqui.", msgWelcome = "Seja bem-vindo a area VIP!" } vip = getPlayerStorageValue(cid,18966) if vip == -1 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Adquira Sua Vip.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Bom Proveito.") return true end "data/movements/movements.xml"
    <movevent type="StepIn" actionid="18966" event="script" value="segundavip.lua"/>
  25. Gostei
    Frajolaa deu reputação a leandrovp em Estou querendo criar a area vip do meu ot   
    TESTAR PORQUE ESSE SCRIPT EU FIZ PRO MEU BAIAK NAO SEI SE EM TFS FUNCIONA

    Vai em data/moviments/script e crie um arquivo .lua com nome de sua escolha

    -- Script Feito por Leandro Machado


    function onStepIn(cid, item, position, fromPosition)


    local config = {
    msgDenied = "Você nao e VIP DONATE Para comprar Acesse : http://baiak-lero.bl...gspot.com.br/!",
    msgWelcome = "Bem Vindo a area VIP DONATE!"
    }

    if getPlayerStorageValue(cid, 13500) - os.time() <= 0 then
    doTeleportThing(cid, fromPosition, true)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)
    doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
    return TRUE
    end
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome)
    return TRUE
    end

    --

    Aonde está em azul é action id do pizo

    Em moviments.xml coloque :
    <movevent type="StepIn" actionid="13500" event="script" value="sistemavip.lua"/>

    --

    Agora o Item para Clicar e ganhar

    vai em Actions/script e criei um arquivo.lua com nome de sua escolha

    ------

    -- Script Feito Por Leandro Machado


    function onUse(cid, item, fromPosition, itemEx, toPosition)

    local config={
    removeOnUse = "yes" -- remover quando usar ("yes" or "no")
    }

    local days = 15 -- coloque os dias que serão a VIP!
    local daysvalue = days * 24 * 60 * 60
    local storageplayer = getPlayerStorageValue(cid, 13500)
    local timenow = os.time()

    if getPlayerStorageValue(cid, 13500) - os.time() <= 0 then
    time = timenow + daysvalue
    else
    time = storageplayer + daysvalue
    end

    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
    setPlayerStorageValue(cid, 13500, time)
    local quantity = math.floor((getPlayerStorageValue(cid, 13500) - timenow)/(24 * 60 * 60))
    doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
    if (config.removeOnUse == "yes") then
    doRemoveItem(item.uid, 1)
    end

    return TRUE
    end

    -----

    Aonde ta em azul é o Action ID DO piso que voce coloco no primeiro Script
    Aonde ta em vermelhor é os dias de vip que vai ganhar quando clicar no item


    actions.xml voce coloca

    -----

    <action itemid="10309" script="sistemavip.lua"/>

    Aonde esta em verde é o ID Do item usado!
    --------


    Ajudei? REP + Por Favor *-*

Informação Importante

Confirmação de Termo