Postado Agosto 24, 2016 8 anos Boa noite a todos ! venho até voces para pedir ajuda em 3 scripts, que na verdade não é ajuda e sim um pedido pois não manjo quase nada em scripts... Obs : a base que estou usando eh o TFS 0.3.6 ( 8.54 version ) Preciso desses scripts : 1- box que ao clicar, dara uma vocação aleatória ao player, magias e itens ( sendo todas da vocação sorteada exemplo : tem 3 classes, barbaro, arqueiro e thief, ao clicar no bau aparece a mensagem voce pegou o kit de thief, ai ele ganha a vocação, o addon, magias e itens de thief ). 2- ao usar certa combinação de itens, ela muda a outfit automaticamente, e ao tirar alguma parte do set, ela sai automaticamente.Se pudesse colocar mesmo que fosse por peças individuais, eu mesmo farias as sprites de cada item em cada addon, so preciso desta script mesmo 3- preciso de npc's que dao skins e magias para o player e depois de um tempo suma, e depois de x horas ele apareça novamente em outro lugar configurado. sempre rotacionando nas posiçoes demarcadas
Postado Agosto 25, 2016 8 anos Bom, eu não sei como é adicionado skills, visto que tenho experiência apenas com poketibia. Eu suponho que seja por storage. Lembrando que não testei nenhum código. Primeiro pedido: actions/scripts nome_arquivo.lua local voc = { [1] = {name = "Thief", vocationID = 7, item = { [1] = {id = 3210, qnt = 1}, [2] = {id = 8923, qnt = 15}, }, skills = { [1] = {sto = 16503}, [2] = {sto = 16504}, } }, [2] = {name = "Bárbaro", vocationID = 2, item = { [1] = {id = 3210, qnt = 1}, [2] = {id = 8923, qnt = 15}, }, skills = { [1] = {sto = 16503}, [2] = {sto = 16504}, } }, [3] = {name = "Arqueiro", vocationID = 3, item = { [1] = {id = 3210, qnt = 1}, [2] = {id = 8923, qnt = 15}, }, skills = { [1] = {storage = 16503}, [2] = {storage = 16504}, } }, -- "Um número maior que o outro] = {name = "Nome da vocation", vocationID = ID da vocation, -- item = { -- [Um número maior que o outro] = {id = ID do item, qnt = quantidade}, -- } -- skills = { -- [Um número maior que o outro] = {storage = storage da skill}, -- } } function onUse(cid, item, frompos, item2, topos) local vocRandom = math.random (1, #voc) doPlayerSetVocation (cid, voc[vocRandom].vocationID) for i = 1, #voc[vocRandom].item do doPlayerAddItem (cid, voc[vocRandom].item[i].id, voc[vocRandom].item[i].qnt) end doPlayerSendTextMessage (cid, 19, "You received your "..voc[vocRandom].name.." kit!") for i = 1, #voc[vocRandom].skills do setPlayerStorageValue (cid, voc[vocRandom].skills[i].storage, 1) end doRemoveItem(item.uid, 1) return true end XML: <action itemid="ID do item" event="script" value="nome_arquivo.lua"/> Segundo pedido: creaturescripts/scripts nome_arquivo.lua local set = { [1] = {1328, "CONST_SLOT_HEAD"}, [2] = {6742, "CONST_SLOT_ARMOR"}, [3] = {4567, "CONST_SLOT_RIGHT"}, -- Bow/Sword/... [4] = {9874, "CONST_SLOT_LEFT"}, -- Shield/Book/... [5] = {6455, "CONST_SLOT_LEGS"}, [6] = {7894, "CONST_SLOT_FEET"}, -- [Um número maior que o outro] = {item ID, slot}, } local outfit = {lookType = 30 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0} -- looktype que ele vai transformar. local function countSlotItem (cid) local countSlot = 0 for i = 1, #set do if (getPlayerSlotItem (cid, set[i][2]).itemid == set[i][1]) or (set[i][2] == "CONST_SLOT_LEFT" and getPlayerSlotItem (cid, CONST_SLOT_RIGHT).itemid == set[i][1]) or (set[i][2] == "CONST_SLOT_RIGHT" and getPlayerSlotItem (cid, CONST_SLOT_LEFT).itemid == set[i][1]) then countSlot = countSlot + 1 end end return countSlot end function onThink(creature, interval) if isPlayer (cid) then if getPlayerSlotItem (cid, CONST_SLOT_HEAD) == set[1][1] then local count = countSlotItem (cid) if count == #set then doSetCreatureOutfit (cid, outfit, -1) elseif getCreatureOutfit (cid).looktype == outfit.looktype then doRemoveCondition (cid, CONDITION_OUTFIT) end end end return true end XML: <event type="think" name="itemOutfit" event="script" value="nome_arquivo.lua"/> em login.lua, adicione: registerCreatureEvent(cid, "itemOutfit") Editado Agosto 25, 2016 8 anos por Talesigorvr (veja o histórico de edições) Não dou suporte via PM, crie um tópico caso tenha dúvidas. Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.