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
  • Respostas 30
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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 ~= ni

achei um script similar :   pelo que eu intendi através de um comando o player transfere os pontos para outro players, porém queria usar um "X"  item por "trade" para efetuar a troca dos points   se alguém puder ajudar..   Adicione em 050-function :   function getPlayerVipPoints(cid) local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. "") if Info:getID() ~= LUA_ERROR then local Points= In

Em luascript.h, adicione essa linha:   static int32_t luaDoStartTrade(lua_State* L); coloca abaixo de linhas parecidas.     Em luascript.cpp, adicione isso: //doStartTrade(cid, target, item) lua_register(m_luaState, "doStartTrade", LuaInterface::luaDoStartTrade); coloca perto de linhas parecidas.   e em luascript.cpp ainda. coloca isso também: (perto de algo parecido) int32_t LuaInterface::luaDoStartTrade(lua_State* L) { ScriptEnviroment* env = ge

  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é..

Expand   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

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

    96843
    Tópicos
    519590
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo