Fácil: renomeie essa pasta pra ao que quiser, e la em talkactions.xml em vez de colocar:
<talkaction words="god" event="script" value="god.lua"/>
Coloca:
<talkaction words="god" event="script" value="o que você colocou la.lua"/>
Sabe quando você e seu amigo está caçando em um lugar muito longe, e você morre, e o espertinho de seu amigo fica vivo, não dá aquela raiva, de ter que voltar todo caminho, e ainda sozinho ? Pensando nisso, foi que eu tive uma ideia de uma Pedra, aonde seu amigo pode usar ela no seu corpo se você ainda estiver tiver online, e aceitar seu convite, você é teleportado para cima do corpo.
Observe a Imagem:
Bom, agora que já está explicado a ideia vamos ao script:
Crie um arquivo com o nome de invoc.lua na pasta actions/scripts e cole o seguinte código:
local configs = {
minLvL = 0, -- level minimo necessário[ 0 para não precisar ]
mana = 0, -- mana necessária [ 0 para não precisar ]
magicLvL = 0, -- magic level necessário [ 0 para não precisar ]
vocs = {0, 1, 2, 3, 4, 5, 6, 7, 8}, -- vocações que podem usar
premium = false, -- precisa de premium [ true ou false ]
removeCorpse = true, -- remover o corpo depois de invocar [ true or false ]
removeStone = true, -- remover a pedra após usar [ true or false ]
invite = true -- o dono do corpo precisa aceitar [ true or false ]
}
function SendMessageInvoc(cid, pid)
if getPlayerStorageValue(pid, 22254) ~= 1 then return true end
if not isCreature(cid) or not isCreature(pid) then return true end
doPlayerSendTextMessage(pid, 27, "O Player "..getCreatureName(cid).." quer te invocar digite /invoc aceitar ou /invoc rejeitar.")
addEvent(SendMessageInvoc, 10000, cid, pid)
end
function onUse(cid, item, frompos, item2, topos)
if getPlayerLevel(cid) < configs.minLvL then
return doPlayerSendCancel(cid, "Você precisa de level "..configs.minLvL.." para invocar alguem.")
elseif getPlayerMana(cid) < configs.mana then
return doPlayerSendCancel(cid, "Você precisa de "..configs.mana.." de mana para invocar alguem.")
elseif getPlayerMagLevel(cid) < configs.magicLvL then
return doPlayerSendCancel(cid, "Você precisa de magic level "..configs.magicLvL.." para invocar alguem.")
elseif not isInArray(configs.vocs, getPlayerVocation(cid)) then
return doPlayerSendCancel(cid, "Sua Vocação não é permitido invocar alguem.")
elseif not isPremium(cid) and configs.premium then
return doPlayerSendCancel(cid, "Você precisa de premium account para invocar alguem.")
end
if isCorpse(item2.uid) then
if not getItemAttribute(item2.uid, "description") then
return doPlayerSendCancel(cid, "Este não é corpo de um player.")
end
local name = (getItemAttribute(item2.uid, "description")):match("You recognize (.-)%.")
local pid = getPlayerByName(name)
if pid then
if not configs.invite then
doTeleportThing(pid, topos)
doSendMagicEffect(topos, 10)
doSendAnimatedText(topos, "Invoked", math.random(1, 250))
doPlayerSendTextMessage(cid, 27, "O Player "..name.." foi invocado com sucesso.")
doPlayerSendTextMessage(pid, 27, "O Player "..getCreatureName(cid).." te invocou.")
if configs.removeCorpse then
doRemoveItem(item2.uid)
end
else
if getPlayerStorageValue(pid, 22254) ~= 1 then
setPlayerStorageValue(pid, 22254, 1)
setPlayerStorageValue(pid, 22255, topos.x)
setPlayerStorageValue(pid, 22256, topos.y)
setPlayerStorageValue(pid, 22257, topos.z)
if configs.removeCorpse then
setPlayerStorageValue(pid, 22258, "yes")
end
setPlayerStorageValue(pid, 22259, cid)
SendMessageInvoc(cid, pid)
doPlayerSendTextMessage(cid, 27, "Você envio convite para "..name.." para ser invocado.")
else
return doPlayerSendCancel(cid, "Este corpo já foi invocado por alguem.")
end
end
if configs.removeStone then
doRemoveItem(item.uid, 1)
end
return doCreatureAddMana(cid, - configs.mana)
else
return doPlayerSendTextMessage(cid, 27, "O Player não esta online.")
end
else
return doPlayerSendCancel(cid, "Isto não é um corpo.")
end
end
Depois na pasta actions procure pelo arquivo actions.xml e adicione a tag:
Agora entre na pasta talkactions/scripts e crie outro arquivo com o nome de invoc.lua novamente e cole o código:
function onSay(cid, words, param)
if getPlayerStorageValue(cid, 22254) == 1 then
if param == "aceitar" then
if not isPlayer(getPlayerStorageValue(cid, 22259)) then
setPlayerStorageValue(cid, 22254, 0)
doPlayerSendTextMessage(cid, 27, "O Player que te invocou não está mais online por isso foi cancelado o pedido.")
end
local pos = {x=getPlayerStorageValue(cid, 22255), y=getPlayerStorageValue(cid, 22256), z=getPlayerStorageValue(cid, 22257)}
doTeleportThing(cid, pos)
doSendMagicEffect(pos, 10)
doSendAnimatedText(pos, "Invoked", math.random(1, 250))
if getPlayerStorageValue(cid, 22258) == "yes" then
for i = 0, 255 do
pos.stackpos = i
local tile = getTileThingByPos(pos)
if isCorpse(tile.uid) then
if (getItemAttribute(tile.uid, "description")):match("You recognize (.-)%.") == getCreatureName(cid) then
doRemoveItem(tile.uid)
break
end
end
end
end
doPlayerSendTextMessage(cid, 27, "O Player "..getCreatureName(getPlayerStorageValue(cid, 22259)).." te invocou.")
doPlayerSendTextMessage(getPlayerStorageValue(cid, 22259), 27, getCreatureName(cid).." foi invocado com sucesso.")
setPlayerStorageValue(cid, 22254, 0)
elseif param == "rejeitar" then
if not isPlayer(getPlayerStorageValue(cid, 22259)) then
setPlayerStorageValue(cid, 22254, 0)
doPlayerSendTextMessage(cid, 27, "O Player que te invocou não está mais online por isso foi cancelado o pedido.")
end
doPlayerSendTextMessage(cid, 27, "Você rejeitou o pedido de "..getCreatureName(getPlayerStorageValue(cid, 22259))..".")
doPlayerSendTextMessage(getPlayerStorageValue(cid, 22259), 27, getCreatureName(cid).." rejeitou seu pedido de invocação.")
setPlayerStorageValue(cid, 22254, 0)
end
else
doPlayerSendTextMessage(cid, 27, "Você não tem convites.")
end
return true
end
Depois na pasta talkactions procure o arquivo talkactions.xml e adicione a seguinte tag:
Segue as configurações no script, se vai remover o corpo, se vai remover a pedra, o level, magic level, premium, ou até mesmo se o player que vai ser invocado precisar aceitar algum convite, tudo pode ser configurado no script nesta parte:
local configs = {
minLvL = 0, -- level minimo necessário[ 0 para não precisar ]
mana = 0, -- mana necessária [ 0 para não precisar ]
magicLvL = 0, -- magic level necessário [ 0 para não precisar ]
vocs = {0, 1, 2, 3, 4, 5, 6, 7, 8}, -- vocações que podem usar
premium = false, -- precisa de premium [ true ou false ]
removeCorpse = true, -- remover o corpo depois de invocar [ true or false ]
removeStone = true, -- remover a pedra após usar [ true or false ]
invite = true -- o dono do corpo precisa aceitar [ true or false ]
}
Caso estiver usando o sistema de convite os comandos são:
/invoc aceitar
/invoc rejeitar
Bom eu deixei configurado com aquela pedra rosa como na foto, fica ao seu critério deixar ela ou escolher outra só mudar na tag do xml:
Eu queria colocar no meu server igual ao tibia global
Exemplo :
Knight so pode usar : sword,club e axe .. Nenhum outro
paladin : flecha , arco , star , nenhum outro o msm para druid e sorcerer pff me ajuda me server ta feio com tds vocations usando todos tipos de arma .
2º como eu executo uma DB queria colocar sistema casamento mas preciso executar uma db
Quem Está Navegando
0 membros estão online
Nenhum usuário registrado visualizando esta página.