não consegui fazer fator não mais eu fiz o preto funcionar mais outra cor para ;/
- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- Projeto Tutores de Scripting
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Tipo assim, vagnho:
function setOutfit(cid, count, interval)
if type(count) == "number" and type(interval) == "number" then
doPlayerSetStorageValue(cid, 2912919, count * -1)
local outfit = getCreatureOutfit(cid)
local number = getPlayerStorageValue(cid, 2912919)
outfit.lookHead = outfit.lookHead + number
outfit.lookBody = outfit.lookBody + number
outfit.lookLegs = outfit.lookLegs + number
outfit.lookFeet = outfit.lookFeet + number
doCreatureChangeOutfit(cid, outfit)
addEvent(setOutfit, cid, count, interval)
return true
end
return false
end
E pra usar assim:
setOutfit(cid, 19, 1000)
Isso é só um exemplo, eu não testei.
info
Grupo: Barão
Registrado: 26/12/11
Posts: 201
Reputação: +18
Char no Tibia: Flaah

To criando um poketibia do zero, sem base alguma, e com isso preciso de 1 script basico, que seria:
Como faço pra que quando o pokemon do player for usar spell de area, não hit o player e não deixe ele com skul..
Obrigado pela atenção ,o/
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Te aconselho a criar um tópico na seção Pedidos e dúvidas - Scripting. Uma vez que você está procurando um script pronto.
Editado Março 25 por Killua
Killua este que tu postou acima não faz nada..
To criando um poketibia do zero, sem base alguma, e com isso preciso de 1 script basico, que seria:
Como faço pra que quando o pokemon do player for usar spell de area, não hit o player e não deixe ele com skul..
Obrigado pela atenção ,o/
A creature script onStatsChange e a que controla a perda/ganha de mana/health. Ao dar return false, voce anula a perda de dano, logo basta voce fazer os ifs certos e retornar false para a callback, dai cancela o dano. Porem tem mais uma coisa, para executar a creature script, as criaturas que usaram ela deverao ser registradas, se forem players e so registrar no login.lua, porem se forem monstros, tem que ser feito o registro no xml de cada um. No seu caso um no login lua ja basta, pois que sofre a perda ou ganha de dano nesse caso sao os players
Killua este que tu postou acima não faz nada..
me diga que tu nao colocou a funçao sozinha no script de actions ...
Na verdade eu ponhei em creaturescripts, mano me ensina eu não sei onde vai cada coisa eu chuto hsuuhasuhashusuha
local SQUARE1X1 = {
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
}
local min, max = 200, 220
local armor_id = 7897
local chance = 100
function onStatsChange(cid, attacker, type, combat, value)
if not isPlayer(cid) then
return true
end
if value >= 1 and type == STATSCHANGE_HEALTHLOSS then
if getPlayerSlotItem(cid, CONST_SLOT_ARMOR).itemid == armor_id then
local random = math.random(100)
if random <= chance then
doAreaCombatHealth(cid, COMBAT_ICEDAMAGE, getCreaturePosition(cid), SQUARE1X1, min, max, CONST_ME_ICEATTACK)
return true
end
end
end
return true
end
esse script mano ta fazendo o efeito no player que está usando a armor, acho que é por causa do getCreaturePosition mas quando eu removo não acontece mais nada...
Na verdade eu ponhei em creaturescripts, mano me ensina eu não sei onde vai cada coisa eu chuto hsuuhasuhashusuha
local SQUARE1X1 = {
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
}
local min, max = 200, 220
local armor_id = 7897
local chance = 100
function onStatsChange(cid, attacker, type, combat, value)
if not isPlayer(cid) then
return true
end
if value >= 1 and type == STATSCHANGE_HEALTHLOSS then
if getPlayerSlotItem(cid, CONST_SLOT_ARMOR).itemid == armor_id then
local random = math.random(100)
if random <= chance then
doAreaCombatHealth(cid, COMBAT_ICEDAMAGE, getCreaturePosition(cid), SQUARE1X1, min, max, CONST_ME_ICEATTACK)
return true
end
end
end
return true
end
esse script mano ta fazendo o efeito no player que está usando a armor, acho que é por causa do getCreaturePosition mas quando eu removo não acontece mais nada...
"quando removo" se refere ao armor?
se sim, é OBVIO que vai parar, tu quer que faça um efeito quando esta equipado com uma determinada armor, quando tira ela, o efeito deve parar ne
quando o player tomar o hit acima de 300 ele solta o efeito em volta e paraliza o player eu tinha postado o script que tem no forum mais não funciona...
info
Grupo: Visconde
Registrado: 11/04/12
Posts: 328
Reputação: +7
Char no Tibia: ADM MiHawk

um cara falo isso olha
ñ sei se vc manja de scripts mais se manja, faça o seguinte, abra o groups.xml dentro da pasta (data/xml), crie um grupo com nome pokemon e altere as flags igual a de players normais, depois crie um outro grupo com noattackplayer e coloque o frags de q n pode ser atacado..
agora no creaturescript crie um arquivo para q qndo ele "sumonar o pokemon" ele vire grupo noattackplayer e registre o summon como pokemon, e se o pokemon morrer ou voltar pra ball o player volta ao grupo certo...
eu fiz tudo certo, só nao sei criar o script para fazer essa funçao '-' alguem poderia me ajudar?
um cara falo isso olha
ñ sei se vc manja de scripts mais se manja, faça o seguinte, abra o groups.xml dentro da pasta (data/xml), crie um grupo com nome pokemon e altere as flags igual a de players normais, depois crie um outro grupo com noattackplayer e coloque o frags de q n pode ser atacado..
agora no creaturescript crie um arquivo para q qndo ele "sumonar o pokemon" ele vire grupo noattackplayer e registre o summon como pokemon, e se o pokemon morrer ou voltar pra ball o player volta ao grupo certo...
eu fiz tudo certo, só nao sei criar o script para fazer essa funçao '-' alguem poderia me ajudar?
o que faz o summon é uma action, goback, então e lá que deve fazer isso, mas se nao me engano nao sao todas as flags que ajustam logo que troca de group nao, tem algumas que so relogando pra fazer efeito
geralmente os poketibias usam as creature scripts de combat para fazer isso; no onattack fazendo trocar o target; no statschange nao ferindo players se tiver summon e etc
info
Grupo: Visconde
Registrado: 11/04/12
Posts: 328
Reputação: +7
Char no Tibia: ADM MiHawk

isso mesmo dalvorsn é isso mesmo que eu quero, meu tibia é normal, mais quero essa funçao que vc falo, to tentando o dia inteiro e nao consigo, vc nao tem ideia de como isso vai mudar a palavra tibia no meu ot, vai abrir uma porta muito grande pro meu servidor, tem como me ajudar a criar? se puder passar skype ou falar por private seria mt bom?
1 exemplo utevo res, eu faço 1 monstro certo? um demon... dai vou caçar na hunt de frost dragon, mais eles tem atack de area, o poder vai acerta em mim e no meu demon, queria que acerta-se só no meu demon,, quando meu demon morre-se dai eu voltaria ao normal e os hits me acertariam tambem, é possivel vc me passar um topico que me explica como fazer isso ?
É só você usar as callbacks:
onTarget(cid, target) -- essa é ativada quando é setada target
onCombat(cid, target) -- sempre que houver algum combat, essa callback e chamada
onAttack(cid, target) -- quando inicia-se atack essa callback é chamada
onCast(cid, target) -- quando usa-se uma spell essa callback e chamada
onAreaCombat(cid, tileItem, tilePosition, isAggressive) -- quando se usa combat em area essa é chamada
onStatsChange(cid, attacker, type, combat, value) -- quando há perda/ganha de mana/hp essa callback é chamada
p
Todo o sistema de combat pode ser controlado por essas callbacks, tudo está ai, é so fazer os devidos scripts em cada evento fazendo as condicionais como preferir
Exemplo, no onstatschange verifica se o cid tem summon, se sim retorna false para callback anulando a perda de hp/mana
E assim por diante
E cara, voce não parece ter entendido o intuito do tópico, aqui é para quem quer APRENDER e não para quem quer pronto. >.<'
info
Grupo: Visconde
Registrado: 11/04/12
Posts: 328
Reputação: +7
Char no Tibia: ADM MiHawk

edit, eu aaprendi u.u se alguem quizer algum script dificuldade facil me add skype para eu ir treinando
jean.cristian16
Editado Abril 2 por JeanCristian





info
Grupo: Conde
Registrado: 21/12/11
Posts: 750
Reputação: +268
Gênero: Masculino
ah, quer igual pra todas, entao e melhor passar o n e o fator, dai só multiplicar o fator por -1 toda vez, dai soma n com fator, a noite to de volta, vai tentando ai se nao conseguir me fala