-
Total de itens
110 -
Registro em
-
Última visita
-
Dias Ganhos
1
Posts postados por groku
-
-
Trago ao Xtibia +1 script!
FAQ
Qual a diferença?
- Esse quando a pessoa compra voce pode escolher uma palavra personalizada de 3 a 8 caracteres q ele irá falar ao comprar
Instalação
1. Vá na pasta do seu Otserver,"data","talkactions","scripts".
2. Copie algum script e em seguida apague tudo que esta escrito na cópia e renomeie-a para "!aol"
3. Abra esta nova pasta "!aol" e copie/cole o que esta abaixo:
---Buy Aol by Groku--- function onSay(cid, words, param) if doPlayerRemoveMoney(cid, 10000) == 1 then doPlayerAddItem(cid, 2173, 1) doSendAnimatedText(getPlayerPosition(cid), "Aol", TEXTCOLOR_LIGHTBLUE) doSendMagicEffect(getPlayerPosition(cid), 30) else doPlayerSendCancel(cid, 'Você não possui 1 crystal/100 platinum coin(s).') doSendAnimatedText(getPlayerPosition(cid), "Money", TEXTCOLOR_RED) doSendMagicEffect(getPlayerPosition(cid), 29) end end
Explicação:
²¹Aol¹²= O que o player diz ao comprar.
²¹Money¹²!= O que o player diz quando nao possui dinheiro suficiente
if doPlayerRemoveMoney(cid, 10000) "10000"= Custo do aol(Recomendo aumentar um pouco pois ele comprou sem ir no npc tem que pagar uma taxa de entrega!)
4. Agora vá em data/talkactions e abra talkactions.xml com um bloco de notas ou progama especifico e cole isto em uma linha branca:
<talkaction words="!aol" script="!aol.lua" />
Explicação:
words="!aol" - É o que o jogador terá de falar para comprar o aol.
Testado e aprovado com sucesso em:
Protocolo 8.10 executer aries 4.0 do Felipe Muniz.
Comentem!
-
o script ta bom e bem esplicado, so nao gostei muito do npc.
ex: o cara e rico e ta red, ai tem uma renca matando ele, ele pedo pro npc kicka ele e nao morre ;s
obs: sua enquete ta errada arruma ela.
:withstupidsmiley: Esqueci de dar dica pra colocar ele no meio do templo ou dp etc,pois ai nao da pra ocorre isso ^^
-
Trago a vocês hoje 1 NpC que Kika O Jogador.
Antes do tuto vou responder algumas duvidas:
XTibiano: Tipo que e ele faz???
GrOkU: O npc kika o player, é claro, por um custo escolhido por você....
XTibiano: Ele ja foi testado?
GrOkU: Ja foi testado em meu ot Yurots 8.1,em thyrania testei mas nao obti sucesso...ele só falava /kick ..... mas nao kikava
XTibiano: Posso parar de pergunta e voce me ensinar logo esse "troço"?
Groku: Gogo!!!
:forward: Primeiramente, abra a pasta do seu ot e vá em npc/scripts , copie 1 script e cole, apague tudo dentro dele e renomeie-o para "kiker"
:forward: Em Seguida, abra o kiker e copie/cole tudo que está no quote abaixo:
local focus = 0
local talk_start = 0
local target = 0
local days = 0
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Good bye then.')
focus = 0
talk_start = 0
end
end
function onCreatureTurn(creature)
end
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
function onCreatureSay(cid, type, msg)
msg = string.lower(msg)
if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
selfSay('oi ' .. creatureGetName(cid) .. '! Posso te "kikar" por 2 crystal.')
focus = cid
talk_start = os.clock()
elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')
elseif focus == cid then
talk_start = os.clock()
if msgcontains(msg, 'promotion') or msgcontains(msg, 'promote') then
if getPlayerVocation(cid) > 4 then
selfSay('Sorry, you are already promoted.')
talk_state = 0
elseif getPlayerLevel(cid) < 20 then
selfSay('Sorry, you need level 20 to buy promotion.')
talk_state = 0
elseif not isPremium(cid) then
selfSay('Sorry, you must be premium to buy promotion.')
talk_state = 0
else
selfSay('Do you want to buy promotion for 20k?')
talk_state = 1
end
elseif msgcontains(msg, 'kick') or msgcontains(msg, 'kikar') then
selfSay('Voce quer ser kikado por 2 crystal?Fale "yes"')
talk_state = 2
elseif talk_state == 1 then
if msgcontains(msg, 'yes') then
if pay(cid,20000) then
doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
selfSay('You are now promoted!')
else
selfSay('Sorry, you do not have enough money.')
end
end
talk_state = 0
elseif talk_state == 2 then
if msgcontains(msg, 'yes') then
if pay(cid,20000) then
selfSay('Pelos Poderes de burucutum kike ele!')
selfSay('/kick '.. creatureGetName(cid) ..'')
selfSay('Mais um kikad... !')
else
selfSay('Xi...Poder de burucutum diz: Sem dinhero nao da :].')
end
end
talk_state = 0
elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end
function onCreatureChangeOutfit(creature)
end
function onThink()
doNpcSetCreatureFocus(focus)
if (os.clock() - talk_start) > 30 then
if focus > 0 then
selfSay('Proximo Por Favor...')
end
focus = 0
end
if focus ~= 0 then
if getDistanceToCreature(focus) > 5 then
selfSay('Adeus neguin foi bom te conhece.Mas podia ter despedido...')
focus = 0
end
end
end
:star2: Se voce olhar o script bem,ele foi feito a partir do johnny do yurots 8.1 ;] + ainda sim ele funciona!
:forward: Depois disso, vá na pasta "Npc" e faça 1 arquivo xml colando tudo q está no quote abaixo...:
<npc name="Roger O Kiker" script="data/npc/scripts/kiker.lua" autowalk="25" floorchange="0" access="9" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="73" head="79" body="128" legs="114" feet="0" addons="3"/>
<parameters>
</parameters>
</npc>
:forward: Vá no mapa editor e coloque-o em lugares que players passem bastante, inclusive no templo, pois as vezes nao temos tempo para o battle sair e acabamos nos descuidando dando "Exit"!
:forward: :] Go editar o script do seu gosto
:forward: Legenda dos 2 scripts:
73= roupa que o npc está usando,que a atual, é a do hero(demonstrando nosso heroi :])
2,20000=Preço do kick!
Bem em breve começarei a criar 1 npc de kick q envie o kikado para o templo!
Boa sorte com seu ot e comente!:]
-
não achei muito boas essas runas.
são muito apelativas dependendo do Ot iria zoar dimais.
é só alterar o dano :smile_positivo:
-
Pra qual versão é essa magia ? Nunca vi DROWNDAMAGE ?
q q é isso ?
^.^ Foi testada em versao 8.1 de thyrania.Mas todos meus globals possuem esses tipos de daos
COMBAT_PHYSICALDAMAGE = 1
COMBAT_ENERGYDAMAGE = 2
COMBAT_POISONDAMAGE = 4
COMBAT_FIREDAMAGE = 8
COMBAT_LIFEDRAIN = 32
COMBAT_MANADRAIN = 64
COMBAT_HEALING = 128
COMBAT_DROWNDAMAGE = 256
COMBAT_ICEDAMAGE = 512
COMBAT_HOLYDAMAGE = 1024
COMBAT_DEATHDAMAGE = 2048
Pra qual versão é essa magia ? Nunca vi DROWNDAMAGE ?
q q é isso ?
Pra qual versão é essa magia ? Nunca vi DROWNDAMAGE ?
q q é isso ?
^.^ Foi testada em versao 8.1 de thyrania.Mas todos meus globals possuem esses tipos de daos
COMBAT_PHYSICALDAMAGE = 1
COMBAT_ENERGYDAMAGE = 2
COMBAT_POISONDAMAGE = 4
COMBAT_FIREDAMAGE = 8
COMBAT_LIFEDRAIN = 32
COMBAT_MANADRAIN = 64
COMBAT_HEALING = 128
COMBAT_DROWNDAMAGE = 256
COMBAT_ICEDAMAGE = 512
COMBAT_HOLYDAMAGE = 1024
COMBAT_DEATHDAMAGE = 2048
-
Estou postando para download 1 pacote de runas novas(e ids)
*Magic Shield Rune_2310
*Super Bola De Fogo_2280
*Super Ultimate Heal_2296
*Super Paralyse_2294
*Mana rune(Nao é action!)_2306
*Rune haste_2312
*Super Sudden Death_2263
:positive: Espero que gostem! :positive:
Para coloca-las no seu ot siga as instruções do Como instalar.xml
Scan:Clique Aqui!
Algm ensina a coloca print?
-
Bem,tenho pra voces uma magia que no meu ot effects mudavam de sequencia ao usar repetidamente e tem um dano considerável.
:forward: Abra o arquivo spells.xml e cole isso:
<instant name="Ultra Song" words="exevo ultra song" lvl="150" maglv="8" mana="300" soul="0" exhaustion="1" prem="0" enabled="1" script="colored sonar.lua"><vocation id="3"/><vocation id="7"/></instant>
:forward: Vá em spells/scripts crie uma pasta chamada colored sonar
:forward: Abra com bloco de notas ou progama especifico e cole isso:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_TERADAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 18)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -4.0, -57, -1.0, -160)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 21)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_DROWNDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 22)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 23)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)
local combat5 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 24)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -6.0, -57, -1.0, -100)
arr1 = {
{0, 0, 0, 0, 0, 1, 0, 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},
{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, 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, 0, 1, 0, 0, 0, 0, 0},
}
arr2 = {
{0, 0, 0, 0, 0, 1, 0, 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},
{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, 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, 0, 1, 0, 0, 0, 0, 0},
}
arr3 = {
{0, 0, 0, 0, 0, 1, 0, 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},
{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, 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, 0, 1, 0, 0, 0, 0, 0},
}
arr4 = {
{0, 0, 0, 0, 0, 1, 0, 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},
{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, 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, 0, 1, 0, 0, 0, 0, 0},
}
arr5 = {
{0, 0, 0, 0, 0, 1, 0, 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},
{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, 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, 0, 1, 0, 0, 0, 0, 0},
}
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, 250, parameters)
addEvent(onCastSpell3, 250, parameters)
addEvent(onCastSpell4, 250, parameters)
addEvent(onCastSpell5, 250, parameters)
end
:weight_lift:
Bem se preferir mude o dano...Sou iniciante em magias e nao tenho muita noçao das fórmulas...
+ Está pronta sua magia!!!
-
Essa é uma magia que ao soltar na area vem alguns espirros d'agua!
:forward:Vamos Ver Como É A Magia Primeiro?
:forward: Colocando nos spells.xml,procure uma linha e cole isso:
<instant name="Splash!" words="exevo pool" lvl="60" maglv="40" mana="650" soul="0" exhaustion="1" prem="1" enabled="1" script="liquidagem.lua"><vocation id="5"/></instant>
:forward: Vá em scripts e crie 1 arquivo.lua que tenha o seguinte nome: Liquidagem
:forward: Abra ele e cole isso:
----------Exevo Pool By Groku----------
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DROWNDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 53)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 2016) --Nao restire isso(Ele garante a originalidade )
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -7.0, -70, -5.0, -100)
arr = {
{0, 0, 0, 0, 0, 1, 0, 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},
{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, 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, 0, 1, 0, 0, 0, 0, 0},
}
local area = createCombatArea(arr)
setCombatArea(combat, area)
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
:forward: Explicação:
Vermelho:Tipo de dano,voce pode deixar o atual ou o COMBAT_ICEDAMAGE
Acha que acabou???
Voce acha q esse pool vai fica pro resto da vida no chao '-'?
Procure o id 2016 e substitua por isso:
<item id="2016" article="a" name="liquido">
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="10"/>
</item>
Azul:=É o tempo(em segundos) que o liquido no chão dura!
Está pronta sua magia :biggrin:
Obs.: Foi Testada Com Sucesso em Thyrania Protocolo:8.10 + provavelmente funciona em versões superiores à 8.00
:button_ok: Gostou Da Magia?Dê reputaçao :button_ok:
Ou se preferir simplesmente COMENTE :positive:
vlw pela atenção
-
Bem...Todos nós estamos cansados de ter que colocar tp embaixo da cadeira pra players nao irem na cadeira...+Aí com o tp nem mesmo voce pode ir nela
Vamos começar!Esse é um sistema com a funçao de retirar toda vida do jogador ou tutor ao pisar na cadeira!
:forward: Vá em Data/Movements/Scripts e crie um bloco de notas do nome cadeira do gm.lua
:forward: Abra essa "cadeira do gm.lua" e cole isso
playerpos = {x=topos.x, y=topos.y, z=topos.z, stackpos=253}
function onStepIn(cid, item, pos)
if isPlayer(cid) then
if item.actionid == 13541 then
oi = getPlayerStorageValue(cid,13541) --Nao retire isso daqui!
if oi == -1 then
doPlayerAddHealth(cid,-99999999)
doSendMagicEffect(playerpos,0)
doSendAnimatedText(getPlayerPosition(cid), "Ooh No!", TEXTCOLOR_RED)
doPlayerSendTextMessage(cid,22," Bem vindo gm!!!")
else
end
end
end
end
:forward: Explicando O Script
Essa cor?= Oque alguem fala ao pisar(Que no caso de player ele ja ia ter morrido).
Essa cor?= O tanto de vida que o jogador perde ao pisar(Obs.:Em ots de rates altas e melhor aumentar para o dobro de vida q o top tem)
Essa cor?= A mensagem recebida ao gm quando pisa :s
:forward: Adicionando ao movements.xml
Abra ele usando bloco de notas e cole isso:
<movevent event="StepIn" actionid="13541" script="cadeira do gm.lua" />
:forward: Fazendo o script funcionar
Vá no seu mapa editor e no piso onde está cadeira do gm voce coloca o action id 13541.(No PiSo!!!)
Fim!
Seja Feliz Agora Que Os Players Nao Podem Sentar Em Sua Cadeira!!!
-
Muito bom rapaz
só dar uma ajeitada no script que ficará ótimo
vejo que voce esta se empenhando na area de script,e recomendo ler alguns tutorais tbm para você ter mais conhecimento sobre as funçoes...
Obrigado,espero novos trabalhos eim
abraços
Vdd =/ nunca li 1 tutorial pra conhecer funçoes vlw pela dica ^^
-
#MatheusMkalo
Realmente deste geito fica melhor.
#groku
Recomendo que coloque em actionid ao invés de uniqueid, pois assim pe possível adicionar mais de uma sem dar erro no distro.
Vo edita vo pegar dica de vcs 2 e editar o post :withstupidsmiley: me atrapalhei 1 pouco acho
-
Vip System
Informações sobre o sistema:
Esse Vip System, é RECOMENDADO para versão 8.10 , já que as versões superiores já possuem outras funções que fazem com que a vip possa acabar, ou até ter roupa, o que não é o caso desse, que utiliza uma STORAGE.
Vamos lá!
Primeiro, a parte do PISO, ou seja na pasta MOVEMENTS
Vá na pasta data/movements/scripts, copie e cole um arquivo do tipo LUA , renomeie-o para Vip e cole isso dentro dele
Cole isso
function onStepIn(cid, item, pos)
teleport1 ={x=167, y=54, z=7} --Lugar que o player é teletransportado caso nao tenha vip
if isPlayer(cid) then
if item.actionid == 13540 then
vip = getPlayerStorageValue(cid,13540)
if vip == -1 then
doPlayerSendCancel(cid,"Esta area e exclusiva para players ViP.")
doTeleportThing(cid,teleport1)
else
end
end
end
end
Vá em data/movements/movements.xml e cole isso
<movevent event="StepIn" actionid="13540" script="vip.lua" />
Agora vamos para o Item que o NPC vende para transportar o player até a quest da Vip
Vá em actions/scripts e crie um arquivo de nome GoVip.
Cole isso
function onUse(cid, item, frompos, item2, topos)
local minLevel = 1
if (getPlayerLevel(cid) >= minLevel) then
doTeleportThing(cid, {x = 186, y = 409, z = 7}) --Aonde o player e levado(onde tem o baú) obrigatoriamente voce deve editar ^^
doRemoveItem(item.uid,1)
else
doPlayerSendTextMessage(cid, 22, "You need to be level " .. minlevel .. " to use this item.")
end
return TRUE
end
Vá em actions.xml cole isso:
<action itemid="Id Item" script="GoVip.lua" />
Agora vá em items/items.xml
Procure o id que você botou e coloque uma descrição nele para o player entender melhor.
No lugar proximo aonde o player e teleportado crie uma quest com o uniqueid 13540
Vá em actions.xml e cole isso de uma vez:
<action uniqueid="13540" script="VipChest.lua" />
Vá em scripts crie um arquivo(lua) com nome vipchest e cole isso nele:
function onUse(cid, item, frompos, item2, topos)
if item.uid == 13540 then
queststatus = getPlayerStorageValue(cid,13540)
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"Voce agora e vip.")
doPlayerAddItem(cid,13540,1)
setPlayerStorageValue(cid,13540,1)
else
doPlayerSendTextMessage(cid,22,"Voce ja tem vip.")
end
else
return 0
end
return 1
end
Agora o NPC
Crie 1 script com nome qalquer(de preferencia para os inesperientes 1 que nao use e que tenha no editor de mapas) e cole isso:
Lembrando, escolha uma roupa bonita para ele, um nome bom, etc.
Essa e a lista de cores ( achei no OT do Alissow )
E a lista de roupas para ele (Creditos para NoHeAD)
0 - Void
1 - <Nothing>
2 - Orc warlord
3 - Warwolf
4 - Orc rider
5 - Orc
6 - Orc shaman
7 - Orc warrior
8 - Orc berserker
9 - Necromancer
10 - Yellow butterfly
11 - Massive water elemental
12 - Archdemon
13 - Black sheep
14 - Sheep
15 - Troll
16 - Bear
17 - Beholder
18 - Ghoul
19 - Slime
20 - Quara predator
21 - Rat
22 - Cyclops
23 - Minotaur mage
24 - Minotaur archer
25 - Minutaur
26 - Rotworm
27 - Wolf
28 - Snake
29 - Minotaur guard
30 - Spider
31 - Deer
32 - Dog
33 - Skeleton
34 - Dragon
35 - Demon
36 - Poison spider
37 - Demon skeleton
38 - Giant spider
39 - Dragon lord
40 - Fire devil
41 - Lion
42 - Polar bear
43 - Scorpion
44 - Wasp
45 - Bug
46 - Quara constrictor
47 - Quara hydromancer
48 - Ghost
49 - Fire elemental
50 - Orc spearman
51 - Green Djinn
52 - Winter wolf
53 - Frost troll
54 - Witch
55 - behemoth
56 - Cave rat
57 - Monk
58 - Priestess
59 - Orc leader
60 - Pig
61 - Goblin
62 - Elf
63 - Elf arcarnist
64 - Elf Scout
65 - Mummy
66 - Dwarf geomancer
67 - Stone golem
68 - Vampire
69 - Dwarf
70 - Dwarf guard
71 - Dwarf soldier
72 - Quara mantassin
73 - Hero
74 - Rabbit
75 - Game master
76 - Swamp troll
77 - Quara pincher
78 - Banshee
79 - Ancient scarab
80 - Blue djinn
81 - Cobra
82 - Larva
83 - Scarab
84 - Ormuc
85 - Morguthis
86 - thalas
87 - Dipthrah
88 - Arkothep
89 - Mahrdis
90 - Vashresamun
91 - Ashmunrah
92 - Mimic
93 - Pirate marauder
94 - Hyaena
95 - Gargoyle
96 - Pirate cutthroat
97 - Pirate buccaneer
98 - Pirate corsair
99 - Lich
100 - Crypt shambler
101 - Bone beast
102 - Death slicer
103 - Efreet
104 - Marid
105 - Badger
106 - Skunk
107 - Demon
108 - Elder beholder
109 - Gazer
110 - Yeti
111 - Chicken
112 - Crab
113 - Lizard templar
114 - Lizard Sentinel
115 - Lizard Snakecharmer
116 - Kongra
117 - Merlkin
118 - Sibang
119 - Crocodile
120 - Carnaphila
121 - Hydra
122 - Bat
123 - Panda
124 - Centipede
125 - tiger
126 - Old Woman
127 - Old man
128 - Male citizen
129 - Male hunter
130 - Male mage
131 - Male knight
132 - Male nobleman
133 - Male summoner
134 - Male warrior
135 - <Nothing>
136 - Fenale citizen
137 - Female hunter
138 - Female mage
139 - Female Knight
140 - Female noblewoman
141 - Female summoner
142 - Female warrior
143 - Male barbarian
144 - Male druid
145 - Male wizard
146 - Male oriental
147 - Female barbarian
148 - Female druid
149 - Female wizard
150 - Female oriental
151 - Male pirate
152 - Male assassin
153 - Male begger
154 - Male shaman
155 - Female pirate
156 - Female assassin
157 - Female begger
158 - Female shaman
159 - Elf
160 - Dwarf
161 - <Nothing>
162 - <Nothing>
163 - <Nothing>
164 - <Nothing>
165 - <Nothing>
166 - <Nothing>
167 - <Nothing>
168 - <Nothing>
169 - <Nothing>
170 - <Nothing>
171 - <Nothing>
172 - <Nothing>
173 - <Nothing>
174 - <Nothing>
175 - <Nothing>
176 - <Nothing>
177 - <Nothing>
178 - <Nothing>
179 - <Nothing>
180 - <Nothing>
181 - <Nothing>
182 - <Nothing>
183 - <Nothing>
184 - <Nothing>
185 - <Nothing>
186 - <Nothing>
187 - <Nothing>
188 - <Nothing>
189 - <Nothing>
190 - <Nothing>
191 - <Nothing>
192 - Carrion worm
193 - Enlighted of the cult
194 - Adept of the cult
195 - Pirate skeleton
196 - Pirate ghost
197 - Tortoise
198 - Thornback tortoise
199 - Mammoth
200 - Blood crab
201 - Demon
202 - Minotaur guard
203 - Elf arcanist
204 - Dragon lord
205 - Stone golem
206 - Monk
207 - Minotaur guard
208 - giant spider
209 - Necromancer
210 - Elder beholder
211 - Elephant
212 - Flamingo
213 - Purple butterfly
214 - Dworc voodoomaster
215 - Dworc fleshhunter
216 - Dworc venomsniper
217 - Parrot
218 - Terror bird
219 - Tarantula
220 - Serpent spawn
221 - Spit nettle
222 - Toad
223 - Seagull
224 - Green frog
225 - Monk
226 - Frog
227 - Blue butterfly
228 - Red butterfly
229 - Ferumbras
230 - Hand of cursed fate
231 - Undead dragon
232 - Lost soul
233 - Betrayed wraith
234 - Dark torturer
235 - Spectre
236 - Destroyer
237 - Diabolic imp
238 - Defiler
239 - Wyvern
240 - Hellhound
241 - Phantasm
242 - Blistering fire elemental
243 - Hellfire fighter
244 - Juggernaut
245 - Nightmare
246 - Blightwalker
247 - Plaguesmith
248 - Frost dragon
249 - Chakoya tribewarden
250 - Penguin
251 - Male norseman
252 - Female norsewoman
253 - Barbarian headsplitter
254 - Barbarian skullhunter
255 - Barbarian bloodwalker
256 - Braindeath
257 - Frost giant
258 - Husky
259 - Chakoya toolshaper
260 - Chakoya windcaller
261 - Ice golem
262 - Silver rabbit
263 - Crystal spider
264 - Barbarian brutetamer
265 - Frost giantess
266 - Comunity manager
267 - Swimming
268 - Male nightmare knight
269 - Female nightmare knight
270 - Female jester
271 - Dragon hatchling
272 - Dragon lord hatchling
273 - Male jester
274 - Squirrel
275 - Sea serpent
276 - Cat
277 - Cyclops smith
278 - Male brotherhood of bones
279 - Female brotherhood of bones
280 - Cyclops drone
281 - Troll champion
282 - Island troll
283 - Frost dragon hatchling
284 - Cockroach
285 - Massive earth elemental
286 - Water elemental
287 - Vampire overlord
288 - Female demonhunter
289 - Male demonhunter
290 - Massive energy elemental
291 - Wyrm
292 - Animated pumpkin
293 - Energy element
294 - Wisp
295 - Rotworm queen
296 - Goblin assassin
297 - Goblin scavanger
298 - Skeleton warrior
299 - Bog raider
300 - Grim reaper
301 - Earth element
302 - God
303 - Undead tortoise?
304 - Worker golem
305 - Mutated rat
306 - Undead gladiator
307 - Mutaded bat
308 - Werewolf
309 - Yalaharian
310 - Haunted treeling
311 - Zombie
312 - Vampire bride
313 - Gozzler
314 - Acid blob
315 - Death blob
316 - Mercury blob
317 - Young sea serpent
318 - Mutated tiger
319 - Haunted spirit
320 - Nightstalker
321 - Nightmare scion
322 - Hellspawn
323 - Mutaded human
324 - Female yalaharian
325 - Male yalaharian
326 - War golem
327 - ?
328 - Married
329 - New Female outfit
330 - Medusa
332 - King Tibianus
331 - Queen Eloise
333 - small Golem
334 - Draken Warmaster
335 - Male Warmaster
336 - Female Warmaster
337 - Lizard High Guard
338 - Lizard Legionnaire
339 - Lizard Dragon Priest
340 - Draken Spellweaver
341 - Gnarlhound
342 - Orc Marauder
343 - Battlemaster Zunzu
344 - Lizard Chosen
345 - ? (Eternal Guardian)
346 - Terramite
347 - Wailing Widow
348 - Lancer Beetle
349 - Insect Swarm
350 - Sandcrawler
351 - Ghastly Dragon
352 - Brimstone Bug
353 - Finger Killer
354 - Triple Medusa
355 - Souleater
356 - Snake God Essence
357 - Draken Abomination
358 - Killer Caiman
359 - Abomination Fury
360 - Phantom Lord
361 - Purple Turtle
362 - Draken Elite
363 - Butterfly Demon
364 - Lizard Abomination
365 - Living Plant
366 - Female Wayfarer
367 - Male Wayfarer
368 - Widow mount
369 - Racing Bird mount
370 - War Bear Mount
371 - Black sheep mount
372 - Midnight Panther mount
373 - Draptor mount
374 - Titanica mount
375 - Tin Lizzard mount
376 - Blazerbringer mount
377 - Rapid Boar mount
378 - Stampor mount
379 - Undead bear mount
380 - Rapid Boar
381 - Stampor
382 - Draptor
383 - Titanica
384 - Undead bear
385 - Midnight Panther
386 - New GM outfit
<?xml version="1.0"?>
<npc name="Vip Seller" script="data/npc/scripts/concertar advanced.lua" access="3" lookdir="2">
<mana now="800" max="800"/>
<health now="200" max="200"/>
<look type="195" head="24" body="114" legs="114" feet="114" addons="3"/>
</npc>
Agora va em npc/scripts crie 1 arquivo e cole isso:
local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Good bye then.')
focus = 0
talk_start = 0
end
end
function onCreatureTurn(creature)
end
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
function onCreatureSay(cid, type, msg)
msg = string.lower(msg)
if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
selfSay('oi ' .. creatureGetName(cid) .. '!Eu vendo Vip por 250 crystal coin')
focus = cid
talk_start = os.clock()
elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')
elseif focus == cid then
talk_start = os.clock()
if msgcontains(msg, 'vip') then
buy(cid,5957,getCount(msg),2500000)
elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end
function onCreatureChangeOutfit(creature)
end
function onThink()
if (os.clock() - talk_start) > 30 then
if focus > 0 then
selfSay('Next Please...')
end
focus = 0
end
if focus ~= 0 then
if getDistanceToCreature(focus) > 5 then
selfSay('Good bye then.')
focus = 0
end
end
end
LEMBRANDO O VIP TICKET NESSE NPC E VENDIDO À 250 CRYSTAL COIN!!!
Coloque o npc no mapa...Lembrando na entrada vip coloque o action id 13540 no piso!!!
:button_ok: Vip Feito :button_ok:
Se voce tinha 1 area vip só seguir instruçoes se nao tem é so criar pois vale a pena
-
Oba!Gostei de postar!La vai meu 2º post U.u :weight_lift:
Vamos ao oque interessa xD:
VOu dividir o tópico em passos e explicações...
1º)Vá em data/actions/scripts cria um arquivo(lua) com o seguinte nome:alavanca enche enche
2º)Abra usando o bloco de notas(ou progama especifico)e cole isso:
vida = math.random(1000,2000)
mana = math.random(1000,2000)
vermelho = TEXTCOLOR_RED
azul = TEXTCOLOR_BLUE
function onUse(cid, item, frompos, item2, topos)
if item.itemid == 1945 then
doTransformItem(item.uid,1946)
doPlayerAddHealth(cid,vida)
doSendAnimatedText(getPlayerPosition(cid), "Life Rox", vermelho)
doPlayerAddMana(cid,mana)
else
doTransformItem(item.uid,1945)
doPlayerAddHealth(cid,vida)
doSendAnimatedText(getPlayerPosition(cid), "Mana Rox", azul)
doPlayerAddMana(cid,mana)
end
return 1
end
Agora a explicação:
Azul:A frase que o jogador fala ao puxar a alavanca.(Maximo 8 letras)
Vermelho:As quantidades de mana que pode encher, que seria o randon...Voce pode alterar isso + ql seria a graça do player encher de qlqr geito 1 quantidade fixa?
Cores:São as cores das frases...Voce pode alterar colocando uma das seguintes opções:TEXTCOLOR_BLUE,
TEXTCOLOR_LIGHTBLUE,
TEXTCOLOR_LIGHTGREEN,
TEXTCOLOR_PURPLE,
TEXTCOLOR_LIGHTGREY,
TEXTCOLOR_DARKRED,
TEXTCOLOR_RED,
TEXTCOLOR_ORANGE,
TEXTCOLOR_YELLOW,
TEXTCOLOR_WHITE_EXP...
Bem agora vá em actions.xml(com bloco de notas) e cole isso:
<action actionid="17890" script="alavanca enche enche.lua" />Agora vá no seu mapa editor,crie uma alavanca e coloque o actionid 17890.Terminando isso seja feliz ;D.
:weight_lift: Até que nao foi tao dificil né? :weight_lift:
Comente,nao custa nada ;D :XTibia_smile:
Fim do meu 2º post
[Edited]
Viva ao xtibianos q me ajudaram...qnd eram muitos nao funcionava...e tambem dica do action id foi boa...obrigado Glera xD
-
olá
esse script já existia nos sistemas vip,o novo tile para vip ele possui a funçao os.time e seria bom se você colocasse nele tbm...
obrigado por trazer o conteudo ao Xtibia
abraços
Hum...Vlw pelo elogio q me feiz no MP
Lol Galera :blink: Comenta ai
-
Bem Como é meu primo post vou me esforçar para conseguir explicar tudo direitinho! :weight_lift:
1º)Vá na pasta do seu ot entre em data/movements/scripts
2º)Crie um arquivo bem vindo.lua e cole isso:
azul = TEXTCOLOR_BLUE
function onStepIn(cid, item, pos)
if isPlayer(cid) then
if item.actionid == 13540
then
oi = getPlayerStorageValue(cid,13540) --Nao retire isso daqui!
if oi == -1 then
doPlayerSendTextMessage(cid,22,"Bem Vindo!Boa Sorte Com Essa Grande Aventura .")
doSendAnimatedText(getPlayerPosition(cid), "Hail Ot!",azul)
else
end
end
end
end
Lembrando que:
Hail ot!:Oq o player fala quando passa encima do quadrado(Opcional,se nao quiser delete a linha)
Bem Vindo...:A mensagem recebida ao player quando ele pisa.
13540:É o action id que voce coloca no piso e no movements.xml(vou comentar agora)
Penultimo Passo)Vá em movements.xml e cole isso
<movevent event="StepIn" actionid="13540" script="bem vindo.lua" />O action id e o id que voce coloca no piso...
Vá no map editor,para ser mais exato no local(is) que voce quer que mostre tal mensagem e coloque 13540.
Creditos:
50% Ao Criador do vipsys(eu fiz a partir desse movement)
50% a mim xD
Lembrando se seu ot ja tem esse action mude ele ^.^
Espero ter conseguido explicar
:XTibia_smile:
-
mapa eh bonito~Mais nao eh meu Estilo
nota: 7.0
Cara n to consiguinu da salve no ot n sei por q por favor me falem como eh
n eh /salve
-
:positive: Gente e meu primeiro post
Espero que vcs gostem mais eu n sei mecher inda com quote intao la vai
Troca de Items noobs:
function onUse(cid, item, frompos, item2, topos)item1pos = {x=378, y=27, z=7, stackpos=255} --Posiçao que a arma noob deve Estar
item3pos = {x=378, y=26, z=7, stackpos=255} --Posiçao que a arma nova aparecerá
item1 = getThingfromPos(item1pos)
item3 = getThingfromPos(item3pos)
if item.itemid == 1945 and item1.itemid == 2383 then
doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,32)
doCreateItem(2400,1, item3pos)
doSendMagicEffect(item3pos,32)
elseif item.itemid == 1945 and item1.itemid == 2190 then
doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,32)
doCreateItem(2191,1, item3pos)
doSendMagicEffect(item3pos,32)
elseif item.itemid == 1945 and item1.itemid == 2456 then
doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,32)
doCreateItem(7438,1, item3pos)
doSendMagicEffect(item3pos,32)
elseif item.itemid == 1945 and item1.itemid == 2182 then
doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,13)
doCreateItem(2186,1, item3pos)
doSendMagicEffect(item3pos,32)
elseif item.itemid == 1945 and item1.itemid == 2389 then
doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,13)
doCreateItem(7367,1, item3pos)
doSendMagicEffect(item3pos,32)
elseif item.itemid == 1945 and item1.itemid == 2399 then
doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,13)
doCreateItem(7368,1, item3pos)
doSendMagicEffect(item3pos,32)
else
return 0
end
return 1
end
Depois de colocar isso em um script chamado troca
:smile_positivo: Espero que gostem e voces tem que por isso
<action uniqueid="1314" script="Troca.lua" />
dps so mexer no map editor
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
[Action]Foods
em Actions e Talkactions
Postado
Bem...Como na maioria dos Yurots 8.1 que ja baixei percebi 1 coisa,em nenhum deles ,quando comia o jogador dava expressao de ter comido como "Yum,Smack,Munch,etc" entao resolvi postar um que tenha para que não seja necessário baixar um outro server para conseguir
:forward: Primeiramente, vá na pasta do seu ot e siga as pastas data/actions/scripts, copie um arquivo que esta nos scripts, abra-o com bloco de notas e em seguida apague tudo oque esta escrito nele,renomeie essa copia para "food" mas como esse script é predominante na maioria dos servers voce pode substituir tudo que está escrito no script "food" por isso:
:forward:
:forward: Se você não possui este script, apos copiar o script acima va em actions.xml e cole isso:
:forward:
Pronto! Viva feliz sabendo que ao comer voce ira fazer barulho
:button_ok: Comente,Ok? :button_ok: