Ir para conteúdo
Entre para seguir isso  
Doughell

Scripts para Poketibia

Recommended Posts

Doughell    1
Doughell

Olá a todos!

Estou aqui para mostrar um script aonde será bem útil a servidores de Pokémon.

Não é nada mais do quem um SHOP in-game.

 

Como assim?

Com estes 3 comandos será possível comprar Revives, Hyper Potions, Ultra Balls, trocar de nome pelo jogo e até mesmo comprar o Ditto.

Detalhe o tipo de moeda que utilizei foi Small Diamonds, caso queria modificar leia passo a passo.

Como se percebe, a maioria de servidores hoje em dia vende apenas estes items e outros, mais esses são os padrões.

Chega de enrolação e vamos direto ao script.

 

divisor.png

 

Nome: Scripts para Poketibia
Autor: Doughell (eu)
Versão Testada: Versão 8.54 do servidor Pokémon de dalvorsn.
Comentário: --

 

divisor.png

 

Changename Script:

Primeiramente crie um arquivo em otserv/talkactions/scripts chamado changename.lua e adicione isso em seu arquivo.

(Este script serve para modificar o nome do jogador pelo jogo).

 

-- Creditos a Doughell
function onSay(cid, words, param)  
local maxLen = [color="#ff8c00"]15[/color] -- tamanho maximo do nome 
local itemid = [color="blue"]2145[/color] ------ Numero do Item que será removido 
local proibido = [color="#2e8b57"]{"!","@","*"}[/color] -- simbolos proibidos


     for i = 1, #proibido do           
         if string.find(tostring(param), proibido[i]) then              
            doPlayerSendCancel(cid,"[AUTO SHOP] You can not use symbols in their name.")              
            return TRUE          
         end      
     end               

     if tostring(param) == "" then -- checkar se não é nome vazio         
        doPlayerSendCancel(cid, "[AUTO SHOP] Choose a name to make the change of his surname.")         
        return TRUE       
     end              

     if string.len(tostring(param)) > maxLen then          
        doPlayerSendCancel(cid, "[AUTO SHOP] You can use a maximum of " .. maxLen .. " letters.")          
        return TRUE       
     end             

     if not getTilePzInfo(getCreaturePosition(cid)) then       
        doPlayerSendCancel(cid,"[AUTO SHOP] Can only be used in Protection Zone.")       
        return TRUE       
     end                    

     if getPlayerItemCount(cid, itemid) >= 1 then           
        doPlayerRemoveItem(cid, itemid, 5)           
        db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";")            
        doPlayerSendTextMessage(cid,25,"[AUTO SHOP] You will be logged out in 5 seconds for the changes to be made.")           
        addEvent(doRemoveCreature, 5*1000, cid, true)      
     else          
        doPlayerSendCancel(cid,"[AUTO SHOP] You don't have " .. getItemNameById(itemid) .. " to make the purchase of changename.")       
     end 
return TRUE 
end

 

Agora em talkactions.xml adicione em Players:

	<talkaction words="!changename" event="script" value="changename.lua"/>

 

-- Explicação do Script (Changename):

 

local maxLen = 15 -- tamanho maximo do nome

O número 15 e a quantidade máxima de caracteres que poderá ser utilizado na troca de nome.

 

local itemid = 2145 ------ Numero do Item que será removido

Este e o ID do item que será removido, no caso do 2145 e Small Diamonds (moeda principal do PokeXGames). Aconselho a usar Small Diamonds.

 

local proibido = {"!","@","*"} -- simbolos proibidos

Estes e os símbolos proibidos, caso queria adicionar mais faça o seguinte:

{"!","@","*","?"}

adicionando dessa seguinte maneira:

,"?"}

 

divisor.png

 

Ditto Script:

Crie um arquivo em otserv/talkactions/scripts com o nome de ditto2.lua e adicione isso em seu arquivo:

(Este script serve para adicionar a caixa do Ditto no jogador).

 

function onSay(cid,words,param)
if doPlayerRemoveItem(cid,[color="#ff8c00"]2145[/color],[color="blue"]10[/color]) == TRUE then
doPlayerAddItem(cid,[color="#2e8b57"]1738[/color],1)
doCreatureSay(cid,"[AUTO SHOP] You bought your Pokemon Ditto, it cost 10 diamonds.",TALKTYPE_ORANGE_1)
else
doCreatureSay(cid,"[AUTO SHOP] You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1)
end
end

 

Agora em talkactions.xml adicione em Players:

<talkaction words="!buyditto" event="script" value="ditto2.lua"/>

 

A segunda parte do script você precisa ir otserv/actions/scripts crie um arquivo chamado ditto_.lua e adicione o seguinte:

(Este script serve para o id da caixa ser usado para conseguir o Ditto)

 

function onUse(cid, item, frompos, item2, topos)

	if getPlayerStorageValue(cid, 15215) <= 100 then



			doPlayerSendTextMessage(cid, 20,"[AUTO SHOP] Thank donations.")

			setPlayerStorageValue(cid, 15215, 1)

			local pox = getTownTemplePosition(1)
			local health = 325
			local maxhealth = 325
			local description = "Contains a Ditto."
			local poke1 = "This is Ditto's pokeball. HP = ["..health.."/"..maxhealth.."]"

			item = doCreateItemEx(2219)
			doItemSetAttribute(item, "poke", poke1)
			doItemSetAttribute(item, "nome", "Ditto")
			doItemSetAttribute(item, "apelido", "Ditto")

			doItemSetAttribute(item, "description", description)
			doPlayerAddItemEx(cid, item, true)
			doTransformItem(item, 2222)
			doPlayerSendTextMessage(cid, 27, "[AUTO SHOP] You just get the Pokemon Ditto.")
			doPlayerSendTextMessage(cid, 27, "Do not forget to donate this item has a cost of 10 diamonds, and you can not get this Pokemon through quests / npcs / catchs.")
			doTeleportThing(cid, pox)
			doSendMagicEffect(pox, [color="#ff00ff"]21[/color])
			doPlayerAddSoul(cid, [color="red"]1[/color])
			doPlayerRemoveItem(cid,1738,[color="#4b0082"]1[/color])

			setPlayerStorageValue(cid, 54842, "Ditto, ")
			return TRUE
	else
			doPlayerSendTextMessage(cid, 20, "Have you got this Pokemon.")
	end

end

 

Agora em actions.xml adicione:

	<action itemid="1738" event="script" value="ditto_.lua"/>

-- Explicação do Script (Ditto):

PARTE DAS TALKACTIONS

 

if doPlayerRemoveItem(cid,2145,10) == TRUE then

O número 2145 e o id da Small Diamonds, já o número 10 e a quantidade de Small Diamonds que precisa para comprar o Ditto.

 

doPlayerAddItem(cid,1738,1)

O número 1738 e o id da box, caso modificar este número modifique tambem em actions.xml!

 

PARTE DAS ACTIONS

 

doSendMagicEffect(pox, 21)

O número 21 e o número do efeito que vai ser utilizado ao abrir a box, pode ser modificado em qual você preferir.

 

doPlayerAddSoul(cid, 1)

Será adicionado 1 de soul, como se fosse 1 de catch (dependendo de alguns servidores) se preferir retire a linha inteira.

 

doPlayerRemoveItem(cid,1738,1)

Este e o id da box, caso você muda-lá na talkactions, e na actions.xml mude aqui tambem.

 

divisor.png

 

Kit Script:

Crie um arquivo em otserv/talkactions/scripts chamado kit.lua e adicione isso dentro dele:

(Este script serve para receber Revives, Ultra Balls e Hyper Potions).

 

function onSay(cid,words,param)
if doPlayerRemoveItem(cid,[color="#ff8c00"]2145,2[/color]) == TRUE then
doPlayerAddItem(cid,[color="red"]2269,100[/color])
doPlayerAddItem(cid,[color="blue"]2275,100[/color])
doPlayerAddItem(cid,[color="#ff00ff"]2146,100[/color])
doCreatureSay(cid,"[AUTO-SHOP]: You just buy ultra ball 100x, 100x revive and 100x hyper potion. All this will cost 2 diamonds!",TALKTYPE_ORANGE_1)
else
doCreatureSay(cid,"[AUTO-SHOP]: You do not have two diamonds to make the purchase.",TALKTYPE_ORANGE_1)
end
end

 

Agora em talkactions.xml adicione:

	<talkaction words="!buykit" event="script" value="kit.lua"/>

-- Explicação do Script (Kit):

 

if doPlayerRemoveItem(cid,2145,2) == TRUE then

O id 2145 e o Small Diamonds e o número 2 e a quantidade que será retirada para a realização da compra do kit.

 

doPlayerAddItem(cid,2269,100)

O id 2269 e o da Ultra Ball e o número 100 e a quantidade que o player receberá de Ultra Balls.

 

doPlayerAddItem(cid,2275,100)

O id 2275 e o do Revive, e o número 100 e a quantidade que o player receberá de Revives.

 

doPlayerAddItem(cid,2146,100)

O id 2146 e o da Hyper Potion, e o número 100 e a quantidade que o player receberá de Hyper Potions.

 

divisor.png

 

Bom, estes são os scripts prometido, mas se alguém quiser coloca outras talkactions como a !buykit vou colocar abaixo o que poderam usar de base:

 

function onSay(cid,words,param)
if doPlayerRemoveMoney(cid,10000) == TRUE then
doPlayerAddItem(cid,2173,1)
doCreatureSay(cid,"Mensagem que ele conseguiu comprar o item.",TALKTYPE_ORANGE_1)
else
doCreatureSay(cid,"Mensagem quando não possui dinheiro ou diamantes suficientes.",TALKTYPE_ORANGE_1)
end
end

divisor.png

 

if doPlayerRemoveMoney(cid,10000) == TRUE then

Essa função diz que irá remover 10k para comprar o item, se você quiser que remova outra coisa por exemplo um shield você adiciona a seguinte função no lugar dessa:

 

doPlayerRemoveItem(cid,1738,1)

ficando assim:

doPlayerRemoveItem(cid,1738,1) = TRUE then

O id do shield você modifica no 1738 e a quantidade no número 1.

 

 

doPlayerAddItem(cid,2173,1)

Esas função adiciona o item e a quantidade no jogador, exemplo:

2173 e o ID do item, e o número 1 e a quantidade só modificar do seu gosto.

 

O que você pode adicionar em um script?

Efeitos, para adicionar um efeito basta colocar essa função:

 

doSendMagicEffect(getThingPos(cid), 132)

O número 132 e o número do efeito, para pesquisar mais procure pelo jogo no GOD o seguinte:

/z 1, /z 2, /z 3 até o seu limite.

divisor.png

 

É isso ai galera, qualquer dúvida postem ou dêem sujestões! OiaeuMae

Editado por Doughell
Formatação do texto

Compartilhar este post


Link para o post
Lwkass    1
Lwkass

Creio que não tenha algo desse tipo no forum,

Obrigado pela contribuição !

Compartilhar este post


Link para o post
Volans    0
Volans

otimo script, nunca tinha visto esse script antes!!

vai me ajudar muito em meu servidor de Pokemon.

Compartilhar este post


Link para o post
dav9shal    1
dav9shal

Muito TOP vey! Gostei pra caramba desse seu talkaction ;D

Compartilhar este post


Link para o post
Doughell    1
Doughell

Galera agradeço aos comentários e estou trabalhando no script do changender para que troque de sexo por Small Diamonds, fazendo o NPC Dalk ficar 100% que troca o player de cidade, essa função é chamda de (hometown), que venda bless e colocarei tambem a troca de sexo!

Vou ver se ja possui o NPC Dalk completo se não eu posto no forum até sexta aproveitando tudo isso, postarei uma creaturescripts bem util que divulga que um player entrou no servidor e saiu do servidor.

Editado por Doughell
Formatação do texto

Compartilhar este post


Link para o post
Geovani    0
Geovani

Sweet Dreams are Made of this.

Nice script vai impulcionar 100% nos servidores de pokemons

 

REP+ Pelo script

Compartilhar este post


Link para o post
Doughell    1
Doughell

Obrigado pelo comentário Geovani, estava pensando em criar um servidor de Pokemon completo, adicionando boost, os scripts que acabei fazendo e outros como e-mail system e etc... Já estou ate providenciando o mapa, pois sou mapper mais não sei se tudo vai dar certo, hehe.

Editado por Doughell
Formatação do texto

Compartilhar este post


Link para o post
Biozard    0
Biozard

Po muito bom isso...vlws vai ajudar os car aque tao fazendo pokemon server...

Compartilhar este post


Link para o post
Doughell    1
Doughell

Biozard agradeco ao comentario!

E pessoal acabei liberando um novo creaturescript e por falta de tempo nao fiz ainda o NPC Dalk, mais tenham paciencia que terminarei, so mecho com scripts finais de semana e de dias de semana estudo!

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.

×