Postado Outubro 25, 2017 7 anos Eaew galera do TK! To com um problema na seguinte script Citar local config = { -- level needed to make the quest level = 130, -- if players should be able to do the quest unlimited amount of times (not conflicting quest rewards) redo = { status = true, -- true = unlimited, false = once storageValue = 61111 -- only if status is false this will be used }, -- vocation requirement, positions and item configuration { vocations = {1, 5}, itemId = 2190, playerPos = {x=1117, y=1150, z=6}, -- Initial position in the Stone tile newPos = {x=1122, y=1153, z=6}, -- Position of the reward room. itemPos = {x=1117, y=1151, z=6} -- Position of Spellbook "Sorcerer". }, { vocations = {2, 6}, itemId = 2182, playerPos = {x=1123, y=1157, z=6}, -- Initial position in the Stone tile newPos = {x=1122, y=1153, z=6}, -- Position of the reward room. itemPos = {x=1122, y=1157, z=6} -- Position of Red apple "Druid". }, { vocations = {3, 7}, itemId = 2399, playerPos = {x=1127, y=1155, z=6}, -- Initial position in the Stone tile newPos = {x=1122, y=1153, z=6}, -- Position of the reward room. itemPos = {x=1127, y=1154, z=6} -- Position of Crossbow "Paladin". }, { vocations = {4, 8}, itemId = 8602, playerPos = {x=1123, y=1147, z=6}, -- Initial position in the Stone tile newPos = {x=1122, y=1153, z=6}, --Position of the reward room. itemPos = {x=1122, y=1147, z=6} --Position of Sword "Knight". } } function onUse(cid) local players = {} for _, v in ipairs(config) do v.playerPos.stackpos = 253 local player = getThingfromPos(v.playerPos).uid if isPlayer(player) == FALSE then return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Não há jogadores suficiente.") elseif getPlayerLevel(player) < config.level then players.level = true elseif isInArray(v.vocations, getPlayerVocation(player)) == FALSE then players.vocation = true elseif config.redo.status and getPlayerStorageValue(cid, config.redo.storageValue) ~= TRUE then players.done = true else v.itemPos.stackpos = 1 local item = getThingfromPos(v.itemPos) if item.itemid ~= v.itemId then players.item = true else table.insert(players, player) end end end if players.level then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Todos os jogadores devem ser level " .. config.level .. " ou mais.") elseif players.vocation then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Todos os jogadores devem estar em seus respectivo piso!") elseif players.done then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Um jogador em seu time ja fez a Fishing Rod and Pick Quest!") elseif players.item then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Todos os items devem estar na posição correta!") else for k, player in ipairs(players) do doSendMagicEffect(getCreaturePosition(player), CONST_ME_POFF) doTeleportThing(player, config[k].newPos) doSendMagicEffect(getCreaturePosition(player), CONST_ME_TELEPORT) end end return TRUE end QUando um time tenta fazer a quest (time que nunca fez) fala que alguem do time ja fez. Sacou? Citar if players should be able to do the quest unlimited amount of times (not conflicting quest rewards) redo = { status = true, -- true = unlimited, false = once storageValue = 61111 -- only if status is false this will be used se eu mudar de true pra falser na tag acima /\ podera ser feita varias vezes, mas quero que possa ser feita apenas umas vez só! @luangop CREDITO DA SCRIPT: Tovar-OtLand @koete Ai amigo, tenta me ajudar nessa script ai?, mt obg !! os players mesmo que nunca fizeram a quest não podem entrar nela, fala que ja fizeram a quest sendo que nunca fizeram. pfv tenta me ajudar ai, vlw +REP.
Postado Outubro 25, 2017 7 anos (storageValue = 61111) storageValue serve para gravar um número pra sempre em um player, tipo uma marca. no caso quando algum jogador ja tem essa numeração o script retorna para falso e manda a mensagem que tem alguem com essa numeração. Deve ter outra quest no seu server que da a mesma storagevalue. Mude a numeração para qualquer outra coloca uns 8543126 sei la e testa.
Postado Outubro 25, 2017 7 anos Autor Vou tentar aqui, qual quer coisa solicito vc aqui de novo, blza? já volto. @koete Não deu certo, coloquei uma storage qual quer e continuo dando errado, fica dando essa msg \/ e ngm toma teleport pra dentro da quest 21:07 Um jogador em seu time ja fez a Fishing Rod and Pick Quest! Sendo que ngm nunca fez a quest que esta no time, criei os chares td de novo e assim mesmo dá esse error. @luangop Tenta me ajudar nessa script? Até agora não consegui arrumar Vlw tmj +REP
Postado Outubro 26, 2017 7 anos Teste assim: local config = { -- level needed to make the quest level = 130, -- if players should be able to do the quest unlimited amount of times (not conflicting quest rewards) redo = { status = true, -- true = unlimited, false = once storageValue = 61111 -- only if status is false this will be used }, -- vocation requirement, positions and item configuration { vocations = {1, 5}, itemId = 2190, playerPos = {x=1117, y=1150, z=6}, -- Initial position in the Stone tile newPos = {x=1122, y=1153, z=6}, -- Position of the reward room. itemPos = {x=1117, y=1151, z=6} -- Position of Spellbook "Sorcerer". }, { vocations = {2, 6}, itemId = 2182, playerPos = {x=1123, y=1157, z=6}, -- Initial position in the Stone tile newPos = {x=1122, y=1153, z=6}, -- Position of the reward room. itemPos = {x=1122, y=1157, z=6} -- Position of Red apple "Druid". }, { vocations = {3, 7}, itemId = 2399, playerPos = {x=1127, y=1155, z=6}, -- Initial position in the Stone tile newPos = {x=1122, y=1153, z=6}, -- Position of the reward room. itemPos = {x=1127, y=1154, z=6} -- Position of Crossbow "Paladin". }, { vocations = {4, 8}, itemId = 8602, playerPos = {x=1123, y=1147, z=6}, -- Initial position in the Stone tile newPos = {x=1122, y=1153, z=6}, --Position of the reward room. itemPos = {x=1122, y=1147, z=6} --Position of Sword "Knight". } } function onUse(cid) local players = {} for _, v in ipairs(config) do v.playerPos.stackpos = 253 local player = getThingfromPos(v.playerPos).uid if isPlayer(player) == FALSE then return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Não há jogadores suficiente.") elseif getPlayerLevel(player) < config.level then players.level = true elseif isInArray(v.vocations, getPlayerVocation(player)) == FALSE then players.vocation = true elseif config.redo.status and getPlayerStorageValue(player, config.redo.storageValue) ~= TRUE then players.done = true else v.itemPos.stackpos = 1 local item = getThingfromPos(v.itemPos) if item.itemid ~= v.itemId then players.item = true else table.insert(players, player) end end end if players.level then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Todos os jogadores devem ser level " .. config.level .. " ou mais.") elseif players.vocation then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Todos os jogadores devem estar em seus respectivo piso!") elseif players.done then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Um jogador em seu time ja fez a Fishing Rod and Pick Quest!") elseif players.item then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE, "Todos os items devem estar na posição correta!") else for k, player in ipairs(players) do doSendMagicEffect(getCreaturePosition(player), CONST_ME_POFF) doTeleportThing(player, config[k].newPos) doSendMagicEffect(getCreaturePosition(player), CONST_ME_TELEPORT) end end return TRUE end Te ajudei? Clique em Gostei ! ²²²d¬¬b²²² "She's got a smile that it seems to me...." ♪♪
Postado Outubro 26, 2017 7 anos Autor @luangop Continua o mesmo error, criei 4 chars de cada vocação e coloquei tudo certo e fala a mesma coisa \/ 13:13 Um jogador em seu time ja fez a Fishing Rod and Pick Quest! Sendo que nenhum deles fizeram a quest, nunca fizeram.
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.