Ir para conteúdo

[ Pedidos ] Talkaction Que Venda Item Com O Nick Do Player E God Adicionando Premium Time Pra Player


DaNDaNrOxX

Posts Recomendados

Faala galera!!

Tô precisano de 2 scripts, espero que alguém possa me ajudar..

 

O primeiro que eu queria é o seguinte, ao pronunciar algumas palavras (ex: !buy boots), o player perca XXX dias de premium e ganhe um item com o id XXX. Na descriação deste item, estaria o nick do player que a comprou, e através de movements, apenas o player que a comprou poderia usar ela.

 

O segundo, é um comando de GOD adicionar premium time em players (ex: /premium NICK_DO_CHAR dias_de_premium). Se tiver como usar mysql (para poder adicionar a premium com o player offline) seria melhor ainda :D

-> Download da database do server <-

 

Teria como alguém fazer estes scripts para mim?

 

 

 

 

Abraços!

Editado por Daniel Oliveira
Link para o comentário
Compartilhar em outros sites

Eu fiz, mas não testei e não sei se sua database é igual a minha, mas vamos lá...

 

Em data/talkactions/scripts crie o arquivo premmyTime.lua e adicione isto:

function onSay(cid, _, param)

local expString, playerPos = string.explode(param, ","), getThingPos(cid)
local playerStr, daysStr = expString[1], expString[2]

if not playerStr or not daysStr then
	doPlayerSendCancel(cid, "Você precisa adicionar o nome do jogador e os dias premium. /premium Nickname, dias")
	doSendMagicEffect(playerPos, 2)
	return true
end

if not playerExists(playerStr) then
	doPlayerSendCancel(cid, playerStr ..": Este jogador não existe.")
	doSendMagicEffect(playerPos, 2)
	return true
end

	doPlayerSendTextMessage(cid, 27, "Você adicionou ".. daysStr .." premium days para ".. playerStr .."!")
	doRemoveCreature(getPlayerByNameWildcard(playerStr))
	db.executeQuery("UPDATE `accounts` SET `premdays` = ".. daysStr .." WHERE `id` = ".. getPlayerAccountId(getPlayerByNameWildcard(playerStr)))
	return true
end

 

Em data/talkactions/talkactions.xml, adicione esta tag:

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

 

Depois é só dar /reload talk e testar.

 

Exemplo de uso:

/premium Daniel Oliveira,7

 

Não coloquei com espaço pois não iria funcionar com nomes compostos, eu teria de fazer muitos subs, que nem estou lembrado <3

 

Caso não funcione, diga o erro que deu ou manda o arquivo da database do seu servidor(aquele que você importa pro xampp)

Link para o comentário
Compartilhar em outros sites

Não foi aceito, não testei ainda (vou fazer isto depois que almoçar) e ainda falta outro, pois eu pedi 2 scripts.

Evite reportar tópicos antes que o membro que fez o pedido diga que foi resolvido.

-

Obrigado pelo script iRockStar, vou testar daqui a pouco e aviso para você se funcionou :)

 

 

Edit¹~

iRockStar, deu esse erro aqui no console:

[25/10/2009 12:41:11] Lua Script Error: [TalkAction Interface]

[25/10/2009 12:41:11] data/talkactions/scripts/premiumtime.lua:onSay

 

[25/10/2009 12:41:11] internalGetPlayerInfo(). Player not found

 

[25/10/2009 12:41:11] Lua Script Error: [TalkAction Interface]

[25/10/2009 12:41:11] data/talkactions/scripts/premiumtime.lua:onSay

 

[25/10/2009 12:41:11] data/talkactions/scripts/premiumtime.lua:20: attempt to concatenate a boolean value

[25/10/2009 12:41:11] stack traceback:

[25/10/2009 12:41:11] data/talkactions/scripts/premiumtime.lua:20: in function <data/talkactions/scripts/premiumtime.lua:1>

 

Mesmo assim diz que foi adicionado a premium ao player..

OBS: Quando eu de o comando /premium nick, dias o char de quem eu adicionei a premium deslogou :o

 

Quer que eu mande o arquivo da db?

 

Edit²~

Realmente não adicionou a premium :/

 

Valeu!

Editado por Daniel Oliveira
Link para o comentário
Compartilhar em outros sites

O certo seria fazer o sistema que caso o player esteja on-line ele adicionaria a premium normalmente sem o uso da DB.

 

doPlayerAddPremiumDays(cid, days)

 

caso esteja off-line ele usaria a DB.

 

irockstar não é pra atualizar a premium do player e sim adicionar mais dias de premium.

 

db.executeQuery("UPDATE `accounts` SET `premdays` = ".. daysStr .." WHERE `id` = ".. getPlayerAccountId(getPlayerByNameWildcard(playerStr)))
Link para o comentário
Compartilhar em outros sites

Marcryzius, você poderia fazer este script para mim?

Fiquei boiando aqui :(

-

Adicionei um link de amosta da database do server :)

 

Abraços

 

pode ser.

Se eu tiver com paciencia e tempo disponivel e ninguem tenha feito ele pra você eu faço.

é um script simples de se fazer em ums 20 minutos eu faço ele até porque gostei da ideia dessa forma de adicionar premium account não só ela mas também outras coisas que podem ser modificadas na conta ou no proprio player estando off ou on-line.

 

amanha a noite eu irei ver se tenho um tempinho desponivel pra fazer o script, porque agora estou sem paciencia.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...