Ir para conteúdo
  • 0

[Pedido] Tile Por Reset


GuuhMaster

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

vai na pasta data/movements/script, duplica um arquivo e nomeia para "resettile" nele cole:

function onStepIn(cid, item, position, fromPosition)

local reset_storage = 123 -- coloque o storage do seu sistema de reset
local quant_reset = 3 -- quantidade de resets para poder passar

if (getPlayerStorageValue(cid, reset_storage) < quant_reset) then
   doTeleportThing(cid, fromPosition, false)
   doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente players com ".. (quant_reset) .." ou mais podem passar.")
end

return TRUE
end

 

em movements.xml

<movevent type="StepIn" actionid="4563" event="script" value="resettile.lua"/>

 

ali fica o actionid que vc deve colocar no tile. se n funcionar me passe seu sistema de reset que eu arrumo.

Link para o comentário
Compartilhar em outros sites

  • 0

Meu sistema de reset não é por storage.. segue ele abaixo..

 

local reqConfig = {

needPz = true,

needPremium = false,

noWhiteSkull = false,

noRedSkull = false,

noBattle = false

}

 

local resetConfig = {

level = 717217,

toLevel = 100,

delay = 2

}

 

function onSay(cid, words, param)

local function doReset(cid)

local pid = getPlayerGUID(cid)

local resets = getPlayerResets(cid)

if isCreature(cid) then

doRemoveCreature(cid)

end

local level_query = "UPDATE `players` SET `level` = ".. (resetConfig.toLevel) ..", `experience` = 0 WHERE `id` = ".. pid ..";"

local reset_query = "UPDATE `players` SET `reset` = ".. (resets + 1) .." WHERE `id` = ".. pid ..";"

local look_query = "UPDATE `players` SET `description` = '[Reset ".. (resets + 1) .."]' WHERE `players`.`id` = ".. pid ..";"

db.executeQuery(level_query);db.executeQuery(reset_query);db.executeQuery(look_query);

return true

end

 

if getPlayerLevel(cid) < resetConfig.level then

doPlayerSendCancel(cid, "Desculpe, você não level ".. resetConfig.level .." para resetar.")

elseif reqConfig.needPz == true and not getTilePzInfo(getThingPosition(cid)) then

doPlayerSendCancel(cid, "Desculpe, você precisa estar em protection zone para resetar.")

elseif reqConfig.needPremium == true and not isPremium(cid) then

doPlayerSendCancel(cid, "Desculpe, você precisa ser premium account para resetar.")

elseif reqConfig.noWhiteSkull == true and getCreatureSkullType(cid) == 3 then

doPlayerSendCancel(cid, "Desculpe, você não pode resetar pois está com White Skull.")

elseif reqConfig.noRedSkull == true and getCreatureSkullType(cid) == 4 then

doPlayerSendCancel(cid, "Desculpe, você não pode resetar pois está com Red Skull.")

elseif reqConfig.noBattle == true and getCreatureCondition(cid, CONDITION_INFIGHT) then

doPlayerSendCancel(cid, "Desculpe, você não pode resetar pois está com Battle.")

else

doPlayerPopupFYI(cid, "Parabéns!\n\nAgora você tem ".. (getPlayerResets(cid) + 1) .." resets.\n\nVocê será deslogado em ".. resetConfig.delay .." segundos.")

addEvent(doReset, resetConfig.delay*1000, cid)

end

return true

end

Link para o comentário
Compartilhar em outros sites

  • 0
function onStepIn(cid, item, position, fromPosition)
local quant_reset = 3 -- quantidade de resets para poder passar
if (getPlayerResets(cid) < quant_reset) then
   doTeleportThing(cid, fromPosition, false)
   doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente players com "..quant_reset.." ou mais podem passar.")
return TRUE
end
return TRUE
end

Link para o comentário
Compartilhar em outros sites

  • 0

No Meu Nao Funfo Ajudem Plx

 

Meu Systema

Obs: É Npc Nao Sei Se Vai Faze Diferença

 

 

-- SCRIPT FEITO POR YUNIE
-- config
minlevel = 150000 -- level para resetar
price = 1000000
newlevel = 1000 -- level após reset
newexp = 368300 -- nova experiencia após reset
-- end config
function addReset(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,36874,resets+1)
return true
end
function getResets(cid)
resets = getPlayerStorageValue(cid,36874)
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ê Quer Resetar Seu Char ? Seu Char Sera Deslogado Se Confirmar. Você Precisa Pagar '..price..' Gold Para Resetar.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerMoney(cid) < price then
selfSay('Você Precisa De '..price..' Gold Para Resetar.', cid)
elseif getPlayerLevel(cid) < minlevel then
selfSay('Você Precisa De '.. minlevel ..' Level 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.', cid)
elseif msgcontains(msg, 'info') then
selfSay('You have '..getResets(cid)..' reset(s).', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Vlw

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...