Ir para conteúdo
  • 0

Matador18

Pergunta

Posts Recomendados

  • 0

Eles Ficam no Spells:

 

local runa = 2413
local msg = "Equipe a %s na mão, para poder atirar."
local attackmin, attackmax = 600, 900 -- attack minimo, attack maximo
function onCastSpell(cid, var)
local left, right = getPlayerSlotItem(cid, CONST_SLOT_LEFT), getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
if isInArray({left.itemid, right.itemid}, runa) then
else
return doPlayerSendCancel(cid, msg:format(getItemNameById(runa)))
end
if doPlayerRemoveItem(cid, 6529, 1) then -- troque pelo id da bolt
target = getCreatureTarget(cid)
if (target <= 0) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Selecione um target.")
return false
end
hit = (math.random(attackmin,attackmax) + getPlayerSkillLevel(cid, SKILL_DISTANCE) / 3)
doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -hit, -hit, CONST_ME_MORTAREA)
doSendDistanceShoot(getCreaturePos(cid), getCreaturePos(target), 15)
return TRUE
end
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não possui balas.")
return false
end

 

 

Obrigado...

Link para o comentário
Compartilhar em outros sites

  • 0

Eles Ficam no Spells:

 

local runa = 2413

local msg = "Equipe a %s na mão, para poder atirar."

local attackmin, attackmax = 600, 900 -- attack minimo, attack maximo

function onCastSpell(cid, var)

local left, right = getPlayerSlotItem(cid, CONST_SLOT_LEFT), getPlayerSlotItem(cid, CONST_SLOT_RIGHT)

if isInArray({left.itemid, right.itemid}, runa) then

else

return doPlayerSendCancel(cid, msg:format(getItemNameById(runa)))

end

if doPlayerRemoveItem(cid, 6529, 1) then -- troque pelo id da bolt

target = getCreatureTarget(cid)

if (target <= 0) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Selecione um target.")

return false

end

hit = (math.random(attackmin,attackmax) + getPlayerSkillLevel(cid, SKILL_DISTANCE) / 3)

doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -hit, -hit, CONST_ME_MORTAREA)

doSendDistanceShoot(getCreaturePos(cid), getCreaturePos(target), 15)

return TRUE

end

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não possui balas.")

return false

end

 

 

Obrigado...

É este ai mesmo Adriano Swatt

se você conseguir adicionar uma função e por 2 removeitems nessa arma ai...

Link para o comentário
Compartilhar em outros sites

  • 0

Faça assim, me mande também a tag relacionada ao script que fica em spells.xml, acho que terei que testar este aqui.

 

-edit-

Disfarça, acho que vou conseguir do meu jeito aqui.

 

Breve edito com o resultado.

Editado por Adriano Swatt
Link para o comentário
Compartilhar em outros sites

  • 0

Galera, demorei um pouco pois estava ocupado.

O script não está 100% limpo, mas como estou iniciando em scripts, foi o que consegui fazer de forma funcional.

 

Sem falar que do jeito que estavam seus scripts, mesmo se estivesse sem alvo, gastava a munição ao clicar tentar atirar.

Ainda há alguns bugs no scripts, que já vieram de vocês, que é o tiro atingir monstros mesmo atrás de paredes e de que não precisa clicar exatamente no monstro para atirar nele quando o mesmo já está selecionado como alvo.

Mas como não sei se já sabiam disso, a minha parte de mudar munição por talkactions e só poder atirar ela se estiver ativo, eu consegui fazer (y).

 

Sem mais delongas, abaixo seguem os scripts...

 

Em talkactions.xml adicione a tag abaixo:

<talkaction words="!ak" event="script" value="ak_ammo.lua"/>

Agora crie um arquivo chamado "ak_ammo.lua" em scripts e adicione o código abaixo:

local storage = 30012

    function onSay(cid, words, param)

    if getPlayerStorageValue(cid, storage) == 1 then
    setPlayerStorageValue(cid, storage, 2)
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Agora sua Ak-47 pode atirar chumbos.")
else
    setPlayerStorageValue(cid, storage, 1)
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Agora sua Ak-47 pode atirar bullets.")
end
    return true
end

Pronto, em talkactions já finalizamos.

 

Agora vamos em Spells, adicione esta tag em seu spells.xml:

<rune name="AK-47" id="2088" allowfaruse="1" charges="1" lvl="1" maglv="0" exhaustion="1000" blocktype="solid" script="ak_ammo.lua"/>

E em "ak_ammo.lua" da pasta scripts de spells, adicione o script abaixo:

 

 

local arma = 2088
local bullets = 2298
local chumbos = 2299
local storage = 30012
local msg = "Equipe a %s na mao esquerda e a municao na mae direita para poder atirar."
local attackmin, attackmax = 600, 900 -- attack minimo, attack maximo

    function onCastSpell(cid, var)
local left = getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid
local shoot = getPlayerItemCount(cid, bullets)
local shoot2 = getPlayerItemCount(cid, chumbos)
local permissao = getPlayerStorageValue(cid, storage)
local target = getCreatureTarget(cid)
local hit = (math.random(attackmin,attackmax) + getPlayerSkillLevel(cid, SKILL_DISTANCE) / 3)

    if isInArray({left}, arma) then
else
    return doPlayerSendCancel(cid, msg:format(getItemNameById(arma)))
end
    if (permissao == 1) then
    if (shoot <= 0) then
            return doPlayerSendCancel(cid, 'Voce precisa de bullets para usar sua AK-47.')
    else
    if (target <= 0) then
        return doPlayerSendCancel(cid, 'Selecione um alvo.')
    else
        doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -hit, -hit, CONST_ME_MORTAREA)
        doSendDistanceShoot(getCreaturePos(cid), getCreaturePos(target), 15)
        doPlayerRemoveItem(cid, bullets, 1)
    end
end
    else
    if (shoot2 <= 0) then
            return doPlayerSendCancel(cid, 'Voce precisa de chumbos para usar sua AK-47.')
        else
    if (target <= 0) then
            return doPlayerSendCancel(cid, 'Selecione um alvo.')
    else
        doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -hit, -hit, CONST_ME_MORTAREA)
        doSendDistanceShoot(getCreaturePos(cid), getCreaturePos(target), 15)
        doPlayerRemoveItem(cid, chumbos, 1)
    end
  end
end
    return TRUE
end

 

 

Pronto, agora é só abrir o server e testá-la.

 

Para configurar é simples, pois deixei todas configurações no início... mas caso haja necessidade, clique no spoiler abaixo e veja como fazer:

 

local arma = 2088 -- aqui você coloca a id da sua AK-47
local bullets = 2298 -- aqui você coloca a id da munição Bullets
local chumbos = 2299 -- aqui você coloca a id da munição Chumbos
local storage = 30012 -- aqui não precisa mexer
local msg = "Equipe a %s na mao esquerda e a municao na mae direita para poder atirar."
local attackmin, attackmax = 600, 900 -- attack minimo, attack maximo

 

 

Eu testei várias e várias vezes com cautela e não houve erros, pois corrigi todos que encontrei.

Qualquer erro ou dúvida, favor postar para que possamos solucionar juntos.

 

Boa sorte.

Editado por Adriano Swatt
Link para o comentário
Compartilhar em outros sites

  • 0

@Adriano Swatt quase mandou bem.... vou da 1 dica...se quiser melhorar....o script ta maneiro mais imperfeito paras condições do jogo...A ak- gold ou qualquer arma no jogo e como se fosse 1 runa...fiz o seguinte.......configurei essa runa para remover 3 tipos de items na hora de usar.....só que tem que ter storage necessária para usar... seu pensamento foi ótimo....

 

 

runa/ ak gold - 3 munições cada munição tem sua storage.......

 

Talk action falando !ak da storage para o player...ou retira a antiga...

 

 

chegando em casa irei postar a AK-Gold Modelo antigo no fórum para todos.... Quem quiser da aquele Like ahuahauaha ...

 


esse novo post seu ai...fico bom.....não sei se funciona..mais se funcionar pode desconsiderar msg anterior...e só acrescentando o dano da arma dele...da bug.....se você não hita o bicho buga e não ganha exp ahauaha.....tem que da hit fisico primeiro para contar como hit so arrumar isso....... e também tira essa de mão direita e mão esquerda porque no jogo tem escudo.........a munição fica na BP......

Editado por kbpaulo
Link para o comentário
Compartilhar em outros sites

  • 0

@Adriano Swatt quase mandou bem.... vou da 1 dica...se quiser melhorar....o script ta maneiro mais imperfeito paras condições do jogo...A ak- gold ou qualquer arma no jogo e como se fosse 1 runa...fiz o seguinte.......configurei essa runa para remover 3 tipos de items na hora de usar.....só que tem que ter storage necessária para usar... seu pensamento foi ótimo....

 

 

runa/ ak gold - 3 munições cada munição tem sua storage.......

 

Talk action falando !ak da storage para o player...ou retira a antiga...

 

 

chegando em casa irei postar a AK-Gold Modelo antigo no fórum para todos.... Quem quiser da aquele Like ahuahauaha ...

 

esse novo post seu ai...fico bom.....não sei se funciona..mais se funcionar pode desconsiderar msg anterior...e só acrescentando o dano da arma dele...da bug.....se você não hita o bicho buga e não ganha exp ahauaha.....tem que da hit fisico primeiro para contar como hit so arrumar isso....... e também tira essa de mão direita e mão esquerda porque no jogo tem escudo.........a munição fica na BP......

 

Ah tudo bem...

O Script funciona sim pois testei.

 

Eu fiz no improviso, falei que o script estaria "sujo", pois estou aprendendo agora a scriptear e este fiz de cabeça, sem usar tutoriais.

Sobre a munição, eu me confundi aqui, mas é só por para que verifique se ela está no slot de "ammo" mesmo e pronto, tudo certo.

 

Qualquer um sabe mudar isto, se for o caso eles mudam ou qualquer coisa eu mesmo mudo aqui, basta eles me pedirem.

 

Obrigado por comentar.

Editado por Adriano Swatt
Link para o comentário
Compartilhar em outros sites

  • 0

@adriano - falei ahauaha.. ond tem a flexa no global e ond fica as muniçoes leva o colete.....um item que protege a mais ...alem do escudo tem o colete ahuaha...eu falei ahauaha

Link para o comentário
Compartilhar em outros sites

  • 0

@adriano - falei ahauaha.. ond tem a flexa no global e ond fica as muniçoes leva o colete.....um item que protege a mais ...alem do escudo tem o colete ahuaha...eu falei ahauaha

Bullshit, irei arrumar então.

 

 

-edit-

Atualizei o script na postagem do mesmo.

Não testei, então favor testar e me avisar se funcionou.

Editado por Adriano Swatt
Link para o comentário
Compartilhar em outros sites

  • 0

mais o script ta muito bom mesmo cara....so aquilo que falei...

 

*não precisa configurar arma no slot.....nem munição no slot....

*tem que ver também o sistema de storage la em cima..tira uma duvida...pelo que vi ganha storage,1 e depois storage,2...... mais nao vi nada tirando storage...tipo uma troca...... isso não vai causar bug????

 

o cara usa 1 vês e depois não precisa usa mais ja vai ter as 2 storage e pronto só usar qualquer munição a rodo....

Link para o comentário
Compartilhar em outros sites

  • 0

mais o script ta muito bom mesmo cara....so aquilo que falei...

 

*não precisa configurar arma no slot.....nem munição no slot....

*tem que ver também o sistema de storage la em cima..tira uma duvida...pelo que vi ganha storage,1 e depois storage,2...... mais nao vi nada tirando storage...tipo uma troca...... isso não vai causar bug????

 

o cara usa 1 vês e depois não precisa usa mais ja vai ter as 2 storage e pronto só usar qualquer munição a rodo....

Sobre a storage eu não coloquei para adicionar 1 storage, assim ficando com 2 se já houvesse 1...

Eu coloquei para alterar o valor para o número.

Ou seja, mesmo se tiver 1, irá alterar para 2, e se tiver 2 irá alterar para 1 ao invés de somar +1.

 

Sobre a arma no slot está ainda configurada, mas isto não é problema, pois no antigo script já estava configurado, a única diferença é que agora ela precisa estar exatamente na mão esquerda.

Mas também da para mudar, caso haja necessidade.

Link para o comentário
Compartilhar em outros sites

  • 0

A arma está na sua mão?

Tem chumbo e bullet na sua backpack?

 

Vou dar uma lida rápida no script pra ver se acho o que é.

 

 

-edit-

Havia esquecido de um detalhe, muito bobeira mesmo o que era.

Teste agora, se der algum erro no launcher me avise.

 

Boa sorte.

Editado por Adriano Swatt
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...