Histórico de Curtidas
-
Jedian recebeu reputação de Markin em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de Winicius em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de ramonstl em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de Vodkart em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de Gustavo Ferreira em [Spell] KameHame Ha!nessa parte, devemos trocar "cid" por "getCreatureTarget(cid)"
ficando assim:
--não testei, talvez cometi um erro editei agorinha mesmo, aí muda lá essa parte
-
Jedian recebeu reputação de Calvin em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de Zathao em [Sistema] Futebol com torcida e juiz!Excelente, é ótimo ter você na equipe, assim como nesse fórum, contribuindo
Continue postando sistemas assim, reputado!
-
Jedian deu reputação a Zathao em [Sistema] Futebol com torcida e juiz!Informações Gerais
Nome: Sistema de futebol
Autor: Zathao
Testado em: The Forgotten Server 0.3.6
Versão Tibia: 8.54
Sistema
O sistema se resume em uma partida completa
de futebol entre 2 jogadores, sendo controlada por um juiz e
apoiada por uma torcida para cada player.
Juiz: Da informações referentes ao placar,
ao tempo de espera para iniciar o lance e informa
quando é gol.
Torcida: Apoia os jogadores. Cada jogador
tem uma torcida fanática que
não para de dar forças, apoiando com isentivos e
comemorando loucamente um gol!
Ao termino do jogo, o vencedor recebe um troféu
com o nome do ganhador e do vencedor!
Video Demonstrativo
Instalação
- Crie um arquivo chamado futebol.lua na pasta data/actions/scripts/
- Adicione este codigo dentro do arquivo:
---------------------------------------- ----- ### Sistema de Futebol ### ----- ---------------------------------------- -- Feito por: zathao -- -- Msn: [email protected] -- -- email: [email protected] -- ---------------------------------------- -- Configurações Gerais local config = { -- Posição que o jogadores devem estar na hora de puxar a alavanca posJogador1 = {x=82,y=153,z=7, stackpos=1}, posJogador2 = {x=84,y=153,z=7, stackpos=1}, -- Posição inicial dos jogadores na partida posTeleporte1 = {x=81,y=160,z=7, stackpos=1}, posTeleporte2 = {x=85,y=160,z=7, stackpos=1}, posBola = {x=83,y=160,z=7, stackpos=1}, -- Posição inicial da bola nomeNpc = "Juiz", -- Lembrando que o npc deve existir posNpc = {x=83,y=155,z=7, stackpos=1}, -- Posição inicial do npc gols = 5, -- Quantidade de gols para ganhar o jogo tempoPrePartida = 5, -- Tempo de espera para começar a partida (segundos) quantidadeTorcedores = 7, -- Para cada equipe -- Posição inicial em que o script irá começar preencher com os torcedores posTorcida1 = {x=76,y=165,z=7, stackpos=1}, posTorcida2 = {x=84,y=165,z=7, stackpos=1}, -- Posição dos gols posGol1 = { {x=75,y=159,z=7, stackpos=1}, {x=75,y=160,z=7, stackpos=1}, {x=75,y=161,z=7, stackpos=1} }, posGol2 = { {x=91,y=159,z=7, stackpos=1}, {x=91,y=160,z=7, stackpos=1}, {x=91,y=161,z=7, stackpos=1} } } local jogador1 = nil local jogador2 = nil local listaTorcedores1 = "" local listaTorcedores2 = "" local npcUid = nil local placar = { 0,0 } local eventoTorcida = nil local eventoGol = nil local function inicioJogo() doCreatureSay(npcUid, "Valendo!", TALKTYPE_YELL) doSendMagicEffect(config.posTeleporte1, 12) doSendMagicEffect(config.posTeleporte2, 12) doCreatureSetNoMove(jogador1, false) doCreatureSetNoMove(jogador2, false) end local function torcida(nome1, nome2) local chanceTorcida1 = math.random(1,2) local chanceTorcida2 = math.random(1,2) if(chanceTorcida1>1)then local uids = string.explode(listaTorcedores1, ",") local torcedor = uids[math.random(1,#uids)] doCreatureSay(torcedor, "Vai "..nome1.."!", TALKTYPE_YELL) end if(chanceTorcida2>1)then local uids = string.explode(listaTorcedores2, ",") local torcedor = uids[math.random(1,#uids)] doCreatureSay(torcedor, "Vai "..nome2.."!", TALKTYPE_YELL) end eventoTorcida = addEvent(torcida,4000, nome1, nome2) end local function delayMsg(msg) doCreatureSay(npcUid, msg, TALKTYPE_YELL) end local function testeGol(nome1,nome2) for i=1,#config.posGol1 do for j=1,10 do local testPos = {x=config.posGol1[i].x, y=config.posGol1[i].y, z=config.posGol1[i].z, stackpos=j} local thing = getThingFromPos(testPos) if(thing.itemid==2109)then if(placar[2]==config.gols-1)then doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.") doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.") doTeleportThing(jogador1, config.posJogador1) doTeleportThing(jogador2, config.posJogador2) doSendMagicEffect(config.posJogador1, 12) doSendMagicEffect(config.posJogador2, 12) local item = doPlayerAddItem(jogador2, 5805) doItemSetAttribute(item, "description", nome2.." conquistou este troféu apos derrotar "..nome1.." em uma partida de futebol.") doRemoveCreature(npcUid) stopEvent(eventoTorcida) stopEvent(eventoGol) local uids1 = string.explode(listaTorcedores1, ",") local uids2 = string.explode(listaTorcedores2, ",") for k = 1, #uids1 do doRemoveCreature(uids1[k]) doRemoveCreature(uids2[k]) end jogador1 = nil jogador2 = nil listaTorcedores1 = "" listaTorcedores2 = "" config.posTorcida1 = {x=76,y=165,z=7, stackpos=1} config.posTorcida2 = {x=84,y=165,z=7, stackpos=1} npcUid = nil placar = { 0,0 } else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) local uids = string.explode(listaTorcedores2, ",") for k = 1, #uids do doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL) end placar[2] = placar[2]+1 local msg = "Gol do "..nome2.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."." addEvent(delayMsg,1000, msg) msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,6000, msg) addEvent(inicioJogo,7000+(config.tempoPrePartida*1000)) end doRemoveItem(thing.uid) end end end for i=1,#config.posGol2 do for j=1,10 do local testPos = {x=config.posGol2[i].x, y=config.posGol2[i].y, z=config.posGol2[i].z, stackpos=j} local thing = getThingFromPos(testPos) if(thing.itemid==2109)then if(placar[1]==config.gols-1)then doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.") doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.") doTeleportThing(jogador1, config.posJogador1) doTeleportThing(jogador2, config.posJogador2) doSendMagicEffect(config.posJogador1, 12) doSendMagicEffect(config.posJogador2, 12) local item = doPlayerAddItem(jogador1, 5805) doItemSetAttribute(item, "description", nome1.." conquistou este troféu apos derrotar "..nome2.." em uma partida de futebol.") doRemoveCreature(npcUid) stopEvent(eventoTorcida) stopEvent(eventoGol) local uids1 = string.explode(listaTorcedores1, ",") local uids2 = string.explode(listaTorcedores2, ",") for k = 1, #uids1 do doRemoveCreature(uids1[k]) doRemoveCreature(uids2[k]) end jogador1 = nil jogador2 = nil listaTorcedores1 = "" listaTorcedores2 = "" config.posTorcida1 = {x=76,y=165,z=7, stackpos=1} config.posTorcida2 = {x=84,y=165,z=7, stackpos=1} npcUid = nil placar = { 0,0 } else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) local uids = string.explode(listaTorcedores1, ",") for k = 1, #uids do doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL) end placar[1] = placar[1]+1 local msg = "Gol do "..nome1.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."." addEvent(delayMsg,1000, msg) msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,7000, msg) addEvent(inicioJogo,8000+(config.tempoPrePartida*1000)) end doRemoveItem(thing.uid) end end end eventoGol = addEvent(testeGol,100,nome1,nome2) end function onUse(cid, item, fromPosition, itemEx, toPosition) if (isPlayer(jogador1) == true and isPlayer(jogador2) == true)then doPlayerSendCancel(cid, "Lamento, mas o campo ja está em uso.") doSendMagicEffect(fromPosition, 2) return false end local coisa1 = getThingFromPos(config.posJogador1).uid local coisa2 = getThingFromPos(config.posJogador2).uid if(isPlayer(coisa1))then jogador1 = coisa1 end if(isPlayer(coisa2))then jogador2 = coisa2 end if(jogador1==nil or jogador2==nil)then doPlayerSendCancel(cid, "Desculpe, mas você precisa de outro player para começar um jogo.") doSendMagicEffect(fromPosition, 2) return false else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) npcUid = doCreateNpc(config.nomeNpc, config.posNpc) doCreatureSetLookDirection(npcUid, 2) doSendMagicEffect(config.posNpc, 10) doCreatureSetNoMove(npcUid, true) local nome1 = getCreatureName(jogador1) local nome2 = getCreatureName(jogador2) local msg = "Saudações "..nome1.." e "..nome2..". Serei o juiz desta partida. Ganhará o primeiro a fazer "..config.gols.." gols." addEvent(delayMsg,1000, msg) msg = "A partida irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,9000, msg) local uidMonstro local randomOutfit for i=1,config.quantidadeTorcedores do uidMonstro = doCreateMonster("Torcedor",config.posTorcida1) doCreatureSetLookDirection(uidMonstro, 0) doSendMagicEffect(config.posTorcida1, 10) doCreatureSetNoMove(uidMonstro, true) config.posTorcida1.x = config.posTorcida1.x + 1 randomOutfit = { lookType = 128, lookHead = math.random(1,66), lookAddons = math.random(0,2), lookLegs = math.random(1,66), lookFeet = math.random(1,66) } doCreatureChangeOutfit(uidMonstro, randomOutfit) if(listaTorcedores1=="")then listaTorcedores1 = uidMonstro else listaTorcedores1 = listaTorcedores1..","..uidMonstro end end for i=1,config.quantidadeTorcedores do uidMonstro = doCreateMonster("Torcedor",config.posTorcida2) doCreatureSetLookDirection(uidMonstro, 0) doSendMagicEffect(config.posTorcida2, 10) doCreatureSetNoMove(uidMonstro, true) config.posTorcida2.x = config.posTorcida2.x + 1 randomOutfit = { lookType = 128, lookHead = math.random(67,132), lookAddons = math.random(0,2), lookLegs = math.random(67,132), lookFeet = math.random(67,132) } doCreatureChangeOutfit(uidMonstro, randomOutfit) if(listaTorcedores2=="")then listaTorcedores2 = uidMonstro else listaTorcedores2 = listaTorcedores2..","..uidMonstro end end addEvent(inicioJogo,10000+(config.tempoPrePartida*1000)) eventoTorcida = addEvent(torcida,10000+(config.tempoPrePartida*1000), nome1, nome2) eventoGol = addEvent(testeGol,10000+(config.tempoPrePartida*1000), nome1, nome2) local teste = string.explode(listaTorcedores1,",") end return true end
- Posição do Npc:
{x=83,y=155,z=7, stackpos=1}
- Posição inicial de preenchimento das torcidas:
posTorcida1 = {x=76,y=165,z=7, stackpos=1}
posTorcida2 = {x=84,y=165,z=7, stackpos=1}
- Posição dos gols
posGol1 = {
{x=75,y=159,z=7, stackpos=1}
{x=75,y=160,z=7, stackpos=1}
{x=75,y=161,z=7, stackpos=1}
}
posGol2 = {
{x=91,y=159,z=7, stackpos=1}
{x=91,y=160,z=7, stackpos=1}
{x=91,y=161,z=7, stackpos=1}
}
--
É isso pessoal, espero que tenham gostado.
Esse é o primeiro script que posto aqui. Todo tipo de crítica será bem vinda.
Obrigado!
- Agora adicione no arquivo actions.xml em data/actions este conteúdo: <action actionid="5000" event="script" value="futebol.lua"> - Crie um arquivo chamado juiz.lua em data/npc/scripts e cole este conteúdo: local focuses = {} local function isFocused(cid) for i, v in pairs(focuses) do if(v == cid) then return true end end return false end[/left] local function addFocus(cid) if(not isFocused(cid)) then table.insert(focuses, cid) end end local function removeFocus(cid) for i, v in pairs(focuses) do if(v == cid) then table.remove(focuses, i) break end end end local function lookAtFocus() for i, v in pairs(focuses) do if(isPlayer(v)) then doNpcSetCreatureFocus(v) return end end doNpcSetCreatureFocus(0) end function onCreatureAppear(cid) end function onCreatureDisappear(cid) if(isFocused(cid)) then selfSay("Hmph!") removeFocus(cid) if(isPlayer(cid)) then --Be sure he's online closeShopWindow(cid) end end end function onCreatureSay(cid, type, msg) end function onPlayerCloseChannel(cid) if(isFocused(cid)) then selfSay("Hmph!") closeShopWindow(cid) removeFocus(cid) end end function onThink() for i, focus in pairs(focuses) do if(not isCreature(focus)) then removeFocus(focus) else local distance = getDistanceTo(focus) or -1 if((distance > 4) or (distance == -1)) then selfSay("Hmph!") closeShopWindow(focus) removeFocus(focus) end end end lookAtFocus() end - E conclua com a criação de um arquivo chamado juiz.xml em data/npc/ contendo este conteúdo: <!--?xml version="1.0" encoding="UTF-8"?--> <npc name="Juiz" script="juiz.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"> <parameters> </parameters> </look></health></npc> - E por ultimo, vamos criar nosso torcedor fanático! torcedor.xml em data/monster/ contendo isto: <!--?xml version="1.0" encoding="UTF-8"?--> <monster name="Torcedor" namedescription="a torcedor" race="blood" experience="0" speed="0" manacost="250"> <health now="20" max="20"> <look type="255" head="114" body="132" legs="132" feet="132" corpse="6080"> <targetchange interval="2000" chance="20"> <strategy attack="100" defense="0"> <flags> <flag summonable="1"> <flag attackable="1"> <flag hostile="1"> <flag illusionable="1"> <flag convinceable="1"> <flag pushable="1"> <flag canpushitems="0"> <flag canpushcreatures="0"> <flag targetdistance="1"> <flag staticattack="90"> <flag runonhealth="20"> </flag></flag></flag></flag></flag></flag></flag></flag></flag></flag></flag></flags> <attacks> <attack name="melee" interval="2000" skill="0" attack="0"> </attack></attacks> <defenses armor="1" defense="2"> <elements> <element firepercent="-10"> </element></elements> <voices interval="5000" chance="10"> </voices> <loot> <item id="3976" countmax="10" chance="50000"><!-- worm --> <item id="2666" countmax="3" chance="80000"><!-- meat --> <item id="2671" countmax="2" chance="70000"><!-- ham --> </item></item></item></loot> </defenses></strategy></targetchange></look></health></monster> - Finalizando com a adição desde código em monsters.xml em data/monster/ contendo isto: <monster name="Torcedor" file="torcedor.xml">
Pronto esta tudo pronto! Indo para ultima parte.
Configuração
- Primeiramente, seria bom ter um campo com as mesmas dimensões
como na imagem:
- No cabeçalho do código, esta uma série de configurações
pré-definidas para facilitar a entrada e adaptação do script em um no ot. Sendo elas:
- Alavanca!
Coloque um item de sua preferencia com a action id 5000
- Posição que o jogadores devem estar na hora de puxar a alavanca:
posJogador1 = {x=82,y=153,z=7, stackpos=1}
posJogador2 = {x=84,y=153,z=7, stackpos=1}
- Posição inicial de partida, a qual os jogadores serão teleportados:
posTeleporte1 = {x=81,y=160,z=7, stackpos=1}
posTeleporte2 = {x=85,y=160,z=7, stackpos=1}
- Posição da bola:
posBola = {x=83,y=160,z=7, stackpos=1}
-
Jedian deu reputação a 3visan em Coerência em MappingCoerência Em Mapping
Olá pessoal resolvi fazer esse tutorial para todos que ignoram a coerência no map, bem pra que não sabe a coerência é chamada de sense pelos mappers então um mapa sem coerência é um mapa non-sense.
Vou explicar hoje os seguintes items:
Localização
Tamanho
Habitat
Detalhes
Bem vamos comessar, antes de tudo peço que todos de uma estudada antes de fazer seu map, para conhecer mais e sempre elaborar e não sair improvisando.
1- Localização:
A lozalização é fundamental em um map, não adianta por respaw em qualquer lugar, tem que ser o local correta para não haver luring e outras coisas, vamos dar um exemplo, imagina se eu colocaria dragons no bueiro de uma city, bem os low level iria entrar no bueiro para dar uma upada mais infelizmente iriam morrer para os dragons ou seja dragons no bueiro é uma coisa sem coerencia, fora que a localização é pessima, vamos dar uma olhada no mini-map que eu fiz para vocês entenderem melhor.
LEGENDA:
Quadrado preto: Cidade
Azul Calcinha: Monstros fracos
Laranja: Monstros medios
Vermelho: Monstros fortes
Verde: Locais sem respaw, casas npcs etc..
Bem agora deu para entender um pouco para deixar seu map coerente, mas não é só isso, os monstros fracos podem ficar em qualquer lugar de area plana sem ter oque se preucupar, os monstros medios seria bm coloca-los em montanhas, já os fortes em cavernas, bem assim pode-se evitar luring e diversas coisas chatas, assim o seu map fica mais coerente.
2-Tamanho:
O tamanho também é um erro de muitos mappers iniciantes, vamos dar um exemplo nesse templo (feio)
Bem pequeno né (estou falando de estrutura e não dos detalhes) já que um templo deveria ter um tamanho melhor e apropiado, mas não exageradamente grande.
3- Habitat
Bem o habitat é muito importante não se pode colocar qualquer monster em qualquer lugar, cada monster tem seu lugar especifico para ficar com sense, vou mostrar uma imagem de uma hunt non-sense
Bem isso é muito esquisito, os demons são criaturas quentes, e nunca sobreviviriam no gelo, isso sim é um non-sense, quando na verdade o map deveria ser assim.
Agora está correta, frost giant vivem exatamente no gelo, assim o map fica com sense.
Bem não vou postar mais prints aqui dos habitat acho que já deu para ter uma ideia de como é.
bem a muitas perguntas que podem fazer sobre o mapa, como por exemplo:
Porque as criaturas vivem ali?
Elas se alimentam do que?
Bem é uma coisa mais complicada mais é sempre bom ter mais algo a por como por exemplos criaturas mais fracas perto de monsters fortes assim ja da uma ideia de que eles servem de alimento.
4 - Detalhes
Bem vou mostrar alguns detalhes non-sense que ocorrem em alguns mapas, isso é mais comum do que vocês imaginam, vou mostrar alguns exemplos.
Veja bem como a agua de cima sustenta a de baixo ? é algo completamente impossivel, que deixa o map bem esquisito então pense bem antes de fazer algo assim.
Veja só você acha que aquela ponte de madeira iria suportar a lava? bem lógicamente não, mas se vocês pensarem bem não iria suportar qualquer outro tipo de material até mesmo o aço, no tibia tem varios locais incoerêntes então fica a criterio de cada um.
Alguns detalhes:
Um char não cabe exatamente em um bueiro, então como o players conseguen entrar no bueiro?
Casas no tibia são bem diferentes que na real life.
Ha locais no tibia incoerêntes também mais isso fica a criterio de vocês e do mapper.
Bem depois de tentar pela 3° vez fazer esse tutorial (energy down ) finalmente consegui espero que aproveitem o tutorial, e que destaquem ele, pelo menos eu acho que é muito importante, mais isso fica a criterio do moderador, bem até a proxima.
Creditos:
Vittu
Udéia pros reclamoes que acham que é rip rs: brunosid
Obrigado pelo vital por me lembrar do autor da idéia.
-
Jedian recebeu reputação de japavrb15 em [Spell] Sewing StraightOlá galera, aqui eu denovo com outro post, que espero que seja útil pra vocês.
Pois é, eu só posto spells, mas é que o resto, praticamente não tem o que inventar, sim, tem, mas o que está exatamente ao alcance de um scripter, nem fácil demais, nem impossível pra ele, é praticamente inexistente, por isso é difícil pra nós, scripters, na minha opinião, demonstrar exatamente o potencial de cada um, e em spells, cada um faz do seu jeito, ficando ruim ou não, é perfeita pra cada um que a faz, estou pensando muito em outros sistemas pra vocês, sério, mas tá difícil.
Mudando de assunto, vamos a magia, pensei nela esfregando pedras a ideia seria uma magia que faz uma espada "costurar em linha reta"(como o nome diz) para frente do personagem de acordo com o tipo de arma usada, aí, se houver um target, ela vai até ele e dá "costuradas" conforme a distância que percorreu até chegar nele, quanto mais perto, mais "costuradas" e vice-versa.
Vamos instalar:
em data/spells/scripts copie um arquivo e cole-o, renomeie para algum nome, apague todo o conteúdo e cole isso dentro:
<instant name="Sewing Straight" words="sewing straight" lvl="35" mana="0" prem="0" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="nome.lua"></instant>
edite o nome do arquivo e ajeite conforme as preferências.
Pronto, está instalado, nenhuma foto, pois não dá pra ter uma ideia muito boa com elas :S testem e critiquem aí.
-
Jedian recebeu reputação de japavrb15 em [Spell] KameHame Ha!nessa parte, devemos trocar "cid" por "getCreatureTarget(cid)"
ficando assim:
--não testei, talvez cometi um erro editei agorinha mesmo, aí muda lá essa parte
-
Jedian deu reputação a Renato em [Talkaction] Shop System [ !sell - !buy ] Fácil Configuração!Sim, tive a ideia ao ver o shop system do skyd, mas não peguei nada do script dele.
Instalando
talkactions/scripts/shop.lua
local config = {
["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'no' },
["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'no' }
}
function upperfirst(first, rest)
return first:upper()..rest:lower()
end
function onSay(cid, words, param, channel)
if (param == nil or param == '' or param == 'lista' or param == 'list') then
if (words == "!sell" or words == "/sell") then
str = "Showing items that you can sell:\n\n"
else
str = "Showing items that you can buy:\n\n"
end
for item, vars in pairs(config) do
if (words == "!sell" or words == "/sell") then
expl = string.explode(vars.sell, " ")
else
expl = string.explode(vars.buy, " ")
end
item = item:gsub("(%a)([%w_']*)", upperfirst)
if (expl[1] == 'no') then
str = str
else
str = str .. item.. " - " .. expl[2] .. " gps\n"
end
end
return doShowTextDialog(cid, 2160, str)
end
local item = config[param:lower()]
param = param:lower()
if (item) then
local sell = string.explode(item.sell, " ")
local buy = string.explode(item.buy, " ")
if (words == "!sell" or words == "/sell") then
if (sell[1] == "yes") then
if (doPlayerRemoveItem(cid, item.id, 1)) then
doPlayerAddMoney(cid, sell[2])
doSendMagicEffect(getPlayerPosition(cid), 30)
return doPlayerSendTextMessage(cid,29,"Here are, you sold "..param.." for "..sell[2].." gold coins.")
else
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendTextMessage(cid,29,"You don't have anything "..param.." to sell.")
end
else
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendTextMessage(cid,29,"Sorry, "..param.." cannot be sold.")
end
else
if (buy[1] == "yes") then
if (doPlayerRemoveMoney(cid, buy[2])) then
doPlayerAddItem(cid, item.id)
doSendMagicEffect(getPlayerPosition(cid), 28)
return doPlayerSendTextMessage(cid,29,"Here are, you bought "..param.." for "..buy[2].." gold coins.")
else
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendTextMessage(cid,29,"You don't have enough money.")
end
else
doSendMagicEffect(getPlayerPosition(cid), 2)
return doPlayerSendTextMessage(cid,29,"Sorry, "..param.." cannot be bought.")
end
end
else
doSendMagicEffect(getPlayerPosition(cid), 2)
if (words == "!sell") then
return doPlayerSendTextMessage(cid,29,"Sorry, this item cannot be sold or it does't exist.")
else
return doPlayerSendTextMessage(cid,29,"Sorry, this item cannot be bought or it does't exist.")
end
end
end
[/code] [b]talkactions/talkactions.xml[/b] [code]<talkaction words="!sell;/sell;!buy;/buy" event="script" value="shop.lua"/> Adicionando novos itens
♣ Config Observem no começo do código estas linhas: local config = {
["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'yes 60000' },
["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'no' }
}[/code] Seguindo uma ordem óbvia, adicionem abaixo do boots of haste e antes do '}' que fecha o config. assim para adicionar sigam o modelo ["nome do item"], repectivamente de suas variáveis. [b]♣ Variáveis[/b] [color=#800080][b]id[/b][/color] - é onde você coloca o id do item [color=#800080][b]sell [/b][/color]- você precisa colocar se o item pode ser vendido por "yes" ou "no", caso for yes de um espaço (se não der espaço não funciona) e bote o valor em gold coins (não é k) [color=#800080][b]buy [/b][/color]- segue a ordem igual ao sell porem é se o item pode ser comprado pelo !buy ou não, e o preço que o player pagará. [b]♣ Exemplos[/b] Assim, digamos que desejo acrescentar um mastermind shield onde o player pode vender por 60k e comprar por 120k, adicionarei: [code]["mastermind shield"] = {id = 2514, sell = 'yes 60000', buy = 'yes 120000' }, Em seguida quero adicionar uma soft boots que pode ser vendida por 300k, mas NÃO PODE ser comprada. Colocarei: ["soft boots"] = {id = 6132, sell = 'yes 300000', buy = 'no' }, local config = {
["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'no' },
["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'yes 60000' },
["mastermind shield"] = {id = 2514, sell = 'yes 60000', buy = 'yes 120000' },
["soft boots"] = {id = 6132, sell = 'yes 300000', buy = 'no' }
}[/code]
[color=#ff0000][size=5][b]Atenção![/b][/size][/color]
[color=#ff0000]Reparem que em todas as linhas finalizam-se com }, mas na última há ausência da vírgula, isto ocorre por que não pode ter vírgula no último, não sei ao certo se dará erro, não cheguei a testar, mas em muitas linguagens de programação ocorre um erro. Então é melhor ficar atento.[/color]
Creio que passei as devidas instruções corretamente, e não é nenhum bixo de sete cabeças... qualquer um que tenha uma mentalidade normal conseguirá configurar.
[size=5][b]
[size=6][color=#006400]Explicando as talkactions[/color][/size]
[/b][/size]
[b]♣ Comprando[/b]
Bom, agora que já adicionou todos os items, vou explicar como funciona:
O player comprará uma boh (item sugestivo) item por: [color=#800080][b]!buy boots of haste[/b][/color], caso não tenha grana, não vai conseguir, caso tenha comprará.
[b]♣ Vendendo[/b]
O mesmo quando ele for vender, ele falará: [color=#800080][b]!sell boots of haste[/b][/color], caso não tenha o item, o script negará, caso tenha o item some e o dinheiro aparece (:
[center][/center]
[center][/center]
[b]♣ Lista de items[/b]
[i]Ohh, não sei quais items pode ser comprados, e também não sei quanto custa, e agora?[/i]
Diga [b][color=#800080]!buy[/color][/b], ou [b][color=#800080]!buy[/color] [color=#800080]list [/color][/b]ou [b][color=#800080]!buy[/color] [color=#800080]lista[/color][/b] para ver todos os items
[center][/center]
[i]O mesmo com os items que podem ser vendidos:[/i]
[b][color=#800080]!sell[/color][/b], [b][color=#800080]!sell list[/color][/b] ou [b][color=#800080]!sell lista[/color][/b]
[center][/center]
[size=7][color=#006400]Versão 2[/color][/size]
Deixo aberto sugestões para a versão 2
E claro, caso haja, correção de bugs.
__________________
[b]♣ Créditos[/b]
Renato - Desenvolvimento
skydangerous - Ideia
Então, meu config ficará desta forma: -
Jedian deu reputação a Fir3element em [Creaturescripts] Anti-HackFiz o script para bloquear hackers, ex.:
1. Você baixa um servidor com um bug que o player clica numa pedra e ganha GOD, mas você não sabe onde ta essa pedra.
2. Algum hacker invade sua database, se tiver senhas com sha1 e ele for noob, não vai saber trocar para plain, então vai mudar seu group para 6 (GOD).
Resumindo, se o player tiver CM ou GOD, ele não vai entrar sem sua permissão.
Em data/creaturescripts/creaturescripts.xml adicione isso:
<event type="login" name="AntiHack" event="script" value="antihack.lua"/> Em data/creaturescripts/scripts crie um arquivo com o nome de antihack.lua e adicione isso nele: function onLogin(cid) local p = { name = {"ADM"}, -- Liberar jogador por nome: {"ADM", "fireelement"} ip = {"127.0.0.1"}, -- Liberar jogador por IP: {"127.0.0.1", "10.0.0.1"} time = 0.5 -- Tempo que vai kickar o player, em segundos } if getPlayerGroupId(cid) >= 5 then if isInArray(p.ip, doConvertIntegerToIp(getPlayerIp(cid))) == false then if isInArray(p.name, getCreatureName(cid)) then doPlayerSendTextMessage(cid, 22, "Welcome!") else doPlayerSendTextMessage(cid, 22, "You didn't authorized to login in this account.") addEvent(doRemoveCreature, p.time*1000, cid) end end end return true end Configuração nessa parte: name = {"ADM"}, -- Liberar jogador por nome: {"ADM", "fireelement"} ip = {"127.0.0.1"}, -- Liberar jogador por IP: {"127.0.0.1", "10.0.0.1"} time = 0.5 -- Tempo que vai kickar o player, em segundos
-
Jedian recebeu reputação de 1215171 em [Spell] KameHame Ha!nessa parte, devemos trocar "cid" por "getCreatureTarget(cid)"
ficando assim:
--não testei, talvez cometi um erro editei agorinha mesmo, aí muda lá essa parte
-
Jedian recebeu reputação de 1215171 em [Spell] KameHame Ha!Muito Obrigado a todos, realmente motiva ter comentários nos próprios tópicos
Sim, vou tentar contribuir bastante com esse fórum, vê-lo crescer.
novamente, obrigado.
-- edit
@skydangerous
hauhau nunca joguei wodbo, até demorei pra entender oque era, eu tinha feito que o cara tava carregando algo, e daí lançava, daí percebi que parecia o kame hame ha, do dragon ball, aí deixei assim mesmo
-
Jedian recebeu reputação de 1215171 em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de Skydangerous em [Spell] Sewing StraightOlá galera, aqui eu denovo com outro post, que espero que seja útil pra vocês.
Pois é, eu só posto spells, mas é que o resto, praticamente não tem o que inventar, sim, tem, mas o que está exatamente ao alcance de um scripter, nem fácil demais, nem impossível pra ele, é praticamente inexistente, por isso é difícil pra nós, scripters, na minha opinião, demonstrar exatamente o potencial de cada um, e em spells, cada um faz do seu jeito, ficando ruim ou não, é perfeita pra cada um que a faz, estou pensando muito em outros sistemas pra vocês, sério, mas tá difícil.
Mudando de assunto, vamos a magia, pensei nela esfregando pedras a ideia seria uma magia que faz uma espada "costurar em linha reta"(como o nome diz) para frente do personagem de acordo com o tipo de arma usada, aí, se houver um target, ela vai até ele e dá "costuradas" conforme a distância que percorreu até chegar nele, quanto mais perto, mais "costuradas" e vice-versa.
Vamos instalar:
em data/spells/scripts copie um arquivo e cole-o, renomeie para algum nome, apague todo o conteúdo e cole isso dentro:
<instant name="Sewing Straight" words="sewing straight" lvl="35" mana="0" prem="0" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="nome.lua"></instant>
edite o nome do arquivo e ajeite conforme as preferências.
Pronto, está instalado, nenhuma foto, pois não dá pra ter uma ideia muito boa com elas :S testem e critiquem aí.
-
Jedian recebeu reputação de 3visan em [Spell] Sewing StraightOlá galera, aqui eu denovo com outro post, que espero que seja útil pra vocês.
Pois é, eu só posto spells, mas é que o resto, praticamente não tem o que inventar, sim, tem, mas o que está exatamente ao alcance de um scripter, nem fácil demais, nem impossível pra ele, é praticamente inexistente, por isso é difícil pra nós, scripters, na minha opinião, demonstrar exatamente o potencial de cada um, e em spells, cada um faz do seu jeito, ficando ruim ou não, é perfeita pra cada um que a faz, estou pensando muito em outros sistemas pra vocês, sério, mas tá difícil.
Mudando de assunto, vamos a magia, pensei nela esfregando pedras a ideia seria uma magia que faz uma espada "costurar em linha reta"(como o nome diz) para frente do personagem de acordo com o tipo de arma usada, aí, se houver um target, ela vai até ele e dá "costuradas" conforme a distância que percorreu até chegar nele, quanto mais perto, mais "costuradas" e vice-versa.
Vamos instalar:
em data/spells/scripts copie um arquivo e cole-o, renomeie para algum nome, apague todo o conteúdo e cole isso dentro:
<instant name="Sewing Straight" words="sewing straight" lvl="35" mana="0" prem="0" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="nome.lua"></instant>
edite o nome do arquivo e ajeite conforme as preferências.
Pronto, está instalado, nenhuma foto, pois não dá pra ter uma ideia muito boa com elas :S testem e critiquem aí.
-
Jedian recebeu reputação de MadoxSilver em [Spell] Sewing StraightOlá galera, aqui eu denovo com outro post, que espero que seja útil pra vocês.
Pois é, eu só posto spells, mas é que o resto, praticamente não tem o que inventar, sim, tem, mas o que está exatamente ao alcance de um scripter, nem fácil demais, nem impossível pra ele, é praticamente inexistente, por isso é difícil pra nós, scripters, na minha opinião, demonstrar exatamente o potencial de cada um, e em spells, cada um faz do seu jeito, ficando ruim ou não, é perfeita pra cada um que a faz, estou pensando muito em outros sistemas pra vocês, sério, mas tá difícil.
Mudando de assunto, vamos a magia, pensei nela esfregando pedras a ideia seria uma magia que faz uma espada "costurar em linha reta"(como o nome diz) para frente do personagem de acordo com o tipo de arma usada, aí, se houver um target, ela vai até ele e dá "costuradas" conforme a distância que percorreu até chegar nele, quanto mais perto, mais "costuradas" e vice-versa.
Vamos instalar:
em data/spells/scripts copie um arquivo e cole-o, renomeie para algum nome, apague todo o conteúdo e cole isso dentro:
<instant name="Sewing Straight" words="sewing straight" lvl="35" mana="0" prem="0" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="nome.lua"></instant>
edite o nome do arquivo e ajeite conforme as preferências.
Pronto, está instalado, nenhuma foto, pois não dá pra ter uma ideia muito boa com elas :S testem e critiquem aí.
-
Jedian recebeu reputação de Skydangerous em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de GuuhTorres em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de 3visan em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.
-
Jedian recebeu reputação de ferlations em [Spell] KameHame Ha!Eaí galera, como tá?
Primeiro post útil nesse fórum, parece muito bom ele, todo mundo parece se dar bem, parabenizo vocês por ele e, espero ser bem recebido aqui.
Sou um scripter, no momento bem sem ideia de um sistema pra fazer, se quiserem sugerir, vai ser muito legal avaliá-lo e quem sabe criá -lo. Vim aqui postar uma magia que fiz a algum tempo, uma das minhas primeiras que fogem do padrão de magias (local combat...).
é um código simples, a magia dá um efeito bem bonito no jogo, o nome tá idiota, mas enfim, vamos ao código.
copie um arquivo em data/spells/scripts/attack renomeie para kamehame ha.lua, apague tudo nele, e cole isso:
local err = createCombatArea(AREA_BEAM7) function onCastSpell(cid, var) -- Spell 'KameHame HAA' by Jedian local teibou = {[1] = 30, [2] = 37} for i = 1, 40 do addEvent(doSendDistanceShoot, i*15, {x = getCreaturePosition(cid).x + math.random(-5, 5), y = getCreaturePosition(cid).y + math.random(-4, 4), z = getCreaturePosition(cid).z}, getCreaturePosition(cid), teibou[math.random(1,2)]) end addEvent(doAreaCombatHealth, 600, cid, COMBAT_HOLYDAMAGE, getPlayerLookPos(cid), err, -800, -1500, 39) doSendAnimatedText(getPlayerPosition(cid), 'Kame...', 215) addEvent(doSendAnimatedText, 300, getPlayerPosition(cid), 'Hame...', 215) addEvent(doSendAnimatedText, 600, getPlayerPosition(cid), 'HAAA!', 215) return true end salve e feche, em seguida adicione em data/spells/spells.xml a seguinte tag: <instant name="KameHameHa" words="kamehame ha" direction="1" lvl="80" maglv="21" mana="0" soul="0" exhaustion="1" prem="1" enabled="1" script="attack/kamehame ha.lua"><vocation id="0"/></instant>
E pronto! vocês devem saber como modificar coisas como level, maglvl e mana.
Duas ss da magia:
e
Pronto, seria só isso, é antigo, talvez vocês ja tenham visto, mas ainda assim, espero que gostem
Ah, e lembrando, é meu segundo post no fórum, não sei se devia ter postado direto aqui, mas não encontrei um lugar pra "aprovação" dele, peço perdão antecipadamente caso fiz algo errado.