Ir para conteúdo

silasops

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    silasops deu reputação a Xagah em Npc que troca varios itens por 1   
    Crie um arquivo chamado Jax.lua na pasta data/npc/scripts e cole isso:
    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 local items = { item1 = {2346, 2349}, -- item1 item que será pedido e que será dado na primeira troca item2 = {2033, 15515} -- item2 item que será pedido e que será dado na segunda troca } local counts = { count1 = {1, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca count2 = {10, 1} -- count2 quantidade que será pedido e que será dado na segunda troca } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'blue note') then if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then doPlayerRemoveItem(cid, items.item1[1], counts.count1[1]) doPlayerAddItem(cid, items.item1[2], counts.count1[2]) selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid) else selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid) end elseif msgcontains(msg, 'bar of gold') then if getPlayerItemCount(cid, items.item2[1]) >= counts.count2[1] then doPlayerRemoveItem(cid, items.item2[1], counts.count2[1]) doPlayerAddItem(cid, items.item2[2], counts.count2[2]) selfSay('You just swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid) else selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Crie um arquivo chamado Jax.xml na pasta data/npc e cole isso:
     
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Jax" script="Jax.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150" /> <look type="134" head="57" body="59" legs="40" feet="76" corpse="2212" /> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. Do not want to make an exchange? I have {blue note} and {bar of gold}." /> <parameter key="message_farewell" value="Bye bye!" /> </parameters> </npc> Testado e está 100% funcional
  2. Gostei
    silasops deu reputação a PsyMcKenzie em Sistema de Cortar Madeira V1.0 por PsyMcKenzie   
    Bom galera, estou começando minha carreira na área de scripts, e estou fazendo o possível para postar 1 por semana.

    Semana passada eu postei o Sistema de Fome

    E hoje estou postando o Woodcutting Sistem na versão 1.0, em breve updates. Então, vamos lá!

    Em data/actions/scripts, crie um arquivo.lua com o nome de wood e coloque isso:


     
    function onUse(cid, item, frompos, item2, topos) local chance = 70 -- chance de cortar local madeiras = {5941, 5901} -- item que o player irá ganhar local premio = madeiras[math.random(1, #madeiras)] local transformItem = 8786 local texts = {"Tuc", "Toc", "Trec"} local random = texts[math.random(1,#texts)] local vocationUse = 2 local time = 2 -- Minutos para crescer novamente                   if getPlayerVocation(cid) ~= vocationUse then                                            doPlayerSendTextMessage(cid,22,"Você não tem a vocação necessária para cortar.")                   return true                   end                            if item2.itemid == 2708 or item2.itemid == 2700 or item2.itemid == 6218 or item2.itemid == 2701 or item2.itemid == 2707 then                                         if math.random(1,100) >= chance then                                                  doPlayerAddItem(cid,premio, math.random(1, 2))                                                  doTransformItem(item2.uid, transformItem)                                                  doSendMagicEffect(topos, 16)                                                  doPlayerSendTextMessage(cid,22,"Você cortou uma madeira.")                                                  doSendAnimatedText(topos, ""..random.."", TEXTCOLOR_GREEN)                                                  doDecayItem(item2.uid)                                                  addEvent(doCreateItem, time*60*1000, item2.itemid, 1, getThingPos(item2.uid))          else                                                  doSendAnimatedText(topos, ""..random.."", TEXTCOLOR_GREEN)                                                  doPlayerSendTextMessage(cid,22,"Você não conseguiu cortar.")                                         end                            end          return true end    
    Em data/actions/actions.xml adicione a tag:


     
    <action itemid="4874" event="script" value="wood.lua"/>    
    4874 é o ID do Dwarven Pickaxe.

    Imagens:





    É isso ai galera. Obrigado!
  3. Gostei
    silasops deu reputação a Heyron em Como fazer um servidor novo, com mapa próprio?   
    Dê uma olhada aqui, pode ser útil.
    Não se esqueça de criar uma Town (cidade) através do RME, basta usar o ALT+T.
     

     
     
  4. Gostei
    silasops deu reputação a Heyron em Como fazer um servidor novo, com mapa próprio?   
    Olha cara, eu particularmente sempre curti a versão 8.60, e acredito eu, que essa seja a mais jogada mundialmente.
     
    Bom, nesse caso que você quer um servidor limpo, sem a adição de scripts/mods de terceiros, eu lhe aconselho esse servidor, o TFS 0.4.
    Nesse, só vem o essencial para o funcionamento de um servidor, o básico mesmo.. Mas você pode modificado por completo, pois o servidor acompanha as sources e tudo mais.
     
    Para o seu mapa funcionar no servidor, você tem que verificar se o servidor e a versão do mapa são da mesma versão, não sê esqueça disso.
     
     

Informação Importante

Confirmação de Termo