Postado Junho 4, 2017 8 anos O problema é o seguinte, estou tentando criar uma sala de recompensa, porém não consigo resolver um seguinte problema. A quest tem 8 premiações, sendo 5 armas. O problema é o seguinte, o player escolher uma das 5 armas, e ainda sim, consegue pegar as demais, como resolver?
Postado Junho 4, 2017 8 anos Defina apenas uma storage para todas as quests. [+] BETA SERVER [+] HAVOK X Cliente próprio http://www.havokx.com.br Servidor iniciado em fase de testes dia 07/06/2017, servidor ÚNICO no mundo. Servidor totalmente dedicado ao RPG, porém sem abandonar o PVP. [+] Sistemas exclusivos [+] Mundo apocalíptico 50+ missões Monstros exclusivos Upgrade system War System Infection System Task System Reformulado
Postado Junho 4, 2017 8 anos Em 04/06/2017 em 15:25, JcA disse: O problema é o seguinte, estou tentando criar uma sala de recompensa, porém não consigo resolver um seguinte problema. A quest tem 8 premiações, sendo 5 armas. O problema é o seguinte, o player escolher uma das 5 armas, e ainda sim, consegue pegar as demais, como resolver? Poste a script aí.
Postado Junho 4, 2017 8 anos Você precisa definir o mesmo storage para os scripts de cada baú, se for o caso. As únicas coisas que precisam ser individuais são os Unique ID no RME, cada baú precisa ter um valor diferente do outro.
Postado Junho 5, 2017 8 anos Autor Em 04/06/2017 em 18:06, Heyron disse: Você precisa definir o mesmo storage para os scripts de cada baú, se for o caso. As únicas coisas que precisam ser individuais são os Unique ID no RME, cada baú precisa ter um valor diferente do outro. Dessa seguinte forma, aparece no distro um monte de actionid repetido. Estou usando o script padrao que veio no ot. local specialQuests = { [2001] = 30015 --Annihilator } local questsExperience = { [30015] = 10000 } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF, cid) return true end local storage = specialQuests[item.actionid] if(not storage) then storage = item.uid if(storage > 65535) then return false end end if(getPlayerStorageValue(cid, storage) > 0) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") return true end local items = {} local reward = 0 local size = isContainer(item.uid) and getContainerSize(item.uid) or 0 if(size == 0) then reward = doCopyItem(item, false) else for i = 0, size do local tmp = getContainerItem(item.uid, i) if(tmp.itemid > 0) then table.insert(items, tmp) end end end size = table.maxn(items) if(size == 1) then reward = doCopyItem(items[1], true) end local result = "" if(reward ~= 0) then local ret = getItemDescriptions(reward.uid) if(reward.type > 0 and isItemRune(reward.itemid)) then result = reward.type .. " charges " .. ret.name elseif(reward.type > 0 and isItemStackable(reward.itemid)) then result = reward.type .. " " .. ret.plural else result = ret.article .. " " .. ret.name end else if(size > 20) then reward = doCopyItem(item, false) elseif(size > 8) then reward = getThing(doCreateItemEx(1988, 1)) else reward = getThing(doCreateItemEx(1987, 1)) end for i = 1, size do local tmp = doCopyItem(items[i], true) if(doAddContainerItemEx(reward.uid, tmp.uid) ~= RETURNVALUE_NOERROR) then print("[Warning] QuestSystem:", "Could not add quest reward") else local ret = ", " if(i == 2) then ret = " and " elseif(i == 1) then ret = "" end result = result .. ret ret = getItemDescriptions(tmp.uid) if(tmp.type > 0 and isItemRune(tmp.itemid)) then result = result .. tmp.type .. " charges " .. ret.name elseif(tmp.type > 0 and isItemStackable(tmp.itemid)) then result = result .. tmp.type .. " " .. ret.plural else result = result .. ret.article .. " " .. ret.name end end end end if(doPlayerAddItemEx(cid, reward.uid, false) ~= RETURNVALUE_NOERROR) then result = "You have found a reward weighing " .. getItemWeight(reward.uid) .. " oz. It is too heavy or you have not enough space." else result = "You have found " .. result .. "." setPlayerStorageValue(cid, storage, 1) if(questsExperience[storage] ~= nil) then doPlayerAddExp(cid, questsExperience[storage]) doSendAnimatedText(getCreaturePosition(cid), questsExperience[storage], TEXTCOLOR_WHITE) end end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, result) return true end Editado Junho 5, 2017 8 anos por JcA (veja o histórico de edições)
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.