Ir para conteúdo

Featured Replies

Postado

MEU OT TEM UM SYSTEM POINTS QUE SERIA FUNCIONAL ATRAVÉS DO SITE, PORÉM EU NAO USO SITE, E O UNICO JEITO DE DAR PONTOS PARA OS PLAYERS É ATRAVÉS DO COMANDO: "/ADDPOINTS NICKDOPLAYER, QUANTIDADE DE PONTOS"

PORÉM, QUERIA UMA TALKACTION QUE O PLAYER POSSA COMPRAR POINTS USANDO UMA CERTA QUANTIDADE DE COINS. 

  • Respostas 21
  • Visualizações 1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Ops, desculpe a demora, estava no trabalho. De fato havia um erro na função.   Troque-a por: function onSay(cid, words, param) --============== PARTE CONFIGURAVEL ====----------------

Posted Images

Postado
  • Autor
6 horas atrás, Xagah disse:

Cola o 'script' do comando do GOD que crio um para 'player' aqui.

Esse é o script que eu uso de Points:

 

Citar

function onSay(cid, words, param)
if(words == "!points") then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem "..getPoints(cid).." Points.")
elseif(words == "!rankpoints") then
local max_players,str = 20,""
str = "--[ RANK POINTS ]--\n\n"
                query = db.getResult("SELECT `name`, `points` FROM `players` WHERE `points` > -1 AND `id` > 6 AND `group_id` < 2 ORDER BY `points` DESC, `name` ASC;")
                if (query:getID() ~= -1) then k = 1 while true do
str = str .. "\n " .. k .. ". " .. query:getDataString("name") .. " - [" .. query:getDataInt("points") .. "]"
                k = k + 1
                if not(query:next()) or k > max_players then break end end query:free()end
                if str ~= "" then doShowTextDialog(cid,6500, str) end
elseif(words == "/addpoints") then  
if getPlayerAccess(cid) == 5 then
local t = string.explode(param, ",")  
if not t[1] or not t[2] then  return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  end  
local player = getPlayerByName(t[1])  
local points = t[2]  
local pid = getPlayerByNameWildcard(t[1])  
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then  
return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")  end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "você adicionou "..points.." Points do jogador "..t[1])  
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..points.." Points no seu character.")  
addPoints(player,points)
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você agora tem "..getPoints(player).." Points.")   
end
elseif(words == "/delpoints") then
if getPlayerAccess(cid) == 5 then
local t = string.explode(param, ",")  
if not t[1] or not t[2] then  return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  end  
local player = getPlayerByName(t[1])  
local points = t[2]  
local pid = getPlayerByNameWildcard(t[1])  
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then  
return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")  end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "você removeu "..points.." Points do jogador "..t[1])  
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram removidos "..points.." Points do seu character.")  
removePoints(player,points)
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você agora tem "..getPoints(player).." Points.")   
end
elseif(words == "/setpoints") then
if getPlayerAccess(cid) == 5 then
local t = string.explode(param, ",")  
if not t[1] or not t[2] then  return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  end  
local player = getPlayerByName(t[1])  
local points = t[2]  
local pid = getPlayerByNameWildcard(t[1])  
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then  
return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")  end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Agora o jogador "..t[1].." tem "..points.." Points no seu character.")  
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "agora você tem "..points.." Points do seu character.")  
setPoints(player,points)
end
end
return TRUE
end

 

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

Postado

Faz assim, dentro do seu 'talkactions.xml' vc adiciona o seguinte:

<talkaction log="yes" words="!buyvip" event="script" value="buyvip.lua"/>

E, dentro da pasta data > talkactions > script vc adiciona um 'script' de extensão '.lua' e salva o seguinte dentro:

function onSay(cid, words, param)
		config = 
		{
		days = 15, -- Número de Dias que poderá ser comprado
		item = 8181, -- Id do item que será removida para pagar a VIP
		qtde = 5, -- Quantidade de moedas que serão retiradas para pagar a VIP
		maxDays = 120, -- Quantidade máxima de Dias que um Player pode ter
		nameDoPlayer = getPlayerName(cid) -- não mude isto
		}
		
	if(getPlayerPremiumDays(cid) < config.maxDays) then
		if (doPlayerRemoveItem(cid,config.item,config.qtde)) then
			doSendMagicEffect(getThingPosition(cid), 13)
			doSendAnimatedText(getPlayerPosition(cid), "VIP!", TEXTCOLOR_RED)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você comprou " .. config.days .. " dias VIP.")	
			addPoints(config.nameDoPlayer,config.days)
		else
			doPlayerSendCancel(cid, "Você não tem moedas suficientes, " .. config.days .. " dias VIP custam 05 moedas.")
			doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
			return
		end
	else
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode comprar mais do que " .. config.days + config.maxDays .. " dias VIP.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
		return
	end
end

Tenta aí e vê o que dá.

 

Ajudei? Rep+

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Postado
  • Autor

Poxa cara, acho que você entendeu errado... o Sistema de Points não em nada haver com VIP(o ot já tem um Vip System que o player fala !buyvip e compra.. ). O problema é o seguindo, meu ot sem um Point System que funciona da seguinte forma: o player compra Points no game com dinheiro de verdade, e dentro do game tem diversos itens que só podem ser adquiridos usando esses points. Esse é o problema, nao quero nenhum tipo de pagamento real, quero que o player possa comprar os "Points" com dinheiro do jogo. Ex: 1 point = 2kk 

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.6k

Informação Importante

Confirmação de Termo