-
Total de itens
190 -
Registro em
-
Última visita
-
Dias Ganhos
1
Posts postados por fokus090
-
-
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 npcHandler:addModule(FocusModule:new()) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local time = 5 local msg = string.lower(msg) local function Sucesso(cid, id) if isCreature(cid) then doPlayerAddItem(cid, id, 1) doPlayerSendTextMessage(cid, 27, "Success -> You created an ".. getItemNameById(id)..".") end end local function Falha(cid, id) if isCreature(cid) then doPlayerSendTextMessage(cid, 27, "Failed -> Trying to create your ".. getItemNameById(id).." failed.") end end -- Conversa Jogador/NPC if (msgcontains(msg, 'maker wings')) then selfSay('Eu posso lhe criar 3 tipos diferentes de asa . {angelical wings} , {diabolic wings} , {fairy wings} , qual asa voce deseja criar?.', cid) elseif (msgcontains(msg, 'angelical wings')) then selfSay(' Bom... para voce criar uma angelical wings , voce precisa de 1kk , e voce terá 50% de chance de sucesso. ainda deseja criar sua asa?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'vip armor')) then selfSay('Voc\ê quer comprar Vip Armor por 100 moedas de ouro?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if (doPlayerRemoveItem(cid,2160,100) == true) then if math.random(1,100) <= 50 then addEvent(Sucesso, time*1000, cid, 2160) talkState[talkUser] = 0 return true else addEvent(Falha, time*1000, cid, 2160) talkState[talkUser] = 0 return true end else selfSay("Você não tem dinheiro suficiente!", cid) talkState[talkUser] = 0 return true end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if (doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8885, 1) talkState[talkUser] = 0 return true else selfSay('Você não tem 100 moedas de ouro', cid) talkState[talkUser] = 0 return true return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
meio ilogico ele ficar baixando server até achar o otb compativel com o dele!
Na verdade não é não. Os Items.otb dele está com defeito. O que ele pode fazer? Criar outro .otb? Sabemos que não dá. Então o mais lógico é substituir o arquivo defeituoso. Pelo menos é o que eu faria. Se tiver idéia melhor...
-
by tibiaa4e
-
-
Baixa outro server na mesma versão que o seu e troca os Items.xml e items.otb
-
Va em data/takaction/scripts crie um arquivo .LUA apague tudo q tem dentro e cole:
function onSay(cid, words, param)if getPlayerPremiumDays(cid) > 2 then
doPlayerRemovePremiumDays(cid, 3)
if getPlayerSex(cid) == 0 then
doPlayerSetSex(cid, 1)
else
doPlayerSetSex(cid, 0)
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have changed your sex and lost three days of premium account.")
else
doPlayerSendCancel(cid, "You do not have enough premium days, changing sex costs three of your premium days.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
end
Depois va em Talkaction.XML e adicione:
<talkaction words="!changesex" script="changesex.lua"/> -
by Vodkart
-
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.3, -150)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.5, -150)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.5, -150)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.5, -150)
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -14.5, -150, -14.5, -150)
arr1 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
arr2 = {
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},
}
arr3 = {
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},
}
arr4 = {
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},
}
arr5 = {
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1},
}
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
local area5 = createCombatArea(arr5)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
setCombatArea(combat5, area5)
local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
local function onCastSpell2(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end
local function onCastSpell3(parameters)
doCombat(parameters.cid, parameters.combat3, parameters.var)
end
local function onCastSpell4(parameters)
doCombat(parameters.cid, parameters.combat4, parameters.var)
end
local function onCastSpell5(parameters)
doCombat(parameters.cid, parameters.combat5, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5 }
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 200, parameters)
addEvent(onCastSpell2, 300, parameters)
addEvent(onCastSpell2, 400, parameters)
addEvent(onCastSpell2, 500, parameters)
end
-
-
function onUse(cid, item, frompos, item2, topos)
if item.uid == 17001 then
if getPlayerStorageValue(cid,17001) == -1 then
doPlayerSendTextMessage(cid,25,"Tesouro Adquirido!")
doPlayerAddItem(cid,2160,10)
setPlayerStorageValue(cid,17001,1)
else
doPlayerSendTextMessage(cid,25,"Esta Vazio!")
end
end
return TRUE
end
Vermelho - UniqueID para colocar no Baú
Tag Action.xml:
<action uniqueid="17001" event="script" value="NomeDoArquivo.lua"/> -
Referente ao NPC de 50% de chance lá, você pode simplesmente colocar a tag random no NPC:
local rand = math.random(1,100)if rand > 50 then
doPlayerAddItem(cid,NumeroDoItem,1)
O Outro eu vou no Chute msm:
local text = ""
text = "[ -- Angelical Wings -- ]\n\n" .. text
text = text .. "Name: Angelical Wings\n
Vocation : Mage\n
Level : 40\n
Price NPC: $40.000,00\n
Weighs: 40.00 oz\n
####--> END <--#####"\n\n
doShowTextDialog(cid, 8983, text)
end
return TRUE
end
Não faço idêia se irá funcionar!
Item que muda Outfit ao Equipar
Abraços !!
-
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -3.0, -20, -2.6, -250)
O que está em vermelho você aumenta
Exemplo Aumentando :
-9.0, -9.0, -9.6, -250Isso faz a Spell HITAR mais.
Exemplo Diminuindo:
-1.0, -1.0, -1.6, -250
Isso faz a Spell HITAR menos.
Resumindo: Quanto maior esses numeros no combat formula maior será o ataque!
Creditos by: Paodequeijobh
-
Mas ele pode ir solo Aquela parte é quantos players em party podem ir, ou seja, um grupo de quantas pessoas. Ali não tem a ver com ir solo.....
Aah é? Desculpe meu erro então.
-- Sim, não usei globalstorage ou storage, fiz um loop para checkar se já tinha algum player no local.Quando testar e se funcionar, avise no tópico que sua dúvida foi sanada para que possam mover o tópico, caso tenha alguma dúvida, poste aqui mesmo que te respondo.
Testarei agora mesmo. Caso funcione logo Editarei aqui.
Edit :.
Meu amigo... Ficou Perfeita. Melhor do que eu esperava. Muito Obrigado pela ajuda.
REP+
-
else
return doPlayerSendCancel(cid, "É necessário pelo menos "..t.party.." players na party.")
end
Essa parte aí não é nescessário. Para o Jogador, há duas opções :. Fazer a Quest Solo, ou fazer em Grupo.
Não é Obrigatório ir em Grupo para realizar a Quest.
PS :. Notei que você não usou em nenhum momento alguma Storage ou GlobalStorage. Você meio que mandou Scannear toda a área da Quest procurando por um jogador. Caso tenha algum lá, manda a mensagem. É bem interessante isso. Eu ainda não testei, mas se realmente funcionar, será de grande ajuda para futuros Scrips.
Abraços !!
-
posta essa quest ai que talvez eu consiga arruma !
Bem meu amigo, essa é minha idéia de Quest. Mas o Ponto forte do meu pedido é apenas a Parte dos Grupos. Não sei usar as funções .lua sobre eles (getPlayerParty(cid) | getPartyMembers(lid) | getPartyLeader(cid) ... ).
Não é preciso fazer a Quest inteira, sobre criar estátua, e blá, blá, blá. Gostaria apenas de uma parte do Script me ensinando a como fazer a parte dos grupos mencionado no Post Original acima.
Abraços !!
-
Olá pessoal.
Estou 'batendo cabeça' aqui tentando resolver algo... Mas ainda não obtive sucesso. Espero que possam me ajudar.
Segue Abaixo :.
Criei uma Quest, onde é preciso Clicar em uma 'Estátua' para ser Teleportado para lá.
Essa Quest pode ser feita tanto Solo, quanto em Grupo. A Questão é a Seguinte :.
Caso o Player clique na Estátua, e esse jogador não está em Nenhum Grupo, ele é 'Teleportado para dentro da Quest' e nenhum outro jogador poderá entrar no mesmo local até ele sair de lá.
Mas, caso o Player clique na Estátua, e esse jogador 'Está em um Grupo', ele é teleportado para dentro da Quest. E qualquer outro jogador 'que esteja no mesmo grupo daquele que está dentro da Quest' poderá, ao clicar na estátua, ser teleportado para dentro da Quest. Mas qualquer outro jogador que não esteja dentro do Grupo, seja Barrado de entrar.
Espero que tenha ficado claro.
Abraços !!
-
Essa magia é legal, Gostei !!
-
Não, não, não ... Erro totalmente meu.
O que você viu como :.
shopModule:addBuyableItem({'Perfeito Nucleo de aprimoramento', 'nucleo'}, 8300, 100000, 'Perfeito nucleo de aprimoramento')
Na Verdade era :.
shopModule:addSellableItem
Foi eu que mudei pra tentar arrumar de algum jeito. Mas aí eu acabei esquecendo de modificar pra colocar aqui. Sorry!
O Script na verdade é :.
shopModule:addSellableItem({'Perfeito Nucleo de aprimoramento', 'nucleo'}, 8300, 100000, 'Perfeito nucleo de aprimoramento')
-
repare que as ID's dos itens são diferentes. Sendo assim, não é o mesmo item.
Aguardo nova Resposta!
Abraços !!
-
Aah, claro. o Script. Não é possível resolver o problema sem o Script.
Ta aí :.
NPC.xml
<npc name="Jessy" script="data/npc/scripts/Jessy.lua" access="5" lookdir="1">
<health now="1000" max="1000"/>
<look type="136" head="63" body="71" legs="71" feet="63" addons="1"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo Aprimorador!."/>
<parameter key="module_shop" value="1" />
<parameter key="shop_buyable" value="nucleo de aprimoramento,8306,5000" />
</parameters>
</npc>
NPC.lua
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
local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
shopModule:addSellableItem({'perfeito nucleo de aprimoramento', 'nucleo'}, 8300, 100000, 'perfeito nucleo de aprimoramento')
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
-
Meus NPCs de compra estão com um problema. ...
Sempre que eu compro 1 Item. O NPC me vende 2. É como se eu tivesse clicado duas vezes para comprar o item.
Alguem me da um Help aí. Preciso terminar meu OT.
Abraços !!
-
Eu quero que as "Mensagens Amarelas" Apareça no Tile, sem o Player estar lá!
E eu não quero usar a função
doSendAnimatedText(pos,"Teste",random)Porque eu quero fazer tipo um Dialógo. E esse AnimatedText são serviria. Sâo mostrados apenas mensagens curtas que somem em instantes.
-
Eu acharia que nao ia funcionar porque isso e uma fala de player seila nao pode ser esse animated text aki?
AnimatedText não encaixa na minha idêia!!
Nao sei se esse /\ ira funcionarNão deu !!
-----------------------
Não achei que seria algo tão difícil, tentei de tudo aqui em Casa mas não consegui. Por isso vim aqui no Fórum. Me pareceu algo tão simples de fazer no início. Preciso muito disso. Vou tentar algumas opções aqui em casa. Se Alguem tiver alguma solução ...
Abraços !!
-
Olha, eu vou testar aqui, mas dando uma olhada rápida aí no Script, se eu tirar a Parte onde verifica a Storage alí, ficaria bem parecido com o meu alí do exemplo.
function onStepIn(cid, item, position, fromPosition) local pos = {x=47, y=39, z=7} doCreatureSay(pos, teste, 1) return TRUE end end
Foi só uma Observação !! ;D
@Edit
[14/03/2012 08:55:05] [Error - MoveEvents Interface] [14/03/2012 08:55:05] data/movements/scripts/Teste.lua:onStepIn [14/03/2012 08:55:05] Description: [14/03/2012 08:55:05] (luaDoCreatureSay) Creature not found
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
Scripts Iniciais
em Scripts
Postado · Editado por Frenesy
@SkyLigh
Ele mencionou "Pela primeira vez". Devo concluir que a mensagem deve aparecer uma ÚNICA vez.
@Topic
1º - ao entrar pela primeira vez no jogo, o player irá receber uma mensagem. { Configurável }
2º - o player nao deve passar em grounds ( mais de um, configurável), sem antes fazer oque o npc mandar, ou sem antes ter a storage "Y", não sei oque é melhor.
3º o player não pode passar no tile "Z" sem ter um certo lvl
4º o player não pode passar no tile "X" sem ser premium account, acho que tem no forum mas nao achei