Ir para conteúdo

Thiago Duarte

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Thiago Duarte deu reputação a Renato em Mapping Inspirations   
    Olá galera.
    Bom, pra quem me conhece a bastante tempo sabe que eu já fui mapper. Eu comecei minha jornada no Open Tibia justamente como mapping, e não como programador (como muitos pensam).
    Eu sempre tive esse fascínio por criação. Não é a toa que também sou web designer.
    Mas hoje em dia para mim mappear não há mais tempo, ainda tão novo e tenho meus compromissos com o trabalho, sobra pouco tempo, e o tempo que resta eu dedico à programação, que é a carreira que eu pretendo seguir.
    Pois bem, decidi criar este tópico com as melhores (ao meu ver) imagens de mapping, juntos com o autor é claro, que servirá como inspiração para as novas gerações do mapping que virão (:


    Que ponte magnífica, mas vejo estragos, será que é segura?
    Autor: Peroxide


    Onde estou? é tudo tão diferente, tão... aterrorizador.
    Autor: Neon


    Que tal uma pontezinha para evitar possíveis quedas? Não queremos ver ninguém se machucar!
    Autor: HesteN


    Um pouco de natureza, ahh, que ar bom de se respirar em frente à esta linda cachoeira!
    Autor: Peroxide


    Pena que em lugares tão bonitos, árvores exuberantes, existam caçadores, pior para eles.
    Autor: Peroxide


    Sente um calafrio na espinha?
    Autor: Illusion


    Vejo sábios elfos à me guiar.
    Autor: Peroxide
     

    Uma casa na montanha, rodeada por natureza.
    Autor:

    --
    Logo logo tem mais, só ficar ligado aqui.
  2. Gostei
    Thiago Duarte deu reputação a Luizpaiva em {Pedido}como eu posso colocar novos itens no meu rme?   
    Trocando os itens de seu Remere's Map Editor






    Bom, vejo que muitas pessoas tem dificuldades em trocar os itens de seu RME.




    Mas como assim, trocar os itens do meu RME???




    Voce ja viu no rme, o "Raw Pallete" , ai em tileset o "Other", la fica alguns itens. No seu RME, eles podem estar na versao do tibia 8.54,




    vou ensinar a voces a colocarem uma versao mais atualizada, ou a que voces quiserem.





    Então vamos lá:

    Vá na pasta do seu RME (provavelmente será essa: computador>disco local (C:)>arquivos de programa>remere's map editor) e a pasta será assim: (SS)









    2. Clique em Data:












    3. Agora, dentro da pasta Data estará assim:












    4. Agora voce vai na pasta da versao do seu mapa, por exemplo, alguns mapas abrem com o tibia 8.54 e outros com 8.6 (depende da versão do mapa, aqui no tutorial será com o 8.6, mas caso voce queira fazer com outra versao só fazer o mesmo na pasta da versao que voce queira).




    Clique em 8.6:












    5. Agora dentro da pasta 860, estará assim:












    6. Agora dentro da pasta tem esses itens, e no meios deles tem isto:












    Agora apague-os.





    7. Agora, voce escolhe, se quer pegar itens atualizados, (8.7...) ou da pasta do seu ot, se voce quiser pegar da pasta do seu ot, vá na pasta do seu ot e vá em data/itens/ dentro da pasta, provavelmente tera 3 itens la:





    Items.xml




    items (em bloco de notas)




    randomization





    Copie o items.xml e o items em bloco de notas





    8. Agora que copiou os 2, vá em computador>disco local (C:)>arquivos de programa>remere's map editor>data>860




    e cole os dois la, agora feche e abra seu RME.





    Pronto.






    Gostou

  3. Gostei
    Thiago Duarte recebeu reputação de joaovitorjoia em Meu primeiro sprite   
    To fazendo um serve de raças e classes
    essa é do orc knight fiz toda no paint queria saber se tem um programa melhor pra fazer se tiver posta o link do download



    não sei se fico bom, ainda n terminei toda mais ela sera +- assim. Quero saber onde preciso melhorar
  4. Gostei
    Thiago Duarte deu reputação a Latoy em new marriage system   
    Mulizeu/Latoy são a msm pessoa



    Na sua db execute:

    CREATE TABLE marriage_system ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, partner VARCHAR( 255 ) NOT NULL, marriage_date INTEGER NOT NULL, PRIMARY KEY ( id ) ); Mods MarriageSystem.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="MarriageSystem" version="1.0" author="Mulizeu" contact="tibiaking.com" enabled="yes"> <config name="marry_func"><![CDATA[ marry_config = { Premium = false, OnlyDifferentSex = false, Marry_Price = 300000, Divorce_Price = 100000, Level = 50, MaxSqm = 7 -- to up system and win bonus } Marry_stage = { [0] = {exp = 350000, marry_percent = 50, player_experience = 0}, [1] = {exp = 700000, marry_percent = 45, player_experience = 2}, [2] = {exp = 1050000, marry_percent = 40, player_experience = 4}, [3] = {exp = 1400000, marry_percent = 35, player_experience = 6}, [4] = {exp = 1750000, marry_percent = 30, player_experience = 8}, [5] = {exp = 2100000, marry_percent = 25, player_experience = 10}, [6] = {exp = 2450000, marry_percent = 20, player_experience = 12}, [7] = {exp = 2800000, marry_percent = 15, player_experience = 14}, [8] = {exp = 3150000, marry_percent = 10, player_experience = 16}, [9] = {exp = 3500000, marry_percent = 5, player_experience = 18}, [10] = {exp = 0, marry_percent = 0, player_experience = 20} } marriage_tabble = {exp = 350250,level = 340200} function isMarried(cid) local m = db.getResult("SELECT `player_id` FROM `marriage_system` WHERE `player_id` = '"..getPlayerGUID(cid).."';") if(m:getID() == -1) then local e = db.getResult("SELECT `partner` FROM `marriage_system` WHERE `partner` = '"..getPlayerGUID(cid).."';") if(e:getID() == -1) then return false end end return true end function isPatner(cid) local p = db.getResult("SELECT `partner` FROM `marriage_system` WHERE `player_id` = '"..getPlayerGUID(cid).."';") if(p:getID() == -1) then return true end return false end function isMarryOnline(cid) if not getPlayerByNameWildcard(getPartner(cid)) then return false end return true end function getPartner(cid) if isPatner(cid) then a = db.getResult("SELECT `player_id` FROM `marriage_system` WHERE `partner` = '"..getPlayerGUID(cid).."';") b = "player_id" else a = db.getResult("SELECT `partner` FROM `marriage_system` WHERE `player_id` = '"..getPlayerGUID(cid).."';") b = "partner" end local query = a return getPlayerNameByGUID(query:getDataString(b)) end function doMarry(cid, patner) return db.executeQuery("INSERT INTO `marriage_system` (`player_id`, `partner`, `marriage_date`) VALUES ('".. getPlayerGUID(cid) .."', '"..patner.."', '".. os.time() .."');") end function doDivorcePlayer(cid) if isPatner(cid) then pid,player = getPlayerGUIDByName(getPartner(cid)),getPlayerByNameWildcard(getPartner(cid)) else pid,player = getPlayerGUID(cid),cid end if(not player or isPlayerGhost(player)) then db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = " .. pid .. " AND `key` = " .. marriage_tabble.level .. ";") db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = " .. pid .. " AND `key` = " .. marriage_tabble.exp .. ";") else setPlayerStorageValue(player, marriage_tabble.level,0) setPlayerStorageValue(player, marriage_tabble.exp,0) end return db.executeQuery("DELETE FROM `marriage_system` WHERE `player_id` = '" .. pid .. "';") end function getMarryStatus(cid, status) player = isPatner(cid) and getPlayerByNameWildcard(getPartner(cid)) or cid return getPlayerStorageValue(player,status == "level" and marriage_tabble.level or marriage_tabble.exp) < 0 and 0 or getPlayerStorageValue(player, status == "level" and marriage_tabble.level or marriage_tabble.exp) end function setMarryStatus(cid, status, amount) player = isPatner(cid) and getPlayerByNameWildcard(getPartner(cid)) or cid return setPlayerStorageValue(player, status == "level" and marriage_tabble.level or marriage_tabble.exp, getMarryStatus(player, status)+amount) end function getMarryExp(cid) return getMarryStatus(cid, "exp") end function addMarryExp(cid, amount) return setMarryStatus(cid, "exp", amount) end function addMarryLevel(cid, amount) return setMarryStatus(cid, "level", amount) end function getMarryLevel(cid) return getMarryStatus(cid, "level") end function getMarryDate(cid) local player = isPatner(cid) and getPlayerGUIDByName(getPartner(cid)) or getPlayerGUID(cid) local date = db.getResult("SELECT `marriage_date` FROM `marriage_system` WHERE `player_id` = '"..player.."';") return os.date("%d %B %Y %X ", date:getDataInt("marriage_date")) end ]]></config> <talkaction words="/marriage;!marriage;!divorce;/divorce" event="buffer"><![CDATA[ domodlib('marry_func') config = {TimeAccept = 30, sqm = 3, storage1 = 873438, storage2 = 532579} if words =="!marriage" or words =="/marriage" then param = string.lower(param) if (param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"invalid command, for more information enter !marriage info") elseif(param == "info") then msg = "Marriage Info".."\n\nLevel Minimum: "..marry_config.Level.."\nMarriage Cost: "..marry_config.Marry_Price.."\nDivorce Cost: "..marry_config.Divorce_Price.."\n\nMarried Players have a bonus exp as a wedding gift given by the union".."\n\nThis bonus is only given if the married players are nearby.\n\nTo marry use the command:\n!marriage NAME" doShowTextDialog(cid,2160,msg) elseif(param == "status") then if isMarried(cid) then msg = "Marriage Status".."\n\nMarried with: ["..getPartner(cid).."]\n\nMarry Experience: "..(getMarryLevel(cid) ~= 10 and "["..getMarryExp(cid).."/"..Marry_stage[getMarryLevel(cid)].exp.."]" or "[Max]").."\n\nMarry Level: "..(getMarryLevel(cid) ~= 10 and "["..getMarryLevel(cid).."]" or "[Max]").."\n" else msg = "you are not married" end doPlayerPopupFYI(cid, msg) elseif (param =="date") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..(isMarried(cid) and "The date of his marriage with "..getPartner(cid).." was: "..getMarryDate(cid).."." or "you are not married.").."") elseif (param =="accept") then player = getPlayerStorageValue(cid, config.storage2) if getPlayerStorageValue(cid, config.storage1) >= os.time() then if not isMarried(cid) then if getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(player)) <= config.sqm then doMarry(cid, getPlayerGUID(player)) doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE,"Congratulations! "..getCreatureName(cid).." accepted his marriage proposal.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Congratulations! you married with "..getCreatureName(player)) doSendMagicEffect(getCreaturePosition(cid), 35) doSendMagicEffect(getCreaturePosition(player), 35) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "you're far away from her suitor.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you are not married.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you do not received none wedding invitation.") end elseif (param =="reject") then if getPlayerStorageValue(cid, config.storage1) >= os.time() then if not isMarried(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"You just refuse the wedding invitation from player "..getCreatureName(getPlayerStorageValue(cid, config.storage2))) doPlayerSendTextMessage(getPlayerStorageValue(cid, config.storage2), MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(cid).." rejected his marriage proposal.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you are already married.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you do not received none wedding invitation.") end else local player = getPlayerByNameWildcard(param) if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, param.." is offline or does not exist.") return true elseif isMarried(cid) or isMarried(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, ""..(isMarried(cid) and "you" or "he").." already is wedded.") return true elseif marry_config.Premium == true then if not isPremium(cid) or not isPremium(Player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "players must be premium") end return true elseif getPlayerLevel(cid) < marry_config.Level or getPlayerLevel(player) < marry_config.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "players must to be level "..marry_config.Level) return true elseif getPlayerStorageValue(player, config.storage1) >= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, param.." already have a wedding invitation, wait.") return true elseif getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(player)) > config.sqm then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "you are far away from each other to get married.") return true elseif marry_config.OnlyDifferentSex and getPlayerSex(cid) == getPlayerSex(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "you can only marry the opposite sex") return true elseif not doPlayerRemoveMoney(cid, marry_config.Marry_Price) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, but you do not have "..marry_config.Marry_Price.." gp(s) to ask "..param.." in marriage.") return true end setPlayerStorageValue(player, config.storage1,os.time()+config.TimeAccept) setPlayerStorageValue(player, config.storage2, cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you asked "..param.." in marriage, wait a answer!") doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_BLUE,getCreatureName(cid).." asked you in marriage, enter !marriage accept or !marriage reject") end elseif words =="!divorce" or words =="/divorce" then if isMarried(cid) then if doPlayerRemoveMoney(cid, marry_config.Divorce_Price) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Congratulations, you end up divorcing from player: "..getPartner(cid)) doDivorcePlayer(cid) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Sorry, you do not have "..marry_config.Divorce_Price.." gp(s).") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you are not married.") end end return true ]]></talkaction> <event type="login" name="MarryRegister" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "ExpMarry") registerCreatureEvent(cid, "MarryLook") registerCreatureEvent(cid, "MarryStats") registerCreatureEvent(cid, "MarryNoAttack") return true end]]></event> <event type="look" name="MarryLook" event="script"><![CDATA[ domodlib('marry_func') function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and isMarried(thing.uid) then doPlayerSetSpecialDescription(thing.uid, "\nMarried with "..getPartner(thing.uid).." - [Nv: " .. getMarryLevel(thing.uid) .."]\n") end return true end]]></event> <event type="combat" name="MarryNoAttack" event="script"><![CDATA[ domodlib('marry_func') if isPlayer(cid) and isPlayer(target) and isMarried(cid) and isMarried(target) then if (getCreatureName(target) == getPartner(cid))then doPlayerSendCancel(cid, "You may not attack this player.") return false end end return true ]]></event> <event type="kill" name="ExpMarry" event="script"><![CDATA[ domodlib('marry_func') function onKill(cid, target, lastHit) if isMonster(target) then conta = getMonsterInfo(string.lower(getCreatureName(target))).experience if isMarried(cid) and isMarryOnline(cid) and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(getPlayerByNameWildcard(getPartner(cid)))) <= marry_config.MaxSqm then if getMarryLevel(cid) ~= 10 then mexp = math.ceil((conta*Marry_stage[getMarryLevel(cid)].marry_percent)/100) addMarryExp(cid, mexp) if isMarryOnline(cid) then doPlayerSendTextMessage(getPlayerByNameWildcard(getPartner(cid)),MESSAGE_STATUS_SMALL,"Marry exp + "..mexp) end doPlayerSendTextMessage(cid,MESSAGE_STATUS_SMALL,"Marry exp + "..mexp) if getMarryExp(cid) >= Marry_stage[getMarryLevel(cid)].exp then addMarryLevel(cid, 1) if isMarryOnline(cid) then doPlayerSendTextMessage(getPlayerByNameWildcard(getPartner(cid)), MESSAGE_STATUS_CONSOLE_RED,"[Marriage System] Level Up! [Nv: "..getMarryLevel(cid).."].") doSendMagicEffect(getCreaturePosition(getPlayerByNameWildcard(getPartner(cid))), 35) end doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_RED,"[Marriage System] Level Up! [Nv: "..getMarryLevel(cid).."].") doSendMagicEffect(getCreaturePosition(cid), 35) end end local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) local count = math.ceil(((getMonsterInfo(string.lower(getCreatureName(target))).experience*exp)*Marry_stage[getMarryLevel(cid)].player_experience)/100) doPlayerAddExperience(cid, count) end end return true end]]></event> <event type="statschange" name="MarryStats" event="script"><![CDATA[ domodlib('marry_func') Damage_percent = 50 -- metade n mexa Chance = 25 -- chance de conseguir o reflect ou couple damage if isMonster(attacker) and type == STATSCHANGE_HEALTHLOSS then if isMarried(cid) and isMarryOnline(cid) and getPlayerByNameWildcard(getPartner(cid)) and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(getPlayerByNameWildcard(getPartner(cid)))) <= marry_config.MaxSqm then if (Chance > math.random(1, 100)) then damage = math.ceil((value*Damage_percent)/100) if (50 > math.random(1, 100)) then doTargetCombatHealth(cid, attacker, COMBAT_PHYSICALDAMAGE, -damage, -damage, CONST_ME_HOLYDAMAGE) doSendAnimatedText(getCreaturePosition(cid), "REFLECT!", 140) else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HEARTS) doSendAnimatedText(getCreaturePosition(cid), "Love!", 200) doCreatureAddHealth(cid, damage) if isMarryOnline(cid) then doSendMagicEffect(getCreaturePosition(getPlayerByNameWildcard(getPartner(cid))), CONST_ME_HEARTS) doSendAnimatedText(getCreaturePosition(getPlayerByNameWildcard(getPartner(cid))), "Love!", 200) doCreatureAddHealth(getPlayerByNameWildcard(getPartner(cid)), -damage) end end end end end return true ]]></event> </mod>


    Configuração:




    CREDITOS : 25% Ao vodkart pela lib e 75% ao mulizeu(eu) Pelos demais scripts
  5. Gostei
    Thiago Duarte deu reputação a MaXwEllDeN em [Resolvido]Alguem faz um npc q da vocation por itens   
    Perdão, eu que tô me apressando muito e tô fazendo o bang sem cuidado, erros bestas esses que estão dando.


    local item1 = 107 local quant1 = 1 local vocation13 = 4 local pos = {x=1024, y=1027, z=7} 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 function santaNPC(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if getPlayerVocation(cid) ~= 0 then npcHandler:say('Vaza mano você não é vocation 0.',cid) return false end if(parameters.present == true) then if(doPlayerRemoveItem(cid,item1,quant1) == true) then doPlayerSetVocation(cid, 4) doTeleportThing(cid, pos) npcHandler:say('You changed your vocation to vocation of the Angel.',cid) else npcHandler:say('You have ever vocation is the Angel or do not have the necessary items .',cid) end npcHandler:resetNpc() return true end end npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Do you want to be promoted to {angel}?.") local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) local node = keywordHandler:addKeyword({'angel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bring me an enchanted wing !. Do you sure? it will be irreversible! {yes}'}) node:addChildKeywordNode(yesNode) node:addChildKeywordNode(noNode) npcHandler:addModule(FocusModule:new())
  6. Gostei
    Thiago Duarte deu reputação a MaXwEllDeN em [Resolvido]Alguem faz um npc q da vocation por itens   
    Não não, não é problema no script, foi erro na hora que eu copiei. aí está:

    ocal item1 = 107 local quant1 = 1 local vocation13 = 4 local pos = {x=1024, y=1027, z=7} 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 function santaNPC(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if getPlayerVocation(cid) ~= 0 then npcHandler:say('Vaza mano você não é vocation 0.',cid) return false end if(parameters.present == true) then if(doPlayerRemoveItem(cid,item1,quant1) == true) then doSetPlayerVocation(cid, 4) doTeleportThing(cid, pos) npcHandler:say('You changed your vocation to vocation of the Angel.',cid) else npcHandler:say('You have ever vocation is the Angel or do not have the necessary items .',cid) end npcHandler:resetNpc() return true end end npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Do you want to be promoted to {angel}?.") local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) local node = keywordHandler:addKeyword({'angel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bring me an enchanted wing !. Do you sure? it will be irreversible! {yes}'}) node:addChildKeywordNode(yesNode) node:addChildKeywordNode(noNode) npcHandler:addModule(FocusModule:new())
  7. Gostei
    Thiago Duarte deu reputação a tonyplyson em [ACTION] Trainer Offline (8.54 até 8.60) V1   
    Olá galera do tibiaking , eu tava sem nada p fzer e peguei a ideia do 9.6 de criar um Trainer Offline para o 8.54/8.60 ...
    Como é a versao 1.0 , eu nao fiz muita coisa

    Tipo o script funciona assim

    O Carinha vai na statua e clica , ai ele é teleportado para uma area de trainer , com trainers monk e talz.
    Ele pod sair , clicando na statua ou espera o tempo acabar que ele ja é teleportado para fora da area

    Não se esqueça , que dentro da area do trainer , precisa ser preenxida com "No-Logout Toll"
    Porém , nao está atacando o monk sozinho !! , na Versao 2.0 eu irei fazer isso .

    Entãão vamos instalar o Script em Seu OTSERV !


    Em > data/actions/actions.xml .... Adicione

    <action actionid="9881" event="script" value="traineroff.lua"/>

    Em > data/actions/scripts .... Crie um arquivo .lua , renomeio para traineroff e dentro adicione :






    Boom , é isso ai galera , até a versao 2.0

    OBS : Qualquer duvida ou error é so comentar!
  8. Gostei
    Thiago Duarte deu reputação a tonyplyson em [TALKACTION] Item Por Vocaçao   
    Olá Galera , eu estava sem fazer nada (Normal) , e resolvi criar uma talkaction que adiciona item ao player se ele tiver uma certa vocaçao
    eu criei essa script em 2 versoes , Uma o player pode pegar qualquer level e so pode pegar uma vez. outra que o player precisa ser um certo level(CONFIGURAVEL) , e so pode pegar uma vez!

    Então vamos Lá (Versao Sem Level)
    Abra o Talkaction/Scripts
    Lá voce copia um arquivo .lua e renomeia para *ItemVocation*. e lá dentro voce coloca


    -- TonyPlyson Scripts -- function onSay(cid,words) items = {X, XX, XXX, XXXX} quant = 1 storage = 101010 msg = "Voce Ganhou o Item Correspondente a Sua Vocaçao" -- Edite Aqui a Mensagem De Sucesso msg2 = "Voce já pagou o Item Correspondente a Sua Vocaçao" -- Edite aqui a menssagem de erro if getPlayerStorageValue(cid,storage) == -1 then doPlayerAddItem(cid,items[getPlayerVocation(cid)],quant) setPlayerStorageValue(cid,storage,1) doPlayerSendCancel(cid,msg) else doPlayerSendCancel(cid,msg2) end return true end Agora , Vamos Editar os items X = Item Sorcerer XX = Item Druid XXX = Item Paladin XXXX = Item Knight Pronto ! Esse Ai está pronto , Basta Adicionar a TAG <talkaction words="!itemvocation" event="script" value="itemvocation.lua"/> ----------------------------------------- Agora é A versao (Com Level) function onSay(cid,words) items = {X, XX, XXX, XXXX} quant = 1 storage = 101010 level = 10 -- Edite o Level Nesesário msg = "Voce Ganhou o Item Correspondente a Sua Vocaçao" -- Edite Aqui a Mensagem De Sucesso msg2 = "Voce já pagou o Item Correspondente a Sua Vocaçao" -- Edite aqui a menssagem de erro msg3 = "Voce nao é level "..level.." para fazer essa quest" -- Edite a menssagem de Level Insuficiente if getPlayerStorageValue(cid,storage) == -1 and getPlayerLevel(cid) >= level then doPlayerAddItem(cid,items[getPlayerVocation(cid)],quant) setPlayerStorageValue(cid,storage,1) doPlayerSendCancel(cid,msg) elseif getPlayerLevel(cid) <= level then doPlayerSendCancel(cid,msg3) elseif getPlayerStorageValue(cid,storage) >= 1 then doPlayerSendCancel(cid,msg2) end return true end Agora vamos editar os items X = Item Sorcerer XX = Item Druid XXX = Item Paladin XXXX = Item Knight Agora em "Level" , voce muda o level nesesário para usalo Agora basta adicionar a mesma tag <talkaction words="!itemvocation" event="script" value="itemvocation.lua"/>

    Flw , se for usar no seu server , Dá REP+
    se nao for usar , so veio para ver o conteudo , Da REP +

    Flw galerinha

Informação Importante

Confirmação de Termo