Ir para conteúdo
MaXwEllDeN

Como funcionam os scripts?

Recommended Posts

Excelente conteúdo. Parabéns !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

function onUse(cid, item, frompos, item2, topos)

if isCreature(itemEx.uid) then

doCreatureSay(itemEx.uid, "Aí, isso doi") then

end

return true

end

Isso ai da erro, 'then' deve ser usado apenas finalizando a condicional do 'if' ou 'elseif', esse ai ta todo perdido Editado por dalvorsn

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Registre-se para ver spoiler(s).

 

 

max edita la tem um then a +

Registre-se para ver link(s).

Editado por notle2012

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fico muito feliz em ver o índice de aceitação de vocês :D. Se tiverem alguma sugestão sobre tutorial na área de scripting podem falar que se for possível eu tento fazer um tutorial.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como tutor fala do tag tbm vou deixa ele aqui

 

Registre-se para ver spoiler(s).

 

Não seria assim...?

<action itemid="2408" event="script" value="nomedoarquivo.lua"/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

como tutor fala do tag tbm vou deixa ele aqui

 

Registre-se para ver spoiler(s).

Isso varia da versao do servidor, existem ambas formas, algumas versoes aceitam as duas, outras apenas uma delas, so vendo nas sources mesmo ou testando pra saber

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei colocar umas coisas no meu e ficou assim, fiz certo ?
 

Citar

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if isCreature(itemEx.uid) then
        doCreatureSay(itemEx.uid, "Ai, isso doi!", 19)
            doSendMagicEffect(toPosition, 0)
                doCreatureAddHealth(-200)
            end

            return true
        end

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por HenrikDiamond
      Olá galera, nao consegui fazer isso entao vim pedir ajuda ( avá '-') .
       
      - Quero que quando o player logar em sua account apareça um texto animado em vermelho escrito "Bem-Vindo"
       
      Valendo Rep!! Sei que é super facil mas nao tenho conhecimento na area de scripts! =(
    • Por valakas
      aconteceu um bug todos os Free Account não podem usar Order preciso de um reparo
      quero que o fly seja sí para premium e não o order todo -.-
       
      order.lua
       
      Registre-se para ver spoiler(s).
    • Por valakas
      Toda vez que ligo o serve aparece esses erro

      [23/03/2014 16:18:35] >> Loading items
      [23/03/2014 16:18:35] [Warning - Items::loadFromXml] Duplicate registered item with id 119
      [23/03/2014 16:18:35] [Warning - Items::loadFromXml] Duplicate registered item with id 120
      [23/03/2014 16:18:35] [Warning - Items::loadFromXml] Duplicate registered item with id 121
      [23/03/2014 16:18:36] [Warning - Items::loadFromXml] Duplicate registered item with id 115
      [23/03/2014 16:18:36] [Warning - Items::loadFromXml] Duplicate registered item with id 116
      [23/03/2014 16:18:36] [Warning - Items::loadFromXml] Duplicate registered item with id 117
      [23/03/2014 16:18:36] [Warning - Items::loadFromXml] Duplicate registered item with id 118
      [23/03/2014 16:18:36] [Warning - Items::loadFromXml] Duplicate registered item with id 537
      [23/03/2014 16:18:36] [Warning - Items::loadFromXml] Duplicate registered item with id 538
      [23/03/2014 16:18:36] [Warning - Items::loadFromXml] Duplicate registered item with id 555
      [23/03/2014 16:18:36] >> Loading groups
      [23/03/2014 16:18:36] >> Loading vocations
      [23/03/2014 16:18:36] >> Loading script systems
    • Por felipenchagas
      Oi boa noite!
       
      Eu gostaria se possível de uma ajuda, para um OT de pokemon... Tentei, tentei e nao consegui fazer.
       
      Um NPC com o mesmo sistema dos mestres de ginásio porem que ao invés de dar insignia dar storage, Ex: storage == 9991. Eu gostaria que soh depois que o player derrote o NPC X possa passar por um tile. O qual tem o seguinte script que a principio está funcionando como deveria.
       
       
      GYM: BROCK.LUA (NPC)
      local focus = 0 local max_distance = 8 local talk_start = 0 local conv = 0 local fighting = false local challenger = 0 local afk_limit_time = 30 -- seconds local afk_time = 0 -- don't change local battle_turn = 1 -- don't change local challenger_turn = 0 -- don't change local pokemons = { {name = "Geodude", optionalLevel = 50, sex = SEX_MALE, nick = "", ball = "normal"}, {name = "Rhyhorn", optionalLevel = 80, sex = SEX_MALE, nick = "", ball = "normal"}, --alterado v1.3 {name = "Graveler", optionalLevel = 80, sex = SEX_MALE, nick = "", ball = "normal"}, {name = "Onix", optionalLevel = 100, sex = SEX_MALE, nick = "", ball = "normal"}, {name = "Golem", optionalLevel = 100, sex = SEX_MALE, nick = "", ball = "normal"}, } local function doSummonGymPokemon(npc) local this = npc if not isCreature(this) then return true end if #getCreatureSummons(this) >= 1 or focus == 0 then return true end local it = pokemons[battle_turn] doSummonMonster(this, it.name) local summon = getCreatureSummons(this)[1] local balleffect = pokeballs["normal"].effect if it.ball and pokeballs[it.ball] then balleffect = pokeballs[it.ball].effect end doSendMagicEffect(getThingPos(summon), balleffect) setPlayerStorageValue(summon, 10000, balleffect) setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name)) setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name) doSetMonsterGym(summon, focus) addEvent(adjustWildPoke, 15, summon, it.optionalLevel) local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name --alterado v1.3 doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1) fighting = true battle_turn = battle_turn + 1 end local function doWinDuel(cid, npc) if not isCreature(cid) then return true end local this = npc local a = gymbadges[getCreatureName(this)] + 8 doCreatureSay(npc, "Por vencer esse duelo pegue a "..getItemNameById(a - 8)..".", 1) local b = getPlayerItemById(cid, true, a) if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end end function onCreatureSay(cid, type, msg) local msg = string.lower(msg) if focus == cid then talk_start = os.clock() end if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then focus = cid talk_start = os.clock() conv = 1 selfSay("Oi sou Brock e sou lider do ginásio Pewter's. Minha especialidade? Pokemons do tipo pedra, os mais poderosos de todos os tipos.") return true end if isDuelMsg(msg) and conv == 1 and focus == cid then --if getPlayerItemCount(cid, gymbadges[getCreatureName(getThis())]) >= 1 then -- selfSay("You have already won my Boulder Badge, maybe some other day we can fight.") -- focus = 0 --return true --end if not hasPokemon(cid) then selfSay("Você viu a enfermeira joy por ai? Elá é uma gata.") return true end selfSay("Na nossa batalha serão permitidos até "..#pokemons.." pokemons, está pronto??") conv = 2 return true end if isConfirmMsg(msg) and conv == 2 and focus == cid then challenger = focus setPlayerStorageValue(cid, 990, 1) selfSay("Sim vamos lutar!") talk_start = os.clock() addEvent(doSummonGymPokemon, 850, getThis()) conv = 3 return true end if isNegMsg(msg) and conv == 2 and focus == cid then focus = 0 selfSay("Recusou? hmm... acho que a policia Jenny está afim de mim.") return true end if msgcontains(msg, 'bye') and focus == cid then selfSay('Vá e dê seu melhor!') setPlayerStorageValue(focus, 990, -1) focus = 0 return true end end local afk_warning = false local change = false function onThink() if focus == 0 then selfTurn(2) fighting = false challenger = 0 challenger_turn = 0 battle_turn = 1 afk_time = 0 afk_warning = false if #getCreatureSummons(getThis()) >= 1 then setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0) doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1])) end return true else if not isCreature(focus) then focus = 0 return true end if fighting then talk_start = os.clock() if not isCreature(getCreatureTarget(getThis())) then if #getCreatureSummons(challenger) >= 1 then if getCreatureOutfit(getCreatureSummons(challenger)[1]).lookType ~= 2 then --alterado v1.6 selfAttackCreature(getCreatureSummons(challenger)[1]) challenger_turn = challenger_turn + 1 afk_time = 0 end else afk_time = afk_time + 0.5 if change then change = false challenger_turn = challenger_turn + 1 end end end if afk_time > afk_limit_time then setPlayerStorageValue(focus, 990, -1) focus = 0 selfSay("Está demorando muito... tenho um encontro com a Enfermeira Joy hoje!") return true end if not afk_warning and afk_time > afk_limit_time / 2 then selfSay("Sem pokemons?!") afk_warning = true end if #getCreatureSummons(getThis()) == 0 then if battle_turn > #pokemons then addEvent(doWinDuel, 1000, focus, getThis()) setPlayerStorageValue(focus, 990, -1) focus = 0 return true end addEvent(doSummonGymPokemon, 1000, getThis()) end if not hasPokemon(challenger) or challenger_turn >= 7 or challenger_turn > #pokemons then selfSay("Você perdeu, acho que vou até o centro pokemon com você a enfermeira Joy está por lá.") setPlayerStorageValue(focus, 990, -1) focus = 0 return true end end local npcpos = getThingPos(getThis()) local focpos = getThingPos(focus) if npcpos.z ~= focpos.z then setPlayerStorageValue(focus, 990, -1) focus = 0 selfSay("Até mais.") return true end if (os.clock() - talk_start) > 30 then selfSay("Treine mais e lembre-se, os Pokemons de pedra são os melhores!") setPlayerStorageValue(focus, 990, -1) focus = 0 end if getDistanceToCreature(focus) > max_distance then setPlayerStorageValue(focus, 990, -1) focus = 0 return true end local dir = doRedirectDirection(getDirectionTo(npcpos, focpos)) selfTurn(dir) end return true end GYM.LUA (LIB)
      gymbadges = { ["Brock"] = 12252, ["Misty"] = 12253, ["Surge"] = 12254, ["Erika"] = 12255, ["Sabrina"] = 12256, ["Koga"] = 12257, ["Blaine"] = 12258, ["Kira"] = 12259, ["Zeper"] = setPlayerStorageValue(cid,9991,1)} --alterado v1.5
    • Por Rodugoni
      Quando eu uso o comando ele ainda muda meu clã mesmo o item configurado tendo acabado.
       
      Queria saber se tem como arrumar pra mim. para que ele não mude o meu clã sem item.
       
      Print do que acontece
       
      Registre-se para ver spoiler(s).
       
×