Ir para conteúdo
  • 0

Comando !pvp


Smille

Pergunta

Gostaria que alguém pudesse me disponibilizar uma funçãozinha simples (acho), funciona da seguinte maneira, quando o player digitar !pvp on/off ele ligar ou desligar o pvp.

Modo de uso, o player sai para hunt num lugar onde tem bastante monstros e então decide upar na UE e para não pegar pk em ninguem ele usa o comando !pvp off, e isso impossibilite de ele dar dano a alguem, MAS se alguém der pk nele, poderá mata-lo normalmente!


Up

up


up

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Bota assim no creaturescripts:

function onCombat(cid, target)
    if isPlayer(cid) and isPlayer(target) then
    	if getPlayerStorageValue(cid, 123456) == 1 then return false end
    end
    return true
end

function onTarget(cid,target)
	if isPlayer(cid) and isPlayer(target) then
		if getPlayerStorageValue(cid,123456) == 1 then
			doPlayerSendCancel(cid, "Reative o PVP para atacar um jogador.")
			return false
		end
	end
	return true
end

function onLogin(cid)
	registerCreatureEvent(cid, "PVPTarget")
	registerCreatureEvent(cid, "PVPCombat")
	return true
end

No xml coloca essas TAGs:

<event type="login" name="PVPLogin" event="script" value="script.lua"/>

<event type="target" name="PVPTarget" event="script" value="script.lua"/>

<event type="combat" name="PVPCombat" event="script" value="script.lua"/>

No talkactions coloca assim:

function onSay(cid, words, param, channel)

	if param == "" then
		return doPlayerSendCancel(cid, "Escolha se quer deixar o PVP on ou off.")
	end

	if isInArray({"on","off"}, param) then
		local value = param == "on" and 1 or 0
		local status = param == "on" and "ativou" or "desativou"
		doPlayerSetStorageValue(cid, 123456, value)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você "..status.." o PVP.")
	else
		doPlayerSendCancel(cid, "Escolha se quer deixar o PVP on ou off.")
	end
	return true
end

A TAG vc coloca como quiser

Link para o comentário
Compartilhar em outros sites

  • 0

Uso esse:

 

local config = {
nopvp = {"1", "nopvp", "nonpvp", "no-pvp", "non-pvp", "safe"},
pvp = {"2", "pvp", "normal"},
pvpenforced = {"3", "pvpe", "pvpenforced", "pvp-enforced", "war"}
}
 
function onSay(cid, words, param, channel)
if(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
return true
end
 
local world = getWorldType()
param = param:lower()
if(table.isStrIn(param, config.nopvp)) then
setWorldType(WORLD_TYPE_NO_PVP)
world = "No-PVP"
elseif(table.isStrIn(param, config.pvp)) then
setWorldType(WORLD_TYPE_PVP)
world = "PVP"
elseif(table.isStrIn(param, config.pvpenforced)) then
setWorldType(WORLD_TYPE_PVP_ENFORCED)
world = "PVP-Enforced"
else
doPlayerSendCancel(cid, "Bad gameworld type.")
return true
end
 
doBroadcastMessage("Gameworld type set to: " .. world .. ".", MESSAGE_EVENT_ADVANCE)
return true
end
 

Tag do talkaction.xml

 

<talkaction log="yes" access="4" words="/mode" event="script" value="mode.lua"/>

 

- /mode
O que é?: Muda o tipo de PVP.
Como usar?: Basta executar o comando junto com um dos modelos abaixo.
Modelos: nopvp/pvp/pvpenforced
Exemplo:
/mode pvpenforced
Link para o comentário
Compartilhar em outros sites

  • 0

Uso esse:

 

local config = {
nopvp = {"1", "nopvp", "nonpvp", "no-pvp", "non-pvp", "safe"},
pvp = {"2", "pvp", "normal"},
pvpenforced = {"3", "pvpe", "pvpenforced", "pvp-enforced", "war"}
}
 
function onSay(cid, words, param, channel)
if(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
return true
end
 
local world = getWorldType()
param = param:lower()
if(table.isStrIn(param, config.nopvp)) then
setWorldType(WORLD_TYPE_NO_PVP)
world = "No-PVP"
elseif(table.isStrIn(param, config.pvp)) then
setWorldType(WORLD_TYPE_PVP)
world = "PVP"
elseif(table.isStrIn(param, config.pvpenforced)) then
setWorldType(WORLD_TYPE_PVP_ENFORCED)
world = "PVP-Enforced"
else
doPlayerSendCancel(cid, "Bad gameworld type.")
return true
end
 
doBroadcastMessage("Gameworld type set to: " .. world .. ".", MESSAGE_EVENT_ADVANCE)
return true
end
 
Tag do talkaction.xml

<talkaction log="yes" access="4" words="/mode" event="script" value="mode.lua"/>

- /mode

O que é?: Muda o tipo de PVP.

Como usar?: Basta executar o comando junto com um dos modelos abaixo.

Modelos: nopvp/pvp/pvpenforced

Exemplo:

/mode pvpenforced

Ele quer que mude o PvP do jogador não do servidor.
Link para o comentário
Compartilhar em outros sites

  • 0

Isso ai que o Fawz disse, eu preciso q mude o pvp somente do jogador, mas ainda não sei uma função que eu possa usar pra produzir esse sistema :(


Up

Link para o comentário
Compartilhar em outros sites

  • 0
Em 08/05/2015 em 18:31, Killua disse:

Bota assim no creaturescripts:


function onCombat(cid, target)
    if isPlayer(cid) and isPlayer(target) then
    	if getPlayerStorageValue(cid, 123456) == 1 then return false end
    end
    return true
end

function onTarget(cid,target)
	if isPlayer(cid) and isPlayer(target) then
		if getPlayerStorageValue(cid,123456) == 1 then
			doPlayerSendCancel(cid, "Reative o PVP para atacar um jogador.")
			return false
		end
	end
	return true
end

function onLogin(cid)
	registerCreatureEvent(cid, "PVPTarget")
	registerCreatureEvent(cid, "PVPCombat")
	return true
end

No xml coloca essas TAGs:


<event type="login" name="PVPLogin" event="script" value="script.lua"/>

<event type="target" name="PVPTarget" event="script" value="script.lua"/>

<event type="combat" name="PVPCombat" event="script" value="script.lua"/>

No talkactions coloca assim:


function onSay(cid, words, param, channel)

	if param == "" then
		return doPlayerSendCancel(cid, "Escolha se quer deixar o PVP on ou off.")
	end

	if isInArray({"on","off"}, param) then
		local value = param == "on" and 1 or 0
		local status = param == "on" and "ativou" or "desativou"
		doPlayerSetStorageValue(cid, 123456, value)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você "..status.." o PVP.")
	else
		doPlayerSendCancel(cid, "Escolha se quer deixar o PVP on ou off.")
	end
	return true
end

A TAG vc coloca como quiser

Cara O meu ficou trocado pvp off ativa e on desativa como ageito?

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...