Jump to content

Recommended Posts

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

Edited by markindoot
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

×
×
  • Create New...