Ir para conteúdo

Featured Replies

Postado
  • Autor

8.4 não tem a função onStatsChange no creaturescripts, vc teria que adicionar ela pelas sources pra poder utilizar esse script :/

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

  • Respostas 37
  • Visualizações 4.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Ótima ideia, xD Só uma otimização no código xD

  • foi muito engraçado arrumar esse script, qnd eu fiz ele eu tava começando a scriptar e tinha muita checagem desnecessária

  • nãao, é muita diferença entre as versões: de 0.36 pra 1.2

Postado
  • Autor

nunca nem se quer olhei a source de alguma versão do tibia, sou scripter, não programmer :/ Só sei que é só vc pegar a source do 8.6, procurar a pasta referente aos creaturescripts, abrir o arquivo e copiar a função pro mesmo arquivo do 8.4.. Procura uns tutoriais no google que acho q vc consegue de boa, dificil mesmo é pegar a source do 0 e compilar ela porque isso pode acabar estragando muitas outras coisas do seu servidor. Como eu disse anteriormente, não sou programmer, eu apenas arquiteto oque me é fornecido da maneira que convém

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

  • 2 months later...
Postado

Olá, não gostei muito da parte que de set full = causar dano em área, pois o jogador fugindo poderia até pegar pk sem querer pelo dano causado a players sem PK em sua volta.
Como eu poderia tirar isso de causar dano?
E, caso não tire dano, ele tá dando PK por causar slow em outros players?



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Postado
  • Autor

eu não tenho um server pra testar, eu fiz esse script meio que às cegas e postei aqui..  pra retirar o dano em área é só colocar assim:

--[[Script made 100% by Night Wolf and Nogard
do not remove the fucking credits or I may kill you and practice necrofily with your filthy body]]


--condição que irá adicionar
local gelocondition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(gelocondition, CONDITION_PARAM_TICKS, 10000)   
setConditionFormula(gelocondition, -0.9, 0, -0.9, 0)  






-------
local config = {
itemid = 7897, --id do item que deverá ser equipado para ativar o gelo
place = 4, --posição que o item deve estar para funcionar, cheque na tabela abaixo
percent = 5,  --se vc quiser 20%, coloque 5 pois 1/5 = 0,2 (20%)
valorvida = 300 --quanto deve ser o valor minimo de vida a perder para executar o script 
}




local head = {
itemid = 7902, 
place = 1
} 




local legs = {
itemid = 7896, 
place = 7
} 




local boots = {
itemid = 7892, 
place = 8
} 




local necklace = {
itemid = 7888, 
place = 2
} 




--[[ Tabela de places possíveis 
CONST_SLOT_HEAD (1) = helmet
CONST_SLOT_NECKLACE (2) = necklace slot (amulet of loss etc.)
CONST_SLOT_BACKPACK (3) = backpack, bag
CONST_SLOT_ARMOR (4) = armor
CONST_SLOT_LEFT (5) = left hand (its really hand placed >> (right page on screen))
CONST_SLOT_RIGHT (6) = right hand (its really hand placed << (left page on screen))
CONST_SLOT_LEGS (7) = legs
CONST_SLOT_FEET (8) = boots
CONST_SLOT_RING (9) = ring slot
CONST_SLOT_AMMO (10) = ammo slot (arrows etc.)]]
-----------------------------------------------




function canEffect(pos, pz, proj) -- Night Wolf based on Nord
if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
if getTilePzInfo(pos) and not pz then return false end
local n = not proj and 3 or 2
for i = 0, 255 do
pos.stackpos = i
local tile = getTileThingByPos(pos)
if tile.itemid ~= 0 and not isCreature(tile.uid) then
if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
return false
end
end
end
return true
end








function onStatsChange(cid, attacker, type, combat, value)
if (getPlayerSlotItem(cid, config.place).itemid == config.itemid) then
if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida then
if math.random (1,config.percent) == 1 then
local pos = getPlayerPosition (cid)
local effectPositions = {
{x = pos.x, y = pos.y - 2, z = pos.z},
{x = pos.x, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y, z = pos.z},
{x = pos.x + 2, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 1, z = pos.z},
{x = pos.x + 2, y = pos.y - 1, z = pos.z},
{x = pos.x + 2, y = pos.y + 1, z = pos.z},
{x = pos.x - 2, y = pos.y + 1, z = pos.z},
{x = pos.x - 1, y = pos.y - 2, z = pos.z},
{x = pos.x + 1, y = pos.y - 2, z = pos.z},
{x = pos.x + 1, y = pos.y + 2, z = pos.z},
{x = pos.x - 1, y = pos.y + 2, z = pos.z}
} 




local conditionPositions = {
{x = pos.x, y = pos.y - 2, z = pos.z},
{x = pos.x, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y, z = pos.z},
{x = pos.x + 2, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 1, z = pos.z},
{x = pos.x + 2, y = pos.y - 1, z = pos.z},
{x = pos.x + 2, y = pos.y + 1, z = pos.z},
{x = pos.x - 2, y = pos.y + 1, z = pos.z},
{x = pos.x - 1, y = pos.y - 2, z = pos.z},
{x = pos.x + 1, y = pos.y - 2, z = pos.z},
{x = pos.x + 1, y = pos.y + 2, z = pos.z},
----
{x = pos.x, y = pos.y - 1, z = pos.z},
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x - 1, y = pos.y, z = pos.z},
{x = pos.x + 1, y = pos.y, z = pos.z},
{x = pos.x - 1, y = pos.y + 1, z = pos.z},
{x = pos.x - 1, y = pos.y - 1, z = pos.z},
{x = pos.x + 1, y = pos.y - 1, z = pos.z},
{x = pos.x + 1, y = pos.y + 1, z = pos.z},
------
{x = pos.x - 1, y = pos.y + 2, z = pos.z}
} 
if isCreature(cid) == TRUE then
        for _, cPos in ipairs(conditionPositions) do
local mob = getTopCreature(cPos).uid
    if canEffect (cPos) and mob ~= 0 and isMonster(mob) then
doAddCondition(mob, gelocondition)
end 
if (getPlayerSlotItem(cid, head.place).itemid == head.itemid) and (getPlayerSlotItem(cid, legs.place).itemid == legs.itemid) and (getPlayerSlotItem(cid, boots.place).itemid == boots.itemid) and (getPlayerSlotItem(cid, necklace.place).itemid == necklace.itemid) then
if canEffect (cPos) then
doSendMagicEffect(cPos, 43)
end
end
end




        for _, ePos in ipairs(effectPositions) do
if canEffect(ePos) then
                doSendMagicEffect(ePos, 41)
end
end
else
end
else
end
return true
else
end
return true
end
return true
end

se possível testa pra mim e coloca o resultado aqui que eu analiso mas acredito que não dá PK não por ser por função de add condition e não de fazer combat condition

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo