Ir para conteúdo
  • Cadastre-se

(Resolvido)Trocar premium points no trade


Ir para solução Resolvido por Ed.Specter,

Posts Recomendados

adiciona a função que citei.

 

e vê se funciona esse aqui:

talkactions

function onSay(cid, words, param, param2, channel)

local t = string.explode(param, ",")
local target = getCreatureByName(t[1])
local points = tonumber(t[2])
local item = 2233
local storage = 21223

if(param == '') then
	return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
end

if (target ~= nil) and isPlayer(target) and not isPlayerGhost(target) then
	if (points ~= nil) and (type(points) == 'number') and (points>0) then
		if getPlayerVipPoints(cid) > points then
			local addItem = doPlayerAddItem(cid, item, 1)
			doStartTrade(cid, target, addItem)
			doItemSetAttribute(addItem, "description", "Transferência de "..points.." premium points.")
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você deu trade no jogador "..getPlayerName(target)..", com a intenção de trocar "..points.." premium points.")
			doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "O Jogador "..getPlayerName(cid).." deu trade em você, e está disposto a trocar "..points.." premium points.")
			setPlayerStorageValue(cid, storage, points)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem essa quantidade de premium points.")
		end
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
	end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end

return true
end

 

creaturescripts:

function onTradeAccept(cid, target, item)

local storage = 21223

local sto = getPlayerStorageValue(cid, storage)
if sto > 0 then
	doPlayerRemoveVipPoints(cid, sto)
	doPlayerAddVipPoints(target, sto)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você trocou "..sto.." premium points, Parabéns.")
	doPlayerSendTextMessage(target, MESSAGE_STATUS_CONSOLE_BLUE, "Você realizou uma troca e adquiriu "..sto.." premium points, Parabéns.")
	setPlayerStorageValue(cid, storage, 0)
end

return true
end

 

nesse caso você vai usar !trade NomeDoOutroPlayer, Quantidade de points. Exemplo: !trade Eduardo, 3

 

acho que deu pra ter uma boa base de como funciona..

não entendi direito esse do npc

download.jpg

Link para o post
Compartilhar em outros sites
  Em 19/12/2016 em 20:05, Ed.Specter disse:

adiciona a função que citei.

 

e vê se funciona esse aqui:

talkactions

function onSay(cid, words, param, param2, channel)

local t = string.explode(param, ",")
local target = getCreatureByName(t[1])
local points = tonumber(t[2])
local item = 2233
local storage = 21223

if(param == '') then
	return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
end

if (target ~= nil) and isPlayer(target) and not isPlayerGhost(target) then
	if (points ~= nil) and (type(points) == 'number') and (points>0) then
		if getPlayerVipPoints(cid) > points then
			local addItem = doPlayerAddItem(cid, item, 1)
			doStartTrade(cid, target, addItem)
			doItemSetAttribute(addItem, "description", "Transferência de "..points.." premium points.")
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você deu trade no jogador "..getPlayerName(target)..", com a intenção de trocar "..points.." premium points.")
			doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "O Jogador "..getPlayerName(cid).." deu trade em você, e está disposto a trocar "..points.." premium points.")
			setPlayerStorageValue(cid, storage, points)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem essa quantidade de premium points.")
		end
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
	end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end

return true
end

 

creaturescripts:

function onTradeAccept(cid, target, item)

local storage = 21223

local sto = getPlayerStorageValue(cid, storage)
if sto > 0 then
	doPlayerRemoveVipPoints(cid, sto)
	doPlayerAddVipPoints(target, sto)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você trocou "..sto.." premium points, Parabéns.")
	doPlayerSendTextMessage(target, MESSAGE_STATUS_CONSOLE_BLUE, "Você realizou uma troca e adquiriu "..sto.." premium points, Parabéns.")
	setPlayerStorageValue(cid, storage, 0)
end

return true
end

 

nesse caso você vai usar !trade NomeDoOutroPlayer, Quantidade de points. Exemplo: !trade Eduardo, 3

 

acho que deu pra ter uma boa base de como funciona..

não entendi direito esse do npc

Mostrar mais  

Booa, pow é chato mais faz um Tutorial ae com a base no que falei tambem, o do NPC, tipo...

O Transfer Points Documento vai ser vendido junto com o NPC que vende Parcel!

Só vai adicionar para ele vender um certo ID, um ID de uma folha, um Jornal, entendeu? Vamos dizer que esse documento se chama "Transfer Points Documento", você compra esse "Jornal" no npc sem valer nada, você da look, só aparece o nome do Item e o peso!

Ae com uma Talkactions por exemplo "!transfer 11 points documento" ae esse documento iria passar ter 11 Points nele entendeu?

Tipo a pessoa da Look e iria aparecer a quantidade de Points que aquele Documento passou a ter, claro que só ia transferir pontos para o Documento caso ele tenha essses pontos para ser transferido né..

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
  Em 19/12/2016 em 20:22, Digoshow disse:

Booa, pow é chato mais faz um Tutorial ae com a base no que falei tambem, o do NPC, tipo...

O Transfer Points Documento vai ser vendido junto com o NPC que vende Parcel!

Só vai adicionar para ele vender um certo ID, um ID de uma folha, um Jornal, entendeu? Vamos dizer que esse documento se chama "Transfer Points Documento", você compra esse "Jornal" no npc sem valer nada, você da look, só aparece o nome do Item e o peso!

Ae com uma Talkactions por exemplo "!transfer 11 points documento" ae esse documento iria passar ter 11 Points nele entendeu?

Tipo a pessoa da Look e iria aparecer a quantidade de Points que aquele Documento passou a ter, claro que só ia transferir pontos para o Documento caso ele tenha essses pontos para ser transferido né..

Mostrar mais  

 

posta o npc. faço pra vc.

  Em 19/12/2016 em 20:22, Digoshow disse:

Booa, pow é chato mais faz um Tutorial ae com a base no que falei tambem, o do NPC, tipo...

O Transfer Points Documento vai ser vendido junto com o NPC que vende Parcel!

Só vai adicionar para ele vender um certo ID, um ID de uma folha, um Jornal, entendeu? Vamos dizer que esse documento se chama "Transfer Points Documento", você compra esse "Jornal" no npc sem valer nada, você da look, só aparece o nome do Item e o peso!

Ae com uma Talkactions por exemplo "!transfer 11 points documento" ae esse documento iria passar ter 11 Points nele entendeu?

Tipo a pessoa da Look e iria aparecer a quantidade de Points que aquele Documento passou a ter, claro que só ia transferir pontos para o Documento caso ele tenha essses pontos para ser transferido né..

Mostrar mais  

 

fiz aqui, não testei tudo...
testa tudo ai, e se achar qualquer bug me avisa!
desculpem a bagunça, faz um tempo que não faço um script assim..

 

em data/talkactions/scripts cria um arquivo lua e coloca isso dentro:

  Mostrar conteúdo oculto

 

em talkactions.xml coloca a tag:

talkaction words="!transferir(ou oq vc desejar)" event="script" value="NomeDoArquivo.lua"/>

 

em data/actions/scripts cria um arquivo.lua e coloca isso dentro:

  Mostrar conteúdo oculto

 

em actions.xml coloca a tag:

<action itemid="2161(id do item)" script="NomeDoArquivo.lua"/>

 

ai é só colocar o item pra vender no npc, ou como você desejar que os players consigam o item.

Editado por Ed.Specter (veja o histórico de edições)

download.jpg

Link para o post
Compartilhar em outros sites

Eu não pude testar ainda, vou ver se arrumo algo pra testar sem site, ae eu aviso aqui!!!

 

Porem amigo, porque você não faz um Tutorial, seria ótimo e bem organizado alem de ser um bom Tutorial..

Ou se quiser eu faço e coloco seus Creditos!

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
  Em 20/12/2016 em 20:17, Digoshow disse:

Eu não pude testar ainda, vou ver se arrumo algo pra testar sem site, ae eu aviso aqui!!!

 

Porem amigo, porque você não faz um Tutorial, seria ótimo e bem organizado alem de ser um bom Tutorial..

Ou se quiser eu faço e coloco seus Creditos!

Mostrar mais  

 

testa se funcionar, pode postar.

download.jpg

Link para o post
Compartilhar em outros sites
  • 1 month later...
  • 5 months later...
  • 5 weeks later...

no caso, o player ao dar trade normal com o (item) na bag, sem usar comando simplesmente voce usar a simples ação de dar trade no player seria uma action ? 

Link para o post
Compartilhar em outros sites
  • 4 weeks later...
  Em 19/12/2016 em 20:05, Ed.Specter disse:

adiciona a função que citei.

 

e vê se funciona esse aqui:

talkactions

function onSay(cid, words, param, param2, channel)

local t = string.explode(param, ",")
local target = getCreatureByName(t[1])
local points = tonumber(t[2])
local item = 2233
local storage = 21223

if(param == '') then
	return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
end

if (target ~= nil) and isPlayer(target) and not isPlayerGhost(target) then
	if (points ~= nil) and (type(points) == 'number') and (points>0) then
		if getPlayerVipPoints(cid) > points then
			local addItem = doPlayerAddItem(cid, item, 1)
			doStartTrade(cid, target, addItem)
			doItemSetAttribute(addItem, "description", "Transferência de "..points.." premium points.")
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você deu trade no jogador "..getPlayerName(target)..", com a intenção de trocar "..points.." premium points.")
			doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "O Jogador "..getPlayerName(cid).." deu trade em você, e está disposto a trocar "..points.." premium points.")
			setPlayerStorageValue(cid, storage, points)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem essa quantidade de premium points.")
		end
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
	end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end

return true
end

 

creaturescripts:

function onTradeAccept(cid, target, item)

local storage = 21223

local sto = getPlayerStorageValue(cid, storage)
if sto > 0 then
	doPlayerRemoveVipPoints(cid, sto)
	doPlayerAddVipPoints(target, sto)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você trocou "..sto.." premium points, Parabéns.")
	doPlayerSendTextMessage(target, MESSAGE_STATUS_CONSOLE_BLUE, "Você realizou uma troca e adquiriu "..sto.." premium points, Parabéns.")
	setPlayerStorageValue(cid, storage, 0)
end

return true
end

 

nesse caso você vai usar !trade NomeDoOutroPlayer, Quantidade de points. Exemplo: !trade Eduardo, 3

 

acho que deu pra ter uma boa base de como funciona..

não entendi direito esse do npc

Mostrar mais  

analisando nova mente o script funciona porem, nao e por comando e apenas colocar um item no trade e ele transferir como points seria tudo um creature script!!!!!

Link para o post
Compartilhar em outros sites
  • 3 years later...
  Em 19/12/2016 em 20:05, Ed.Specter disse:

adiciona a função que citei.

 

e vê se funciona esse aqui:

talkactions

function onSay(cid, words, param, param2, channel)

local t = string.explode(param, ",")
local target = getCreatureByName(t[1])
local points = tonumber(t[2])
local item = 2233
local storage = 21223

if(param == '') then
	return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
end

if (target ~= nil) and isPlayer(target) and not isPlayerGhost(target) then
	if (points ~= nil) and (type(points) == 'number') and (points>0) then
		if getPlayerVipPoints(cid) > points then
			local addItem = doPlayerAddItem(cid, item, 1)
			doStartTrade(cid, target, addItem)
			doItemSetAttribute(addItem, "description", "Transferência de "..points.." premium points.")
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você deu trade no jogador "..getPlayerName(target)..", com a intenção de trocar "..points.." premium points.")
			doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "O Jogador "..getPlayerName(cid).." deu trade em você, e está disposto a trocar "..points.." premium points.")
			setPlayerStorageValue(cid, storage, points)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem essa quantidade de premium points.")
		end
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
	end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end

return true
end

 

creaturescripts:

function onTradeAccept(cid, target, item)

local storage = 21223

local sto = getPlayerStorageValue(cid, storage)
if sto > 0 then
	doPlayerRemoveVipPoints(cid, sto)
	doPlayerAddVipPoints(target, sto)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você trocou "..sto.." premium points, Parabéns.")
	doPlayerSendTextMessage(target, MESSAGE_STATUS_CONSOLE_BLUE, "Você realizou uma troca e adquiriu "..sto.." premium points, Parabéns.")
	setPlayerStorageValue(cid, storage, 0)
end

return true
end

 

nesse caso você vai usar !trade NomeDoOutroPlayer, Quantidade de points. Exemplo: !trade Eduardo, 3

 

acho que deu pra ter uma boa base de como funciona..

não entendi direito esse do npc

Expand   Mostrar mais  

Desculpe reviver o tópico, alguém consegue passar esse scripts para tfs 1.3, eu já passei a função doStartTrade para tfs 1.3 só preciso do scripts agr.

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.

  • Estatísticas dos Fóruns

    96831
    Tópicos
    519564
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo