Ir para conteúdo

Como Colocar Sistema De Reset Em Seu Ot's!


Kuldon

Posts Recomendados

Olá Ékstibianos!

Toda vez que vou fazer um Tutorial aqui, a net caiu ou alguém chega querendo mecher,

mas enfim, vamos ao que interessa..

 

Siga estes Passos:

 

Entre na pasta de seu OT's.

Exemplo: XurumbregServ.

Entrou?

Vá em data/talkactions/scripts.

 

Chegando na pasta Scripts, iremos copiar um arquivo .lua qualquer!

 

No meu caso, vou copiar o arquivo .lua AddonDoll, clico nele, Ctrl+C,

depois Ctrl+V..

Pronto?!? Fez isso?!? Calma, não acabou ainda!

 

Renomeie o seu arquivo .lua copiado, que no meu caso foi o AddonDoll.lua, para:

reset.lua, dá ok e vamos para o Next Step (caso você não saiba, próximo passo).

 

Abra ele (o arquivo .lua renomeado[/b], dê um Ctrl+A e depois clique na tecla que você utiliza para apagar (eu esqueci o nome dela)

 

Caso você não entendeu a parte do Ctrl+A, é o seguinte,

Aperte o CTRL (control caso você não saiba), segure, e em seguida aperte o "A".

Okay, irá ficar tudo marcado.

 

Se você for realmente um Noob, vai dizer: Oh meu deus, oque é isso?

Calma, relaxa, agora aperte o botãozinho que você usa para apagar, se não souber oque é também, clique na tecla

Delete, Delet, Excluir.. pode variar para cada teclado(:

 

Certo, vamos parar de enrolar e ir ao que interessa..

 

Lá dentro, no arquivo .lua que você copiou, coloque o código abaixo:

 

function onSay(cid, words, param)

local level = 1000

local RemainingLvl = 8

local pid = getPlayerGUID(cid)

 

function addReset(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,1020,resets+1)

return true

end

 

function getResets(cid)

resets = getPlayerStorageValue(cid,1020)

if resets < 0 then

resets = 0

end

return resets

end

 

if getPlayerLevel(cid) >= level then

addReset(cid)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

doPlayerPopupFYI(cid,"Você resetou! Parabéns, você tem "..getResets(cid).." Reset.")

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `level` = "..RemainingLvl..", `experience` = 0 WHERE `id` = "..pid)

 

else

doPlayerSendCancel(cid, "Você precisa ter level "..level.." ou mais para resetar.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

 

return TRUE

end

 

Legenda:

 

Vermelho: Mostra o Level que a pessoa vai poder resetar, no caso tá 1000, você pode mudar

para qual você quiser!

 

Verde:Mostra o Level em que a pessoa vai estar quando dizer: !resetar. Você também poderá mudar para qual quiser!

 

 

 

Após ter feito tudo isso, feito do jeito que eu ensinei, volte e vá em:

 

Talkactions.xml

 

coloque para abrir com Bloco de notas.

 

Caso você não tenha entendido, faça o seguinte SeuOt/data/talkactions.

 

Abriu? Bom, aleluia!

dá um F3 para facilitar coloque isto quando abrir uma janelinha:

 

<!-- Players -->

 

e clique em (caso você tenha aberto no bloco de notas) Abaixo e em seguida, Localizar Próxima.

Se você, meu querido (a) não achar, pode fazer manualmente por Players ou Player, afinal, quem precisa do F3? (Eu).

 

Okay, depois de ter feito isso aí, cole num cantinho bem organizado isso aqui:

 

<talkaction words="!resetar" script="reset.lua" />

 

Salve e feche.

 

Pronto querido amigo, o seu sistema de Reset está prontinho!

 

Mas espera aí!

Como faço para usar a minha TalkAction?

 

Só dizer: !resetar.

 

 

Se você não gostou do Sistema de Reset deste jeito, você pode comprar o Reset por um NPC (:

 

Está abaixo: Lembre-se de deixar os créditos ! (:

 

-- SCRIPT FEITO POR FERRERAH E SEUS AMIGOS

-- config

minlevel = 350

price = 5000

newlevel = 1

newexp = 0

-- end config

 

function addReset(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,1020,resets+1)

return true

end

 

function getResets(cid)

resets = getPlayerStorageValue(cid,1020)

if resets < 0 then

resets = 0

end

return resets

end

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

 

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

 

function creatureSayCallback(cid, type, msg)

if(not npcHandler:isFocused(cid)) then

return false

end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

if msgcontains(msg, 'reset') then

selfSay('Você deseja resetar o level de seu personagem? O seu personagem vai ser deslogado. Você tem que pagar '..este valor para resetar..' hehe.', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if getPlayerMoney(cid) < price then

selfSay('Você tem que pagar '..este valor para resetar..' hehe.', cid)

elseif getPlayerLevel(cid) < minlevel then

selfSay('Você precisa ser este level '.. no mínimo ..' para resetar.', cid)

else

doPlayerRemoveMoney(cid,price)

addReset(cid)

playerid = getPlayerGUID(cid)

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."")

end

talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('Ok, não faço os gostos de ninguém', cid)

elseif msgcontains(msg, 'quant') then

selfSay('Você tem '..getResets(cid)..' reset(s).', cid)

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

 

 

 

 

 

 

-- config

minlevel = 1550 < level mínimo que vai poder resetar..

price = 50000 < preço

newlevel = 1 < novo lvl

newexp = 0 < nova experiencia!

 

 

 

 

 

 

 

Now, vá em Data/Npc

Crie uma pasta chamada: FerrerahResets.xml

E cole isto

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="FerrerahResets" script="reset.lua" walkinterval="2000" floorchange="0">

<health now="150" max="150"/>

<look type="115" head="115" body="0" legs="114" feet="0" addons="3" corpse="2212"/>

<parameters>

<parameter key="module_shop" value="1"/>

<parameter key="message_greet" value="Olá |PLAYERNAME| , como vai? Estou vendendo resets para poder voltar a minha cidade. É só falar reset para resetar seu level, e diga Info para ver quantos resets você tem! Lembre-se que ao resetar seu level voltará ao 30 e sua velocidade também!"/>

</parameters>

</npc>

 

 

 

Sou um iniciante, creio que você também! Estou passando o meu conhecimento aos Novatos de uma forma fácil de se entender!

 

Se ajudei, por favor amigo,REP+ (:

Link para o comentário
Compartilhar em outros sites

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