Ir para conteúdo
Entre para seguir isso  
gugusinbansai

Pesque e pague - 8.1

Recommended Posts

gugusinbansai    0
gugusinbansai

Pesque e Pague

[spoiler=Padrão de Postagem]

Nome: Pesque e pague

Autor: ADM Guga (gugusinbansai)

Versão Testada: Yourots 1.2 (8.1)

 

Informações Adicionais:

Sistema para simular uma pesca que é paga :).

 

 

Olá estou aqui para postar um sistema criado por mim baseado na entrada da hunt paga do Mock.

 

1º: Crie uma area tipo essa:

imagemq.png

 

2º: Crie um arquivo chamado fishing na pasta scripts de suas actions caso seu ot não tenha o sistema de pesca.

[spoiler=fishing.lua]

function onUse(cid, item, frompos, item2, topos)
   -- 490 fish
   -- 491 no fish 
   -- 492 fish regeneration
   if doPlayerRemoveItem(cid, 3976, 1) == 1 then
       if item2.itemid == 490 then
           fishingskill = getPlayerSkill(cid,6)
           formula = fishingskill /200+0.85* math.random()
           if formula > 0.70 then
               doTransformItem(item2.uid,492)
               doDecayItem(item2.uid)
               doSendMagicEffect(topos,1)
               doPlayerAddSkillTry(cid,6,2)
               doPlayerAddItem(cid,2667,1)
           else
               doSendMagicEffect(topos,1)
               doPlayerAddSkillTry(cid,6,1)
           end
       elseif item2.itemid == 491 or item2.itemid == 492 then
           doSendMagicEffect(topos,1)
       end
   end
   return 1
end

 

3º: Adicione esta tag no seu action.xml.

[spoiler=Tag]

<action itemid="2580" script="fishing.lua" allowfaruse="1"/>

 

4º: Crie um arquivo chamado pescapaga na pasta scripts de suas actions.

[spoiler=pescapaga.lua]

-- Hunt paga 2.0 by mock
function onUse(cid, item, frompos, item2, topos)

positem1 = {[color="Red"]x=178, y=137, z=7[/color], stackpos=2} -- Posição de onde vai ficar o dinheiro
magicitem1 = getThingfromPos(positem1)

if item.actionid == 9999 then
if magicitem1.itemid == [color="Magenta"]2152[/color] then

 doRemoveItem(magicitem1.uid,[color="Lime"]1[/color])
 doSendMagicEffect(positem1,31)
 nplayerpos = {[color="DarkOrange"]x=179, y=135, z=7[/color]} -- Posição de onde o player vai sair ao pagar
 doTeleportThing(cid, nplayerpos)
else
   doPlayerSendCancel(cid,"Ponha 100gp do lado da lavanca!")
end
else
  doPlayerSendCancel(cid,"Não dá")
end

return 1

end

 

 

5º: Adicione essa tag no seu actions.xml.

[spoiler=Tag]

<action actionid="9999" script="pescapaga.lua" />

 

 

6º: Crie se quiser ou se não tiver um npc que vende minhocas e varas. Crie um arquivo chamado pesca na pasta scripts de seus npcs.

[spoiler=pesca.lua]

local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)
 	if focus == cid then
         selfSay('Good bye then.')
         focus = 0
         talk_start = 0
 	end
end


function onCreatureTurn(creature)

end


function msgcontains(txt, str)
 	return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end


function onCreatureSay(cid, type, msg)
 	msg = string.lower(msg)

 	if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
 		selfSay('Ola, ' .. getCreatureName(cid) .. '! Eu vendo fishing rods e worms.')
 		focus = cid
 		talk_start = os.clock()

 	elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
 		selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.')

elseif focus == cid then
	talk_start = os.clock()

	if msgcontains(msg, 'fishing rod') then
		buy(cid,2580,getCount(msg),100)
	elseif msgcontains(msg, 'worms') then
		buy(cid,3976,getCount(msg),1)	

	elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
		selfSay('Good bye, ' .. getCreatureName(cid) .. '!')
		focus = 0
		talk_start = 0
	end
end
end


function onCreatureChangeOutfit(creature)

end

function onThink()

if (os.clock() - talk_start) > 20 then
 		if focus > 0 then
 			selfSay('...')
 		end
 			focus = 0
 	end
	if focus ~= 0 then
		if getDistanceToCreature(focus) > 5 then
			selfSay('...')
			focus = 0
		end
	end
end

 

7º: Crie um arquivo chamado Pescador.xml na pasta de seus npcs.

[spoiler=Pescador.xml]

<?xml version="1.0"?>

<npc name="Pescador" script="data/npc/scripts/pesca.lua" access="5" lookdir="1" autowalk="25">
<health now="1" max="1"/>
<look type="57" head="20" body="30" legs="40" feet="50" corpse="3128"/>
</npc>

 

 

8º: Adicione a tag do npc no criatures do seu map editor

[spoiler=Tag]

<creature looktype="57" name="Pescador" head="20" body="30" legs="40" feet="50" type="npc"/>

 

 

9º: Explicanodo script pescapaga citado no post.

 

Vermelho: Posição de onde o player coloca o dinheiro.

Rosa: ID do dinheiro usado isto-é crystal coin,gold coin e etc.

Verde: Quantidade do dinheiro colocado como ex: 1 platinum.

Laranja: Posição de onde o player sai ao pagar e puxar a lavanca.

 

E acabou!!!! :happy2:

Obrigado!

Duvidas postem aqui!

Por favor me digam se não estiver claro o bastante.

 

 

70% dos créditos para o Mock pois o script é dele eu apenas usei para outra coisa.

30% dos créditos para mim por ter a idéia e criar outra forma de usa-lo.

 

FIM!!!

Editado por gugusinbansai
Tópico confuso!

Compartilhar este post


Link para o post
Mock    32
Mock

Comentario:

Acho que 30% dos creditos p min e 70% pra vc.

 

 

Aprovadoico_aprovado.png & Movidoicon_movido.giffechado22xnux7.gif

 

mock.png

Compartilhar este post


Link para o post
Gorgulf    0
Gorgulf

nossa, muito bom o script :)

bom pra divertir os players

Compartilhar este post


Link para o post
gugusinbansai    0
gugusinbansai

Obrigado, isso que nos incentiva a continuar!

Compartilhar este post


Link para o post
spoadbubble    0
spoadbubble

nao seria possivel criar a mesma para 8.50 + ? ;x

juntando de tudo aki e montarei 1 servidor bem r0x

si alguem puder me ajudar agradeço ! :D

Compartilhar este post


Link para o post
Notorious    1
Notorious

Bom, ta bem confuso o script né, voce nao identou ou usou code=lua.

É errado usar return 1 ou return 0, tanto 0 quanto 1 tem o mesmo valor, true, então nao faz sentido, tente usar return false ou return true.

 

Mas no geral, ta bem legal e sem erros de sintaxe "]

Compartilhar este post


Link para o post
gugusinbansai    0
gugusinbansai

Tentei melhorar acho que está mais organizado agora!

Obrigado!

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×