Ir para conteúdo
  • 0

Fábrica de Scripts


LuckOake

Pergunta

Olá galera.

 

Tava aqui de boa sem o que fazer, aí tive essa ideia de fazer um tópico pros membros pedirem scripts simples.

 

Regrinhas:

  1. NÃO PEÇA EVENTOS AQUI, SÓ SCRIPTS OU SISTEMAS SIMPLES;
  2. NÃO PEÇA SCRIPTS QUE JÁ EXISTEM;
  3. Se você quer algum script que está sendo vendido em algum lugar, poste aqui que eu faço pra você. Nesse tipo de caso, a regra número 1 pode ser desobedecida;
  4. Sem floods, comentários ou conversas no tópico;
  5. Por uma questão de organização, não gostaria que outros usuários sem minha permissão postassem scripts prontos para resolver pedidos aqui. Se quiserem resolver o pedido de um usuário, mande PM pra ele ou crie um tópico e poste;
  6. Faço qualquer tipo de script desde que seja da versão 8.54 até a 9.8;
  7. Não faço scripts para TFS 1.0;
  8. Não peça scripts ou sistemas que envolvam sources;
  9. Somente scripts que envolvam no máximo dois arquivos serão feitos;
  10. Máximo de dois pedidos por vez para cada usuário;
  11. Use um português adequado e detalhe bem seu pedido. Pedidos pouco detalhados ou com português ruim serão ignorados. Se não for bom com português, ao menos TENTE escrever adequadamente.
  12. O Oneshot e o Manoel Neto tem permissão para atender pedidos no tópico. Oneshot trabalha como quer, do jeito que quer e quando quer. Obs: E odeia leechers.

Caso você não entenda o por quê de postar aqui ao invés de criar um tópico, pense no seguinte. Você quer um script bem feito, bem explicado e de fácil configuração ou um que qualquer usuário chega lá e faz? Garanto que todos os scripts que farei nesse tópico serão, no mínimo, de alta qualidade.

 

Abraços e aproveitem a oportunidade. Ao contrários dos outros tópicos de fábrica de scripts, aqui não vou tentar fazer. Se estiver dentro das regras, vou fazer.

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

Posts Recomendados

  • 0

 

@SkyDarkyes

 

se eu estiver certo vc ta quebrando a regra numero 4 =x mais xa pra la =p eu poderia postar essse script seu em outro topico se o Luck deixar, mais enquanto isso eu ainda nao posso postar =x

 

@Topic

 

eu nao vim aki pra nada!

 

SE POSSIVEL, um script que tipo se o player ganhar experiencia e o level dele antes de ganhar experiencia for o mesmo depois dele ganhar experiencia que deslogue o player (doRemoveCreature) e va na db e de mais 1 lvl pra ele!

se nao especifiquei bem, vo falar de outro jeito, fui la, matei um poacher!

ganhei 1000 de xp, se eu nao ganhar nenhum lvl, tipo, se esses 1000 de xp nao for o suficiente pra eu upar pro prox lvl, que ele me de +1 level la na db! ( e deslogue o player logicamente )

 

Eu não entendi, foi nada, desse seu pedido.

 

No caso, vamos dizer que um jogador level 8 entra no servidor, mata um Rotworm, aí ele não ganha um level com a experiência dada, no caso, é para ele ganhar esse level mesmo assim?

 

Enfim, se for isso mesmo, prefiro nem deslogar o jogador.

function onKill(cid, target)
	if getMonsterInfo(getCreatureName(target)) then
		if getPlayerExperience(cid) < getExperienceForLevel(getPlayerLevel(cid) + 1) then
			doPlayerAddExperience(cid, getExperienceForLevel(getPlayerLevel(cid) + 1) - getPlayerExperience(cid))
		end
	end
	return true
end

Foi esse mesmo o meu pedido kkk estranho neh? mais eu queria na db! mais liga nao eu sei pra add na db =) vlw pelo script, REP+

Link para o comentário
Compartilhar em outros sites

  • 0

sumona no maximo 3 summons a cada 30 segundos, seria perfeito se fosse facil configurar a exausted e o tanto de summon mais fico muiito bomm vlw :D

 

Não, acho que você não entendeu. Eu faço do jeito que eu quero, testo, e se funcionar, eu posto.

 

Se não gostou, o Manual de Referência de Lua 5.1 existe para estudos.

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

  • 0

Olá luck eu de novo espero não estar incomodando =]

Tipo: Creature,Talk,Movements,Actions (Qualquer um)

Oque faz: Muda a looktype quando equipa tal item

Pedido: Bom Luck o script pode ser qualquer tipo , só quero que quando player equipar o item 2160 muda-se automaticamente para a looktype 3 , quando tira-se volta-se para looktype de antes

Espero não estar em comodando , quando puder fazer faça estou aqui esperando =]

 

Até boa sorte com seu tópico.

Link para o comentário
Compartilhar em outros sites

  • 0

 

Olá luck eu de novo espero não estar incomodando =]

Tipo: Creature,Talk,Movements,Actions (Qualquer um)

Oque faz: Muda a looktype quando equipa tal item

Pedido: Bom Luck o script pode ser qualquer tipo , só quero que quando player equipar o item 2160 muda-se automaticamente para a looktype 3 , quando tira-se volta-se para looktype de antes

Espero não estar em comodando , quando puder fazer faça estou aqui esperando =]

 

Até boa sorte com seu tópico.

 

 

Em data/movements/scripts, crie um arquivo chamado equip_bullet.lua e coloque dentro:

local look = 3 -- ID da outfit

function onEquip(cid, item)
    doSetCreatureOutfit(cid, {lookType = look}, -1)
return true
end

function onDeEquip(cid, item)
    doRemoveCondition(cid, CONDITION_OUTFIT)
return true
end

Movements.xml:

<movevent type="Equip" itemid="2160" slot="ammo" script="equip_bullet.lua"/>
<movevent type="DeEquip" itemid="2160" slot="ammo" script="equip_bullet.lua"/>
Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

  • 0

Como vai LuckOake? tambem estou bem,

Queria pedir um script que por exemplo

quando eu der use with... em um Battle Hammer e clicar em 100 Gold Nugget

transformace os "nuggets" em uma Enchanted Small Amethysts

se possivel gostaria do script em action

 

 

Server: 8.60

Experience: 3

 

 

obrigado...

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if itemEx.itemid == 2157 then
		if itemEx.type == 100 then
			doTransformItem(itemEx.uid, 7762, itemEx.type)
		else
			doPlayerSendCancel(cid, "You need 100 gold nuggets.")
		end
	else
		doPlayerSendCancel(cid, "You can only use the battle hammer in gold nuggets.")
	end
end

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

function onCastSpell(cid, var)
local tp_pos = {x = 100, y = 100, z = 7} -- Posição que o target será levado
local effect_player = 53 -- Efeito que sairá no player
local effect_target = 67 -- Efeito que sairá no target
local exhaustion_time = 600 -- Exhaustion (em segundos)
local exhaust = 18501 -- Storage da exhaustion
if getTileInfo(getCreaturePosition(cid)).hardcore then
doPlayerSendCancel(cid, "Você não pode usar essa magia em arenas.")
return false
end
if getCreatureTarget(cid) <= 0 then
doPlayerSendCancel(cid, "Você precisa selecionar um alvo.")
return false
elseif exhaustion.check(cid, exhaust) then
doSendMagicEffect(getCreaturePosition(cid), 2)
doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a magia novamente.")
return false
end
local target = getCreatureTarget(cid)
doSendMagicEffect(getCreaturePosition(cid), effect_player)
doSendMagicEffect(getCreaturePosition(target), effect_target)
setPlayerStorageValue(target, 18500, "x = "..(getCreaturePosition(target).x)..",y = "..(getCreaturePosition(target).y)..",z = "..(getCreaturePosition(target).z)..",")
doTeleportThing(target, tp_pos)
exhaustion.set(cid, exhaust, exhaustion_time)
return true
end
function onStepIn(cid, item)
local storage = getPlayerStorageValue(cid, 18500)
local pos = {x = string.match(storage, "x = (.-),"), y = string.match(storage, "y = (.-),"), z = string.match(storage, "z = (.-),")}
doTeleportThing(cid, pos)
return true
end

tem como colokar para o jogador que solta a spell ir junto com o target para o local x?
Link para o comentário
Compartilhar em outros sites

  • 0

 

 

Olá luck eu de novo espero não estar incomodando =]

Tipo: Creature,Talk,Movements,Actions (Qualquer um)

Oque faz: Muda a looktype quando equipa tal item

Pedido: Bom Luck o script pode ser qualquer tipo , só quero que quando player equipar o item 2160 muda-se automaticamente para a looktype 3 , quando tira-se volta-se para looktype de antes

Espero não estar em comodando , quando puder fazer faça estou aqui esperando =]

 

Até boa sorte com seu tópico.

 

 

Em data/movements/scripts, crie um arquivo chamado equip_bullet.lua e coloque dentro:

local look = 3 -- ID da outfit

function onEquip(cid, item)
    doSetCreatureOutfit(cid, {lookType = look}, -1)
return true
end

function onDeEquip(cid, item)
    doRemoveCondition(cid, CONDITION_OUTFIT)
return true
end

Movements.xml:

<movevent type="Equip" itemid="2160" slot="ammo" script="equip_bullet.lua"/>
<movevent type="DeEquip" itemid="2160" slot="ammo" script="equip_bullet.lua"/>

 

Obrigado denovo Luck xD slot"ammo" qual seria o nome para ter que ser no local da arma ?

 

Nesse seu script aqui tem como você por "Precisa estar no slot correto para usar a arma" e so poder atirar quando estiver no slot

function onUse(cid, item, fromPosition, itemEx, toPosition)
local need_target = true -- Precisa de target? (true / false) Se false, o sistema utilizará o Use With.
local bullet_id = 2544 -- ID da munição
local shots_amount = 1 -- Tiros por vez
local exhaustion_time = 1 -- Segundos de exhaustion
local exhaust = 19301 -- Storage da exhaustion
local dmg_min, dmg_max = -10, -20 -- Dano mínimo, dano máximo
local shot_effect = 3 -- Efeito do tiro
local shot_distance_effect = 1 -- Distance effect do tiro
local damage_type = COMBAT_PHYSICALDAMAGE -- Tipo de dano
local shots_delay = 200 -- Delay dos tiros (em milissegundos)
if need_target then
if getCreatureTarget(cid) <= 0 then
return doPlayerSendCancel(cid, "Selecione um alvo primeiro.")
elseif getPlayerItemCount(cid, bullet_id) < shots_amount then
return doPlayerSendCancel(cid, "Você não possui munição.")
elseif exhaustion.check(cid, exhaust) then
return doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a arma novamente.")
end
exhaustion.set(cid, exhaust, exhaustion_time)
for i = 0, shots_amount-1 do
addEvent(function()
if getCreatureTarget(cid) <= 0 then
return true
elseif getPlayerItemCount(cid, bullet_id) < 1 then
return doPlayerSendCancel(cid, "Você não possui munição.")
end
doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(getCreatureTarget(cid)), shot_distance_effect)
doTargetCombatHealth(cid, getCreatureTarget(cid), damage_type, dmg_min, dmg_max, shot_effect)
doPlayerRemoveItem(cid, bullet_id, 1)
end, shots_delay*i)
end
else
if not isCreature(itemEx.uid) then
return doPlayerSendCancel(cid, "Selecione um alvo primeiro.")
elseif getPlayerItemCount(cid, bullet_id) < shots_amount then
return doPlayerSendCancel(cid, "Você não possui munição.")
elseif exhaustion.check(cid, exhaust) then
return doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a arma novamente.")
end
exhaustion.set(cid, exhaust, exhaustion_time)
for i = 0, shots_amount-1 do
addEvent(function()
if not isCreature(itemEx.uid) then
return true
elseif getPlayerItemCount(cid, bullet_id) < 1 then
return doPlayerSendCancel(cid, "Você não possui munição.")
end
doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(itemEx.uid), shot_distance_effect)
doTargetCombatHealth(cid, itemEx.uid, damage_type, dmg_min, dmg_max, shot_effect)
doPlayerRemoveItem(cid, bullet_id, 1)
end, shots_delay*i)
end
end
return true
end

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...