Essa seção não deve ser usada para pedidos ou dúvidas, temos uma seção específica para isso. Por favor, preste mais atenção da próxima vez.
Movido para Pedidos e Dúvidas - Scripting.
info
Grupo: Marquês
Registrado: 16/06/07
Posts: 1.2k
Reputação: +377
Gênero: Masculino
Char no Tibia: Nenhum

info
Grupo: Conde
Registrado: 16/09/07
Posts: 600
Reputação: +151
Gênero: Masculino
Char no Tibia: NãoJogoMais

Sobre seu script, vi que é uma runa que usa bolts como munição...
Sendo assim, pra simplificar sua vida, sugiro que crie outra arma igual, incluindo nome e sprite, (ficando com 2 idênticas) e que mude no script dela apenas a munição que a mesma usará.
Após feito isso, fica mais fácil criar uma talkaction que fará com que mude a ID da arma que atira bullet para a que atira chumbo e vice-versa.
O que acha?
info
Grupo: Campones
Registrado: 27/09/13
Posts: 18
Reputação: +1
Char no Tibia: Delta Force

Boa ideia Adriano, já criei os dois itens, mas você pode ma ajudar a criar a talkaction?
info
Grupo: Conde
Registrado: 16/09/07
Posts: 600
Reputação: +151
Gênero: Masculino
Char no Tibia: NãoJogoMais

Tudo bem.
Poderia fazer com 1 script, porém, deixei assim com 2 para ficar com palavras diferentes e creio que mais fácil configurar.
Sem mais delongas, vamos ao script.
Em seu talkactions.xml adicione estas tags.
<talkaction words="!akchumbo" event="script" value="ak_chumbo.lua"/> <talkaction words="!akbullets" event="script" value="ak_bullets.lua" />
Agora na pasta scripts, crie um arquivo chamado "ak_chumbo.lua" e outro chamado "ak_bullets.lua", e adicione os scripts representantes:
ak_chumbo.lua:
local ak_chumbo = 2171 -- id da sua ak-47 de chumbo
local ak_bullets = 2170 -- id da sua ak-47 de bullets
function onSay(cid, words, param)
if getPlayerItemCount(cid, ak_bullets) >= 1 then
doPlayerRemoveItem(cid, ak_bullets, 1)
doPlayerAddItem(cid, ak_chumbo, 1)
doPlayerSendTextMessage(cid, 25,"Transformou sua AK-47 de bullets para chumbo.")
else
doPlayerSendTextMessage(cid, 25,"Voce nao tem a AK-47 de bullets.")
end
end
ak_bullets.lua:
local ak_chumbo = 2171 -- id da sua ak-47 de chumbo
local ak_bullets = 2170 -- id da sua ak-47 de bullets
function onSay(cid, words, param)
if getPlayerItemCount(cid, ak_chumbo) >= 1 then
doPlayerRemoveItem(cid, ak_chumbo, 1)
doPlayerAddItem(cid, ak_bullets, 1)
doPlayerSendTextMessage(cid, 25,"Transformou sua AK-47 de chumbo para bullets.")
else
doPlayerSendTextMessage(cid, 25,"Voce nao tem a AK-47 de chumbo.")
end
end
Agora é só abrir o server e testar com as palavras:
!akchumbo para transformar sua AK-47 de bullets para chumbo.
!akbullets para transformar sua AK-47 de chumbo para bullets.
Testei aqui e funcionou beleza, caso precise de ajuda ou qualquer outra dúvida, não hesite em postar aqui para solucionarmos.
Boa sorte.
Editado Novembro 1 por Adriano Swatt
info
Grupo: Campones
Registrado: 27/09/13
Posts: 18
Reputação: +1
Char no Tibia: Delta Force

Muuuutio obrigado Adriano, testei e funcinou, obrigado mesmo ![]()
info
Grupo: Marquês
Registrado: 16/06/07
Posts: 1.2k
Reputação: +377
Gênero: Masculino
Char no Tibia: Nenhum

Tópico movido para a seção de dúvidas e pedidos resolvidos.
info
Grupo: Conde
Registrado: 16/09/07
Posts: 600
Reputação: +151
Gênero: Masculino
Char no Tibia: NãoJogoMais

Muuuutio obrigado Adriano, testei e funcinou, obrigado mesmo
Que bom que deu tudo certo.
Qualquer coisa contate-me.
![]()



info
Grupo: Campones
Registrado: 27/09/13
Posts: 18
Reputação: +1
Char no Tibia: Delta Force
Oi pessoinhas do Xtibia
Se o tópico estiver em lugar errado, movam please.
Bom dia a todos. Tenho um servidor de Tibia GTA, e tenho script de armas, só que tenho uma dúvida nesse script =/, preciso que ao usar o comendo !bullet (a munição automaticamente irá trocar para bullet: id 2543) ou !chumbo (a munição automaticamente irá trocar para chumbo: id 6529). Irei disponibilizar o script:
data>spells>scripts
local runa = 2413 local msg = "Equipe a %s na mão, para poder atirar." local attackmin, attackmax = 620, 650 -- 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, 2543, 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), CONST_ANI_BOLT) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não possui balas.") return false enddata>spells>spells.xml
é isso, se alguém souber como fazer esse script me ajude, obrigado a todos