Ir para conteúdo

Safari Zone!


reizan

Posts Recomendados

Nome: Pokemon Safari

Versão: 8.54+

Tipo do script: Movements/Talkactions/Npc

Servidor Testado: TFS 0.3.6/Crying Damson

Autor: Naruhto (Otfans)

 

Este script é um pouco antigo mas funciona, achei em outro forum pois não encontrei algo parecido aqui e resolvi postar aqui. Segue abaixo as informações originais e a tradução feita por mim, então se houver algum erro no ingls não level a mal, estou a mais de 30hrs sem dormir ^^.

Pode parecer algo simples para quem sabe mas para quem não sabe como eu isso ajuda ^^...

 

 

* * <- comentários feitos por mim

 

Well my idea is a specail hunting area where you pay to a npc to get in and where you have a limited time to hunt, in this hunting area would be rare/powefull monsters.

Bem, minha ideia é uma area especial onde você ppaga um npc para entrar e onde você tem um tempo limitado para caçar, nesta area de caça deve ter monstros raros/poderosos.

 

Version 1.0

-This Version Have Some Bugs.

-Esta versão contem alguns erros

 

-Its Based in 2 Npcs.

-É baseado em 2 npcs.

 

-The First Npc You Pay and he Teleport You in.

-O primeiro Npc te teleporta pra dentro assim que você paga.

 

-The Second Npc Will Send People Out The Safari zone Every 10 Minutes.

-O segundo Npc irá enviar a pessoa para fora do Safari Zone a cada 10min.

 

-If There Are 8 or More People in the Safari Zone At Same Time When They Teleported out Probably They Will Get Debug For Stacking, so you need make The Exit Sqm PZ.

-Se 8 ou mais pessoas estiverem no Safari Zone ao mesmo tempo quando forem teleportados para fora provavelmente irão receber debug por empilhamento, então você precisa fazer uma area de saida PZ.

 

-You Would Place the Second Npc on Midle Of Your Safari Zone, and Make he Unmoveable, Make a Litle Island.

-Você poderia colocar o segundo Npc no meio do seu Safari Zone e faze-lo 'Unmoveable', faça uma pequena ilha.

 

*Configurações dos Npc1 e 2 foram removidos pois os códigos referentes ao uso por tempo também foi removido*

 

Update to Version 2.0

Changes:

-Removed Time Limit, and Added Step Limit.

-Removido Limite de tempo e adicionado limite por 'passos'

 

-Removed The Second Npc.

-Removido segundo Npc.

 

-Added The !safari Comand, it Will Tell You How Mouch Steps You have Left.

-Adicionado o comando !safari, isso irá te dizer quantos 'passos' você ainda tem.

 

-Added The !leave Comand, it Will Teleport You Out The Safari Zone in The Moment That You Want.

-Adicionado o comando !leave, isso irá te teleportar para fora do Safari Zone no momento que quizer.

 

-Fixed all Bugs.

-Todos os erros concertados.

 

-If The Player Logout In The Safari Zone, The Steps Counter Will Save.

-Se o jogador sair/fizer o logout dentro do Safari Zone o contador de passos irá ser salvo. (se vc tiver ainda uns 30 passos ao voltar vc ainda os terá)

 

-Added Configuration to The Steps That the Npc Sell.

-Adicionado a configuração dos 'passos' que o npc irá vender.

 

-If You Dint Pay and Try Go in the Safari Zone yuo Will Teleported Out.

-Se você não pagar e tentar entrar no Safari Zone você será teleportado para fora.

 

-Now you Can Make a Safari Zone, as Big as you Want, Without Place a Npc in Midle.

-Agora você pode fazer o Safari Zone tão grande quanto queira sem colocar o Npc no meio.

 

-Now You Dont Need The Exit Sqm be Protection Zone, Cause There Never Will Multiple Players Telerported Out at Same Time.

-Agora você não precisa setar a saida como PZ, pois não haverão multiplos players teleportados para fora ao mesmo tempo.

 

-If The Player Buy 300 Steps He Will Hunting 300 Steps (Before He Buy 10 Minutes but He Could Be Teleported out Whenever, without use hes time)

-Se o jogador comprar 300 'passos' ele irá caçar *até esse limite de* 300 'passos'(antes ele comprava 10minutos mas poderia ser teleportado para fora sempre, sem usar o tempo).

 

How Do This Work?

Como isso funciona?

 

The New System is Based in 4 Scripts, 1 Npc, 1 Movement, 2 Talkation.

O novo sistema é baseado em 4 scripts, 1 Npc, 1 Movement, 2 Talkaction.

 

-The Npc : Sell You The Steps and Teleport You in The Safari Zone.

-O Npc: Vende a você os 'passos' e teleporta você para o Safari Zone.

 

-Movement : Count the Steps, And Others Things.

-Movement: Conta os 'passos' e outras coisas.

 

-Talkations : Its Used to Teleport you out If You Want; Tell you How Many Steps you Have Left.

-Talkaction: É usado para teleportar você para fora sempre que quizer; diz a você quandos 'passos' ainda restam.

 

The 1st Script *Npc*

O Primeiro Script

 

Go to data/npc/scripts an create a file Called Safariin.lua inside Put This.

Va para a pasta data/npc/scripts e crie um arquivo chamado Safariin.lua dentro coloque isto.

 

Código:

 

 

local zone = {x=222, y=118, z=11} --- Change it to the Entry of Your safari Zone.

local storage = 20000 ---The Storage That you Check the Steps, The same Storage That The Npc, The Movement and Te Talkation Would Have.

local steps = 600 ---the number of steps that the player have to be in safari zone.

local cost = 20 ---Prize for Each Step.

---------------------------------------End Config--------------------------------------

local pay = cost * steps ---Do Not Edit This

local focus = 0 -- Do Not Edit This

local talk_start = 0 -- Do Not Edit This

local target = 0 -- Do Not Edit This

local following = false -- Do Not Edit This

local attacking = false --Do Not Edit This

 

function getPlayerMoney(cid)

gold = getPlayerItemCount(cid,2148)

plat = getPlayerItemCount(cid,2152)*100

crys = getPlayerItemCount(cid,2160)*10000

money = gold + plat + crys

return money

end

 

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('Hello ' .. getPlayerName(cid) .. '! I can take you to the safari zone.')

focus = cid

talk_start = os.clock()

 

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

selfSay('Sorry, ' .. getPlayerName(cid) .. '! I talk to you in a minute.')

 

elseif focus == cid then

talk_start = os.clock()

 

if msgcontains(msg, 'safari') then

selfSay('Do you want buy ' .. steps ..' Steps in the safari zone for ' .. pay ..' gold coins?')

talk_state = 1

 

 

elseif talk_state == 1 then

if msgcontains(msg, 'yes') then

if getPlayerMoney(cid) >= pay then

setPlayerStorageValue(cid,storage,0)

doTeleportThing(cid, zone)

doSendMagicEffect(zone,10)

doPlayerRemoveMoney(cid,pay)

 

else

selfSay('Sorry, you don\'t have enough money.')

end

end

talk_state = 0

 

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Good bye, ' .. getPlayerName(cid) .. '!')

focus = 0

talk_start = 0

end

end

end

 

 

function onCreatureChangeOutfit(creature)

end

 

function onThink()

doNpcSetCreatureFocus(focus)

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Next Please...')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Good bye then.')

focus = 0

end

end

end

-------------------By Nahruto----------------------------

 

 

 

Next go to data/npc and create a new xml file with this inside

Depois vá a pasta data/npc e crie um novo arquivo xml com *este código* dentro

 

Código:

<?xml version="1.0"?>

<npc name="NAME" script="data/npc/scripts/Safariin.lua" access="3" lookdir="2" autowalk="25">

<mana now="800" max="800"/>

<health now="200" max="200"/>

<look type="154" head="0" body="96" legs="97" feet="2" addons="3" />

</npc>

 

 

The 2nd Script. *Movements*

O segundo script

 

Go to data/movements/scripts and create a file called safari.lua inside put this.

Vá para a pasta data/movements/scripts e crie um arquivo chamado safari.lua dentro coloque isso.

 

Código:

 

 

local storage = 20000 ---The Storage That you Check the Steps, The same Storage That The Npc, The Movement and Te Talkation Would Have.

local out = {x=4469, y=4414, z=6} --- Change it to the Exit of Your safari Zone

local steps = 600 ---the number of steps that the player have to be in safari zone.

------------------------------------------------End Config-------------------------------------------------

function onStepIn(cid, item, pos)

if isPlayer(cid) == 1 then

stepleft = getPlayerStorageValue(cid,storage)

if stepleft <= steps and stepleft >= 0 then

setPlayerStorageValue(cid,storage,stepleft+1)

elseif stepleft >= steps then

setPlayerStorageValue(cid,storage,-1)

doTeleportThing(cid, out)

doSendMagicEffect(out,10)

doPlayerSendTextMessage(cid,22,"The Time in The Safari Zone is Over, Come Back Soon.")

elseif stepleft == -1 then

doTeleportThing(cid, out)

doSendMagicEffect(out,10)

doPlayerSendTextMessage(cid,22,"You Are Not Allowed To be in The Safari Zone.")

end

end

end

-------------------By Nahruto----------------------------

 

 

This Part is Important You Would Select a Ground Type That You Dont Have in any other Area of your map.

Esta parte é importante, vocêdeve selecionar um tipo de 'chão' que você NÃO tem em parte alguma do seu mapa.

 

in data/movements/movements.xml add this line

em data/movements/movements.xml insida esta linha

 

Código:

 

<movevent event="StepIn" itemid="XXXX" script="safari.lua" />

 

Change The XXXX to ID of the Ground you Select.

Altere o XXXX para o ID do 'chão' selecionado

 

*caso queira adicionar outros Grounds, simplesmente adicione outra linha com outro id mas o mesmo script*

 

 

The 3th Script. *Talkactions*

O terceiro script

 

Goto to data/talkations/scripts and create a new file Called safari.lua inside put this.

Vá para pasta data/talkactions/scripts e crie um novo arquivo chamado safari.lua dentro coloque isso.

 

Código:

local storage = 20000 ---The Storage That you Check the Steps, The same Storage That The Npc, The Movement and Te Talkation Would Have.

local out = {x=4469, y=4414, z=6} --- Change it to the Exit of Your safari Zone

--------------------------------------------------------------------------------------------------------------------------

function onSay(cid, words, param)

inzone = getPlayerStorageValue(cid,storage)

if inzone == -1 then

doPlayerSendTextMessage(cid,22,"You Are not In The Safari Zone.")

elseif inzone > -1 then

doTeleportThing(cid,out)

doPlayerSendTextMessage(cid,22,"You Have Left the Safari Zone, Come Back Soon.")

setPlayerStorageValue(cid,storage,-1)

doSendMagicEffect(out,10)

end

end

-------------------By Nahruto----------------------------

 

 

The 4th Script. *Talkactions*

O quarto script.

 

Goto to data/talkations/scripts and create a new file Called safaristeps.lua inside put this.

Vá para a pasta data/talkactions/scripts e crie um novo arquivo chamado safaristeps.lua e dentro coloque isso.

 

Código:

local storage = 20000 ---The Storage That you Check the Steps, The same Storage That The Npc, The Movement and Te Talkation Would Have.

local steps = 600 ---the number of steps that the player have to be in safari zone.

---------------------------------------------End Config-----------------------------------------------------------------------------

function onSay(cid, words, param)

inzone = getPlayerStorageValue(cid,storage)

left = steps - inzone

if inzone == -1 then

doPlayerSendTextMessage(cid,22,"You Are not In The Safari Zone.")

elseif inzone > -1 then

doPlayerSendTextMessage(cid,22,"You Have " .. left .. " Steps Left in the Safari Zone.")

end

end

-------------------By Nahruto----------------------------

 

 

Now Go to data/talkations/talkations.xml and add this Lines.

Agora vá para data/talkactions/talkactions.xml e adicione estas linhas.

 

Código PHP:

<talkaction words="!leave" script="safari.lua" />

<talkaction words="!safari" script="safaristeps.lua" />

 

Ok now all the Scripts are Ready.

Ok agora todos os Scripts estão prontos.

 

Now You Would Place the npc on the map editor And build You Safari Zone.

Agora você pode colocar o npc no map editor*de sua preferência* e construir seu Safari Zone.

 

The Ground of the Safari Zone Would be the Same in all the area, and not will be the same of other area.

O 'chão' do Safari Zone deve ser o mesmo em toda a area e não deverá ser o mesmo de outra area.

 

Change The Config of the Scripts, they Are Easy to Config.

Mude a configuração dos scripts, eles são faceis de configurar.

 

Examples:

I Say !safari, it Reply "23:46 You Have 574 Steps Left in the Safari Zone."

I Say !leave, im Teleported Out and it Say "23:47 You Have Left the Safari Zone, Come Back Soon."(and the Steps are Reset to 0)

I Try Go in the Safari Zone Without Pay, it Say "23:48 You Are Not Allowed To be in The Safari Zone."

I Use all My Steps in the Safari Zone, it say "23:51 The Time in The Safari Zone is Over, Come Back Soon."

 

-There Are Not Know Bugs.

-Não existem erros conhecidos.

 

-Next Version, Ill Try Use The Floor That You Want.

-Na próxima versão tentarei usar *(creio que ele quiz dizer Ground) 'chão'* que você quizer.

 

 

--------------------------------------------------

Seguinte peguei esse script ae la no forum vizio rs, OtBR ai eu coloquei ele no pokeserver que a galera ta ajudando a construir aqui para forum, mais so que ta com alguns probleminhas tipo, não sei se ele vai fase so isso que ta no script ou algo mas!. Mas vamo la!

 

Eu quero que ele me de 30 pokebolss especiais para dentro do safari zone eu tenho ja aqui a pokebolla propria para o safari zone, e não permitir que o player passa para dentro do safari com pokebolas a mais, ai o npc da as 30 pokeballs e telepota pra dentro do safari! ae quando acaba as 30 pokeball o player é teleportado sozinho para fora do safari!

 

Ressumindo converssa com o npc, pagava o valor de entrada, e teleportava o player pra dentro do safari com as 30 pokeballs e os pokemons apenas!

 

acho que intenderão, por gentileza da uma foça ae :)!

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

  • 1 month later...

Puts cara eu tava na PRECIZANCIA de um video pra explicar comu eu adiciono esse script porq tah muito fods de colokar ta dando uns erro muito loco imtaum fais um video aew xD

 

 

Aew quem tambeim tava na PRECIZANCIA de um video da +REP aew :DDD

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

×
×
  • Criar Novo...