|
| Recrutando GMs | |
|
+5akira Pedro Biozard Vivokiller The God Of Legends 9 participantes | Autor | Mensagem |
---|
The God Of Legends The God
Mensagens : 194 Data de inscrição : 13/10/2008
Ficha do personagem Reputação: The God Of War
| Assunto: Recrutando GMs Qui maio 27, 2010 7:48 pm | |
| Se você tem conhecimento em: Mapping Scripting ( spells, actions, creaturescripts, monsters, moveevents, globalevents, lib)
Se você conheçe o server por inteiro, cada magia e seus efeitos, cada classe. se você acha que mereçe... convensa-me. | |
| | | Vivokiller Recruit
Mensagens : 3 Data de inscrição : 27/05/2010
| Assunto: Re: Recrutando GMs Qui maio 27, 2010 8:29 pm | |
| Mapping: O Mapping é simples, é o básico da construção de um ot, é a modifição de um mapa eu quando eu tinha o meu ot, mapa YurOTS, eu utilizava o programa Sim0ne, que ajuda na alteração o mapa. Scripting: O Scripting já é mais complicado pq dai já mexer em outra ária do ot, por exemplo, as magias, a maioria dos ots tem as magias prontas nele, então é extremamente complicado mexer nessa ária sem saber lidar com o resto, pois se vc n saber pode desregular uma classe. Na criação de monstros o programa Sim0ne tbm ajuda, pois ele cria os monstros tbm. Para editar suas coisas: - Pasta accounts: Dentro dessa paste ficam as contas, elas contém a senha e quais personagem ela tem. - Pasta: actions: São scripts que melhoram o jogo. Quanto mais actions seu ot tiver mais interessante ele será. Nessa pasta existe o arquivo “actions.xml”, que indica qual item irá executar tal script quando for usado e na pasta scripts é que está o tal script. - Pasta houses: São as informações sobre onde fica a porta da frente de cada casa no mapa e a quem elas pertencem. - Pasta items: Nela fica o arquivo “Items.OTB”, que define basicamente as propridades de cada sprite do arquivo “Tibia.spr”. Propriedades como ataque e defesa (armas e armaduras), se é danoso (campos de veneno, fogo), ou se é passável ou não (grama, lava). - Pasta monster: É aqui que ficam todos os monstros do server. Esses arquivos contém informações como HP, dano, LVL, loot, etc... - Pasta npc: Dividida em duas partes, a primeria indica como o NPS se parece e qual script ele usa, e a pasta “scripts” é onde estão esses scripts. - Pasta players: Onde ficam os populares “chars”, os arquivos informam tudo: lvl, skills, bp, equips, dp, templo, etc. - Pasta spells: Está dividida em duas, onde ficam as magias “faladas” e as magias de runas. Se você der uma olhada nesses arquivos vai entender como funcionam. O arquivo “spells.xml” classifica as magias (pally, sorc, kina, druid) e também atrubui runas a elas. - Pasta vip: Diz quais players estão na VIP list de determinada conta. - Pasta world: Você já conhece, a única coisa que vale a pena falar é o arquivo “npc.xml”, que serve para dizer onde um npc é colocado e para que direção ele olha. - “commands.xml”: Define que comandos podem ser usados por quem (access 3: gms). - “guilds.xml”: Não precisa nem falar. - “houseitems.xml”: Aqui estão todos os item das casas dos jogadores. - “houses.xml”: Define a área de cada casa. - “readables.xml”: Aqui você tem que escrever os textos que aparecem nas placas e também informar onde estão essas placas. - “summons.xml”: Define que monstros podem ser conjurados e quanto isso custa de mana. Conforme você edita isso tudo, você molda seu ot do seu jeito. Isso costuma levar algum tempo. Bom e é isto, se quiser fazer mais perguntas que posso olhar todos os dias e irei responder. | |
| | | Vivokiller Recruit
Mensagens : 3 Data de inscrição : 27/05/2010
| Assunto: Re: Recrutando GMs Qui maio 27, 2010 8:46 pm | |
| Só para complementar: N sou um jogador do wol muito velho porem tenho grande experiência no tibia global e em vários outros ots, meu personagem do global foi criado dia: Created: Jun 30 2004, 20:38:59 CEST Jogo antes dos f1,f2,f3 etc... e das wands, o “verdadeiro pvp” quando era tudo na mão. Sou muito conhecido no jogo e sou uma pessoa lgl e participativa , Por isso conto para ser Gm e ajudar os players e no que puder o server. | |
| | | The God Of Legends The God
Mensagens : 194 Data de inscrição : 13/10/2008
Ficha do personagem Reputação: The God Of War
| Assunto: Re: Recrutando GMs Qui maio 27, 2010 11:50 pm | |
| o primeiro post seu é provavelmetne um ctrl c ctrl v 2° q é puta duma database antiga XML que nem é usado mais :s não entendi nada do seu post eu quero saber o que você consegue fazer ou o que ja fez não uma explicação do que eu ja sei. se eu quizer provas eu pergunto... | |
| | | Biozard Recruit
Mensagens : 32 Data de inscrição : 04/02/2010
| Assunto: Re: Recrutando GMs Qui maio 27, 2010 11:55 pm | |
| Vou te passar pelo MSN minhas spells... | |
| | | Pedro The God
Mensagens : 143 Data de inscrição : 25/01/2009 Idade : 31 Localização : Osasco - Sp
Ficha do personagem Reputação: Veteran
| Assunto: Re: Recrutando GMs Sex maio 28, 2010 11:34 am | |
| Posso ser Tutor ? participo do World Of Legends desde a versão 8.11 , sou amigo , engraçado e conheço bem o jogo , to quase sempre online no WoL e sempre presente no Fórun pra dar a minha opnião e ajudar os outros Jogadores . | |
| | | The God Of Legends The God
Mensagens : 194 Data de inscrição : 13/10/2008
Ficha do personagem Reputação: The God Of War
| Assunto: Re: Recrutando GMs Sex maio 28, 2010 2:16 pm | |
| hm okey. cria um char ai Legend Of Zero sei la | |
| | | Vivokiller Recruit
Mensagens : 3 Data de inscrição : 27/05/2010
| Assunto: Re: Recrutando GMs Sex maio 28, 2010 5:31 pm | |
| 1º N foi control c e control v, ainda tenho o meu ot mas é muito antigo dai abri a pasta e me veio a ideia de explicar. jogo o tíbia há anos e meu ot foi na versão 7.6 mapa YurOTS. 2º Concordo que pode ter mudado muito, mas ainda é um ot. Blz, oq eu conseguiria fazer se eu fosse Gm, seria dar uma alegrada no Server e fazer alguns eventos básicos e os tradicionais, faz um tempinho que n sou + Gm então n tenho toda a pratica + mas em uma semana até menos eu iria controlar blz. Também iria ajudar os players, pq eu como player tem muito bug nos trainers e tem uma merda de uma torre na cidade de jibreel que quando tu entra não tem mais saída, só se vir um Gm e ajudasse o player, ou com uma tristeza o player se matasse e perdesse tudo . Também sou muito ativo, como já falei então eu estaria on-line quase todo o tempo possível, apenas n estaria on de amanha e algumas vezes de tarde. Ficaria no dp pra dizer onde os players podem caçar, conheço grande parte do mapa sei de varias magias, já joguei wow por 4-5 anos da minha vida. E é isso. | |
| | | The God Of Legends The God
Mensagens : 194 Data de inscrição : 13/10/2008
Ficha do personagem Reputação: The God Of War
| Assunto: Re: Recrutando GMs Sex maio 28, 2010 8:45 pm | |
| | |
| | | akira Recruit
Mensagens : 15 Data de inscrição : 14/04/2010 Idade : 35 Localização : Rio
Ficha do personagem Reputação: Civil
| Assunto: Re: Recrutando GMs Seg maio 31, 2010 12:11 am | |
| Bom creio que você me conheça, abusei de varios bugs dentro do servidor(eu pretendia fazer um post com todos os bugs, + meu char foi deletado...ai lançou o kingdon age, e acabei de perde o interese por wol), + gostei do seus scriptse sua ideia é parecida com uma que tive a tempos atras... Bom vamos falar sobre mim. Tenho experiencia com designer grafico de clients, e modificações hexadecimais para retirar os alertas, modificar nome das skills, e modificar a versão do tibia para dificultar a utilização de bots. tenho conhecimento em scripting, actions, movements, talkactions, globalevents. tenho uma boa criatividade, para criação de conteudo. Jogo Rpg de papel a 8 anos, e mmorpg's a 12 anos(começei com ultima online), ja joguei inumeros mmorpgs como , lineage 2, WoW, RF online, diablo online, tibia (deste 2002), em todos antigi lvl maximo-alto. e joguei WoL durante 1 bom tempo. A unica dificuldade para mim é o tempo disponivel, + mesmo assim da pra fazer bastante coisas. | |
| | | Sollo Recruit
Mensagens : 3 Data de inscrição : 01/10/2009 Idade : 31
| Assunto: Re: Recrutando GMs Seg maio 31, 2010 2:54 pm | |
| '-.- so o legends pra fazer isso msm poq o otro gm saiu yago?? eu so nao tento ser recrutado como gm poq eu nao curto e tb eu nao menjo mto com isso e mto chato xD povo torra a paciencia =P mais ai kalker coisa to ai pra ajuda :p
World of Legends 4ever | |
| | | Mateuss Recruit
Mensagens : 8 Data de inscrição : 31/05/2010
| Assunto: Re: Recrutando GMs Seg maio 31, 2010 3:41 pm | |
| 2 meses atras fiquei horas fazendo o mapa pra te mostra oq eu podia fazer , ai voce com mo ma vontade nem olho o mapa direito e fico por isso mesmo. | |
| | | Mateuss Recruit
Mensagens : 8 Data de inscrição : 31/05/2010
| Assunto: Re: Recrutando GMs Seg maio 31, 2010 3:44 pm | |
| ai eu achei pilantragem cara , nem viu o mapa direito ou seja me fez de bobo. Desprezar o "trabalho" dos outros assim é feio okay? | |
| | | Mateuss Recruit
Mensagens : 8 Data de inscrição : 31/05/2010
| Assunto: Re: Recrutando GMs Seg maio 31, 2010 3:49 pm | |
| ai vem um safado desses que nem o pedro que fica querendo escrever certin mas ainda escreve : "AGENTE". pede pa ser tutor porque eh um player.(OTIMO MOTIVO PA SER GM HEIN) | |
| | | The God Of Kingdoms The God
Mensagens : 37 Data de inscrição : 13/10/2008
Ficha do personagem Reputação: The God Of War
| Assunto: Re: Recrutando GMs Seg maio 31, 2010 5:17 pm | |
| Tenho Chance Ainda No Teu Server?Se Quiser Conversar Fala Comigo La No Skype. | |
| | | The God Of Legends The God
Mensagens : 194 Data de inscrição : 13/10/2008
Ficha do personagem Reputação: The God Of War
| Assunto: Akira Seg maio 31, 2010 7:37 pm | |
| Interessante akira... se você ajudar com algum script interessante, bem feito eu crio um GM pra você, creditos... mas o certo é pensar no futuro do server.. é muito o que tenho que fazer... e sozinho. Mas não falta muito... em geral é mais mapping do que scripting. | |
| | | Convidad Convidado
| Assunto: Re: Recrutando GMs Qua Jun 02, 2010 11:53 am | |
| Eu nao kero ser Gm ou qualker coisa mas sempre kis ajudar na parte de Mapping *.* minha habilidade de mapper eh fazer e detalhar. (os respawns dexa pra voce..) tambem n faco merda, como colokar lava numa cave de rotworm (isso eh idiotice pra karai..) Scripts n manjo de nada... Talvez comeco a aprender scripts ano q vem ceu voltar pro Brasil (Pais do coracao ) eu sou player desde a versao 8.2 axo Fui o melhor rogue do server u.u (Zuera , soh era o um dos poucos q jogava de rogue...) |
| | | akira Recruit
Mensagens : 15 Data de inscrição : 14/04/2010 Idade : 35 Localização : Rio
Ficha do personagem Reputação: Civil
| Assunto: Re: Recrutando GMs Dom Jun 13, 2010 4:53 pm | |
| bom ja tenho scripts de mining, woodcuting, alquimia, plantação, client(beta) e muitas ideiasaqui vai 1 sistema de exemplo Este script é de sobre Alquimia e sua capacidade de combinar ervas e outros ingredientes para fazer poções e itens especiais, por isso vou começar por introduzir a lista de ingredientes e combinações que itêm a ser feito: Esta foto [é feita por Whiskey.] e aqui está um exemplo de como é feito a alquimia que é utilizado para este teste, também o recipiente deve ser sempre no lado direito do botão ou item de utilização: [basicamente eu posso fazer um sprite custom composta por dois itens: um item de um tipo de container com 10 slots e outro que é um item usável. ] aqui vai ums 6 scripts vá para a data / lib / function.lua , introduza isso - Código:
-
end
function addCustomSkillTry(cid, skillName, storage) local skillStorage = math.max(10, getPlayerStorageValue(cid, storage)) local skillTries = math.max(0, getPlayerStorageValue(cid, storage+1)) doPlayerSetStorageValue(cid, storage+1, skillTries+getConfigInfo("rateSkill")) if skillTries >= math.floor(20 * math.pow(1.1, (skillStorage-11)) / getConfigInfo("rateSkill")) then addCustomSkill(cid, skillName, storage) end end
function getCustomSkillPercent(cid, storage) local skillStorage = math.max(10, getPlayerStorageValue(cid, storage)) local skillTries = math.max(0, getPlayerStorageValue(cid, storage+1)) local triesNeeded = math.floor(20 * math.pow(1.1, (skillStorage-11)) / getConfigInfo("rateSkill")) return math.floor(100*(1-skillTries / triesNeeded)) end --[/CustomSkill]-- OK daqui em diante todos os scripts são scripts de ação, Então vamos aos data/actions/scripts and copie isto para [alchemyskill.lua] - Código:
-
--Credit to Cykotitan and Existance for showing how to make script shorter.-- function onUse(cid, item, toPosition, fromPosition) local function burn() local Cpos = getCreaturePosition(cid) local north = {x = Cpos.x, y = Cpos.y-1, z = Cpos.z} local south = {x = Cpos.x, y = Cpos.y+1, z = Cpos.z} local west = {x = Cpos.x-1, y = Cpos.y, z = Cpos.z} local east = {x = Cpos.x+1, y = Cpos.y, z = Cpos.z} if getCreatureLookDirection(cid) == 0 then doSendMagicEffect(north, 6) elseif getCreatureLookDirection(cid) == 1 then doSendMagicEffect(east, 6) elseif getCreatureLookDirection(cid) == 2 then doSendMagicEffect(south, 6) elseif getCreatureLookDirection(cid) == 3 then doSendMagicEffect(west, 6) end end local learned = getPlayerStorageValue(cid, 50000) if learned == -1 then if item.itemid == 2217 then for i = 41508, 41509 do setPlayerStorageValue(cid, i, 0) end for i = 50001, 50022 do setPlayerStorageValue(cid, i, 0) end setPlayerStorageValue(cid, 50500, 10) setPlayerStorageValue(cid, 50000, 1) doRemoveItem(item.uid) doPlayerSendTextMessage(cid, 25, "You have learned Alchemy, then the book burned to ashes after learning its Alchemic Secrets.") addEvent(burn, 300, {cid = cid, toPosition = toPosition, fromPosition = fromPosition}) end else doPlayerSendCancel(cid, "You already know Alchemy.") end return true end --Ver.3hR7Ik5lz3wF1gX1-¥P0k_TnÖD-- agora faça uma outra copiar no mesmo diretorio [Learn_alchemy_recipe.lua] - Código:
-
local cfg = { recipe = 1954 } local t = { [50001] = {ref = 50001, recipe = "Antidote", pStorage = 1, alchemylvl = 10}, [50002] = {ref = 50002, recipe = "Lesser Mana Potion", pStorage = 2, alchemylvl = 15}, [50003] = {ref = 50003, recipe = "Medium Mana Potion", pStorage = 3, alchemylvl = 25}, [50004] = {ref = 50004, recipe = "Strong Mana Potion", pStorage = 4, alchemylvl = 35}, [50005] = {ref = 50005, recipe = "Small Health Potion", pStorage = 5, alchemylvl = 10}, [50006] = {ref = 50006, recipe = "Lesser Health Potion", pStorage = 6, alchemylvl = 15}, [50007] = {ref = 50007, recipe = "Medium Health Potion", pStorage = 7, alchemylvl = 25}, [50008] = {ref = 50008, recipe = "Strong Health Potion", pStorage = 8, alchemylvl = 35}, [50009] = {ref = 50009, recipe = "Great Health Potion", pStorage = 9, alchemylvl = 40}, [50010] = {ref = 50010, recipe = "Spirit Potion", pStorage = 10, alchemylvl = 50}, [50011] = {ref = 50011, recipe = "Speed Potion", pStorage = 11, alchemylvl = 50}, [50012] = {ref = 50012, recipe = "Potion of Strength", pStorage = 12, alchemylvl = 70}, [50013] = {ref = 50013, recipe = "Potion of Dexterity", pStorage = 13, alchemylvl = 70}, [50014] = {ref = 50014, recipe = "Potion of Endurance", pStorage = 14, alchemylvl = 70}, [50015] = {ref = 50015, recipe = "Potion of Magic Level", pStorage = 15, alchemylvl = 80}, [50016] = {ref = 50016, recipe = "Potion of Health", pStorage = 16, alchemylvl = 60}, [50017] = {ref = 50017, recipe = "Potion of Mana", pStorage = 17, alchemylvl = 60}, [50018] = {ref = 50018, recipe = "Elixir", pStorage = 18, alchemylvl = 100}, [50019] = {ref = 50019, recipe = "Blood Orb", pStorage = 19, alchemylvl = 40}, [50020] = {ref = 50020, recipe = "Soul Orb", pStorage = 20, alchemylvl = 90}, [50021] = {ref = 50021, recipe = "Mind Orb", pStorage = 21, alchemylvl = 90}, [50022] = {ref = 50022, recipe = "Philosopher's Stone", pStorage = 22, alchemylvl = 100} } function onUse(cid, item, toPosition, item2, fromPosition) for i, k in pairs(t) do if (item.itemid == cfg.recipe) then if item.actionid == i then if getPlayerStorageValue(cid, k.ref) == 0 then if getCustomSkill(cid, 50500) >= k.alchemylvl then doPlayerSetStorageValue(cid, k.ref, k.pStorage) doPlayerSendTextMessage(cid, 25, "You learned how to make "..k.recipe..".") doSendMagicEffect(getCreaturePosition(cid), 13) else doPlayerSendCancel(cid, "You require "..k.alchemylvl.." in Alchemy or you don't know Alchemy.") end else doPlayerSendCancel(cid, "You have already learned this recipe.") end end end end return true end --Ver.3hR7Ik5lz3wF1gX1-¥P0k_TnÖD-- dinovo faça uma outra copiar no mesmo diretorio [alchemybook.lua] - Código:
-
local recipeIDs = { {50001, "Mushroom, Goat Grass and Hydrargyrum", "[Antidote]", 10}, {50002, "White Mushroom, Shadow Herb and Aquamarine", "[Lesser Mana Potion]", 15}, {50003, "White Mushroom, Powder Herb and Aquamarine", "[Medium Mana Potion]", 25}, {50004, "White Mushroom, Siling Herb and Aquamarine", "[Strong Mana Potion]", 35}, {50005, "Mushroom and Stone Herb", "[Small Health Potion]", 10}, {50006, "Wood Mushroom, Star Herb and Vermillion", "[Lesser Health Potion]", 15}, {50007, "Wood Mushroom, Orange Star and Vermillion", "[Medium Health Potion]", 25}, {50008, "Wood Mushroom, Fern and Vermillion", "[Strong Health Potion]", 35}, {50009, "Wood Mushroom, Heaven Blossom and Vermillion", "[Great Health Potion]", 40}, {50010, "Brown Mushroom, Troll Green and Powder", "[Spirit Potion]", 50}, {50011, "Brown Mushroom, Seeds, Quartzite and Hydrargyrum", "[Speed Potion]", 50}, {50012, "Blood Orb, Dark Mushroom and Vitriol", "[Potion of Strength]", 70}, {50013, "Blood Orb, Green Mushroom and Vitriol", "[Potion of Dexterity]", 70}, {50014, "Blood Orb, Fire Mushroom and Vitriol", "[Potion of Endurance]", 70}, {50015, "Little Mushroom, Quebrith and Crystal", "[Potion of Magic Level]", 80}, {50016, "Red Mushroom, Mandrake and Tar", "[Potion of Health]", 60}, {50017, "Orange Mushroom, Ancient Orchid and Tar", "[Potion of Mana]", 60}, {50018, "Dragrot and Crystal", "[Elixir]", 100}, {50019, "Hydrargyrum, Vermillion and Powder", "[Blood Orb]", 40}, {50020, "Hydrargyrum, Crystal, Quarzite and Tar", "[Soul Orb]", 90}, {50021, "Hydrargyrum, Crystal, Vitriol and Quebrith","[Mind Orb]", 90}, {50022, "Mind Orb, Soul Orb, Blood Orb, Violet Gem, Yellow Gem, Green Gem, Red Gem, Blue Gem", "[Philosopher's Stone]", 100} } function onUse(cid, item, fromPosition, itemEx, toPosition) local a = {} table.insert(a, "Learned Recipe:\n\n") for i=1, #recipeIDs, 1 do if getPlayerStorageValue(cid, recipeIDs[i][1]) > 0 then recipe = recipeIDs[i][3] .. ": 'Ingredients': " .. recipeIDs[i][2] .. ". 'Alchemy Level': " .. recipeIDs[i][4] .. ".\n" table.insert(a, recipe) end end doShowTextDialog(cid, item.itemid, table.concat(a, "")) end --Ver.3hR7Ik5lz3wF1gX1-¥P0k_TnÖD-- dinovo [skill_book.lua] - Código:
-
local skillIDs = { {50500, "Alchemy"} -- The first ID is the skill value, the second ID is the name of the skill } function onUse(cid, item, fromPosition, itemEx, toPosition) local a = {} table.insert(a, "Current Skills:\n\n") for i=1, #skillIDs, 1 do skill = skillIDs[i][2] .. ": " .. math.max(10, getCustomSkill(cid, skillIDs[i][1])) .. ". Percent to go: " .. getCustomSkillPercent(cid, skillIDs[i][1]) .. "%\n" table.insert(a, skill) end doShowTextDialog(cid, item.itemid, table.concat(a, "")) end dinovo [potion effect.lua] - Código:
-
function onUse(cid, item, toPosition, itemEx, fromPosition) local function speedReset() doPlayerSetStorageValue(cid, 41508, 0) doSendAnimatedText(getCreaturePosition(cid), "SPEED-", 5) doChangeSpeed(cid, baseSpeed-100) end local function resetAll() doPlayerSetStorageValue(cid, 41508, 0) doChangeSpeed(cid, baseSpeed-200) doPlayerAddSkill(cid, 0, -10) doPlayerAddSkill(cid, 1, -10) doPlayerAddSkill(cid, 2, -10) doPlayerAddSkill(cid, 3, -10) doPlayerAddSkill(cid, 4, -10) doPlayerAddSkill(cid, 5, -10) doPlayerAddSkill(cid, 7, -4) doSendAnimatedText(getCreaturePosition(cid), "SKILL-", 5) end
if item.itemid == 7439 then if item.actionid == 41501 then if getPlayerStorageValue(cid, 41508) < 1 then local speed = getCreatureBaseSpeed(cid) doChangeSpeed(cid, speed+100) doRemoveItem(item.uid) doSendAnimatedText(getCreaturePosition(cid), "SPEED+", 5) doPlayerSetStorageValue(cid, 41508, 1) baseSpeed = speed addEvent(speedReset, 5*60*1000, {cid = cid, toPosition = toPosition, baseSpeed = baseSpeed}) else doPlayerSendCancel(cid, "You already have a potion condition in effect.") end end end if item.itemid == 7443 then if item.actionid == 41502 then doPlayerAddSkill(cid, 0, 1) doSendAnimatedText(getCreaturePosition(cid), "STR+", 180) doRemoveItem(item.uid) end if item.actionid == 41503 then doPlayerAddSkill(cid, 1, 1) doSendAnimatedText(getCreaturePosition(cid), "DEX+", 18) doRemoveItem(item.uid) end if item.actionid == 41504 then doPlayerAddSkill(cid, 2, 1) doSendAnimatedText(getCreaturePosition(cid), "END+", 210) doRemoveItem(item.uid) end if item.actionid == 41505 then doPlayerAddSkill(cid, 7, 1) doSendAnimatedText(getCreaturePosition(cid), "ML+", 112) doRemoveItem(item.uid) end if item.actionid == 41506 then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+50) doSendAnimatedText(getCreaturePosition(cid), "MAXHP+", 180) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doRemoveItem(item.uid) end if item.actionid == 41507 then setCreatureMaxMana(cid, getCreatureMaxMana(cid)+50) doSendAnimatedText(getCreaturePosition(cid), "MAXMP+", 5) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doRemoveItem(item.uid) end end if item.itemid == 7440 then if item.actionid == 41508 then local maxHealth = getCreatureMaxHealth(cid) local maxMana = getCreatureMaxMana(cid) doRemoveCondition(cid, 1) doRemoveCondition(cid, 2) doRemoveCondition(cid, 4) doRemoveCondition(cid, 8) doRemoveCondition(cid, 32) doRemoveCondition(cid, 2048) doCreatureAddHealth(cid, maxHealth) doCreatureAddMana(cid, maxMana) doRemoveItem(item.uid) if getPlayerStorageValue(cid, 41508) == 0 then local speed = getCreatureSpeed(cid) doChangeSpeed(cid, speed+200) doPlayerAddSkill(cid, 0, 10) doPlayerAddSkill(cid, 1, 10) doPlayerAddSkill(cid, 2, 10) doPlayerAddSkill(cid, 3, 10) doPlayerAddSkill(cid, 4, 10) doPlayerAddSkill(cid, 5, 10) doPlayerAddSkill(cid, 7, 4) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSetStorageValue(cid, 41508, 1) baseSpeed = speed addEvent(resetAll, 10*60*1000, {cid = cid, toPosition = toPosition, baseSpeed = baseSpeed}) else doPlayerSendCancel(cid, "You already have a potion condition in effect.") end end end if item.itemid == 2348 then if item.actionid == 41509 then local getItem = getThingfromPos({x = toPosition.x+1, y = toPosition.y, z = toPosition.z, stackpos = 1}) if getItem.itemid == 1294 then doRemoveItem(getItem.uid) doPlayerAddItem(cid, 2157) doRemoveItem(item.uid) end end end return true end --Ver.3hR7Ik5lz3wF1gX1-¥P0k_TnÖD-- script final e mais importante [alchemy.lua] - Código:
-
local cfg = { chance = 10 -- Change this to raise up the success chance-- } local t = { [(50001)] = {ref = 50001, slots = 3, slot1 = {2794}, slot2 = {2760}, slot3 = {2007}, name = "Antidote", item = 8474, alchemylvl = 10}, [(50002)] = {ref = 50002, slots = 3, slot1 = {2787}, slot2 = {2804}, slot3 = {8302}, name = "Lesser Mana Potion", item = 7620, alchemylvl = 15}, [(50003)] = {ref = 50003, slots = 3, slot1 = {2787}, slot2 = {2803}, slot3 = {8302}, name = "Medium Mana Potion", item = 7589, alchemylvl = 25}, [(50004)] = {ref = 50004, slots = 3, slot1 = {2787}, slot2 = {2802}, slot3 = {8302}, name = "Strong Mana Potion", item = 7590, alchemylvl = 35}, [(50005)] = {ref = 50005, slots = 2, slot1 = {2794}, slot2 = {2799}, name = "Small Health Potion", item = 8704, alchemylvl = 10}, [(50006)] = {ref = 50006, slots = 3, slot1 = {2791}, slot2 = {2800}, slot3 = {8303}, name = "Lesser Health Potion", item = 7618, alchemylvl = 15}, [(50007)] = {ref = 50007, slots = 3, slot1 = {2791}, slot2 = {2759}, slot3 = {8303}, name = "Medium Health Potion", item = 7588, alchemylvl = 25}, [(50008)] = {ref = 50008, slots = 3, slot1 = {2791}, slot2 = {2801}, slot3 = {8303}, name = "Strong Health Potion", item = 7591, alchemylvl = 35}, [(50009)] = {ref = 50009, slots = 3, slot1 = {2791}, slot2 = {5921}, slot3 = {8303}, name = "Great Health Potion", item = 8473, alchemylvl = 40}, [(50010)] = {ref = 50010, slots = 3, slot1 = {2789}, slot2 = {2806}, slot3 = {8298}, name = "Spirit Potion", item = 8472, alchemylvl = 50}, [(50011)] = {ref = 50011, slots = 4, slot1 = {2789}, slot2 = {7732}, slot3 = {8305}, slot4 = {2007}, name = "Speed Potion", item = 7439, special = true, aid = 41501, alchemylvl = 50}, [(50012)] = {ref = 50012, slots = 3, slot1 = {2363}, slot2 = {2782}, slot3 = {8315}, name = "Potion of Strength", item = 7443, special = true, aid = 41502, alchemylvl = 70, desc = "This is a potion of strength."}, [(50013)] = {ref = 50013, slots = 3, slot1 = {2363}, slot2 = {2796}, slot3 = {8315}, name = "Potion of Dexterity", item = 7443, special = true, aid = 41503, alchemylvl = 70, desc = "This is a potion of dexterity."}, [(50014)] = {ref = 50014, slots = 3, slot1 = {2363}, slot2 = {2795}, slot3 = {8315}, name = "Potion of Endurance", item = 7443, special = true, aid = 41504, alchemylvl = 70, desc = "This is a potion of endurance."}, [(50015)] = {ref = 50015, slots = 3, slot1 = {2783}, slot2 = {8301}, slot3 = {2177}, name = "Potion of Magic Level", item = 7443, special = true, aid = 41505, alchemylvl = 80, desc = "This is a potion of magic level."}, [(50016)] = {ref = 50016, slots = 3, slot1 = {2788}, slot2 = {5015}, slot3 = {8299}, name = "Potion of Health", item = 7443, special = true, aid = 41506, alchemylvl = 60, desc = "This is a potion of health."}, [(50017)] = {ref = 50017, slots = 3, slot1 = {2790}, slot2 = {5922}, slot3 = {8299}, name = "Potion of Mana", item = 7443, special = true, aid = 41507, alchemylvl = 60, desc = "This is a potion of mana."}, [(50018)] = {ref = 50018, slots = 2, slot1 = {2798}, slot2 = {2177}, name = "Elixir", item = 7440, special = true, aid = 41508, alchemylvl = 100}, [(50019)] = {ref = 50019, slots = 3, slot1 = {2007}, slot2 = {8303}, slot3 = {8298}, name = "Blood Orb", item = 2363, alchemylvl = 40}, [(50020)] = {ref = 50020, slots = 4, slot1 = {2007}, slot2 = {2177}, slot3 = {8305}, slot4 = {8299}, name = "Soul Orb", item = 5944, alchemylvl = 90}, [(50021)] = {ref = 50021, slots = 4, slot1 = {2007}, slot2 = {2177}, slot3 = {8315}, slot4 = {8301}, name = "Mind Orb", item = 2178, alchemylvl = 90}, [(50022)] = {ref = 50022, slots = 8, slot1 = {2178}, slot2 = {5944}, slot3 = {2363}, slot4 = {2153}, slot5 = {2154}, slot6 = {2155}, slot7 = {2156}, slot8 = {2158}, name = "Philosopher's Stone", item = 2348, special = true, aid = 41509, alchemylvl = 100} } function onUse(cid, item, toPosition, itemEx, fromPosition) for i, k in pairs(t) do local container = getTileItemByType({x = toPosition.x+1, y = toPosition.y, z = toPosition.z}, 4) local inContainer1, inContainer2, inContainer3, inContainer4, inContainer5, inContainer6, inContainer7, inContainer8, inContainer9 = getContainerItem(container.uid, 0), getContainerItem(container.uid, 1), getContainerItem(container.uid, 2), getContainerItem(container.uid, 3), getContainerItem(container.uid, 4), getContainerItem(container.uid, 5), getContainerItem(container.uid, 6), getContainerItem(container.uid, 7), getContainerItem(container.uid, 8) if inContainer1.actionid == i then if k.slots == 8 then if (isInArray(k.slot1, inContainer2.itemid)) and (isInArray(k.slot2, inContainer3.itemid)) and (isInArray(k.slot3, inContainer4.itemid)) and (isInArray(k.slot4, inContainer5.itemid)) and (isInArray(k.slot5, inContainer6.itemid)) and (isInArray(k.slot6, inContainer7.itemid)) and (isInArray(k.slot7, inContainer8.itemid)) and (isInArray(k.slot8, inContainer9.itemid)) then if getPlayerStorageValue(cid, i) == k.ref-50000 then doRemoveItem(inContainer2.uid) doRemoveItem(inContainer3.uid) doRemoveItem(inContainer4.uid) doRemoveItem(inContainer5.uid) doRemoveItem(inContainer6.uid) doRemoveItem(inContainer7.uid) doRemoveItem(inContainer8.uid) doRemoveItem(inContainer9.uid) if math.random(1, (100 + (getCustomSkill(cid, 50500) / 10))) <= getCustomSkill(cid, 50500) + cfg.chance then if k.item then doPlayerAddItem(cid, k.item,1) doPlayerSendTextMessage(cid, 25, "You made..."..k.name..".") if k.special then local getItem = getPlayerItemById(cid, true, k.item) doSetItemActionId(getItem.uid, k.aid) if k.desc then doSetItemSpecialDescription(getItem.uid, k.desc) end end end addCustomSkillTry(cid, "Alchemy", 50500) else addCustomSkillTry(cid, "Alchemy", 50500) doPlayerSendCancel(cid, "The mix went wrong.") end else doPlayerSendCancel(cid, "You haven't learned this recipe yet and/or require level "..k.alchemylvl.." in Alchemy.") end else doPlayerSendCancel(cid, "There are no Ingredients or the order of the ingredients are wrong.") end end end if inContainer1.actionid == i then if k.slots == 7 then if (isInArray(k.slot1, inContainer2.itemid)) and (isInArray(k.slot2, inContainer3.itemid)) and (isInArray(k.slot3, inContainer4.itemid)) and (isInArray(k.slot4, inContainer5.itemid)) and (isInArray(k.slot5, inContainer6.itemid)) and (isInArray(k.slot6, inContainer7.itemid)) and (isInArray(k.slot7, inContainer8.itemid)) then if getPlayerStorageValue(cid, i) == k.ref-50000 then doRemoveItem(inContainer2.uid) doRemoveItem(inContainer3.uid) doRemoveItem(inContainer4.uid) doRemoveItem(inContainer5.uid) doRemoveItem(inContainer6.uid) doRemoveItem(inContainer7.uid) doRemoveItem(inContainer8.uid) if math.random(1, (100 + (getCustomSkill(cid, 50500) / 10))) <= getCustomSkill(cid, 50500) + cfg.chance then if k.item then doPlayerAddItem(cid, k.item,1) doPlayerSendTextMessage(cid, 25, "You made..."..k.name..".") if k.special then local getItem = getPlayerItemById(cid, true, k.item) doSetItemActionId(getItem.uid, k.aid) if k.desc then doSetItemSpecialDescription(getItem.uid, k.desc) end end end addCustomSkillTry(cid, "Alchemy", 50500) else addCustomSkillTry(cid, "Alchemy", 50500) doPlayerSendCancel(cid, "The mix went wrong.") end else doPlayerSendCancel(cid, "You haven't learned this recipe yet and/or require level "..k.alchemylvl.." in Alchemy.") end else doPlayerSendCancel(cid, "There are no Ingredients or the order of the ingredients are wrong.") end end end if inContainer1.actionid == i then if k.slots == 6 then if (isInArray(k.slot1, inContainer2.itemid)) and (isInArray(k.slot2, inContainer3.itemid)) and (isInArray(k.slot3, inContainer4.itemid)) and (isInArray(k.slot4, inContainer5.itemid)) and (isInArray(k.slot5, inContainer6.itemid)) and (isInArray(k.slot6, inContainer7.itemid)) then if getPlayerStorageValue(cid, i) == k.ref-50000 then doRemoveItem(inContainer2.uid) doRemoveItem(inContainer3.uid) doRemoveItem(inContainer4.uid) doRemoveItem(inContainer5.uid) doRemoveItem(inContainer6.uid) doRemoveItem(inContainer7.uid) if math.random(1, (100 + (getCustomSkill(cid, 50500) / 10))) <= getCustomSkill(cid, 50500) + cfg.chance then if k.item then doPlayerAddItem(cid, k.item,1) doPlayerSendTextMessage(cid, 25, "You made..."..k.name..".") if k.special then local getItem = getPlayerItemById(cid, true, k.item) doSetItemActionId(getItem.uid, k.aid) if k.desc then doSetItemSpecialDescription(getItem.uid, k.desc) end end end addCustomSkillTry(cid, "Alchemy", 50500) else addCustomSkillTry(cid, "Alchemy", 50500) doPlayerSendCancel(cid, "The mix went wrong.") end else doPlayerSendCancel(cid, "You haven't learned this recipe yet and/or require level "..k.alchemylvl.." in Alchemy.") end else doPlayerSendCancel(cid, "There are no Ingredients or the order of the ingredients are wrong.") end end end if inContainer1.actionid == i then if k.slots == 5 then if (isInArray(k.slot1, inContainer2.itemid)) and (isInArray(k.slot2, inContainer3.itemid)) and (isInArray(k.slot3, inContainer4.itemid)) and (isInArray(k.slot4, inContainer5.itemid)) and (isInArray(k.slot5, inContainer6.itemid)) then if getPlayerStorageValue(cid, i) == k.ref-50000 then doRemoveItem(inContainer2.uid) doRemoveItem(inContainer3.uid) doRemoveItem(inContainer4.uid) doRemoveItem(inContainer5.uid) doRemoveItem(inContainer6.uid) if math.random(1, (100 + (getCustomSkill(cid, 50500) / 10))) <= getCustomSkill(cid, 50500) + cfg.chance then if k.item then doPlayerAddItem(cid, k.item,1) doPlayerSendTextMessage(cid, 25, "You made..."..k.name..".") if k.special then local getItem = getPlayerItemById(cid, true, k.item) doSetItemActionId(getItem.uid, k.aid) if k.desc then doSetItemSpecialDescription(getItem.uid, k.desc) end end end addCustomSkillTry(cid, "Alchemy", 50500) else addCustomSkillTry(cid, "Alchemy", 50500) doPlayerSendCancel(cid, "The mix went wrong.") end else doPlayerSendCancel(cid, "You haven't learned this recipe yet and/or require level "..k.alchemylvl.." in Alchemy.") end else doPlayerSendCancel(cid, "There are no Ingredients or the order of the ingredients are wrong.") end end end if inContainer1.actionid == i then if k.slots == 4 then if (isInArray(k.slot1, inContainer2.itemid)) and (isInArray(k.slot2, inContainer3.itemid)) and (isInArray(k.slot3, inContainer4.itemid)) and (isInArray(k.slot4, inContainer5.itemid)) then if getPlayerStorageValue(cid, i) == k.ref-50000 then doRemoveItem(inContainer2.uid) doRemoveItem(inContainer3.uid) doRemoveItem(inContainer4.uid) doRemoveItem(inContainer5.uid) if math.random(1, (100 + (getCustomSkill(cid, 50500) / 10))) <= getCustomSkill(cid, 50500) + cfg.chance then if k.item then doPlayerAddItem(cid, k.item,1) doPlayerSendTextMessage(cid, 25, "You made..."..k.name..".") if k.special then local getItem = getPlayerItemById(cid, true, k.item) doSetItemActionId(getItem.uid, k.aid) if k.desc then doSetItemSpecialDescription(getItem.uid, k.desc) end end end addCustomSkillTry(cid, "Alchemy", 50500) else addCustomSkillTry(cid, "Alchemy", 50500) doPlayerSendCancel(cid, "The mix went wrong.") end else doPlayerSendCancel(cid, "You haven't learned this recipe yet and/or require level "..k.alchemylvl.." in Alchemy.") end else doPlayerSendCancel(cid, "There are no Ingredients or the order of the ingredients are wrong.") end end end if inContainer1.actionid == i then if k.slots == 3 then if (isInArray(k.slot1, inContainer2.itemid)) and (isInArray(k.slot2, inContainer3.itemid)) and (isInArray(k.slot3, inContainer4.itemid)) then if getPlayerStorageValue(cid, i) == k.ref-50000 then doRemoveItem(inContainer2.uid) doRemoveItem(inContainer3.uid) doRemoveItem(inContainer4.uid) if math.random(1, (100 + (getCustomSkill(cid, 50500) / 10))) <= getCustomSkill(cid, 50500) + cfg.chance then if k.item then doPlayerAddItem(cid, k.item,1) doPlayerSendTextMessage(cid, 25, "You made..."..k.name..".") if k.special then local getItem = getPlayerItemById(cid, true, k.item) doSetItemActionId(getItem.uid, k.aid) if k.desc then doSetItemSpecialDescription(getItem.uid, k.desc) end end end addCustomSkillTry(cid, "Alchemy", 50500) else addCustomSkillTry(cid, "Alchemy", 50500) doPlayerSendCancel(cid, "The mix went wrong.") end else doPlayerSendCancel(cid, "You haven't learned this recipe yet and/or require level "..k.alchemylvl.." in Alchemy.") end else doPlayerSendCancel(cid, "There are no Ingredients or the order of the ingredients are wrong.") end end end if inContainer1.actionid == i then if k.slots == 2 then if (isInArray(k.slot1, inContainer2.itemid)) and (isInArray(k.slot2, inContainer3.itemid)) then if getPlayerStorageValue(cid, i) == k.ref-50000 then doRemoveItem(inContainer2.uid) doRemoveItem(inContainer3.uid) if math.random(1, (100 + (getCustomSkill(cid, 50500) / 10))) <= getCustomSkill(cid, 50500) + cfg.chance then if k.item then doPlayerAddItem(cid, k.item,1) doPlayerSendTextMessage(cid, 25, "You made..."..k.name..".") if k.special then local getItem = getPlayerItemById(cid, true, k.item) doSetItemActionId(getItem.uid, k.aid) if k.desc then doSetItemSpecialDescription(getItem.uid, k.desc) end end end addCustomSkillTry(cid, "Alchemy", 50500) else addCustomSkillTry(cid, "Alchemy", 50500) doPlayerSendCancel(cid, "The mix went wrong.") end else doPlayerSendCancel(cid, "You haven't learned this recipe yet and/or require level "..k.alchemylvl.." in Alchemy.") end else doPlayerSendCancel(cid, "There are no Ingredients or the order of the ingredients are wrong.") end end end end return true end --Ver.3hR7Ik5lz3wF1gX1-¥P0k_TnÖD-- agora va para data/actions/actions.xml e registre isso - Código:
-
<!-- Alchemy --> <action itemid="1965" event="script" value="alchemybook.lua"/> <action itemid="1950" event="script" value="skill_book.lua"/> <action itemid="1954" event="script" value="learn_alchemy_recipe.lua"/> <action itemid="2217" event="script" value="alchemyskill.lua"/> <action itemid="9825" event="script" value="alchemy.lua"/> <action actionid="41501-41509" event="script" value="potion effects.lua"/> Agora, vamos começar a explicação: ok, então agora eu vou explicar ao processo de alquimia, primeiro e primordial é que um jogador precisa do livro para aprender alquimia (2217), uma vez que ele aprende a habilidade de alquimia, ele pode começar por comprar a primeira receita (1954), estas receitas contêm o conhecimento sobre como fazer uma poção especial que é determinado por uma action id, também a receita é necessário para a mistura na alquimia, sem que a mistura não vai acontecer e os jogadores devem levar em consideração que tudo tem um fim, o que significa que , sim, você tem que colocar os ingredientes dentro do recipiente na ordem especificada ea receita deve sempre estar no primeiro slot do recipiente, agora também há o livro de habilidade que é necessário saber qual é o seu nível em alquimia, o outro coisa que precisamos aqui é o livro de alquimia (1965), que irá mostrar-lhe as receitas aprendidas até agora, e vai mostrar a ordem dos ingredientes (lembre-se que se mostra os ingredientes na ordem: 1, 2, 3, colocá-los em o recipiente para trás: 3, 2, 1, porquê? porque se você colocar o primeiro item a próxima que você coloque será empurrado para trás). esse sistema foi testado no tfs 0.3.6. [img][/img] | |
| | | Biozard Recruit
Mensagens : 32 Data de inscrição : 04/02/2010
| Assunto: Re: Recrutando GMs Seg Jun 14, 2010 2:23 am | |
| e os skills ( Sword,Club,Axe,ML,First,Fishing ) onde iria? | |
| | | akira Recruit
Mensagens : 15 Data de inscrição : 14/04/2010 Idade : 35 Localização : Rio
Ficha do personagem Reputação: Civil
| Assunto: Re: Recrutando GMs Seg Jun 14, 2010 10:56 am | |
| ML= vira intellect Club+axe+sword= vira strength
Novo*(script ja pronto) Mining ex-club = skill de mineração, nessesario para varias profisões( ferreiro, alquimista) Novo*(script ja pronto) woodcuting ex-axe = Skill de lenhador nessesario para varias profisões (frecheiro, maceneiro) Novo*(script em criação) Skinning ex-fist = skill de arrancador de couro nessesario para varias profisões (leatherworking) | |
| | | The God Of Legends The God
Mensagens : 194 Data de inscrição : 13/10/2008
Ficha do personagem Reputação: The God Of War
| Assunto: . Seg Jun 14, 2010 6:52 pm | |
| mto bom o script e a ideia eu ja pretendia criar profissões mas com esse script ja ajuda. a ideia dos skills fico boa tb. | |
| | | The God Of Death The God
Mensagens : 58 Data de inscrição : 06/02/2009
Ficha do personagem Reputação: The God Of War
| Assunto: Re: Recrutando GMs Qua Jul 21, 2010 6:47 pm | |
| Passei pra dar um "oi" >< eu '-' q joguei WOL desde o 8.1... ou foi 8.0 o.O sei lah '-' por ai... sei lah bons tempos... amigos... e um jeito de fugir do mundo real... q na época eu ainda não gostava... falando a verdad... eu ainda NÃO gosto(soh de algumas coisas... Não sei se pretendo voltar pro WoL... provavelmente ñ masss... fica a dica... um mapper bom tem q ter acima de tudo dedicação... tem q dar um "q a mais" no programa q usa... tem q acima de tudo ter boa imaginação e talento artístico, pois os elementos de um mapa se relacionam a composição de uma obra de arte. E tem q ser rápido na hora de usar um pc(digitar... teclas de atalho... procurar na net... ler mais rápido q o normal... etc) TCHAU POVOOOOO AMO OCÊS PS: Muitos anos antes de ver uma foto do Legends o.O cara '-' eu axei q vc fosse completamente diferente '-' PPS: Meu kukuti pra qm me conhecia e kizer sei lah o.O "fuçar" (: soh falar qm é q eu add (: http://www.orkut.com.br/Main#Profile?uid=9136244781533303650 | |
| | | The God Of Legends The God
Mensagens : 194 Data de inscrição : 13/10/2008
Ficha do personagem Reputação: The God Of War
| Assunto: Re: Recrutando GMs Seg Ago 02, 2010 9:01 pm | |
| | |
| | | Conteúdo patrocinado
| Assunto: Re: Recrutando GMs | |
| |
| | | | Recrutando GMs | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |