VI
dúvida

Limite De Criaturas

Por vidalokkka, 03 de set. de 2012 em Scripts

scripts
script
9
1.4k
vidalokkkaV
03 de setembro de 2012 às 22:52

to tentando fazer comando pra criar bicho pq gm criar muitos com /m

eu queria que tivesse um limite cria 1 ou 2 ai quando player mata ele vai pode criar outro pq tem vez que fica muito lag gm faz muitos mostros de vez

function onSay(cid, words, param)
doSummonCreature("demon", getThingPos(cid))
end

Editado Setembro 3 por vidalokkka

LuckOakeL
03 de setembro de 2012 às 23:04

 

function onSay(cid, words, param, channel)

local quantia = 2 -- Quantia de monstros permitida

local pid = cid

local t = string.explode(param, ",")

if(t[2]) then

pid = getPlayerByNameWildcard(t[2])

if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.")

return true

end

end

 

if getCreatureSummons(cid) == quantia then

doPlayerSendCancel(cid, "Máximo de summons atingido.")

return true

end

 

local effect = CONST_ME_MAGIC_RED

local ret = doSummonMonster(pid, t[1])

if(ret ~= RETURNVALUE_NOERROR) then

effect = CONST_ME_POFF

doPlayerSendDefaultCancel(cid, ret)

end

 

doSendMagicEffect(getCreaturePosition(cid), effect)

return true

end

 

 

Tó.

EskyloE
03 de setembro de 2012 às 23:38

 

function onSay(cid, words, param, channel)

local quantia = 2 -- Quantia de monstros permitida

local pid = cid

local t = string.explode(param, ",")

if(t[2]) then

pid = getPlayerByNameWildcard(t[2])

if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.")

return true

end

end

 

if getCreatureSummons(cid) == quantia then

doPlayerSendCancel(cid, "Máximo de summons atingido.")

return true

end

 

local effect = CONST_ME_MAGIC_RED

local ret = doSummonMonster(pid, t[1])

if(ret ~= RETURNVALUE_NOERROR) then

effect = CONST_ME_POFF

doPlayerSendDefaultCancel(cid, ret)

end

 

doSendMagicEffect(getCreaturePosition(cid), effect)

return true

end

 

 

Tó.

 

nao vai funcionar, a checagem q vc criou

 

if getCreatureSummons(cid) == quantia then

 

ta totalmente errada.

 

primeiro, q para comparar a quantidade summons tem q por #getCreatureSummons(cid) mesmo assim nao daria, pq o /m sumona o monstro, porem o monstro sumonado é como um monstro qualquer do mapa e nao um summon do gm (em termos de script).

 

ps. sem tempo pra fazer ;/ indo dormir já, boa noite

LuckOakeL
03 de setembro de 2012 às 23:53

@Eskylo

 

Na verdade, só faltou o operador (#) mesmo. O Script que eu peguei foi o do /s (summon monster), não o do /m (create monster). Não está totalmente errada, igual você falou, apenas faltou um caractere.

 

@Topic

 

Corrigindo.

 

function onSay(cid, words, param, channel)

local quantia = 2 -- Quantia de monstros permitida

local pid = cid

local t = string.explode(param, ",")

if(t[2]) then

pid = getPlayerByNameWildcard(t[2])

if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.")

return true

end

end

 

if #getCreatureSummons(cid) == quantia then

doPlayerSendCancel(cid, "Máximo de summons atingido.")

return true

end

 

local effect = CONST_ME_MAGIC_RED

local ret = doSummonMonster(pid, t[1])

if(ret ~= RETURNVALUE_NOERROR) then

effect = CONST_ME_POFF

doPlayerSendDefaultCancel(cid, ret)

end

 

doSendMagicEffect(getCreaturePosition(cid), effect)

return true

end

 

~~ Edit ~~

 

Agora que eu vi, você pediu do /m. Se o Eskylo não fizer, eu faço.

Editado Setembro 3 por LuckOake

EskyloE
03 de setembro de 2012 às 23:58

@Eskylo

 

Na verdade, só faltou o operador (#) mesmo. O Script que eu peguei foi o do /s (summon monster), não o do /m (create monster). Não está totalmente errada, igual você falou, apenas faltou um caractere.

 

como vc disse no fim, sim ele pediu o /m

#getCreatureSummons() nao serve pra contar monstros sumonados pelo /m

vidalokkkaV
04 de setembro de 2012 às 17:21

@LuckOake e @Eskylo vcs me deiraram na mão me ajuda please

 

pode ser assim mesmo

function onSay(cid, words, param)
doSummonCreature("demon", getThingPos(cid))
end

de criar so um tipo de monster do mapa

mais quero limite de 1 ou 2 ou 3

assim coloco comando pro gm não posso tirar gm pq cara meu irmão colocando esse comando ele não vai deixa muito lag

caoticC
04 de setembro de 2012 às 17:35

Eu acho particulmanete melhor você adicionar um tempo.

 

Ficando assim:

 

 

 

 

 

Coloquei por tempo ele tem que esperar um pouco antes de invocar outra criatura

 

 

local config = {

exhaust = 120,

check = 33821

}

local monster = "Demon" --- Nome do monstro a ser sumonando

function onUse(cid, item, fromPosition, itemEx, toPosition)

if (getPlayerStorageValue(cid, config.check) >= os.time()) then

doPlayerSendCancel(cid,"Desculpe, Isto não e possivel pois tera que esperar")

return true

end

doSummonCreature(monster, getThingPos(cid))

setPlayerStorageValue(cid,config.check,os.time()+config.exhaust)

return true

end

 

Editado Setembro 10 por caotic

vidalokkkaV
10 de setembro de 2012 às 00:18

caotic

 

testei aki contia dando pra criar um monte

 

não da erro no console

caoticC
10 de setembro de 2012 às 12:32

Editei la em cima.

 

Com certeza irá funcionar