Ir para conteúdo
  • Cadastre-se

Posts Recomendados

tem sim.. vc muda aqui:
 

doAreaCombatHealth(cid, 1, getThingPos(cid), area, -1, -30, 20)

 

sendo o -1 e o -30 os danos minimo e máximo respectivamente. Se você quiser fazer por fórmula baseada no ml do player é só fazer
 

local master = getCreatureMaster(cid) 
if isPlayer(master) then
local ml = getPlayerMagLevel(master)
end

local min, max = ml or 1, ml or 30

doAreaCombatHealth(cid, 1, getThingPos(cid), area, -min, -max, 20)

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)

Link para o post
Compartilhar em outros sites
  • Respostas 49
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Fala galera do TK, hoje eu venho mais uma vez trazer uma das magias mais incríveis que eu já vi até hoje (sério). A magia original foi feita em outro fórum mas para a versão 10.1... como eu vi que nin

é uma spell realmente muito foda e muito útil em servidores de RPG... só fiquei meio triste porque dos 14 usuários que viram o tópico apenas dois curtiram :/ achei que ia fazer mais sucesso

Que fora kkkkkkk me lembro mt a elise quando ela ulta pena que seria mais legal em otserv 8.7 + :/

Posted Images

ml or 1, ml or 30 = ml*1 à ml*30?
Ml não tá fazendo diferença no dano


Com o or o ML não influencia, e se eu tiro, dá isso
attempt to perform arithmetic on updvalue 'min' <a nill value>

 

local master = getCreatureMaster(cid) 
if isPlayer(master) then
local ml = getPlayerMagLevel(master)
end
 
local min, max = ml, ml
function onCastSpell(cid, var)
mayNotMove(cid, 1)
addEvent(function()
               if isCreature(cid) then
doAreaCombatHealth(cid, 1, getThingPos(cid), area, -min, -max, 6)
doSendMagicEffect(getThingPos(cid), 6)
doRemoveCreature(cid)
               end
          end, 0)
return true
end
Editado por Danves (veja o histórico de edições)



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Link para o post
Compartilhar em outros sites

não.. é uma precaução pra caso não exista um master na criatura.. daí não irá ter ml e vai dar erro então a gente faz ml or 1.. ele vai tirar o dano mínimo sendo o ml ou então se não existir ml vai tirar 1. O mesmo vale pro 30... daí vc pode editar a vontade essa fórmula

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)

Link para o post
Compartilhar em outros sites

vc tem que colocar tudo isso dentro do AddEvent hahaha por isso tá dando erro (vc colocou fora até do callback OnCastSpell.. ele tá puxando esses dados antes de vc soltar a magia e tá dando erro)

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)

Link para o post
Compartilhar em outros sites

Ficaria assim?

function onCastSpell(cid, var)
mayNotMove(cid, 1)
addEvent(function()
               if isCreature(cid) then
local master = getCreatureMaster(cid) 
if isPlayer(master) then
local ml = getPlayerMagLevel(master)
end
local min, max = ml, ml
doAreaCombatHealth(cid, 1, getThingPos(cid), area, -min, -max, 6)
doSendMagicEffect(getThingPos(cid), 6)
doRemoveCreature(cid)
               end
          end, 0)
return true
end



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Link para o post
Compartilhar em outros sites
local poisonpowder = createConditionObject(CONDITION_POISON)
setConditionParam(poisonpowder, CONDITION_PARAM_DELAYED, 1)
local damageTable = {
{4, -3},
{9, -2},
{20, -1}
}
for i = 1, #damageTable do
local t = damageTable[i]
addDamageCondition(poisonpowder, t[1], 4000, t[2])
end

local arr = {
    {0, 1, 0},
    {1, 3, 1},
    {0, 1, 0}
}

local area = createCombatArea(arr)

function onCastSpell(cid, var)
addEvent(function()
if isCreature(cid) then
local master = getCreatureMaster(cid) 
if isPlayer(master) then
local ml = getPlayerMagLevel(master)
end
local min, max = ml, ml
doAreaCombatHealth(cid, 1, getThingPos(cid), area, -min, -max, 6) 
        doAreaCombatCondition(cid, getThingPos(cid), area, poisonpowder, 255)        
        doSendMagicEffect(getThingPos(cid), 16)
        doRemoveCreature(cid)
end
end, 100)
return true
end

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)

Link para o post
Compartilhar em outros sites
local poisonpowder = createConditionObject(CONDITION_POISON)
setConditionParam(poisonpowder, CONDITION_PARAM_DELAYED, 1)
local damageTable = {
{4, -3},
{9, -2},
{20, -1}
}
for i = 1, #damageTable do
local t = damageTable[i]
addDamageCondition(poisonpowder, t[1], 4000, t[2])
end

local arr = {
    {0, 1, 0},
    {1, 3, 1},
    {0, 1, 0}
}

local area = createCombatArea(arr)

function onCastSpell(cid, var)
if isCreature(cid) then
local master = getCreatureMaster(cid) 
if isPlayer(master) then
local ml = getPlayerMagLevel(master)
end
local min, max = ml, ml

addEvent(function()
doAreaCombatHealth(cid, 1, getThingPos(cid), area, -min, -max, 6) 
    doAreaCombatCondition(cid, getThingPos(cid), area, poisonpowder, 255)        
        doSendMagicEffect(getThingPos(cid), 16)
        doRemoveCreature(cid)
end
end, 100)
return true
end

testa agr

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)

Link para o post
Compartilhar em outros sites
local poisonpowder = createConditionObject(CONDITION_POISON)
setConditionParam(poisonpowder, CONDITION_PARAM_DELAYED, 1)
local damageTable = {
    {4, -3},
    {9, -2},
    {20, -1}
}
for i = 1, #damageTable do
    local t = damageTable[i]
addDamageCondition(poisonpowder, t[1], 4000, t[2])
end


local arr = {
{0, 1, 0},
{1, 3, 1},
{0, 1, 0}
}


local area = createCombatArea(arr)


function onCastSpell(cid, var)








addEvent(function()
               if isCreature(cid) then
local master = getCreatureMaster(cid) 
doAreaCombatHealth(cid, 1, getThingPos(cid), area, -(2 * getPlayerMagLevel(master)), -(5 * getPlayerMagLevel(master)), 20)
doAreaCombatCondition(cid, getThingPos(cid), area, poisonpowder, 255) 
doSendMagicEffect(getThingPos(cid), 16)
doRemoveCreature(cid)
               end
          end, 100)
return true
end

o mínimo que tira é 2x o ml e o máximo é 5x o ml

​ -(2 * getPlayerMagLevel(master)), -(5 * getPlayerMagLevel(master))

 

Edita a fórmula aqui e seja feliz

só que pra fazer isso vc tem que garantir que esse monstro não exista no jogo, ele só seja criado através de summon porque se não ele vai tentar puxar o ml do master só que não vai ter master e vai bugar tudo

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)

Link para o post
Compartilhar em outros sites
  • 4 weeks later...
  • 9 months later...

Man coloquei para um monstro usar essa spell. Ele usa tudo certo só que na distro fica aparecendo esses bug aki akada segundo

 

[30/06/2015 14:52:46] [Error - Spell Interface]


[30/06/2015 14:52:46] data/spells/scripts/deidara/c1.lua:onCastSpell
[30/06/2015 14:52:46] Description:
[30/06/2015 14:52:46] (luaDoPlayerSendCancel) Player not found

 

Esse c1 é o primeiro spiderling

 

Ha e ele só ta esplodindo em player tem como colocar pras aranha explodi em qualquer tipo de monster player etc.

 

 

Só n do rep agora por q hj n posso + amanhan eu do spell muito boa.

Editado por Tuka (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

que estranho cara, ele tá falando que não acha o player para enviar a msg de cancel '-'.. vc editou o script? remove os doPlayerSendCancel que deve resolver.

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)

Link para o post
Compartilhar em outros sites

editei não só mudei o effect e a força e coloquei FIREDAMAGE. Tem que remover os 2 doPlayerSendCancel ?


que estranho cara, ele tá falando que não acha o player para enviar a msg de cancel '-'.. vc editou o script? remove os doPlayerSendCancel que deve resolver.

Man removi os 2 doPlayerSendCancel e ta dando esse erro agora na distro.

 

[30/06/2015 23:53:42] [Error - Spell Interface]
[30/06/2015 23:53:42] In a timer event called from:
[30/06/2015 23:53:42] data/spells/scripts/deidara/c11.lua:onCastSpell
[30/06/2015 23:53:42] Description:
[30/06/2015 23:53:42] (luaDoCombatAreaCondition) Condition not found

 

esse C11 é os effect força etc. posion explosion

Editado por Tuka (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

cara, antes de editar vc tem que garantir que funciona.. testa ele normal, com os nomes certos e depois você vai alterando

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)

Link para o post
Compartilhar em outros sites

cara, antes de editar vc tem que garantir que funciona.. testa ele normal, com os nomes certos e depois você vai alterando

Man eu segui o totorial passo a passo agora e ta dando esse erro aki ó:

 

[01/07/2015 00:59:29] [Error - CreatureScript Interface]

[01/07/2015 00:59:29] data/creaturescripts/scripts/spider.lua:onPrepareDeath

[01/07/2015 00:59:29] Description:

[01/07/2015 00:59:29] (luaDoCombatAreaCondition) Condition not found

 

Será por q a spell esta sendo usada em um outro monstro ?

Editado por Tuka (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

(luaDoCombatAreaCondition) Condition not found ele não achou a condição que você colocou..
nesse script aqui: 
data/creaturescripts/scripts/spider.lua

seja lá oque vc mudou, use o padrão

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)

Link para o post
Compartilhar em outros sites

agora ta dando esses erros aki ó

 

[01/07/2015 04:53:47] [Error - Spell Interface]


[01/07/2015 04:53:47] In a timer event called from:
[01/07/2015 04:53:47] data/spells/scripts/deidara/c11.lua:onCastSpell
[01/07/2015 04:53:47] Description:
[01/07/2015 04:53:48] (luaDoCombatAreaCondition) Condition not found

 

 

[01/07/2015 04:55:46] [Error - Spell Interface]


[01/07/2015 04:55:46] data/spells/scripts/deidara/c1.lua:onCastSpell
[01/07/2015 04:55:46] Description:
[01/07/2015 04:55:46] (luaDoPlayerSendCancel) Player not found

Editado por Tuka (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Cara fãs como o Lobão disse, coloca normal e vai fazendo alterações aos poucos.

xWhiteWolf gostei muito e jah estou usando, reputado.

Se ti ajudei. Marque como Melhor Resposta e agradeça com um Rep+, clicando em Gostei!. Obrigado!

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por looktsx
      Salve Rapaziada ...

      sera q tem como cria um script de addon doll ou mont doll ? 
      ou um npc q vende addon e montaria, pra versao 13.11 do tibia ?
       
      pode me ajuda fico muito grato 
    • Por Rpzada
      Oi boa tarde.
      Sera q tu pode me ajudar como uma duvida... no meu otserver. Tenho cliente 13 e client otc... ai os npcs no 13 ele reconhece dinheiro do banco quando vou comprar... porem no otc eu tenho q estar com dinheiro na bag.... tu sabe o pq e como arrumo isso... queria q no otc ele reconhecesse o dinheiro no bank
    • Por Anderson Sacani
      Estou criando um servidor com base nos scripts de TFS 1.x e voltado ao público da america latina por causa do baixo ping na VPS... Argentina, Bolívia, Brasil, Chile, entre outros, portanto sei que falamos em português e nossos vizinhos em espanhol.
      Todos os sistemas do meu servidor são pensados para terem traduções e venho por meio deste tópico compartilhar à vocês algumas dessas funções:
       
      Antes de qualquer coisa, você precisará adicionar a seguinte variável em alguma biblioteca:
      USER_LANGUAGE = 1022118443  
      Agora que adicionou essa variável em alguma biblioteca, poderá adicionar as seguintes funções na mesma biblioteca, porém a baixo da variável USER_LANGUAGE.
       
      A primeira função serve para retornar qual idioma o player está usando:
      --[[ getLanguage, how to use: player:getLanguage() ]] function Player.getLanguage(self) if self:isPlayer() then if self:getStorageValue(USER_LANGUAGE) < 1 then return "portuguese" else return "spanish" end else print("getLanguage: Only works on players..") end end Um exemplo de como usar: player:getLanguage()
       
      A segunda função serve para alterar o idioma do player. O ideal é que seja usada na primeira vez em que o player loga no servidor:
      --[[ setLanguage, how to use: player:setLanguage("portuguese") ]] function Player.setLanguage(self, language) local value = 0 if self:isPlayer() then if language == "portuguese" then value = 0 elseif language == "spanish" then value = 1 else print("setLanguage: Only two options available. Choose one of them: 'portuguese' or 'spanish'.") end return self:setStorageValue(USER_LANGUAGE, value) else print("setLanguage: Only works on players..") end end Exemplos de como usar:
      player:setLanguage("portuguese")
      ou
      player:setLanguage("spanish")
       
      A terceira e não menos importante função, serve para mandar uma mensagem de texto ao jogador, porém ele receberá no idioma em que escolheu:
      --[[ sendLanguageTextMessage, how to use: local portugueseMessage = "Ola, tudo bom? Isto aqui é um algoritmo!" local spanishMessage = "Hola todo bien? Esto de aqui es un algoritmo!" player:sendLanguageTextMessage(MESSAGE_EVENT_ADVANCE, portugueseMessage,spanishMessage) ]] function Player.sendLanguageTextMessage(self, type, portugueseMessage, spanishMessage) if self:isPlayer() then if self:getStorageValue(USER_LANGUAGE) < 1 then return self:sendTextMessage(type, portugueseMessage) else return self:sendTextMessage(type, spanishMessage) end else print("sendLanguageTextMessage: Only works on players..") end end Um exemplo de como usar:
      player:sendLanguageTextMessage(MESSAGE_EVENT_ADVANCE, portugueseMessage, spanishMessage)
      O primeiro parâmetro é o tipo de mensagem, o segundo parâmetro será a mensagem em português e o terceiro parâmetro será em espanhol.
    • Por Rodrigo Querobim
      Salve rapaziada eu tenho o server canary open source e quando implementei os bosses atuais começou dar este erro, nem mexi nessa linha que esta dando os erros, alguem sabe me dizer oq pode ser?



       
    • Por Tofames
      Hi,
      Para devolver o que recebi aqui, colocarei para si um sistema de transformação a trabalhar na TFS 1.X.
      (Testei em 1.4.2) 
       
      MUDANÇA DE SOURCE NECESSÁRIA PARA O BOM FUNCIONAMENTO!
      Havia algo dentro do código TFS (e provavelmente outras distros) que não estava funcionando corretamente e depois que eu informei, eles se fundiram em tfs principais, então já está dentro do TFS 1.5, mas não está em versões mais antigas.
      Trata-se de refrescar a velocidade do jogador após a transformação, se você não tiver isso, então sua velocidade do vocations.xml baseSpeed não é refrescada.
      Você precisa adicionar isto às sources:
      https://github.com/otland/forgottenserver/pull/4215/files
      se você não tem acesso às sources, eu tenho um meio de contornar isso, mas não vou inundar este posto, então escreva em pv.
       
      Créditos: 
      Erexo (guião original)
      Itutorial (TFS 1.X),
      Tofame (alteração: talkaction --> spell; source mudanças; correções do scripts)
       

      transform system.mp4  
      no final do global.lua:
      --[[ voc = from vocation newVoc = to vocation looktype = new outfit revertLooktype = current outfit level = lvl needed to transform rage = soul needed to transform (you can disable it, just type 0) kiToTrans = mana to transform addHp = maxHp added when you transform addKi = maxMana added effectOn = magic effect when you use transform aura = magic effect when you have current transform (can be disabled, just type 0). type nil in this version constant = if transform is constant (when it is, player dont lose transform/outfit and maxHp/Mana, and cannot use revert) --]] exhaust_transform = {} -- [1-8] naruto, transform = { [1] = {voc = 1, newVoc = 2, from_looktype = 2, looktype = 3, level = 50, rage = 0, mana = 50, addHealth = 450, addMana = 450, effect = 76, aura = nil, constant = false}, [2] = {voc = 2, newVoc = 3, from_looktype = 3, looktype = 4, level = 100, rage = 0, mana = 50, addHealth = 500, addMana = 500, effect = 76, aura = nil, constant = false}, [3] = {voc = 3, newVoc = 4, from_looktype = 4, looktype = 5, level = 150, rage = 0, mana = 50, addHealth = 650, addMana = 650, effect = 76, aura = nil, constant = false}, [4] = {voc = 4, newVoc = 5, from_looktype = 5, looktype = 6, level = 200, rage = 0, mana = 50, addHealth = 800, addMana = 800, effect = 76, aura = nil, constant = false}, [5] = {voc = 5, newVoc = 6, from_looktype = 6, looktype = 7, level = 250, rage = 0, mana = 50, addHealth = 900, addMana = 900, effect = 76, aura = nil, constant = false}, [6] = {voc = 6, newVoc = 7, from_looktype = 7, looktype = 8, level = 300, rage = 0, mana = 50, addHealth = 1000, addMana = 1000, effect = 76, aura = nil, constant = false}, [7] = {voc = 7, newVoc = 8, from_looktype = 8, looktype = 9, level = 400, rage = 0, mana = 50, addHealth = 1500, addMana = 1500, effect = 76, aura = nil, constant = false}, [8] = {voc = 8, newVoc = 9, from_looktype = 9, looktype = 10, level = 500, rage = 0, mana = 50, addHealth = 1500, addMana = 1500, effect = 76, aura = nil, constant = false} -- end naruto transforms } spells/scripts/revert.lua
      local combat = Combat() combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(player, variant) local pid = player:getId() local TRANS = transform[player:getVocation():getId() - 1] -- - [player:getVocation():getId() - 4] domyslnie, should be -1. if not TRANS then player:sendCancelMessage("You cannot revert.") return false end local outfit = player:getOutfit() outfit.lookType = TRANS.from_looktype if TRANS.constant then player:setOutfit(outfit) else player:setOutfit(outfit, false) end exhaust_transform[pid] = 1 player:setMaxHealth(player:getMaxHealth() - TRANS.addHealth) player:setMaxMana(player:getMaxMana() - TRANS.addMana) player:setVocation(TRANS.voc) player:save() return combat:execute(player, variant) end spells/scripts/transform.lua
      local combat = Combat() combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(player, variant) local effectPosition = Position(player:getPosition().x, player:getPosition().y, player:getPosition().z) local pid = player:getId() local TRANS = transform[player:getVocation():getId()] if not TRANS then player:sendCancelMessage("You cannot transform.") return false end if TRANS.effect == 76 then effectPosition = Position(player:getPosition().x + 2, player:getPosition().y, player:getPosition().z) end if player:getLevel() < TRANS.level then player:sendCancelMessage("You must reach level "..TRANS.level.." to transform.") return false end if player:getSoul() < TRANS.rage then player:sendCancelMessage("You need "..TRANS.rage.." to transform.") return false end if player:getMana() < TRANS.mana then player:sendCancelMessage("You need "..TRANS.mana.." to transform.") return false end local outfit = player:getOutfit() outfit.lookType = TRANS.looktype if TRANS.constant then player:setOutfit(outfit) else player:setOutfit(outfit, false) end player:addSoul(-TRANS.rage) player:setMaxHealth(player:getMaxHealth() + TRANS.addHealth) player:setMaxMana(player:getMaxMana() + TRANS.addMana) effectPosition:sendMagicEffect(TRANS.effect) player:setVocation(TRANS.newVoc) player:save() return combat:execute(player, variant) end spells.xml:
      <instant group="support" spellid="175" name="Revert" words="revert" level="1" mana="10" aggressive="0" selftarget="1" cooldown="1000" groupcooldown="1000" needlearn="0" script="revert.lua" /> <instant group="support" spellid="175" name="Transform" words="transform" level="1" mana="10" aggressive="0" selftarget="1" cooldown="1000" groupcooldown="1000" needlearn="0" script="transform.lua" />  
       
      As coisas abaixo são opcionais, adicione-as se você quiser ter aura. Se você não estiver usando, deixe a aura = nil em global.lua
      Também observei que isso poderia causar atrasos/screen freeze, por isso não recomendo o uso de aura.
       
      globalevents.xml adicionar linha:
      <globalevent name="TransformEffects" interval="2000" script="TransformEffects.lua"/> TransformEffects.lua (data/globalevents/scripts/TransformEffects.lua):
      function onThink(interval) for _, player in pairs(Game.getPlayers()) do if player then TRANS = transform[player:getVocation():getId()] if TRANS then if TRANS.aura ~= nil then player:getPosition():sendMagicEffect(TRANS.aura) end end end end return true end  
      edit:
      só consigo falar um pouco de espanhol e muito bem em inglês, por isso uso DEEPL para falar portugês.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo