Ir para conteúdo
  • Cadastre-se

Posts Recomendados

quero uma spell nome extreme paralyze.

Descrição:São obtidas 3 cargas ao vencer o boss Zabolick (aparece em invasões). Com esta técnica, o jogador cita as palavras mágicas extreme paralyze e desfere uma onda de gelo para todos os lados, que vai e volta. Todos atingidos na ida ficarão com paralyze por 5 segundos sem poder retirar, e todos atingidos na volta levam um dano de 1000 a 1500. (limite de 3 cargas).

 

se precisa tenho um video:

 

 

Link para o post
Compartilhar em outros sites
  • Respostas 48
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Como o titulo diz , peça sua script aqui , vou tentar fazer pois sou meio iniciante em Scripts e quero aprender mais  Regras <> Scripts simples , sem ser muito complicadas <> Não v

Teste por favor  Como a script funciona : O Player puxa X alavanca e ele ganha a rate extra de 50% e daqui a 30 dias ela irá sumir.   OBS : Lembre se de mudar a rate na script , pois colo

Bem dificil de fazer.   Eu não vou conseguir fazer para da proxima vez que for vender algo , ficar mais caro.

2 horas atrás, PedroSTT disse:


Não consegui identificar o erro , você quer que eu faça um proprio NPC para você ?

Gostaria muito disso :) lembrando que é tfs 1.0

Editado por kinglekke (veja o histórico de edições)

OldTaboos24hpor48h.com Inauguração DOMONIGO as 18:00 | 18/03/2018 | Stages | Custom Map |VENHA SER TOP TABOOS!

Link para o post
Compartilhar em outros sites
3 horas atrás, BangxD disse:

quero uma spell nome extreme paralyze.

Descrição:São obtidas 3 cargas ao vencer o boss Zabolick (aparece em invasões). Com esta técnica, o jogador cita as palavras mágicas extreme paralyze e desfere uma onda de gelo para todos os lados, que vai e volta. Todos atingidos na ida ficarão com paralyze por 5 segundos sem poder retirar, e todos atingidos na volta levam um dano de 1000 a 1500. (limite de 3 cargas).

 

se precisa tenho um video:

 

 



Ok , aqui esta :

 

XML

<instant name="Default" words="default" lvl="1" maglv="1" mana="25" exhaustion="1000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="Default.lua">
	<vocation id="1"/>
	<vocation id="2"/>
	<vocation id="3"/>
	<vocation id="4"/>
	<vocation id="5"/>
	<vocation id="6"/>
	<vocation id="7"/>
	<vocation id="8"/>
</instant>

SCRIPT

Spoiler

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 2, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1}}))
setCombatFormula(combat0_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat0_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat0_Brush, con___combat0_Brush)

-- Areas/Combat for 400ms
local combat4_Brush = createCombatObject()
setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat4_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 2, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1}}))
setCombatFormula(combat4_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat4_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat4_Brush, con___combat4_Brush)

-- Areas/Combat for 1100ms
local combat11_Brush = createCombatObject()
setCombatParam(combat11_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat11_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat11_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}))
setCombatFormula(combat11_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat11_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat11_Brush, con___combat11_Brush)

-- Areas/Combat for 1900ms
local combat19_Brush = createCombatObject()
setCombatParam(combat19_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat19_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat19_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 2, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1}}))
setCombatFormula(combat19_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat19_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat19_Brush, con___combat19_Brush)

-- Areas/Combat for 2500ms
local combat25_Brush = createCombatObject()
setCombatParam(combat25_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat25_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat25_Brush,createCombatArea({{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 2, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1}}))
setCombatFormula(combat25_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat25_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat25_Brush, con___combat25_Brush)

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
    if (isCreature(cid)) then
        doCombat(cid, c, var)
        if (dirList ~= nil) then -- Emit distance effects
            local i = 2;
            while (i < #dirList) do
                doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
                i = i + 2
            end        
        end
    end
end

function onCastSpell(cid, var)
    local startPos = getCreaturePosition(cid)
    RunPart(combat0_Brush,cid,var)
    addEvent(RunPart,400,combat4_Brush,cid,var)
    addEvent(RunPart,1100,combat11_Brush,cid,var)
    addEvent(RunPart,1900,combat19_Brush,cid,var)
    addEvent(RunPart,2500,combat25_Brush,cid,var)
    return true

 

Editado por PedroSTT (veja o histórico de edições)

giphy.gif

Link para o post
Compartilhar em outros sites
Em 21/12/2016 ás 16:09, PedroSTT disse:

Como o titulo diz , peça sua script aqui , vou tentar fazer pois sou meio iniciante em Scripts e quero aprender mais 


Regras


<> Scripts simples , sem ser muito complicadas
<> Não vou poder testar a script , entao teste no seu servidor de teste
<> Peça 1 script por vez
<> Se eu não conseguir fazer a script , vou te avisar
<> Tenha paciencia

 

Mano, poderia fazer uma script de spells para min ? o player fala tal palavra e é teleportado para outro lugar, ae ele tem a chance de ser teleportado para 4 ou + posições diferente,  ( se poder por para configurar o tanto de lugar que agente querer seria muito bom '-') se poder min ajudar, eu lhe agradeço muito.

Link para o post
Compartilhar em outros sites
4 horas atrás, kinglekke disse:

Gostaria muito disso :) lembrando que é tfs 1.0

 


XML

<?xml version="1.0" encoding="UTF-8"?>
<npc name="default" script="data/npc/scripts/default.lua" walkinterval="2000" floorchange="0">
	<health now="100" max="100"/>
	<look type="118" head="0" body="0" legs="0" feet="0" addons="0"/>
    <parameters> 
	    <parameter key="message_greet" value="Olá |PLAYERNAME|. Fale {trade} para ver minhas ofertas, {bless} para compra bless somente acima do level {60}, {premium} para compra 5 dia de premium account e {price} para saber o preço" />
		<parameter key="module_shop" value="1"/>
        <parameter key="shop_buyable" value="NOMEDOITEM,IDDOITEM,CUSTO"/> 
		<parameter key="message_decline" value="Adeus, |PLAYER NAME|." /> 
        <parameter key="message_walkaway" value="Adeus, |PLAYER NAME|." />
		<parameter key="module_keywords" value="1" />
        <parameter key="keywords" value="bless;premium" />
        <parameter key="keyword_reply1" value="{first bless},{second bless},{third bless},{third bless},{fifth bless} or {all}" />
    </parameters> 
</npc>

 

SCRIPT

Spoiler

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
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
------------------------------------------------------- CONFIG DO VIP   --------------------------------------------------------------
local config = { 
 
             days = 5, -- quantidade de dias que irá ganhar ao comprar 
             itemid = 2190, -- id do item que ele precisará pra comprar
             qnt = 3, -- quantidade do item que ele precisará
             nome = "moedas" -- nome do item que ele precisara pra comprar a vip
             
}


               if msgcontains(msg, "price") then
               selfSay("O valor do premium atualmente esta 300K por 5 dais , diga premium para comprar", cid)
               talkState[talkUser] = 1
               return true
               end
               end
               
               
               if msgcontains(msg, "premium") then
               
                       if getPlayerItemCount(cid, config.itemid) >= config.qnt then
                       doPlayerAddPremiumDays(cid, config.days)
                       selfSay("Muito bem! Aproveite!", cid)
                       doPlayerRemoveItem(cid, config.itemid, config.qnt)
                       doBroadcastMessage(" O Player "..getCreatureName(cid).." acabou de comprar "..config.days.." days premium ", 18)
                       else
                       selfSay("Você não tem "..config.qnt.." do item "..config.nome.." ", cid)
                       end
                       end
                       
                 
              

------------------------------------------------------- CONFIG DO BLESS --------------------------------------------------------------


local node1 = keywordHandler:addKeyword({"first bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the first blessing for 2000 (plus level depending amount) gold?"})
node1:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 1, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node1:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})

local node2 = keywordHandler:addKeyword({"second bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the second blessing for 2000 (plus level depending amount) gold?"})
node2:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 2, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node2:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})

local node3 = keywordHandler:addKeyword({"third bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the third blessing for 2000 (plus level depending amount) gold?"})
node3:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 3, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node3:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})

local node4 = keywordHandler:addKeyword({"fourth bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the fourth blessing for 2000 (plus level depending amount) gold?"})
node4:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 4, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node4:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})

local node5 = keywordHandler:addKeyword({"fifth bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the fifth blessing for 2000 (plus level depending amount) gold?"})
node5:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 5, premium = true, baseCost = 200000, levelCost = 666, startLevel = 60, endLevel = 200})
node5:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})
    
    if msgcontains(msg, "all") then
        havebless = {}
        b_price = (2000 + ((math.min(130, getPlayerLevel(cid)) - 30) * 200))
        if b_price < 2000 then b_price = 2000 end
        
        for i = 1, 5 do
            if(getPlayerBlessing(cid, i)) then
                table.insert(havebless,i)
            end
        end
        
        b_price = ((5 - #havebless) * b_price)
        
        if b_price == 0 then
            selfSay('You already have all available blessings.',cid)
            talkState[talkUser] = 0
            return true
        end
        
        selfSay('Do you want to receive all blessings for ' .. b_price .. ' gold?',cid)
        talkState[talkUser] = 96
        return true
    end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


 

Não mechi na parte do bless , não entendo isso.
Melhorei a script do NPC para você conseguir configurar melhor.

giphy.gif

Link para o post
Compartilhar em outros sites
1 hora atrás, PedroSTT disse:



Ok , aqui esta :

 

XML


<instant name="Default" words="default" lvl="1" maglv="1" mana="25" exhaustion="1000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="Default.lua">
	<vocation id="1"/>
	<vocation id="2"/>
	<vocation id="3"/>
	<vocation id="4"/>
	<vocation id="5"/>
	<vocation id="6"/>
	<vocation id="7"/>
	<vocation id="8"/>
</instant>

SCRIPT

  Ocultar conteúdo

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 2, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1}}))
setCombatFormula(combat0_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat0_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat0_Brush, con___combat0_Brush)

-- Areas/Combat for 400ms
local combat4_Brush = createCombatObject()
setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat4_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 2, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1}}))
setCombatFormula(combat4_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat4_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat4_Brush, con___combat4_Brush)

-- Areas/Combat for 1100ms
local combat11_Brush = createCombatObject()
setCombatParam(combat11_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat11_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat11_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}))
setCombatFormula(combat11_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat11_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat11_Brush, con___combat11_Brush)

-- Areas/Combat for 1900ms
local combat19_Brush = createCombatObject()
setCombatParam(combat19_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat19_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat19_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 2, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 0, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1}}))
setCombatFormula(combat19_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat19_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat19_Brush, con___combat19_Brush)

-- Areas/Combat for 2500ms
local combat25_Brush = createCombatObject()
setCombatParam(combat25_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat25_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat25_Brush,createCombatArea({{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 2, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1}}))
setCombatFormula(combat25_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

local con___combat25_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat25_Brush, con___combat25_Brush)

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
    if (isCreature(cid)) then
        doCombat(cid, c, var)
        if (dirList ~= nil) then -- Emit distance effects
            local i = 2;
            while (i < #dirList) do
                doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
                i = i + 2
            end        
        end
    end
end

function onCastSpell(cid, var)
    local startPos = getCreaturePosition(cid)
    RunPart(combat0_Brush,cid,var)
    addEvent(RunPart,400,combat4_Brush,cid,var)
    addEvent(RunPart,1100,combat11_Brush,cid,var)
    addEvent(RunPart,1900,combat19_Brush,cid,var)
    addEvent(RunPart,2500,combat25_Brush,cid,var)
    return true

 

 

 

nao tem como deixa mas igual no video nao?

Link para o post
Compartilhar em outros sites
1 minuto atrás, BangxD disse:

 

nao tem como deixa mas igual no video nao?


O que está diferente ?

giphy.gif

Link para o post
Compartilhar em outros sites
3 horas atrás, PedroSTT disse:


XML


<?xml version="1.0" encoding="UTF-8"?>
<npc name="default" script="data/npc/scripts/default.lua" walkinterval="2000" floorchange="0">
	<health now="100" max="100"/>
	<look type="118" head="0" body="0" legs="0" feet="0" addons="0"/>
    <parameters> 
	    <parameter key="message_greet" value="Olá |PLAYERNAME|. Fale {trade} para ver minhas ofertas, {bless} para compra bless somente acima do level {60}, {premium} para compra 5 dia de premium account e {price} para saber o preço" />
		<parameter key="module_shop" value="1"/>
        <parameter key="shop_buyable" value="NOMEDOITEM,IDDOITEM,CUSTO"/> 
		<parameter key="message_decline" value="Adeus, |PLAYER NAME|." /> 
        <parameter key="message_walkaway" value="Adeus, |PLAYER NAME|." />
		<parameter key="module_keywords" value="1" />
        <parameter key="keywords" value="bless;premium" />
        <parameter key="keyword_reply1" value="{first bless},{second bless},{third bless},{third bless},{fifth bless} or {all}" />
    </parameters> 
</npc>

 

SCRIPT

  Ocultar conteúdo

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
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
------------------------------------------------------- CONFIG DO VIP   --------------------------------------------------------------
local config = { 
 
             days = 5, -- quantidade de dias que irá ganhar ao comprar 
             itemid = 2190, -- id do item que ele precisará pra comprar
             qnt = 3, -- quantidade do item que ele precisará
             nome = "moedas" -- nome do item que ele precisara pra comprar a vip
             
}


               if msgcontains(msg, "price") then
               selfSay("O valor do premium atualmente esta 300K por 5 dais , diga premium para comprar", cid)
               talkState[talkUser] = 1
               return true
               end
               end
               
               
               if msgcontains(msg, "premium") then
               
                       if getPlayerItemCount(cid, config.itemid) >= config.qnt then
                       doPlayerAddPremiumDays(cid, config.days)
                       selfSay("Muito bem! Aproveite!", cid)
                       doPlayerRemoveItem(cid, config.itemid, config.qnt)
                       doBroadcastMessage(" O Player "..getCreatureName(cid).." acabou de comprar "..config.days.." days premium ", 18)
                       else
                       selfSay("Você não tem "..config.qnt.." do item "..config.nome.." ", cid)
                       end
                       end
                       
                 
              

------------------------------------------------------- CONFIG DO BLESS --------------------------------------------------------------


local node1 = keywordHandler:addKeyword({"first bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the first blessing for 2000 (plus level depending amount) gold?"})
node1:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 1, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node1:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})

local node2 = keywordHandler:addKeyword({"second bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the second blessing for 2000 (plus level depending amount) gold?"})
node2:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 2, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node2:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})

local node3 = keywordHandler:addKeyword({"third bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the third blessing for 2000 (plus level depending amount) gold?"})
node3:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 3, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node3:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})

local node4 = keywordHandler:addKeyword({"fourth bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the fourth blessing for 2000 (plus level depending amount) gold?"})
node4:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 4, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node4:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})

local node5 = keywordHandler:addKeyword({"fifth bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the fifth blessing for 2000 (plus level depending amount) gold?"})
node5:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 5, premium = true, baseCost = 200000, levelCost = 666, startLevel = 60, endLevel = 200})
node5:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})
    
    if msgcontains(msg, "all") then
        havebless = {}
        b_price = (2000 + ((math.min(130, getPlayerLevel(cid)) - 30) * 200))
        if b_price < 2000 then b_price = 2000 end
        
        for i = 1, 5 do
            if(getPlayerBlessing(cid, i)) then
                table.insert(havebless,i)
            end
        end
        
        b_price = ((5 - #havebless) * b_price)
        
        if b_price == 0 then
            selfSay('You already have all available blessings.',cid)
            talkState[talkUser] = 0
            return true
        end
        
        selfSay('Do you want to receive all blessings for ' .. b_price .. ' gold?',cid)
        talkState[talkUser] = 96
        return true
    end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


 

Não mechi na parte do bless , não entendo isso.
Melhorei a script do NPC para você conseguir configurar melhor.

achei muito bom, mas ainda o npc nao esta parecendo

OldTaboos24hpor48h.com Inauguração DOMONIGO as 18:00 | 18/03/2018 | Stages | Custom Map |VENHA SER TOP TABOOS!

Link para o post
Compartilhar em outros sites
Agora, kinglekke disse:

achei muito bom, mas ainda o npc nao esta parecendo


Qual erro aparece na TFS ?

giphy.gif

Link para o post
Compartilhar em outros sites
5 minutos atrás, kinglekke disse:

15730801_1577240938958522_806602235_n.jp

  Mostrar conteúdo oculto

15731677_1577241032291846_164274302_n.jp

 

 

A lib da pasta NPC do seu servidor deve está mal configurada e possivelmente danificada , então vou tentar resolver para você esse problema , testei o NPC e ele funcionou 100%. 

 


Ok , vá em data/npcs Exclua a pasta lib e substitua por essa que eu vou disponibilizar para você

 

NPC LIB

Scan

Observação :  O Link vai ser excluido daki a alguns dias , então baixe rapido
 

giphy.gif

Link para o post
Compartilhar em outros sites

Agr todos os npcs deram erro!

nenhum aparece no server

OldTaboos24hpor48h.com Inauguração DOMONIGO as 18:00 | 18/03/2018 | Stages | Custom Map |VENHA SER TOP TABOOS!

Link para o post
Compartilhar em outros sites
10 minutos atrás, kinglekke disse:

Agr todos os npcs deram erro!

nenhum aparece no server


Ok , então volte com a antiga lib mesmo e deixe essa para lá , o problema mesma é a configuração dela que estou errando em algo , vou tentar arrumar

 

Teste aqui e veja se funciona

XML

<?xml version="1.0" encoding="UTF-8"?>
<npc name="default" script="data/npc/scripts/default.lua" walkinterval="2000" floorchange="0">
	<health now="100" max="100"/>
	<look type="118" head="0" body="0" legs="0" feet="0" addons="0"/>
    <parameters> 
	    <parameter key="message_greet" value="Olá |PLAYERNAME|. Fale {negociar} para ver minhas ofertas, {bless} para compra bless somente acima do level {60}, {premium} para compra 5 dia de premium account e {price} para saber o preço" />
		<parameter key="message_decline" value="Adeus, |PLAYER NAME|." /> 
        <parameter key="message_walkaway" value="Adeus, |PLAYER NAME|." />
		<parameter key="module_keywords" value="1" />
        <parameter key="keywords" value="bless;premium" />
        <parameter key="keyword_reply1" value="{first bless},{second bless},{third bless},{third bless},{fifth bless} or {all}" />
    </parameters> 
</npc>

 

SCRIPT

Spoiler

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
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
------------------------------------------------------- CONFIG DO VIP   --------------------------------------------------------------
local config = { 
 
             days = 5, -- quantidade de dias que irá ganhar ao comprar 
             itemid = 2190, -- id do item que ele precisará pra comprar
             qnt = 3, -- quantidade do item que ele precisará
             nome = "moedas" -- nome do item que ele precisara pra comprar a vip
             
}

               if msgcontains(msg, "price") then
               selfSay("O valor do premium atualmente esta 300K por 5 dais , diga premium para comprar", cid)
               talkState[talkUser] = 1
               return true
               end
               end
               
               
               if msgcontains(msg, "premium") then
               
                       if getPlayerItemCount(cid, config.itemid) >= config.qnt then
                       doPlayerAddPremiumDays(cid, config.days)
                       selfSay("Muito bem! Aproveite!", cid)
                       doPlayerRemoveItem(cid, config.itemid, config.qnt)
                       doBroadcastMessage(" O Player "..getCreatureName(cid).." acabou de comprar "..config.days.." days premium ", 18)
                       else
                       selfSay("Você não tem "..config.qnt.." do item "..config.nome.." ", cid)
                       end
               end

------------------------------------------------------- CONFIG DO NEGOCIAR -----------------------------------------------------------

local compra = { 

        item = 3568, -- id do item que é nescessario para comprar 
        qnt = 1 -- qnt que é nescessaria para comprar
        
}


local venda = {

       item = 3944, -- Id do item que irá vender
       qnt = 1 -- quantidade do item que o player irá receber ao comprar
       
}

         if msgcontains(msg, "negociar") then
         selfSay("Eu vendo os itens : amuleto da perda", cid)
          
          
                         if msgcontains(msg, "amuleto da perda") then
                                 if getPlayerItemCount(cid, compra.item) >= compra.qnt then
                                 doPlayerAddItem(cid, venda.item, venda.qnt)
                                 doPlayerRemoveItem(cid, compra.item, compra.qnt)
                                 selfSay(" Thank you", cid)
                                 else
                                 selfSay(" Você não tem a quantidade de itens nescessaria ou não tem o item", cid)
                                 end
                         end
         end
                                 
                       
                       
                       
                             

                       
                 
              
------------------------------------------------------- CONFIG DO BLESS --------------------------------------------------------------

local node1 = keywordHandler:addKeyword({"first bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the first blessing for 2000 (plus level depending amount) gold?"})
node1:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 1, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node1:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})
local node2 = keywordHandler:addKeyword({"second bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the second blessing for 2000 (plus level depending amount) gold?"})
node2:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 2, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node2:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})
local node3 = keywordHandler:addKeyword({"third bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the third blessing for 2000 (plus level depending amount) gold?"})
node3:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 3, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node3:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})
local node4 = keywordHandler:addKeyword({"fourth bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the fourth blessing for 2000 (plus level depending amount) gold?"})
node4:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 4, premium = true, baseCost = 200000, levelCost = 6666, startLevel = 60, endLevel = 200})
node4:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})
local node5 = keywordHandler:addKeyword({"fifth bless"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you want to buy the fifth blessing for 2000 (plus level depending amount) gold?"})
node5:addChildKeyword({"yes"}, StdModule.bless, {npcHandler = npcHandler, number = 5, premium = true, baseCost = 200000, levelCost = 666, startLevel = 60, endLevel = 200})
node5:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "Too expensive, eh?"})
    
    if msgcontains(msg, "all") then
        havebless = {}
        b_price = (2000 + ((math.min(130, getPlayerLevel(cid)) - 30) * 200))
        if b_price < 2000 then b_price = 2000 end
        
        for i = 1, 5 do
            if(getPlayerBlessing(cid, i)) then
                table.insert(havebless,i)
            end
        end
        
        b_price = ((5 - #havebless) * b_price)
        
        if b_price == 0 then
            selfSay('You already have all available blessings.',cid)
            talkState[talkUser] = 0
            return true
        end
        
        selfSay('Do you want to receive all blessings for ' .. b_price .. ' gold?',cid)
        talkState[talkUser] = 96
        return true
    end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

giphy.gif

Link para o post
Compartilhar em outros sites

Você trabalha com npc?

 

Gostaria de um npc que você pudesse fazer quest com ele 1x por dia. Nesse caso, por storagevalue e não por event.

O npc iria dar uma storagevalue por 24hrs após a conclusão da mission e você só poderia falar com ele sobre essa missão após 24hrs.

 

O npc iria lhe dar 2 missões:

 

hi / mission / hat / yes

hi / mission / element / yes

 

cada uma dessa missão é diária e possui 24hrs para fazer novamente.

 

OTX 2 (8.60 rev 0.3.7)

Editado por Weslley Kiyo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
2 horas atrás, BangxD disse:

No vídeo mostra dois estilo de efeito, um gelo maior e um menor.

Mas isso você pode editar na script , só procurar nela

 

 

1 hora atrás, kinglekke disse:

agora deu esses erros

  Mostrar conteúdo oculto

15731631_1578233955525887_1915227830_n.j

 


Não sei o que é então , não sou mt bom com NPCs

Editado por PedroSTT (veja o histórico de edições)

giphy.gif

Link para o post
Compartilhar em outros sites
Em 21/12/2016 ás 16:09, PedroSTT disse:

Como o titulo diz , peça sua script aqui , vou tentar fazer pois sou meio iniciante em Scripts e quero aprender mais 


Regras


<> Scripts simples , sem ser muito complicadas
<> Não vou poder testar a script , entao teste no seu servidor de teste
<> Peça 1 script por vez
<> Se eu não conseguir fazer a script , vou te avisar
<> Tenha paciencia

 

Consegue fazer essa arma pra mim?>>> Video da arma<<<

Link para o post
Compartilhar em outros sites
18 minutos atrás, Ocruxzika disse:

Consegue fazer essa arma pra mim?>>> Video da arma<<<

Testa isso aqui>>

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)


function onUseWeapon(cid, var)
local uidpos = getThingPos(getCreatureTarget(cid))
local config = {
[1] = {91, {x=uidpos.x, y=uidpos.y, z=uidpos.z}}, -- efeito1
[2] = {94, {x=uidpos.x+1, y=uidpos.y, z=uidpos.z}}, -- efeito2
[3] = {74, {x=uidpos.x+1, y=uidpos.y, z=uidpos.z}}, -- efeito3
[4] = {138, {x=uidpos.x+1, y=uidpos.y+1, z=uidpos.z}}, -- efeito4
[5] = {197, {x=uidpos.x+1, y=uidpos.y+1, z=uidpos.z}} -- efeito5
}
local confi = {1, 2, 3, 4, 5} ---Distance effect

local rand = math.random(#config)

local target = getCreatureTarget(cid)
    
    if not isCreature(target) then
       return true
    end

    doSendDistanceShoot(getThingPos(cid), getThingPos(target), confi[math.random(1, #confi)])
    doSendMagicEffect(config[rand][2], config[rand][1])
    doCombat(cid, combat, var)
    return true
end
 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo