Ir para conteúdo

Featured Replies

Postado

Boa Tarde Galerinha do TK Bom seguinte vim aqui pedir uma ajudinha de vocês estou com script "action" que Funciona da Seguinte Forma ao dar use nele e clicar no TARGET ele pucha o player em sua frente !

Bom script funciona perfeitamente porem eu preciso que ele esse mesmo script possa ser usado somente por uma tall determinanda vocação como no meu caso seria o " Kakuzo " então eu gostaria que somente a vocação kakuzo usa-se esse Action , Teria como alguem da uma forcinha ai ? Se Possivel Obrigado

Ai o script !

 

ppaction.lua

  • Respostas 23
  • Visualizações 944
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • SoyColombiaa
    SoyColombiaa

    É só criar uma condição amigo, bem simples.   No caso, essa parte do script que eu mandei acima, conferiria se a id ad vocação do player for 4, vai adicionar uma espada pra ele. Ids das

Postado
2 horas atrás, koalla1235 disse:

Boa Tarde Galerinha do TK Bom seguinte vim aqui pedir uma ajudinha de vocês estou com script "action" que Funciona da Seguinte Forma ao dar use nele e clicar no TARGET ele pucha o player em sua frente !

Bom script funciona perfeitamente porem eu preciso que ele esse mesmo script possa ser usado somente por uma tall determinanda vocação como no meu caso seria o " Kakuzo " então eu gostaria que somente a vocação kakuzo usa-se esse Action , Teria como alguem da uma forcinha ai ? Se Possivel Obrigado

Ai o script !

 

ppaction.lua

É só criar uma condição amigo, bem simples.

Spoiler

if getPlayerVocation(cid) == 4 then

     doPlayerAddItem(cid, 2384, 1)

     return true

end

 

No caso, essa parte do script que eu mandei acima, conferiria se a id ad vocação do player for 4, vai adicionar uma espada pra ele.

Ids das vocations tibia:

Spoiler

Sorcerer = 1

Druid = 2

Paladin = 3

Knight = 4

 

Mas vale ressaltar que em alguns OT's, as vocações variam, e você pode conferi-las em data/XML/vocations.xml. Assim, dentro dela vão ter vocações dentro de "<" ">", aí é só você procurar por "vocation id". Por exemplo:

Spoiler

<vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="1500" soulmax="100" gainsoulticks="120" fromvoc="1">
        <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
        <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
    </vocation>

 

Espero tê-lo ajudado, e se eu realmente te ajudei, não se esqueça de me REPUTAR XD

(EU TINHA POSTO NAO SE ESQUEÇA DE ME REPOTAR FPOAEKFPOASKFOPEAFPOOPFKAPOKFPOASDKFOPASKPO)

Editado por SoyColombiaa (veja o histórico de edições)

Postado
  • Autor
28 minutos atrás, SoyColombiaa disse:

É só criar uma condição amigo, bem simples.

  Ocultar conteúdo

if getPlayerVocation(cid) == 4 then

     doPlayerAddItem(cid, 2384, 1)

     return true

end

 

No caso, essa parte do script que eu mandei acima, conferiria se a id ad vocação do player for 4, vai adicionar uma espada pra ele.

Ids das vocations tibia:

  Mostrar conteúdo oculto

Sorcerer = 1

Druid = 2

Paladin = 3

Knight = 4

 

Mas vale ressaltar que em alguns OT's, as vocações variam, e você pode conferi-las em data/XML/vocations.xml. Assim, dentro dela vão ter vocações dentro de "<" ">", aí é só você procurar por "vocation id". Por exemplo:

  Mostrar conteúdo oculto

<vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="1500" soulmax="100" gainsoulticks="120" fromvoc="1">
        <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
        <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
    </vocation>

 

Espero tê-lo ajudado, e se eu realmente te ajudei, não se esqueça de me reportar XD

Amigo tentei aqui é não certo ! qualquer vocação ta podendo usar ainda teria como ajustar pra min ?

Postado
  • Autor

Ok !  ta ai amigo

local intervalo = 1.5 -- tempo ate o player ser puxado (em segundos)
local exhaust = 1 -- Exhaustion entre usos do item (em segundos)
local chance = 80 -- chance em % de puxar
local itemefeito = 7860 -- item que aparece no cara que foi puxado
local falas = {"Kakuzooo !"}
local monsters = {"Bug", "Wasp", "Centipede"}
local chancebug = 0 -- chance de vir insetos junto com o jogador puxado (em porcentagem)
local chanceband = 0 -- chance de puxar um bandit quanto o puxao falhar (em porcentagem)

------ Nao altera mais nada ------
function mayNotMove(uid, block)
    return doCreatureSetNoMove(uid, block)
end

function canWalk(cid,pos)
    local abc = pos
    abc.stackpos = 253
    if doTileQueryAdd(cid, pos) == 1 and getTilePzInfo(pos) == false and isCreature(getThingFromPos(abc).uid) == false then
        return true
    end
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local pos1 = getCreaturePosition(cid) 
    local pos2 = getCreaturePosition(itemEx.uid)
    local poss1 = getCreatureLookPosition(cid)
    local fightcondition = createConditionObject(CONDITION_INFIGHT)
    setConditionParam(fightcondition, CONDITION_PARAM_TICKS, intervalo*1000+100)
                
    local function removeritem1(cid, item, pos, itemEx)
        local itemnapos = getTileItemById(pos2, itemefeito)
        doRemoveItem(itemnapos.uid,1)
    end
    
    local function removeritem2(cid, item, pos)
        local itemnaposs = getTileItemById(poss1, itemefeito)
        doRemoveItem(itemnaposs.uid,1)
    end

    local function doEffect(pos)
    end
     
    local tmp = getCreatureStorage(cid, 23125)
    if getCreatureStorage(cid, 23125) > os.time() then
        return doPlayerSendCancel(cid, "Você precisa esperar ".. tmp - os.time() .." segundos para usar novamente.")
    end
    
    if not isPlayer(itemEx.uid) then
        return doPlayerSendCancel(cid, "Voce so pode puxar jogadores!")
    end
        
    if itemEx.uid == cid then
        return doPlayerSendCancel(cid, "Voce nao pode usar em si mesmo.")
    end
  if getPlayerVocation(cid) == 4 then
     doPlayerAddItem(cid, 2384, 1)
     return true
end  
    if getTilePzInfo(pos1) == true or getTilePzInfo(pos2) == true  or getTilePzInfo(poss1) == true then
        return doPlayerSendCancel(cid, "Voce nao pode puxar na protection zone!")
    end
    
    if not canWalk(cid, poss1) then
       return doPlayerSendCancel(cid, "Voce nao pode puxar ele aqui!")
    end
    
    if pos1.x ~= pos2.x and pos1.y ~= pos2.y then
        return doPlayerSendCancel(cid, "Voce nao pode puxar na diagonal!")
    end
    
    local function puxarPlayer(cid, pos, item) -- script por amoeba13
        local randomChance = math.random(1, #falas)
        doAddCondition(cid, fightcondition)
        doAddCondition(itemEx.uid, fightcondition)
        doCreatureSay(cid, falas[randomChance], TALKTYPE_ORANGE_1)
        doPlayerSetStorageValue(cid, 23125, os.time()+exhaust)
            addEvent(doTeleportThing, intervalo*1000, itemEx.uid, poss1)
            addEvent(mayNotMove, intervalo*1000, cid, false)
            addEvent(mayNotMove, intervalo*1000, itemEx.uid, false)
            addEvent(removeritem1, intervalo*1000) 
            addEvent(doCreateItem, intervalo*1000, itemefeito, 1, poss1)
            addEvent(removeritem2, intervalo*1000+1500)
            addEvent(doEffect, intervalo*1000)
            addEvent(doEffect, intervalo*1000/2)
            addEvent(doEffect, intervalo*1000/3)
            addEvent(doEffect, intervalo*1000/4)
        doCreateItem(itemefeito, 1, pos2)
        mayNotMove(cid, true)
        mayNotMove(itemEx.uid, true)
        doSendAnimatedText(pos1, "Succes!", TEXTCOLOR_GREEN)
        doPlayerSendTextMessage(itemEx.uid, 27, "Voce foi puxado pelo jogador ".. getCreatureName(cid) .."!")                    
    end -- script por amoeba13
    
    local qnts = math.random(1, 100)
    if qnts <= chance and qnts <= chancebug then
        puxarPlayer(cid) 
        local axb = math.random(1, #monsters)
        addEvent(doCreatureSay, intervalo*1000+100, itemEx.uid, "Eu nao vi que isso tinha vindo comigo...", TALKTYPE_ORANGE_1)
        addEvent(doCreateMonster, intervalo*1000+100, monsters[axb], poss1)
    elseif qnts <= chance and qnts > chancebug then
        puxarPlayer(cid)
    elseif qnts > chance and qnts <= chanceband then
        doCreateMonster("Bandit", poss1)
        doCreatureSay(cid, "Nao foi voce que eu puxei!", TALKTYPE_ORANGE_1)
        doSendAnimatedText(pos1, "Fail!", TEXTCOLOR_RED)
        doSendMagicEffect(pos1, CONST_ME_POFF)
        doPlayerSetStorageValue(cid, 23125, os.time()+exhaust)
    elseif qnts > chance then 
        doSendAnimatedText(pos1, "Fail!", TEXTCOLOR_RED)
        doSendMagicEffect(pos1, CONST_ME_POFF)
        doPlayerSetStorageValue(cid, 23125, os.time()+exhaust)
        end
    return true
end

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo