Ir para conteúdo
  • 0

Maquina de scripter -- Derivados é Tibia


kttallan

Pergunta

Ola venho o motivo que criei esse topico é para ajudar é tentar treinar mais minha capacidade de scripter para fazer um pedido de scripter siga o protocolo abaixo para á ajuda de correção de erro tabem siga o protocolo entregarei o trabalho no maximo possivel.

 

Como Fazer Um Pedido De Scripter

 

 

 

Preecha o Seguinte Formulario

 

Função Do Scripter : Assim Ele Passarar Pelo Tile é Ganharar 5000 k.

Servidor utilizado: Tibia Derivados..

Contem Storage : Sim ou Não

 

 

 

 

Como Fazer Procurar A Solução De Tal Erro !

 

 

 

Preencha Seguinte Formulario

 

Qual Servidor Foi Testado : Alissow

Qual Erro Persinste : Poste o Erro Aki

Qual Version : 8.54

 

 

 

 

 

Observação : Seguinte Entregarei o Scripter quando der Caso Não consiga fazer aviso , Para akeles que querem ajudar aceitaria de bom grato a ajuda de algumas pessoas :)

 

Tem como tirar esse negocio de pedido pois tinha que usar um desses. é os scripter não estarar posivel fazer scripter de spell pois não cheguei a essa area.

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

Posts Recomendados

  • 0

pedido acima. (NAO TESTADO)

 

local config = {
broadcast = {60, 60},
shallow = "yes",
delay = 60,
events = 60
}
 
config.shallow = getBooleanFromString(config.shallow)
 
local function executeSave(seconds)
if(isInArray(config.broadcast, seconds)) then
local text = ""
if(not config.shallow) then
text = "Full s"
else
text = "S"
end
 
text = text .. "erver Vai Ser Salvo!"
doBroadcastMessage(text)
end
 
if(seconds > 0) then
addEvent(executeSave, config.events * 1, seconds - config.events)
else
doSaveServer(config.shallow)
                doCleanMap()
end
end
 
function onThink(interval, lastExecution, thinkInterval)
if(table.maxn(config.broadcast) == 0) then
doSaveServer(config.shallow)
else
executeSave(config.delay)
                doCleanMap()
end
 
return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

pedido acima. (NAO TESTADO)

local config = {
broadcast = {60, 60},
shallow = "yes",
delay = 60,
events = 60
}
 
config.shallow = getBooleanFromString(config.shallow)
 
local function executeSave(seconds)
if(isInArray(config.broadcast, seconds)) then
local text = ""
if(not config.shallow) then
text = "Full s"
else
text = "S"
end
 
text = text .. "erver Vai Ser Salvo!"
doBroadcastMessage(text)
end
 
if(seconds > 0) then
addEvent(executeSave, config.events * 1, seconds - config.events)
else
doSaveServer(config.shallow)
                doCleanMap()
end
end
 
function onThink(interval, lastExecution, thinkInterval)
if(table.maxn(config.broadcast) == 0) then
doSaveServer(config.shallow)
else
executeSave(config.delay)
                doCleanMap()
end
 
return true
end

 

 

pedido acima. (NAO TESTADO)

local config = {
broadcast = {60, 60},
shallow = "yes",
delay = 60,
events = 60
}
 
config.shallow = getBooleanFromString(config.shallow)
 
local function executeSave(seconds)
if(isInArray(config.broadcast, seconds)) then
local text = ""
if(not config.shallow) then
text = "Full s"
else
text = "S"
end
 
text = text .. "erver Vai Ser Salvo!"
doBroadcastMessage(text)
end
 
if(seconds > 0) then
addEvent(executeSave, config.events * 1, seconds - config.events)
else
doSaveServer(config.shallow)
                doCleanMap()
end
end
 
function onThink(interval, lastExecution, thinkInterval)
if(table.maxn(config.broadcast) == 0) then
doSaveServer(config.shallow)
else
executeSave(config.delay)
                doCleanMap()
end
 
return true
end

Aonde eu devo adicionar isso ?

Link para o comentário
Compartilhar em outros sites

  • 0

vai em data/globalevents/scripts copie qualquer arquivo e renomeie para save.lua e cole isso.

 

local config = {
broadcast = {60, 60},
shallow = "yes",
delay = 60,
events = 60
}
 
config.shallow = getBooleanFromString(config.shallow)
 
local function executeSave(seconds)
if(isInArray(config.broadcast, seconds)) then
local text = ""
if(not config.shallow) then
text = "Full s"
else
text = "S"
end
 
text = text .. "erver Vai Ser Salvo!"
doBroadcastMessage(text)
end
 
if(seconds > 0) then
addEvent(executeSave, config.events * 1, seconds - config.events)
else
doSaveServer(config.shallow)
                doCleanMap()
end
end
 
function onThink(interval, lastExecution, thinkInterval)
if(table.maxn(config.broadcast) == 0) then
doSaveServer(config.shallow)
else
executeSave(config.delay)
                doCleanMap()
end
 
return true
end

 

em globalevents.xml adcione essa tag.

<globalevent name="AutoSave" interval="70" script="save.lua"/>
Link para o comentário
Compartilhar em outros sites

  • 0

Eu quero q vc por favor crie pra min as scripts dos seguintes pokemons darkray,deoxys,jirachi,dialga,palkia,latios,latias,jiratina... tem mais algumas mas acho q vai ser de mais pedir .... são todas para servider pokemon dash advanced

Link para o comentário
Compartilhar em outros sites

  • 0

Eu já tenho uma script mais queria que arrumasse...Eu clico numa alavanca dai faz um monstro clico de novo ele troca para outro mais queria que ele só trocasse com o comando !trocar Demon assim...

 

local monsters = {

[1] = 'demon',

[2] = 'vampire',

[3] = 'dragon lord',

[4] = 'hydra',

}

local gstorage1 = 8671

local gstorage2 = 8672

local aid = 75000

 

function onLook(cid, thing, position, lookDistance)

if isCreature(thing.uid) then return true end

if thing.actionid == aid then

local monster = monsters[getGlobalStorageValue(gstorage1)]

if not monster then

monster = monsters[1]

end

local str = ''

for i, monstername in ipairs(monsters) do

str = str.. '['..i..'] '..monstername..'\n'

end

str = 'Monstros disponiveis nesse QG:\n'..str..'Monstro definido atualmente:\n'..monster

doShowTextDialog(cid, thing.itemid, str)

return false

end

return true

end

Link para o comentário
Compartilhar em outros sites

  • 0

Eu quero q vc por favor crie pra min as scripts dos seguintes pokemons darkray,deoxys,jirachi,dialga,palkia,latios,latias,jiratina... tem mais algumas mas acho q vai ser de mais pedir .... são todas para servider pokemon dash advanced

Tipo man tem tutoriais pra isso que no caos não é lua procurap or ai vocé mermo fais

 

Eu já tenho uma script mais queria que arrumasse...Eu clico numa alavanca dai faz um monstro clico de novo ele troca para outro mais queria que ele só trocasse com o comando !trocar Demon assim...

 

local monsters = {

[1] = 'demon',

[2] = 'vampire',

[3] = 'dragon lord',

[4] = 'hydra',

}

local gstorage1 = 8671

local gstorage2 = 8672

local aid = 75000

 

function onLook(cid, thing, position, lookDistance)

if isCreature(thing.uid) then return true end

if thing.actionid == aid then

local monster = monsters[getGlobalStorageValue(gstorage1)]

if not monster then

monster = monsters[1]

end

local str = ''

for i, monstername in ipairs(monsters) do

str = str.. '['..i..'] '..monstername..'\n'

end

str = 'Monstros disponiveis nesse QG:\n'..str..'Monstro definido atualmente:\n'..monster

doShowTextDialog(cid, thing.itemid, str)

return false

end

return true

end

Hum.. acho que entendi mais acho que ficaria estranho posso tipo fazer assim pra eles sortear qual monstro virar independente. tipo pode vir um agr é outro diferente. pos esse detrocar acho que não consegueria fazer ;(

Link para o comentário
Compartilhar em outros sites

  • 0

eu queria que vc me desse um sistema de pet com a seguinte função:

* Summona cada monstro conforme o level
*Tem exausted

*só da para sumonar 1 pet por vez aparece a mensagem, "voce ja tem pet summonado!"

* em protectozone o action nao funcionara > entao aparece a mensagem "voce nao pode summonar em protectionzone"

*nao tem o sistema de voltar o summon nao, ele só sumona o monstro ele nao retira!

*Pode ser action ou talkaction

*só "x" vocaçao pode usar o comando ou o item de summon

* se possivel facil de configurar.

se quizer um sistema de base eu tenho um script aki... boa sorte :D

Link para o comentário
Compartilhar em outros sites

  • 0

Mais assim mais queria que o cara usasse o comando e trocasse o monstro dai tipo assim tenho outro script mais a alavanca nao

funfa dai vo te monstrar.

 

Talktions

function onSay(cid, words, param)local acceptMonsters = {"Dragon", "Kongra", "Rat", "Demon"}if not param or param == "" or #param < 1 thendoPlayerSendTextMessage(cid, 20, "Monstros disponíveis no QG:")for a, b in pairs(acceptMonsters) dodoPlayerSendTextMessage(cid, 20, "- "..b.."")endreturn trueendif param and not isInArray(acceptMonsters, param) thendoPlayerSendTextMessage(cid, 20, "Este monstro não está disponível no QG")return trueendsetPlayerStorageValue(cid, 15469, param)doPlayerSendTextMessage(cid, 20, "O monstro escolhido para o QG é o ["..param.."].")return trueend

Action

 

function onUse(cid, item, frompos, item2, topos)

if getPlayerStorageValue(cid, 15469) < 1 thendoPlayerSendTextMessage(cid, 20, "Você não escolheu ainda o monstro do QG!")return trueendsetPlayerStorageValue(cid, 15469, -1)doPlayerSendTextMessage(cid, 20, "Boa sorte jovem guerreiro!")doCreateMonster(getPlayerStorageValue(cid, 15469), getThingPos(cid))return trueend
Editado por Matador18
Link para o comentário
Compartilhar em outros sites

  • 0

Tente esse aki vocé na proxima usa [.spoiler] e [./spoiler] tira os pontos.

 

talkaction

 

 

 

function onSay(cid, words, param)

if not param or param == "" or #param < 1 then
doPlayerSendTextMessage(cid, 20, "Monstros disponíveis no QG:")

for a, b in pairs(cfgm) do
doPlayerSendTextMessage(cid, 20, "- "..b.."")
end

return true
end

if param and not isInArray(cfg, param) then
doPlayerSendTextMessage(cid, 20, "Este monstro não está disponível no QG")
return true
end

setPlayerStorageValue(cid, 15469, param)
doPlayerSendTextMessage(cid, 20, "O monstro escolhido para o QG é o ["..param.."].")
setPlayerStorageValue(cfgm.Storage, 1)
return true
end

 

 

action

 

 

 

function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, cfgm.storage) < 1 then
doPlayerSendTextMessage(cid, 20, "Você não escolheu ainda o monstro do QG!")
return true
end

setPlayerStorageValue(cid, cfgm.storage, -1)
doPlayerSendTextMessage(cid, 20, "Boa sorte jovem guerreiro!")
doCreateMonster(getPlayerStorageValue(cid, cfgm.monster), getThingPos(cid))
return true
end


 

 

agr vai em data/lib crie um arquivo lua é preencha assim

 

cfgm = {
monster = "Demon", Storage = 5000

monster = "Monster", Storage = adicione mais um intt 5001
}

 

não testei amigo mais tenta ai.

 

vocé tbm pode deixar no arquivo do talkactions mais se vocé for preencher ele ai deixa no lib


eu queria que vc me desse um sistema de pet com a seguinte função:

* Summona cada monstro conforme o level
*Tem exausted

*só da para sumonar 1 pet por vez aparece a mensagem, "voce ja tem pet summonado!"

* em protectozone o action nao funcionara > entao aparece a mensagem "voce nao pode summonar em protectionzone"

*nao tem o sistema de voltar o summon nao, ele só sumona o monstro ele nao retira!

*Pode ser action ou talkaction

*só "x" vocaçao pode usar o comando ou o item de summon

* se possivel facil de configurar.

se quizer um sistema de base eu tenho um script aki... boa sorte :D

Me manda o sistema base acho que consigo fazer :)

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

  • 0

 

 

function onUse(cid, item, frompos, item2, topos)

if getTilePzInfo(getCreaturePosition(cid)) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce Nao Pode Usar Enquanto Estiver Em Protect Zone.")return true
end
if (getPlayerStorageValue(cid, 11548) >= os.time()) then
doPlayerSendTextMessage(cid, 6,"Por medidas de segurança você só pode utilizar este comando em " ..
(getPlayerStorageValue(cid, 11548)-os.time()+(0)) .. " segundos.")
return TRUE
end
storage = 4191
storsol = 1203
if #getCreatureSummons(cid) > 1 then
doPlayerSendCancel(cid,"Your Demonio is already summoned.")
end
if getPlayerStorageValue(cid,storsol) == 1 then
local z = getCreatureSummons(cid)[1]
addEvent(setPlayerStorageValue,100,cid,storsol,-1)
doPlayerSay(cid,"Back my summon!",TALKTYPE_ORANGE_1)
doSendMagicEffect(getCreaturePosition(z), 2)
doSendDistanceShoot(getCreaturePosition(z), getPlayerPosition(cid), 3)
doRemoveCreature(z)
end
local summons = getCreatureSummons(cid)
local pet = {
["Bug"] = {1,250},
["Death Blob"] = {251,1500},
["Worker golem"] = {1501,5000},
["werewolf"] = {5001,9999},
["Mercury Blob"] = {10000,15000},
["Flufly"] = {15001,23000},
["haunted treeling"] = {23001,30000},
["Vampire Bride"] = {30001,40000},
["Grim Reaper"] = {40001,55000},
["Zombie"] = {55001,80000},
["Azure Frog"] = {80001,400000}
}
for k,v in pairs(pet) do -- 1
if getPlayerStorageValue(cid,storsol) < 1 then
if getPlayerLevel(cid) >= v[1] and getPlayerLevel(cid) < v[2] then -- 2
if (table.maxn(summons) < 1)then -- 3
x = doSummonCreature(k, getCreaturePosition(cid))
doConvinceCreature(cid, x)
setPlayerStorageValue(cid,4194,1)
setPlayerStorageValue(cid,11548,os.time()+30)
setPlayerStorageValue(cid,storsol,1)
doCreatureSay(cid, k ..", go!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 2)
end
end
end
return true
end


Kttallan o one shot fez o script primeiro que você, mais obrigado mesmo assim, vou te dar um rep+ quando puder


esse outro spoiler é um sistema de clone, ele é mods, sempre que eu mato o clone aparece 1 erro no distro na parte de remover, aparece um erro dizendo que o monstro nao esta vivo para remover.... teria como vc remover esse erro? ou tirar a funçao remover summon desse script? obrigado, agradeço desde ja!

e se possivel tambem colokar para só 1 classe especifica usar o script nossa ajudaria muitoooooooo muito mesmo! vlw *-*

 

 

<?xml version="1.0" encoding="iso-8859-1"?>
<mod name="Clone System" version="1.0" author="Draky Lucas" contact="XTibia" enabled="yes">
<config name="configuracao_clone"><![CDATA[
config = {
tempo = 5*60*1000, -- em milisegundos, pra remover o clone (está 2 minutos)
name = "Clone", -- nao mecha
mana = 2000000, -- mana que precisa pra sumonar
}
function sumonar(cid,name)
doPlayerAddMana(cid,-config.mana)
doPlayerSendTextMessage(cid,19,"Seu clone sera removido em 5 minutos")
local summon = doSummonCreature(name,getCreaturePosition(cid))
doSetCreatureOutfit(summon, getCreatureOutfit(cid), -1)
doChangeSpeed(summon,-getCreatureSpeed(summon) + getCreatureBaseSpeed(cid))
setCreatureMaxHealth(summon,getCreatureMaxHealth(cid))
doCreatureAddHealth(summon,-getCreatureHealth(summon) + getCreatureHealth(cid))
doConvinceCreature(cid,summon)
registerCreatureEvent(cid,"clone")
registerCreatureEvent(cid,"clonecombat")
registerCreatureEvent(cid,"cloneoutfit")
addEvent(removerclone,config.tempo,cid)
end
function removerclone(cid)
if not isCreature(cid) then return true end
if #getCreatureSummons(cid) > 0 then
if getCreatureName(getCreatureSummons(cid)[1]) == config.name then
doRemoveCreature(getCreatureSummons(cid)[1])
doPlayerSendTextMessage(cid,19,"Seu clone foi descansar!")
end
end
unregisterCreatureEvent(cid,"clone")
unregisterCreatureEvent(cid,"clonecombat")
unregisterCreatureEvent(cid,"cloneoutfit")
return true
end
]]></config>
<talkaction words="/clone" event="buffer"><![CDATA[
domodlib("configuracao_clone")
if #getCreatureSummons(cid) >= 1 then
return doPlayerSendCancel(cid,"voce nao pode ter summons para se clonar")
end
if getTilePzInfo(getCreaturePosition(cid)) then
return doPlayerSendCancel(cid,"Voce nao pode se clonar em protection zone!")
end
if getPlayerMana(cid) < config.mana then
return doPlayerSendCancel(cid,"Voce precisa de ".. config.mana .. " de mana para se clonar!")
end
sumonar(cid,config.name)
]]></talkaction>
<event type="statschange" name="clone" event="buffer"><![CDATA[
domodlib('configuracao_clone')
-- function onStatsChange(cid, attacker, type, combat, value)
if #getCreatureSummons(cid) < 1 or getCreatureName(getCreatureSummons(cid)[1]) ~= config.name then
unregisterCreatureEvent(cid,"clone")
unregisterCreatureEvent(cid,"clonecombat")
unregisterCreatureEvent(cid,"cloneoutfit")
return true
end
if type == STATSCHANGE_HEALTHGAIN then
doTargetCombatHealth(cid, getCreatureSummons(cid)[1], combat, value, value, 12)
end
-- return true
-- end
]]></event>
<event type="combat" name="clonecombat" event="buffer"><![CDATA[
domodlib('configuracao_clone')
-- function onCombat(cid,target)
if #getCreatureSummons(cid) < 1 or getCreatureName(getCreatureSummons(cid)[1]) ~= config.name then
unregisterCreatureEvent(cid,"clone")
unregisterCreatureEvent(cid,"clonecombat")
unregisterCreatureEvent(cid,"cloneoutfit")
return true
end
if target ~= cid then
registerCreatureEvent(target, "clonestats")
end
-- return true
-- end
]]></event>
<event type="statschange" name="clonestats" event="buffer"><![CDATA[
domodlib('configuracao_clone')
-- function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS and #getCreatureSummons(attacker) > 0 and getCreatureName(getCreatureSummons(attacker)[1])== config.name then
return doTargetCombatHealth(getCreatureSummons(attacker)[1], cid, combat, -value, -value, 3)
end
-- return true
-- end
]]></event>
<event type="outfit" name="cloneoutfit" event="script"><![CDATA[
domodlib('configuracao_clone')
if #getCreatureSummons(cid) < 1 or getCreatureName(getCreatureSummons(cid)[1]) ~= config.name then
unregisterCreatureEvent(cid,"clone")
unregisterCreatureEvent(cid,"clonecombat")
unregisterCreatureEvent(cid,"cloneoutfit")
else
doSetCreatureOutfit(getCreatureSummons(cid)[1], current, -1)
end
return true
]]></event>
</mod>

Link para o comentário
Compartilhar em outros sites

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