Ir para conteúdo
  • 0

Tile Reset Diferente


williamserravalle

Pergunta

Boa noite galera , gostaria de fazer um pedido , eu queria um tile que o player so pudesse passar por ele ate 10 reset. no caso o vai ter uma salinha com o npc que vai resetar esse player, e la tera um tile antes de ele entrar que ele so vai poder entar com 1000 lvl e ate o 10º , quando ele resetar 10 vezes ele nao entrar mas ali . ae vai ter outra sala com outro npc que so vai poder passar quem tiver 10 reset e depois so passa ate 20 reset.


#Up

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

@, vá em data/movements/movements.xml e adicione a seguinte tag:

<movevent type="StepIn" actionid="16500" event="script" value="resettile.lua" />
Agora em data/movements/scripts crie um arquivo chamado resettile.lua com o seguinte conteúdo:

local config = {
	level = 1000, -- level mínimo para entrar
	resets =  10, -- quantidade máxima de resets para passar
	msg = 'Somente jogadores com level superior a 1000 e com 10 resets ou menos podem passar.' -- mensagem para quem tiver mais resets que o permitido
}

function onStepIn(cid, item, position, fromPosition)
	if not isPlayer(cid) then return true end
	local resets = getPlayerStorageValue(cid, 378378)
	if getPlayerLevel(cid) < config.level or resets > config.resets then
		doTeleportThing(cid, fromPosition)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, config.msg)
		return false
	end
	return true
end
Pronto! Basta colocar a actionid 16500 (ou outra configurada) no piso.
Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite galera , gostaria de fazer um pedido , eu queria um tile que o player so pudesse passar por ele ate 10 reset. no caso o vai ter uma salinha com o npc que vai resetar esse player, e la tera um tile antes de ele entrar que ele so vai poder entar com 1000 lvl e ate o 10º , quando ele resetar 10 vezes ele nao entrar mas ali . ae vai ter outra sala com outro npc que so vai poder passar quem tiver 10 reset e depois so passa ate 20 reset.

#Up

 

Qual é o sistema de reset que você utiliza?

 

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia mano E por npc esse aki \/

 

Npc

-[[script made 100% by Nogard and Night Wolf.

You can feel free to edit anything you want, but don't remove the credits]]
local config = {
minlevel = 1000, --- level inical para resetar
price = 1000000, --- preço inicial para resetar
newlevel = 1000, --- level após reset
priceByReset = 1500000, --- preço acrescentado por reset
percent = 30, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total)
levelbyreset = 1500 --- quanto de level vai precisar a mais no próximo reset
}
--- end config
function addReset(cid)
resets = getResets(cid)
setPlayerStorageValue(cid, 378378, resets+1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
local hp = getCreatureMaxHealth(cid)
local resethp = hp*(config.percent/30)
setCreatureMaxHealth(cid, resethp)
local differencehp = (hp - resethp)
doCreatureAddHealth(cid, -differencehp)
local mana = getCreatureMaxMana(cid)
local resetmana = mana*(config.percent/30)
setCreatureMaxMana(cid, resetmana)
local differencemana = (mana - resetmana)
doCreatureAddMana(cid, -differencemana)
doRemoveCreature(cid)
local description = resets+1
db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..description.."]' WHERE `players`.`id`= ".. playerid .."")
db.executeQuery("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."")
return TRUE
end
function getResets(cid)
resets = getPlayerStorageValue(cid, 378378)
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 creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local newPrice = config.price + (getResets(cid) * config.priceByReset)
local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset)
if msgcontains(msg, 'reset') then
if getResets(cid) == resets then
selfSay('Você deseja resetar o seu character? Vai custar '..newPrice..' gp\'s!', cid)
talkState[talkUser] = 1
else
selfSay('I couldnt acess your bank of acess!', cid)
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerMoney(cid) < newPrice then
selfSay('É necessário ter pelo menos '..newPrice..' gp\'s para resetar!', cid)
elseif getPlayerLevel(cid) < newminlevel then
selfSay('O nível mínimo para resetar é '..newminlevel..'!', cid)
else
doPlayerRemoveMoney(cid,newPrice)
playerid = getPlayerGUID(cid)
addEvent(addReset, (5*1000), cid)
local number = getResets(cid)+1
local msg ="---[Reset: "..number.."]-- Você vai ser deslogado em 5 segundos."
if doPlayerPopupFYI(cid, msg) then
end
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then
talkState[talkUser] = 0
selfSay('Ok.', cid)
elseif msgcontains(msg, 'quantity') then
selfSay('Você tem um total de '..getResets(cid)..' reset(s).', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Tile Reset

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)

if isPlayer(cid) then
if getCreatureStorage(cid, 378378) >= 10 then
if getPlayerLevel(cid) >= 1000 then
doCreatureSay(cid,"Bem Vindo ".. getPlayerName(cid) .."!",19)
else
doTeleportThing(cid,fromPosition)
doSendMagicEffect(fromPosition, CONST_ME_POFF)
doPlayerPopupFYI(cid,'vc nao tem level 1000 pra passar.')
end
else
doTeleportThing(cid,fromPosition)
doSendMagicEffect(fromPosition, CONST_ME_POFF)
doPlayerPopupFYI(cid,"Vc presisa de 10 Reset")
end
end
return true

end

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

  • 0

Vlw mano mas uma vez funciono direitinho

mas agora eu tenho um bug nesse npc ele nao da thau ao player e so fala com o player se ele deslogar tem como vc da uma olhadinha ae nesse npc.

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

  • 0

Vlw mano mas uma vez funciono direitinho

mas agora eu tenho um bug nesse npc ele nao da thau ao player e so fala com o player se ele deslogar tem como vc da uma olhadinha ae nesse npc.

Vou te dar um exemplo de um npc, somente no xml você consegue isso:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Alwin" script="data/npc/scripts/Alwin.lua" walkinterval="2000" floorchange="0">
	<health now="100" max="100"/>
	<look type="131" head="113" body="113" legs="113" feet="115" addons="0"/>
	<parameters>
			<parameter key="message_greet" value="Ola |PLAYERNAME|!"/>
			<parameter key="message_farewell" value="Ate logo."/>
			<parameter key="message_walkaway" value="Tchau."/>
	</parameters>
</npc>
message_farewell = quando o player fala bye

message_walkaway = quando o player sai sem dizer nada

Tópico movido para dúvidas / pedidos resolvidos.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...