Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

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

  Citar
Nome: Scripts para Poketibia

Autor: Doughell (eu)

Versão testada: Servidor de Pokémon (8.54)

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 = 15 -- tamanho maximo do nome

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

local proibido = [{"!","@","*"}-- 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.pngDitto 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,2145,10) == TRUE then

doPlayerAddItem(cid,1738,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, 21)

doPlayerAddSoul(cid, 1)

doPlayerRemoveItem(cid,1738,1)


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.pngKit 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,2145,2) == TRUE then

doPlayerAddItem(cid,2269,100)

doPlayerAddItem(cid,2275,100)

doPlayerAddItem(cid,2146,100)

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&#227;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!

Detalhe: as cores nos scripts foram retiradas por bug, em outra hora adicionarei novamente!

Editado por Matheus (veja o histórico de edições)

E-mail para contato: gigo_xl@hotmail.com

Quer ter um fórum mais organizado? Cumpra as regras!

EU VOLTEI GAROTAS!

31/12/2011

Atenciosamente,

Guilherme Salviati.

  • Respostas 19
  • Visualizações 20.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Tópico muito bem formatado e bem explicado, parabéns. reputado.

  • Hmm, bons scripts Foi vc que fez eles? Obrigado por compartilhar... ps: Vc poderia deixar mais configuravel, usar variaveis e talz (:

  • @Kimoszin É sim de minha autoria todos scripts, no caso do !buyshopkit, eu peguei o comando !aol de base e apenas refiz o item que ganharia, quanto lhe custaria... É sobre sujestão, estarei trabal

Postado
  • Autor

@Kimoszin

É sim de minha autoria todos scripts, no caso do !buyshopkit, eu peguei o comando !aol de base e apenas refiz o item que ganharia, quanto lhe custaria...

É sobre sujestão, estarei trabalho nelas :D

@Augusto

Muito obrigado pelo comentário e pelo REP+

-

Queria avisar ao povo do fórum, que algumas mensagems estão com alguns bugs com alguns caracters especiais por exemplo: #$4's

Isso é porquê usei o "~" ou até mesmo acento! Antes de adicionar e salvar o script, confira as mensagems para não ocorrer bugs :D

E-mail para contato: gigo_xl@hotmail.com

Quer ter um fórum mais organizado? Cumpra as regras!

EU VOLTEI GAROTAS!

31/12/2011

Atenciosamente,

Guilherme Salviati.

Postado
  • Administrador

Isso não é um bug, ocorre quando você usa o bbcode

, ele edita todos os caracteres para a forma bruta de escrita na informatica, mas o script vai reconhecer por exemplo "Pok#$4'smon" como "Pokémon" ao ser executado. 
 
Belo tópico, reputado!

TibiaKing Team- KingTópicos
www.tibiaking.com

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo