Ir para conteúdo
  • 0

[Pedido] Creature Script


SmiX

Pergunta

Olá galera, acho que alguns de vocês devem saber, mais meu irmão é muito bom em script mas como ele ta na casa da namorada

vim pedir a vocês uns pedidos:

1° Queria um script igual a este ai de cima, mas como umas exeções. Queria que quando o player levasse só um hit do monstro

ele ao em vez de morrer fosse para o templo e o script tirasse a ("GLOBALSTORAGE") dele (-1), e queria tbm que quando os

player que sobrarem com a GLOBALSTORAGE, ganhasse itens e fossem para o templo, a cada 5 minutos o script iria checar

essa ("GLOBALSTORAGE") e iria fazer os comandos ditos acima.

 

 

local config = {

playerCount = 2001, -- Global storage for counting the players left/entered in the event

 

goblet = 5805, -- id of the gold goblet you'll get when finishing the event.

rewards = {2195, 2152, 2160}, -- alem da taca de ouro com seu nome estes premios.

-- {moneyId, count, using? 1 for using moneyReward, 0 for not using.}

moneyReward = {2160, 10, 1},

-- Should be same as in the globalevent!

-- The zombies will spawn randomly inside this area

fromPosition = {x = 1186, y = 1072, z = 7}, -- Zona esquerda onde ira nascer os zumbi.

toPosition = {x = 1195, y = 1081, z = 7}, -- Zona direita onde ira nascer os zumbi.

}

function onStatsChange(cid, attacker, type, combat, value)

if isPlayer(cid) and isMonster(attacker) then

if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then

if getGlobalStorageValue(config.playerCount) >= 2 then

doBroadcastMessage(getPlayerName(cid) .. " have been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED)

local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))

doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)

setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)-1)

elseif getGlobalStorageValue(config.playerCount) == 1 then

if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then

doBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING)

local goblet = doPlayerAddItem(cid, config.goblet, 1)

doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.")

local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))

doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)

for _,items in ipairs(config.rewards) do

doPlayerAddItem(cid, items, 1)

end

if config.moneyReward[3] == 1 then

doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2])

end

end

 

for x = config.fromPosition.x, config.toPosition.x do

for y = config.fromPosition.y, config.toPosition.y do

for z = config.fromPosition.z, config.toPosition.z do

areapos = {x = x, y = y, z = z, stackpos = 253}

getMonsters = getThingfromPos(areapos)

if isMonster(getMonsters.uid) then

doRemoveCreature(getMonsters.uid)

end

end

end

end

end

return false

end

end

return true

end

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Eu só sei fazer o script de levar 1 hit e ir pro templo

Frompos e

Topos

 

 

é a area que é o evento

 


local config = {
fromPosition1a = {x = 542, y = 251, z = 7}, -- Zona esquerda norte
toPosition1a = {x = 560, y = 261, z = 7}, -- Zona direita sul
}

function onStatsChange(cid, attacker, type, combat, value)
local pos = {x=137,y=225,z=7} -- POS DO TEMPLO

if isPlayer(cid) then
if type == STATSCHANGE_HEALTHLOSS then
if isMonster(attacker) then
if isInArea(getPlayerPosition(cid), config.fromPosition1a, config.toPosition1a) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
doTeleportThing(cid, pos)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
end
end
end
end
return TRUE
end


Editado por Lucaswc15
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...