Postado Julho 5, 2018 7 anos TFS 1.3 Gente eu estou estudando script ja tem 1 bom tempo, e estou tentando aprender como faço para verificar 1 grupo de pessoas e devidas especificações... Por exemplo: Verificar o nivel de todos os membros da party, se eles possuem itens, etc...Gostaria por favor que não fizessem esse script, apenas me dessem uma luz de como eu posso faze-lo... Eu tentei diversas vezes, fiz isso: local config = { members = 2, level = 300, } function onStepIn(player, item, position, fromPosition) local party = player:getParty() local bers = party:getMembers() if party then if bers >= 2 then if bers:getLevel() >= 100 then player:sendTextMessage(22,"Good Luck "..player:getName()..".") player:getPosition():sendMagicEffect(49) else player:sendCancelMessage("You don't have a level.") end else player:teleportTo(Position(7639, 7834, 6)) player:sendCancelMessage("You can only spend "..config.members.."+ players in the party.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end else player:teleportTo(Position(7639, 7834, 6)) player:sendCancelMessage("Only players with party can pass through here.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end return true end Editado Julho 5, 2018 7 anos por tataboy67 (veja o histórico de edições) Meus trabalhos: [Movements] TFS 1.1+ Area Hardcore [Movements] TFS 1.1+ Tile Party [Action] TFS 1.1+ Bau diário [Action] TFS 1.1+ Guild Dungeon Lever [Talkactions] TFS 0.3.6 / 0.4 Quest Hunt por Tempo Contato: Discord: Tataboy67#4934
Postado Julho 5, 2018 7 anos Solução você precisa usar um looping nesse código, já que a função 'party:getMembers()' retorna uma tabela ai você usaria por exemplo local bers = party:getMembers() if #bers >= 2 then bloco end e para checar cada um você faria um looping, como falei... local bers = party:getMembers() if #bers >= config.members then for _, var in pairs(bers) do if var:getLevel() < config.level or not var:removeItem(config.item[1], config.item[2]) then var:sendCancelMessage("You don't have a level or don't have item!") return true end t[#t+1] = var end end acho que ficaria mais ou menos assim: local config = {members = 2, level = 300, item = {2160,10}} function onStepIn(player, item, position, fromPosition) local t = {} local party = player:getParty() if party then local bers = party:getMembers() if #bers >= config.members then for _, var in pairs(bers) do if var:getLevel() < config.level or not var:removeItem(config.item[1], config.item[2]) then var:sendCancelMessage("You don't have a level or don't have item!") return true end t[#t+1] = var end for _, membros in pairs(t) do membros:teleportTo(Position(7659, 7834, 6)) membros:sendTextMessage(22,"Good Luck "..membros:getName()) membros:getPosition():sendMagicEffect(49) end else player:teleportTo(Position(7639, 7834, 6)) player:sendCancelMessage("You can only spend "..config.members.."+ players in the party.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end else player:teleportTo(Position(7639, 7834, 6)) player:sendCancelMessage("Only players with party can pass through here.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end return true end [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Julho 6, 2018 7 anos Autor EDIT* Consegui !!!! Muito obrigado, fiz a verificação assim: function onStepIn(player, item, position, fromPosition) local party = player:getParty() local member = party:getMembers() if not party then return print(1) end if #member >= 1 then print(2) else print(3) end end Editado Julho 6, 2018 7 anos por tataboy67 (veja o histórico de edições) Meus trabalhos: [Movements] TFS 1.1+ Area Hardcore [Movements] TFS 1.1+ Tile Party [Action] TFS 1.1+ Bau diário [Action] TFS 1.1+ Guild Dungeon Lever [Talkactions] TFS 0.3.6 / 0.4 Quest Hunt por Tempo Contato: Discord: Tataboy67#4934
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.