Eu fiz o seguinte, deletei as duas linhas que você disse e coloquei isso:
local storagepremio = 50060 local premio = 2294 if getPlayerStorageValue(getCreatureMaster(killer), storagepremio) <= 0 then doPlayerAddItem(getCreatureMaster(killer), premio) setPlayerStorageValue(getCreatureMaster(killer), storagepremio, 1) else doPlayerSendTextMessage(getCreatureMaster(killer),MESSAGE_EVENT_ADVANCE,"Você já pegou o prêmio desse ginásio.") end
No geral ficou assim:
function onDeath(cid, corpse) doSendMagicEffect(getThingPos(cid), 10) local npc = ""..getPlayerStorageValue(cid, 201).."" local turn = getPlayerStorageValue(cid, 202) local nturn = ((turn) + 1) local nxt = ginasios[npc][turn].nextp doCreatureSay(getCreatureByName(npc), ginasios[npc][turn].msgba, 1) if nxt == "finish" then local killer = getItemAttribute(corpse.uid, "corpseowner") addEvent(doCreatureSay, 1200, getCreatureByName(npc), ginasios[npc].msgwin, 1) setPlayerStorageValue(getCreatureMaster(killer), ginasios[npc].storage, 2) local storagepremio = 50060 local premio = 2294 if getPlayerStorageValue(getCreatureMaster(killer), storagepremio) <= 0 then doPlayerAddItem(getCreatureMaster(killer), premio) setPlayerStorageValue(getCreatureMaster(killer), storagepremio, 1) else doPlayerSendTextMessage(getCreatureMaster(killer),MESSAGE_EVENT_ADVANCE,"Você já pegou o prêmio desse ginásio.") end doRemoveCreature(cid) return false end local function summonNext(poke, pos, gym, msg, cid) local x = doSummonCreature(poke, pos) addEvent(gymChecker, 1000, x, cid, 0) doSendMagicEffect(getThingPos(x), 10) doCreatureSay(getCreatureByName(gym), msg, 1) end local killer = getItemAttribute(corpse.uid, "corpseowner") addEvent(doGymBattle, 1200, npc, ginasios[npc][turn].nextp, killer, nturn) doRemoveCreature(cid) return false end local fightconditionnn = createConditionObject(CONDITION_INFIGHT) setConditionParam(fightconditionnn, CONDITION_PARAM_TICKS, 18 * 1000) function onAttack(cid, target) if getPlayerStorageValue(getCreatureMaster(target), ginasios[getPlayerStorageValue(cid, 201)].storage) ~= 1 then doMonsterChangeTarget(cid) doChangeSpeed(cid, -getCreatureSpeed(cid)) return true end if isPlayer(target) then if #getCreatureSummons(target) == 0 then doMonsterChangeTarget(cid) doChangeSpeed(cid, -getCreatureSpeed(cid)) return true end if #getCreatureSummons(target) >= 1 then doMonsterSetTarget(cid, getCreatureSummons(target)[1]) end end if getCreatureSpeed(cid) == 0 then doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, 200) end doAddCondition(getCreatureMaster(target), fightconditionnn) return true end function onCast(cid, target) if isPlayer(target) then return false end local targete = getCreatureTarget(cid) if isPlayer(getCreatureMaster(targete)) and getPlayerStorageValue(getCreatureMaster(targete), ginasios[getPlayerStorageValue(cid, 201)].storage) ~= 1 then return false end return true end function onDirection(cid, old, current) if isCreature(getCreatureTarget(cid)) and not isPlayer(getCreatureTarget(cid)) and getPlayerStorageValue(getCreatureMaster(getCreatureTarget(cid)), ginasios[getPlayerStorageValue(cid, 201)].storage) == 1 then return true end return false end
Espero ter ajudado.



info
Grupo: Campones
Registrado: 12/02/08
Posts: 23
Reputação: +1
Primeiro de tudo o script q estou tentando alterar uma opção é o do brun123, se caso sinta-se ofendido pode solicitar o fechamento deste, brigadao!
o script do bruno é este:
http://www.xtibia.com/forum/index.php?app=forums&module=forums§ion=findpost&pid=1038504
mas minha duvida é bem especifica:
a premiação após o evento do script acontece da seguinte maneira:
ele verificar se o player matou, se for verdade verifica se tem o item 2307 e troca pelo 2294.
eu gostaria que o player recebe-se o item sem fazer a troca após o evento, e que quando o player fizer de novo a "quest" consiga completar a quest mas receba a mensagem: vc já tem o item.