Ir para conteúdo

Points Winner Groups


caotic

Posts Recomendados

Este um sistema rpg foi um pedido de um colega.

E um sistema muito simples e facil de ser editado.

A verdade e que ele e apenas um exemplar para que com ele seja criado alguns scripts como(title que so passa x group,portas,talkactions e etc...)

 

O sistema e basicamente isto:

O player mata "x" criaturas ai dependendo ele ganha um novo group com ele ganha bonus de mana,level e exp.

Alem de que ganha um group ele ganha um frase de efeito que pode ser visto no look.

Eu fiz as funçoes para verificar o group.

Deixei alguns exemplos.

Tomaras que gostem

 

Va la em lib e crie um arquivo LUA chamado point e coloque isto

 

 

 

 

local groups = {

[4] = {bonusexp = 1, group = "Servo", bonuslevel = 4, bonusmana = 10, frase = "Estou partindo para aventuras"},

[10] = {bonusexp = 60, group = "Experiente Servo", bonuslevel = 8, bonusmana = 20, frase = "Sempre Continuando"},

[20] = {bonusexp = 80, group = "Camponês", bonuslevel = 6, bonusmana = 80, frase = "Vamos!!!!"},

[30] = {bonusexp = 1, group = "Caponês Evoluido", bonuslevel = 1, bonusmana = 120, frase = "Lets GO!!!"},

[40] = {bonusexp = 1, group = "Cavalheiro", bonuslevel = 3, bonusmana = 180, frase = "Cavalheiro de Honra"},

[60] = {bonusexp = 1, group = "Cavalheiro Aventureiro", bonuslevel = 7, bonusmana = 10, frase = "Buscando aventuras Maiores"},

[80] = {bonusexp = 1, group = "Honrado Cavalheiro", bonuslevel = 10, bonusmana = 10, frase = "Sempre Buscando Ajudar"},

[100] = {bonusexp = 1, group = "Lutador", bonuslevel = 4, bonusmana = 10, frase = "A luta e minha fonte de energia"},

[140] = {bonusexp = 1, group = "Cavalheiro Lutador", bonuslevel = 2, bonusmana = 10, frase = "A minha luta e a melhor!!"},

[150] = {bonusexp = 1, group = "Cavalheiro Evoluido", bonuslevel = 3, bonusmana = 10, frase = "Sempre Buscando Evoluir"},

[180] = {bonusexp = 1, group = "Principe Aventureiro", bonuslevel = 5, bonusmana = 10, frase = "A beleza de um Principe e sua força"},

[200] = {bonusexp = 1, group = "Principe Lutador", bonuslevel = 4, bonusmana = 10, frase = "Sou um Principe que busca a luta a minha inspiração"},

[210] = {bonusexp = 1, group = "Principe Descobridor", bonuslevel = 2, bonusmana = 10, frase = "Redescobrindo o Mundo com olhos de Principes"},

[260] = {bonusexp = 1, group = "Principe Superior", bonuslevel = 4, bonusmana = 10, frase = "Ajoelhesse a minha força"},

[280] = {bonusexp = 1, group = "Eterno Principe", bonuslevel = 4, bonusmana = 10, frase = "Um eterno Principe"},

[300] = {bonusexp = 1, group = "Rei Lutador", bonuslevel = 6, bonusmana = 10, frase = "A Luta e Minha Coroa"},

[340] = {bonusexp = 1, group = "Rei Aventureiro", bonuslevel = 21, bonusmana = 10, frase = "O meu reinado se expande"},

[380] = {bonusexp = 1, group = "Rei Eterno", bonuslevel = 2, bonusmana = 10, frase = "Eterno Rei"},

[400] = {bonusexp = 1, group = "Imperador", bonuslevel = 11, bonusmana = 10, frase = "Sou Pai de Todos"},

[430] = {bonusexp = 1, group = "Lord", bonuslevel = 4, bonusmana = 10, frase = "A minha força e insuperavel"},

[480] = {bonusexp = 187, group = "Imperador Lord", bonuslevel = 877, bonusmana = 10, frase = "O Rei dos Duelos"},

[500] = {bonusexp = 1, group = "Semi Deus", bonuslevel = 100, bonusmana = 122, frase = "A procura da força de um Deus"},

[600] = {bonusexp = 1, group = "Semi Deus Aventureiro", bonuslevel = 212, bonusmana = 10, frase = "Um Aventureiro com Poderes de Deuses"},

[700] = {bonusexp = 1, group = "Semi Deus Lutador", bonuslevel = 4, bonusmana = 10, frase = "A luta de um Deus"},

[800] = {bonusexp = 1, group = "Semi Deus Honrado", bonuslevel = 4, bonusmana = 10, frase = "Ninguem supera um Deus Honrado"},

[900] = {bonusexp = 1, group = "Evoluido Semi Deus", bonuslevel = 200, bonusmana = 10, frase = "O meu Poder so foi possivel pela minha dedicação"},

[1000] = {bonusexp = 4000, group = "Deus", bonuslevel = 400, bonusmana = 1920, frase = "Superior,Maior,Poderoso,Insuperavel Simplismente um Deus"}

}

 

function doAddWinner(cid, quant)

setPlayerStorageValue(cid, 82922, getPlayerStorageValue(cid, 82922)+quant)

end

function doAddLoser(cid, quant)

setPlayerStorageValue(cid, 82922, getPlayerStorageValue(cid, 82922)-quant)

end

function getPlayerPoints(cid)

return getPlayerStorageValue(cid, 82922)

end

 

function setPlayerGroupByPoint(cid)

local points = getPlayerPoints(cid)

local point = tonumber(points)

if groups[point] then

local grouplevel = groups[point].bonuslevel

local groupmana = groups[point].bonusmana

local groupexp = groups[point].bonusexp

local groupfrase = groups[point].frase

local groupclass = groups[point].group

doPlayerAddLevel(cid, grouplevel)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)+groupmana)

doCreatureAddMana(cid, getCreatureMaxMana(cid))

doPlayerAddExp(cid, groupexp)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Parabens "..getPlayerName(cid).." você subiu de group para "..groupclass.."")

setPlayerStorageValue(cid, 82924, groupclass)

setPlayerStorageValue(cid, 82926, groupfrase)

end

end

function getPlayerGroup(cid)

return getPlayerStorageValue(cid, 82924)

end

function getPlayerGroupFrase(cid)

return getPlayerStorageValue(cid, 82926)

end

 

 

function doSetFirstGroup(cid)

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

setPlayerStorageValue(cid, 82924, "Morador")

setPlayerStorageValue(cid, 82926, "Procurando o Verdadeiro Poder")

setPlayerStorageValue(cid, 82821, 1)

end

end

 

function doSendMsgLookGroup(cid)

str = ""..getPlayerName(cid).." Level "..getPlayerLevel(cid).."\n Grupo "..getPlayerGroup(cid).."\n Points Winner ("..getPlayerPoints(cid)..")\n "..getPlayerGroupFrase(cid)..""

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str)

end

 

 

 

 

 

 

 

Agora vai la em creaturescripts/scripts e crie um arquivo Lua chamado point.

 

 

 

function onKill(cid, target, lastHit)

local point = 1 ----Quantos pontos ele ganha por matar uma creature

doAddWinner(cid, point)

setPlayerGroupByPoint(cid)

return true

end

 

 

 

Na mesma Pasta crie um arquivo Lua Look e coloque isto:

 

 

 

function onLook(cid, thing, position, lookDistance)

if isPlayer(thing.uid) then

doSendMsgLookGroup(cid)

return false

end

return true

end

 

 

 

Na mesma pasta crie um arquivo chamado onegroup.lua

 

 

 

function onLogin(cid)

doSetFirstGroup(cid)

return true

end

 

 

 

Coloca as tags em creaturescripts.xml

<event type="look" name="plook" event="script" value="look.lua"/>
<event type="kill" name="point" event="script" value="point.lua"/>
<event type="login" name="group" event="script" value="onegroup.lua"/>

 

Registra o evento em login.lua.

registerCreatureEvent(cid, "point")

registerCreatureEvent(cid, "group")

registerCreatureEvent(cid, "plook")

 

 

 

 

Vamos agora a alguns exemplos

 

Title so para Deus passar:

 

 

function onStepIn(cid, item, position, fromPosition)

local group = "Deus"

if getPlayerGroup(cid) ~= group then

doTeleportThing(cid, fromPosition, true)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não e "..group.."")

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

return TRUE

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seja Bem Vindo "..group.."")

return TRUE

end

 

 

 

 

Teleport para tal grupo como no exemplo Semi Deus

 

 

function onUse(cid, item, pos, item2, topos)

local group = "Semi Deus"

if getPlayerGroup(cid) == group then

local tele = {x=100, y=40, z=7}

doTeleportThing(cid, tele)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

return true

end

return true

end

 

 

 

 

 

 

Logo estarei postando novos scripts dos Points Groups fique atento.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...