Ir para conteúdo
  • 0

Matar Boos e aparecer um buero na position X


KennyConrad

Pergunta

Pedido pra quando matarem o Boos Deathstrike ser criado um buero na Position: [X: 202] [Y: 1224] [Z: 12].

 

@Edit

 

achei esse script aki feito pelo Vodkart e estou tentando editar ele alguem pode me ajudar porque não estou entendo ele direito =(

 

 

function onDeath(cid, corpse, killer)
 
local M ={
["deathstrike"] = {Pos = {x=202,y=1224,z=12},id= 430 ,time = 1800},
}
 
local x = M[getCreatureName(cid)]
function criar()
local parede = getTileItemById(x.Pos, x.id)
doRemoveItem(x.id, 1, x.Pos)
end
if x then
local parede = getTileItemById(x.Pos, x.id)
if parede then
doCreateItem(parede.uid, 1)
addEvent(criar, x.time*1000)
end
end
return TRUE
end
Editado por KennyxD
Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

vá em creaturescripts --> scripter e crie um arquivo chamado tp.lua
local tpId = 1387
local tps = {
["Orshabaal"] = {pos = {x=761, y=57, z=7}, toPos = {x=767, y=52, z=7}, time = 30},
}

function removeTp(tp)
local t = getTileItemById(tp.pos, tpId)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(tp.pos, CONST_ME_POFF)
end
end

function onDeath(cid)
local tp = tps[getCreatureName(cid)]
if tp then
doCreateTeleport(tpId, tp.toPos, tp.pos)
doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
addEvent(removeTp, tp.time*1000, tp)
end
return TRUE
end
explicação:

["Orshabaal"] --------- Nome do monstro
pos = {x=761, y=57, z=7} ----------- onde o Teleport irá abrir
toPos = {x=767, y=52, z=7} ------- onde o teleport vai leva eles
time = 30 ------------ tempo em segundos que o teleport ficará aberto

em creaturescript adicione:

<event type="death" name="tp" event="script" value="tp.lua"/>
no arquivo.xml do seu monstro adicione:

<script>
<event name="tp"/>
</script>
Nome do monstro deve ser colocado com Letra Maiuscula. exemplo: Demon,Hydra!
se ajudei REP+
Editado por ikaroangelo
Link para o comentário
Compartilhar em outros sites

  • 0

so e trocar o 1387 por 430!

acho que não =( acho que assim iria dar erro e também quero que o boos dê loot normal e não o corpo dele vira o buero.

 

Galera peguei esse script aki do vodkart e to tentando editar ele alguem pode me ajudar ?

 

 

function onDeath(cid, corpse, killer)
 
local M ={
["deathstrike"] = {Pos = {x=202,y=1224,z=12},id= 430 ,time = 1800},
}
 
local x = M[getCreatureName(cid)]
function criar()
local parede = getTileItemById(x.Pos, x.id)
doRemoveItem(x.id, 1, x.Pos)
end
if x then
local parede = getTileItemById(x.Pos, x.id)
if parede then
doCreateItem(parede.uid, 1)
addEvent(criar, x.time*1000)
end
end
return TRUE
end
Link para o comentário
Compartilhar em outros sites

  • 0

tenta esse aki mais simplificado =p

 

 

function onDeath(cid, corpse, killer)

local nome = "deathstrike" -- nome do monstro
local pos = {x=202,y=1224,z=12} -- posicao de onde sera criado o bueiro
local id = 430 -- id do bueiro

if getCreatureName(cid) == nome then
doCreateItem(id, pos)
end

end

Link para o comentário
Compartilhar em outros sites

  • 0

 

tenta esse aki mais simplificado =p

 

 

function onDeath(cid, corpse, killer)

 

local nome = "deathstrike" -- nome do monstro

local pos = {x=202,y=1224,z=12} -- posicao de onde sera criado o bueiro

local id = 430 -- id do bueiro

 

if getCreatureName(cid) == nome then

doCreateItem(id, pos)

end

 

end

 

Não deu certo =( testei e não deu erro no console + quando o boos foi morto simplesmente ele desapareceu nen apareceu mensagem do lot dele nen o corpo dele e nada do buero aparecer também.

Link para o comentário
Compartilhar em outros sites

  • 0

bug resolvido, leia meu ultimo comentario!

 

outra coisa: o nome tem que ser sertinho, com maiusculas e minusculas la no name = deathstrike tem que ser Deathstrike com D maiusculo pq e assim o nome dele

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

  • 0

na verdade eu coloquei as 2 tags ah no creaturescripts e a no monstro também

 

 

<event type="death" name="deathstrike" event="script" value="deathstrike.lua"/>

 

 

<script>
<event name="deathstrike"/>
</script>
@edit fiz oque você falo modifikei as minhas tags elas suas e renomeie o arquivo e deu a mesma coisa que falei antes na hora que o boos vai morrer nen aparece a mensagem do lot dele, não aparece o corpo dele e nada de buero também. e não deu nenhum erro no console.
Editado por KennyxD
Link para o comentário
Compartilhar em outros sites

  • 0

tenhu skype

 

Kenny Conrad

 

qual o seu skype ?

 

creio que não sou eu que estou fazendo errado e sim o erro é realmente no script devido que se não o boos iria morrer normalmente e aparecer o corpo dele mais nen isso ta aparecendo

 

OBS: quando matar o Boos é pro boos dropar lot normalmente não quero que o corpo dele some.

Link para o comentário
Compartilhar em outros sites

  • 0

trocou

<event name="deathstrike"/>

por?

<event name="Bueiro"/>

@PS: outro detalhe, check se adcionou a tag no login.lua tbm.

 

registerCreatureEvent(cid, "Bueiro")
Editado por Maenilse
Link para o comentário
Compartilhar em outros sites

  • 0

@EDIT

 

agora sim! so que ta um cu pra add loot, add a linha do script la no monster e o script fica assim

 

 

function onDeath(cid, corpse, killer)

local nome = "Deathstrike" -- nome do monstro
local pos = {x=194,y=58,z=7} -- posicao de onde sera criado o bueiro
local id = 430 -- id do bueiro

local pcrandom = math.random(1, 3)
local gprandom = math.random(1, 70)

if getCreatureName(cid) == nome then
doCreateItem(id, pos)
local corpo = doCreateItem(3058, getCreaturePosition(cid))
local pc = doAddContainerItem(corpo, 2152, pcrandom)
local gc = doAddContainerItem(corpo, 2148, gprandom)
if math.random(1, 100) <= 50 then
doAddContainerItem(corpo, 2455, 1)
end
if math.random(1, 100) <= 25 then
doAddContainerItem(corpo, 8851, 1)
end
end

-- pra add um novo loot :

-- if math.random(1, 100) <= CHANCE EM PORCENTAGEM then

-- doAddContainerItem(corpo, ID DO LOOT, 1)

-- end

end

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

  • 0

eu nao add nenhuma linha no login.lua e ta funfando perfeitamente aki no meu ot!

tai como eu dise la no server

 

function onDeath(cid, corpse, killer)

 

local nome = "Deathstrike" -- nome do monstro

local pos = {x=194,y=50,z=7} -- posicao de onde sera criado o bueiro

local id = 430 -- id do bueiro

 

if getCreatureName(cid) == nome then

doCreateItem(id, pos)

end

 

end

nao precisou mudar nada pelo que eu saiba alem do D la do deathstrike =)

 

Funciono vlw + falta arrumar pro boos dar Lot e não sumir o corpo =(

resolvido, podem mover o topico.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...