Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Galera, como faço pra criar uma area que so donate entra ?

Queria também um item pra dar donate pra pessoa, um item que só arruma com GOD dando!

Link para o post
Compartilhar em outros sites

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites
Link para o post
Compartilhar em outros sites

Ah, você quer um vip sistem com um item de ativação ?


Crie um arquivo em actions>script 
 
Nomeie viptibiaking.lua       lembre-se, formato .lua

--[[ Script by caronte 
         visit: tibiaking.com ]]--


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


storage = getPlayerStorageValue(cid,2765) 


 if item.itemid == 8982 and storage >= 1 then 
        doPlayerSendCancel(cid,"You are already vip.")
doSendMagicEffect(topos,2)
  else
       doPlayerSendTextMessage(cid,22,"You are vip now.")
          doSendMagicEffect(topos,12)
            setPlayerStorageValue(cid,2765,1)
             doPlayerRemoveItem(cid,8982,1)
  end


  return false


     end

Em actions.xml adicione essa Tag:


<action itemid="8982" script="viptibiaking.lua"/>

Em movements>scripts crie tibiakingpiso.lua
 


--[[ script by
         caronte, visit: tibiaking.com ]]-- 

function onStepIn(cid, item, pos)

local efeitopos = getPlayerPosition(cid)  

doSendMagicEffect(efeitopos,6)
doPlayerSendTextMessage(cid,TALKTYPE_ORANGE_1, "You are welcome.")

-- teleports config
teleport1 ={x=160, y=54, z=7}



if isPlayer(cid) then

if item.actionid == 2765 then

vip = getPlayerStorageValue(cid,2765)
if vip == -1 then
doPlayerSendCancel(cid,"You is not vip")


doTeleportThing(cid,teleport1)


else

end

  end

      end

           end

 
Em movements.xml adicione essa Tag:

<movevent type="StepIn" uniqueid="2765" event="script" value="tibiakingpiso.lua"/>

Pronto agora é só colocar uniqueid e actionid 2765 no piso que você quer que seja o vip, e o item é só clicar nele, 
 
o item é 8982

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

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Tomei a liberdade de alterar algumas coisas em ambos scripts, nada que altere as funções dele mas dessa forma ele fica mais compacto e bonito (e consequentemente de mais fácil entendimento).

Log de alterações:


Você ja tá declarando que o script só vai ser chamado ao usar o item 8982 então é desnecessário fazer uma checagem pra ver se o id do item realmente é esse. A gente apenas faz essa checagem qnd declara o script pra mais de um itemid/actionid/uniqueid ou quando utiliza o Use With (como a pick por exemplo) que daí que vc tem que checar o item que em que é usado (item2.itemid/itemEx.itemid);
Tente identar os scripts também pro pessoal ver a ordem dos if's (identar é apertar tab e deixar nesse esquema:
função
     if
       coisas do if
    end
return true
end

Também removi as variáveis que você criou pois elas não são necessárias, vc cria uma variável apenas qnd for utizar o valor dela inúmeras vezes, em ambos os scripts vc criou variáveis pra utilizar somente uma vez.
As variáveis chamadas imutáveis podem ser escritas fora do callback como eu fiz no movements:

-- teleports config
teleport1 = {x=160, y=54, z=7}          -------- VARIAVEL IMUTÁVEL (a posição não vai mudar nunca e ela não depende do server estar ou não ligado.)

function onStepIn(cid, item, pos) ----- CALLBACK DE MOVEMENTS

 

Por ultimo lembre de sempre colocar um return pro callback, se tiver em dúvida sempre coloque return true.
Nota: return true não é igual a return 1 e nem igual a return TRUE.


 

--[[ Script by caronte 
         visit: tibiaking.com ]]--
		 
 function onUse(cid, item, frompos, item2, topos)
	if getPlayerStorageValue(cid,2765) >= 1 then 
		doPlayerSendCancel(cid,"You are already vip.")
		doSendMagicEffect(topos,2)
	else
		doPlayerSendTextMessage(cid,22,"You are vip now.")
		doSendMagicEffect(topos,12)
		setPlayerStorageValue(cid,2765,1)
		doPlayerRemoveItem(cid,8982,1)
	end
return true
end
--[[ script by
         caronte, visit: tibiaking.com ]]-- 
		 
-- teleports config
teleport1 = {x=160, y=54, z=7}

function onStepIn(cid, item, pos)
doSendMagicEffect(getPlayerPosition(cid)  ,6)
doPlayerSendTextMessage(cid,TALKTYPE_ORANGE_1, "You are welcome.")
	if isPlayer(cid) then
		if getPlayerStorageValue(cid,2765) == -1 then
			doPlayerSendCancel(cid,"You are not vip")
			doTeleportThing(cid,teleport1)
		end
	end
return true
end

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

 

Tomei a liberdade de alterar algumas coisas em ambos scripts, nada que altere as funções dele mas dessa forma ele fica mais compacto e bonito (e consequentemente de mais fácil entendimento).

Log de alterações:

Você ja tá declarando que o script só vai ser chamado ao usar o item 8982 então é desnecessário fazer uma checagem pra ver se o id do item realmente é esse. A gente apenas faz essa checagem qnd declara o script pra mais de um itemid/actionid/uniqueid ou quando utiliza o Use With (como a pick por exemplo) que daí que vc tem que checar o item que em que é usado (item2.itemid/itemEx.itemid);

Tente identar os scripts também pro pessoal ver a ordem dos if's (identar é apertar tab e deixar nesse esquema:

função
     if
       coisas do if
    end
return true
end

Também removi as variáveis que você criou pois elas não são necessárias, vc cria uma variável apenas qnd for utizar o valor dela inúmeras vezes, em ambos os scripts vc criou variáveis pra utilizar somente uma vez.

As variáveis chamadas imutáveis podem ser escritas fora do callback como eu fiz no movements:

Por ultimo lembre de sempre colocar um return pro callback, se tiver em dúvida sempre coloque return true.

Nota: return true não é igual a return 1 e nem igual a return TRUE.

 

--[[ Script by caronte 
         visit: tibiaking.com ]]--
		 
 function onUse(cid, item, frompos, item2, topos)
	if getPlayerStorageValue(cid,2765) >= 1 then 
		doPlayerSendCancel(cid,"You are already vip.")
		doSendMagicEffect(topos,2)
	else
		doPlayerSendTextMessage(cid,22,"You are vip now.")
		doSendMagicEffect(topos,12)
		setPlayerStorageValue(cid,2765,1)
		doPlayerRemoveItem(cid,8982,1)
	end
return true
end
--[[ script by
         caronte, visit: tibiaking.com ]]-- 
		 
-- teleports config
teleport1 = {x=160, y=54, z=7}

function onStepIn(cid, item, pos)
doSendMagicEffect(getPlayerPosition(cid)  ,6)
doPlayerSendTextMessage(cid,TALKTYPE_ORANGE_1, "You are welcome.")
	if isPlayer(cid) then
		if getPlayerStorageValue(cid,2765) == -1 then
			doPlayerSendCancel(cid,"You are not vip")
			doTeleportThing(cid,teleport1)
		end
	end
return true
end

 

Perfeito cara, valeu pela explicação...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites
  • 3 months later...

Como faço pra mim Por esse item pra ser o Donate? ID: [6103]

Eu Já mudei ele na Script, coloquei o 6103 más quando clico ao invez de o item Sumir e eu virar Donate, ele abre! No Caso ele é um Book, Tem como eu tirar isso?

Fazer ele virar donate?

 

Exemplo: http://prntscr.com/6ivihr

Fiz o teste com outro item, Funcionou, mas só tem um BUG!

Todos Players Estão passando por ali!

http://prntscr.com/6ivkas

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

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo