Ir para conteúdo

Posts Recomendados

Falae Galera do XTibia, Quantos de vocês tentaram criar 1 GTA mais paravam por causa da "Maldita" arma que não trocava de Munição?

creio que todos nois, então depois de muitos pedidos, 1 MEMBRO decidiu ajudar e ajudou mesmo, ele criou a arma do TibiaGTA perfeitamente igual!!

 

Trago este script para ca por que ele está no outro topico do membro Matador18 e alguns não acha ele ai já viu neh...

OBS: Quem baixou meu servidor de GTA, lá tinha a "MORTAL GUN" é só você trocar o script dela por este aqui que ela irá trocar as munições, ou até mesmo colocar no AK-GOLD.

 

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:

Spoiler
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.

Galera Dei um Ctrl+c e Ctrl+v para nao ter que ficar fasendo Spoilers =D

O verdadeiro membro que merece o Like é o "Adriano Swatt"!!!!

@edit

Organizei o Topico com Spoilers =D

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

Bom dia,

Nossa, você fez o que eu nem havia pensado em fazer.

Criar um tópico para isto... mas foi uma boa.

 

Só acho que com os spoilers iria ficar bem mais organizado.

 

 

 

No mais, obrigado por postar e por colocar os créditos.

Link para o comentário
Compartilhar em outros sites

de boa =D tanto eu quanto todos ficamos muito agradecidos por você ser o unico que atendeu o nosso pedido que era eterno aqui no forum.

Segure Meu LIKE.

 

Você já atingiu seu limite de reputações positivas para hoje

amanha eu lhe dou REP+

Link para o comentário
Compartilhar em outros sites

de boa =D tanto eu quanto todos ficamos muito agradecidos por você ser o unico que atendeu o nosso pedido que era eterno aqui no forum.

Segure Meu LIKE.

 

Você já atingiu seu limite de reputações positivas para hoje

amanha eu lhe dou REP+

Eita, até parece que sou experiente em script.

Eu estava mais por aprendizado e também ajudar quem precisa.

De começo eu nem achei que conseguiria fazê-lo.

Mas ainda bem que deu certo.

 

:D

 

Bom aproveito aí.

Link para o comentário
Compartilhar em outros sites

UASUHUSAHAUS se você é iniciante e feiz isso ai, eu sou um FETO ashuusaahus não consigo nen formar 1 script simples, só fiz 1 na vida:

 

<--- Stamina By: Marcelo --->

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
if setPlayerStamina(cid, 60)
doPlayerSay(cid, "Stamina!")
doPlayerRemoveMoney(cid,10000)
else
doPlayerSendCancel(cid, Você Quer Usar a STAMINA Sem Ter 1k Na Bolsa?)
return FALSE
end
return TRUE
end
Link para o comentário
Compartilhar em outros sites

Ah sim, do mais este script seu é legal.

E tem uma função aí que eu nunca usei... mas agora me deu vontade de usar.

Vou criar algo usando a imaginação e testá-lo.

 

 

doPlayerSay(cid, "Stamina!")

 

 

Vamos ver a repercussão que terá o script né.

Link para o comentário
Compartilhar em outros sites

tpw esse doSayPlayer fais o player dizer Stamina! quando regenerar 1hora =D e nen foi eu que arrumei ele huashuahu o meu antigo era Print, ele funfava mais digia "Stamina!" na database ai o Vodkart me falou que ele só fala no DB que era para trocar pelo doSayPlayer "que fazia o player dizer algo".

 

você pode por no Ak-GOld mesmo que você feiz, na talk, quando trocar o player dizer Change!

vou tentar faser uhauhsahu.

 

<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)

doPlayerSay(cid, "Change!")
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Agora sua Ak-47 pode atirar chumbos.")
else
setPlayerStorageValue(cid, storage, 1)

doPlayerSay(cid, "Change!")
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Agora sua Ak-47 pode atirar bullets.")
end
return true
end

será que funcionaria? é testando que agente sabe huasuhasuh só que estou no trampo e não da pra min hahh (Ou até mesmo inveiz de diser "Change!" falar Bullet! e/ou Chumbo!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...