Ir para conteúdo

Posts Recomendados

Ola galera xtibiaaana.

Venho disponibilizar o novo rep system.

E um sistema igual ao do fórum você dá reputação para outros membros e também recebe reputação.

 

Configs:

 

/rep(nome do player) --- Da um 1 de reputação para um player

/rep(nome do player, quant) Da a quantidade de reputação que o player quiser(TALK EXCLUSIVA PARA OS ADMINISTRADORES)

/rep(rank) ---- Exibe o rank de reputação.

/rep(rep) --- Monstra a quantidade de reputação e a sua frase de efeito.

 

No seu look também aparece a sua frase de efeito e sua reputação.

E só dar look no player desejado.

Agora vamos a instalação.

Crie um arquivo lua em lib chamado de rep e coloque isto:

 

local rep = {
[0] = "Sem nenhum rep que maldade", ---Pode editar a frase mais não retire
[1] = "Up up e mais um up",
[2] = "Ai o to upando",
[100] = "Fod@ e fod@ mesmo",
[1000] = "DEUS DEUS GOD OF REP"
}
function getRepPlayer(cid)
return getPlayerStorageValue(cid , 2332)
end
function doAddReputation(cid, player)
setPlayerStorageValue(player, 2332, getPlayerStorageValue(player , 2332)+1)
exhaustion.set(cid, 44226, 36000*1000)
end
function setRep(cid, player, quant)
for i =1, quant do
doAddReputation(cid, player)
local t = rep[getPlayerStorageValue(cid, 2332)]
if not t then
else
setPlayerStorageValue(cid, 52426, t)
end
end
end
function showRanksRep(cid)
k = 1
str = 2332
local rep = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..str.." ORDER BY `value` DESC;")
str = "Rank de Reputation:\n\n"
if rep:getID() == -1 then
doShowTextDialog(cid, 1387, "Não existe nenhuma pessoa com reputation")
return true
end
while true do
local players = rep:getDataInt("player_id")
local players = getPlayerNameByGUID(players)
str = str .. k .. "-"..players.." \n\n"
k = k+1
if not rep:next() or k >= 10 then
doShowTextDialog(cid, 1397, str)
break
end
end
end
function getEffectRep(cid)
if getPlayerStorageValue(cid, 52426) == -1 then
setPlayerStorageValue(cid, 52426, rep[0])
return rep[0]
end
local t = rep[getPlayerStorageValue(cid, 2332)]
if not t then
return getPlayerStorageValue(cid, 52426)
end
setPlayerStorageValue(cid, 52426, t)
return t
end
function getExhaustionRep(cid)
return exhaustion.get(cid, 44226)
end

 

Agora vá em talkactions e crie um arquivo lua chamado de rep e coloque isto:

 

function onSay(cid, words, param, channel)
if param == "" or param == " " then
return doShowTextDialog(cid, 1397, "/rep(nome do player) -- Dar reputação\n/rep(rank) -- Ve o rank de rep\n/rep(rep) -- Ve a quantidade de rep que você e sua frase de efeito")
end
if param == "rank" or param == "tops" then
showRanksRep(cid)
return ture
end
if param == "effect" or param == "frase" or param == "rep" then
eff = getEffectRep(cid)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, ""..getRepPlayer(cid).." - "..getEffectRep(cid).."")
return true
end
if getExhaustionRep(cid) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem que esperar para dar mais 1 rep")
return true
end
if getPlayerGroupId(cid) >= 5 then
local t = string.explode(param, ",")
local pid = getPlayerByNameWildcard(t[1])
if not pid then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não esta online ou não existe")
return true
end
if pid == cid then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode se auto - reputar")
return true
end
setRep(cid, pid, t[2] == "" and 1 or tonumber(t[2]))
else
local pid = getPlayerByNameWildcard(param)
if not pid then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não esta online ou não existe")
return true
end
if pid == cid then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode se auto - reputar")
return true
end
doAddReputation(cid, player)
end
return true
end

 

Coloque esta tag em talacktions.xml:

<talkaction words="/rep" event="script" value="rep.lua"/>

 

Agora vá em creaturescripts e crie um arquivo lua chamado de rep e coloque isto:

function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) then
local string = ""..getPlayerName(cid).." Reputação "..getRepPlayer(thing.uid).." - "..getEffectRep(thing.uid)..""
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)
return false
end
return true
end

 

Agora vá em creaturescripts.xml e coloque esta tag:

<event type="look" name="rep" register = "1" event="script" value="rep.lua"/>

 

Agora vá em login.lua e registre o evento:

registerCreatureEvent(cid, "rep")

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

  • 2 weeks later...

Ae Galera Eu Refiz As Script Que Fica Na Lib (rep.lua) Juntei Com As Patentes Do Combat Arms , Para Dar Um Ar Mais Legal No Game Ficou Assim :

 

 

 

local rep = {

[0] = "Sem nenhum rep que maldade", ---Pode editar a frase mais não retire

[1] = "CADETE Da Reputação",

[5] = "RCRUTA Da Reputação",

[10] = "SOLDADO RASO Da Reputação",

[20] = "SOLDADO DE PRIMEIRA CLASSE Da Reputação",

[25] = "CABO DA REPUTAÇÂO",

[30] = "SARGENTO DA REPUTAÇÂO",

[35] = "1º SARGENTO-AJUDANTE Da Reputação",

[40] = "2º SARGENTO-AJUDANTE Da Reputação",

[45] = "3º SARGENTO-AJUDANTE Da Reputação",

[50] = "3º SARGENTO-AJUDANTE Da Reputação",

[55] = "1º SARGENTO - MESTRE Da Reputação",

[60] = "2º SARGENTO - CHEFE Da Reputação",

[65] = "3º SARGENTO - CHEFE Da Reputação",

[70] = "1º SARGENTO - MESTRE Da Reputação",

[75] = "2º SARGENTO - MESTRE Da Reputação",

[80] = "3º SARGENTO - MESTRE Da Reputação",

[85] = "4º SARGENTO - MESTRE Da Reputação",

[90] = "1º SARGENTO - MOR

DO COMANDO",

[95] = "2º SARGENTO - MOR

DO COMANDO Da Reputação",

[100] = " 3º SARGENTO - MOR

DO COMANDO Da Reputação",

[120] = "4º SARGENTO - MOR

DO COMANDO Da Reputação ",

[140] = "5º SARGENTO - MOR

DO COMANDO Da Reputação ",

[160] = "1º CAPITÃO ",

[180] = "2º CAPITÃO Da Reputação ",

[200] = "3º CAPITÃO Da Reputação ",

[230] = "4º CAPITÃO Reputação ",

[260] = "5º CAPITÃO Da Reputação ",

[290] = "1º MAJOR Da Reputação ",

[310] = "2º MAJOR Da Reputação ",

[340] = "3º MAJOR Da Reputação ",

[370] = "4º MAJOR Da Reputação ",

[400] = "5º MAJOR Da Reputação ",

[430] = "1º TENENTE - CORONEL Da Reputação ",

[460] = "2º TENENTE - CORONEL Da Reputação ",

[490] = "3º TENENTE - CORONEL Da Reputação ",

[520] = "4º TENENTE - CORONEL Da Reputação ",

[530] = "5º TENENTE - CORONEL Da Reputação ",

[560] = "1º CORONEL Da Reputação ",

[590] = "2º CORONEL Da Reputação ",

[620] = "3º CORONEL Da Reputação ",

[650] = "4º CORONEL Da Reputação ",

[680] = "5º CORONEL Da Reputação ",

[710] = " GENERAL DE BRIGADA Da Reputação ",

[740] = " GENERAL DE DIVISÃO Da Reputação ",

[770] = "GENERAL Da Reputação ",

[1000] = "GENERAL DO EXÉRCITO Da Reputação ",

}

function getRepPlayer(cid)

return getPlayerStorageValue(cid , 2332)

end

function doAddReputation(cid, player)

setPlayerStorageValue(player, 2332, getPlayerStorageValue(player , 2332)+1)

exhaustion.set(cid, 44226, 36000*1000)

end

function setRep(cid, player, quant)

for i =1, quant do

doAddReputation(cid, player)

local t = rep[getPlayerStorageValue(cid, 2332)]

if not t then

else

setPlayerStorageValue(cid, 52426, t)

end

end

end

function showRanksRep(cid)

k = 1

str = 2332

local rep = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..str.." ORDER BY `value` DESC;")

str = "Rank de Reputation:\n\n"

if rep:getID() == -1 then

doShowTextDialog(cid, 1387, "Não existe nenhuma pessoa com reputation")

return true

end

while true do

local players = rep:getDataInt("player_id")

local players = getPlayerNameByGUID(players)

str = str .. k .. "-"..players.." \n\n"

k = k+1

if not rep:next() or k >= 10 then

doShowTextDialog(cid, 1397, str)

break

end

end

end

function getEffectRep(cid)

if getPlayerStorageValue(cid, 52426) == -1 then

setPlayerStorageValue(cid, 52426, rep[0])

return rep[0]

end

local t = rep[getPlayerStorageValue(cid, 2332)]

if not t then

return getPlayerStorageValue(cid, 52426)

end

setPlayerStorageValue(cid, 52426, t)

return t

end

function getExhaustionRep(cid)

return exhaustion.get(cid, 44226)

end

 

 

Galera Apesar De Ser Simples Foi Chato Pakas Fazer Ainda Mais No Teclado Do Notbook + Espero Que Gostem.mdr.gif

 

EDIT:Reputado Gostei Muitoo Da Script .

EDIT²: Amigo O Comando /rep rank não está funcionando e quando é executado da Debug wacko.png

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

×
×
  • Criar Novo...