Ir para conteúdo

[talkaction] Versão 8.42 Add Premium Points


LorD Sybian

Posts Recomendados

-------------------------------

Nome: Add Premium Points

Versão: 8.42

Tipo do script: TalkAction

Servidor Testado: The Forgotten Server 0.3.4 Patch Level 2

Autor: KutyKutyx3

Bugs : esK~

-------------------------------

 

Este script server para você adicionar Premium Points à conta de um certo player sem precisar ir ao database.

 

Abra a pasta data/talkactions/scripts e crie um arquivo chamado addpoints.lua, e coloque isso nele:

 

function onSay(cid, words, param)
  local Data = string.explode(param, ",")
  if Data then
	  local Target = db.getResult("SELECT `name` FROM `players` WHERE `name` = " .. db.escapeString(Data[1]) .. ";")
	  if Data then
		  if (Target:getID() ~= -1) then
			  if Data[2] then
				  if (words:sub(2, 2) == "a") then
					  if isNumber(Data[2]) == TRUE then
						  db.executeQuery("UPDATE `accounts` SET `premium_points` = ".. Data[2] .." WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) .." LIMIT 1;")
						  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi adicionado ".. Data[2] .." premium points ao player ".. Data[1] ..".")
					  else
						  doPlayerSendCancel(cid, "Insira apenas numeros.")
					  end
				  else
					  doPlayerSendCancel(cid, "Para verificar uma vip não presisa inserir os dias.")
				  end
			  else
				  if (words:sub(2, 2) == "c") then
					  if premiumPointsByName(Data[1]) == 0 then
						  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." não tem pontos vip.")
					  elseif premiumPointsByName(Data[1]) == 1 then
						  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." tem ".. vipDaysByName(Data[1]) .." premium point.")
					  else
						  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." tem ".. vipDaysByName(Data[1]) .." premium points.")
					  end
				  else
					  doPlayerSendCancel(cid, "Insira a quantidade de dias que vai adicionar de vip ao player.")
				  end
			  end
		  else
			  doPlayerSendCancel(cid, "Este player ".. Data[1] .." não existe.")
		  end
	  end
  else
	  doPlayerSendCancel(cid, "Insira um nome.")
  end
  return TRUE
 end

 

Agora em data/talkactions/ abra o arquivo talkactions.xml e adicione as tags:

	<talkaction log="yes" words="/addpoints" access="5" event="script" value="addpoints.lua"/>
  <talkaction log="yes" words="/checkpoints" access="5" event="script" value="addpoints.lua"/>

 

Agora em data/lib/ abra o arquivo data.lua e adicione:

function premiumPointsByName(cid)
  local Query = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `accounts`.`id` = ".. getAccountIdByName(cid) ..";")
  local premium_points = Query:getDataInt("premium_points")
  return premium_points
 end

 

Para adicionar basta falar :

/addpoints Nomedoplayer, points

 

E para ver quantos pontos o player tem:

/checkpoints Playername

 

OBS : Fiz um bom uso de LuaSQL.

OBS : Estava com bugs e retirei alguns. (Créditos KutyKutyx3)

 

Bugs ?Reporte

Editado por esK~
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 1 month later...
  • 1 year later...
seu noob nem existe a pasta data/lib lixo mato vcsf otario

Nem vou falar nada por que senão eu seria suspenso =\

Reportado ^^

 

preciso de uma talk dessa para um ot de wodbo, acho que eh 8.00 ou 8.50 nao lembro.

Voce reviveu um topico de 2 anos atrás

Reportado ^^

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...