Jump to content
BilauX

Scripting AJUDA SCRIPT - TFS 1.3 - ADDON

Recommended Posts

boa tarde, eu quero q o cara digita, !addon first mage e addon second mage, cada um gasta um addon doll, obg

 

Citar

local outfits =
{
    --[outfit] = {id_female, id_male}
    ["citizen"] = {136, 128},
    ["hunter"] = {137, 129},
    ["mage"] = {138, 130},
    ["knight"] = {139, 131},
    ["noblewoman"] = {140, 132},
    ["summoner"] = {141, 133},
    ["warrior"] = {142, 134},
    ["barbarian"] = {147, 143},
    ["druid"] = {148, 144},
    ["wizard"] = {149, 145},
    ["oriental"] = {150, 146},
    ["pirate"] = {155, 151},
    ["assassin"] = {156, 152},
    ["beggar"] = {157, 153},
    ["shaman"] = {158, 154},
    ["norsewoman"] = {252, 251},
    ["nightmare"] = {269, 268},
    ["jester"] = {270, 273},
    ["brotherhood"] = {279, 278},
    ["demonhunter"] = {288, 289},
    ["yalaharian"] = {324, 325},
    ["warmaster"] = {336, 335},
    ["wayfarer"] = {366, 367},
    ["afflicted"] = {431, 430},
    ["elementalist"] = {433, 432},
    ["deepling"] = {464, 463},
    ["insectoid"] = {466, 465},
    ["red baron"] = {471, 472},
    ["crystal warlord"] = {513, 512},
    ["soil guardian"] = {514, 516},
}

function onSay(player, words, param)

    local addondoll_id = 9693

    if player:getItemCount(addondoll_id) > 0 then
        local word = outfits[string.lower(param)]
        if param ~= "" and word then
            if (not player:hasOutfit(word[1], 2) or not player:hasOutfit(word[1], 2)) and player:removeItem(addondoll_id, 1) then
                player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
                player:addOutfitAddon(word[1], 2)
                player:addOutfitAddon(word[2], 2)
                player:sendTextMessage(MESSAGE_INFO_DESCR, "Seu Addon full foi adicionado!")
            else
                player:sendCancelMessage("Voce ja tem este addon")
            end
        else
            player:sendCancelMessage("Digite novamente, algo esta errado!")
        end
    else
        player:sendCancelMessage("Voce nao tem addon doll!")
    end

    return true
end

 

Share this post


Link to post
Share on other sites
local outfits = {
    ["citizen"] = {136, 128},
    ["hunter"] = {137, 129},
    ["mage"] = {138, 130},
    ["knight"] = {139, 131},
    ["noblewoman"] = {140, 132},
    ["summoner"] = {141, 133},
    ["warrior"] = {142, 134},
    ["barbarian"] = {147, 143},
    ["druid"] = {148, 144},
    ["wizard"] = {149, 145},
    ["oriental"] = {150, 146},
    ["pirate"] = {155, 151},
    ["assassin"] = {156, 152},
    ["beggar"] = {157, 153},
    ["shaman"] = {158, 154},
    ["norsewoman"] = {252, 251},
    ["nightmare"] = {269, 268},
    ["jester"] = {270, 273},
    ["brotherhood"] = {279, 278},
    ["demonhunter"] = {288, 289},
    ["yalaharian"] = {324, 325},
    ["warmaster"] = {336, 335},
    ["wayfarer"] = {366, 367},
    ["afflicted"] = {431, 430},
    ["elementalist"] = {433, 432},
    ["deepling"] = {464, 463},
    ["insectoid"] = {466, 465},
    ["red baron"] = {471, 472},
    ["crystal warlord"] = {513, 512},
    ["soil guardian"] = {514, 516},
}

local addondoll_id = 9693

function onSay(player, words, param)
    if player:getItemCount(addondoll_id) < 0 then
		player:sendCancelMessage("Voce nao tem addon doll!")
		return false
	end

	local split = param:split(",")
	local addonType = split[1]
	if not addonType then
		player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Por favor utilize o comando corretamente. !addon first, mage")
		return false
	end

	addonType = addonType:lower()
	if addonType ~= "first" and addonType ~= "second" then
		player:sendCancelMessage("Por favor use o comando corretamente. Exemplo: !addon first mage")
		return false
	end

	local outfitName = split[2]
	if not outfitName then
		player:sendCancelMessage("Não existe nenhuma Outfit com esse nome.")
		return false
	end

	local outfit = outfits[outfitName:lower()]
	if not outfit then
		player:sendCancelMessage("Não existe nenhuma Outfit com esse nome.")
		return false
	end

	local type = addonType == "first" and 1 or 2
	if player:hasOutfit(outfit[type], type) then 
		player:sendCancelMessage("Voce ja tem este addon")
		return false
	end

	player:removeItem(addondoll_id, 1)
	player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
	player:addOutfitAddon(outfit[type], type)
	player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Você recebeu o %s do Addon %s.', addonType:lower(), outfitName:lower()))
	return false
end

 


discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Share this post


Link to post
Share on other sites

 !addon first, mage fiz isso e aconteceu nada...

 

 

1 hora atrás, vankk disse:

local outfits = {
    ["citizen"] = {136, 128},
    ["hunter"] = {137, 129},
    ["mage"] = {138, 130},
    ["knight"] = {139, 131},
    ["noblewoman"] = {140, 132},
    ["summoner"] = {141, 133},
    ["warrior"] = {142, 134},
    ["barbarian"] = {147, 143},
    ["druid"] = {148, 144},
    ["wizard"] = {149, 145},
    ["oriental"] = {150, 146},
    ["pirate"] = {155, 151},
    ["assassin"] = {156, 152},
    ["beggar"] = {157, 153},
    ["shaman"] = {158, 154},
    ["norsewoman"] = {252, 251},
    ["nightmare"] = {269, 268},
    ["jester"] = {270, 273},
    ["brotherhood"] = {279, 278},
    ["demonhunter"] = {288, 289},
    ["yalaharian"] = {324, 325},
    ["warmaster"] = {336, 335},
    ["wayfarer"] = {366, 367},
    ["afflicted"] = {431, 430},
    ["elementalist"] = {433, 432},
    ["deepling"] = {464, 463},
    ["insectoid"] = {466, 465},
    ["red baron"] = {471, 472},
    ["crystal warlord"] = {513, 512},
    ["soil guardian"] = {514, 516},
}

local addondoll_id = 9693

function onSay(player, words, param)
    if player:getItemCount(addondoll_id) < 0 then
		player:sendCancelMessage("Voce nao tem addon doll!")
		return false
	end

	local split = param:split(",")
	local addonType = split[1]
	if not addonType then
		player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Por favor utilize o comando corretamente. !addon first, mage")
		return false
	end

	addonType = addonType:lower()
	if addonType ~= "first" and addonType ~= "second" then
		player:sendCancelMessage("Por favor use o comando corretamente. Exemplo: !addon first mage")
		return false
	end

	local outfitName = split[2]
	if not outfitName then
		player:sendCancelMessage("Não existe nenhuma Outfit com esse nome.")
		return false
	end

	local outfit = outfits[outfitName:lower()]
	if not outfit then
		player:sendCancelMessage("Não existe nenhuma Outfit com esse nome.")
		return false
	end

	local type = addonType == "first" and 1 or 2
	if player:hasOutfit(outfit[type], type) then 
		player:sendCancelMessage("Voce ja tem este addon")
		return false
	end

	player:removeItem(addondoll_id, 1)
	player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
	player:addOutfitAddon(outfit[type], type)
	player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Você recebeu o %s do Addon %s.', addonType:lower(), outfitName:lower()))
	return false
end

 

 

 

Share this post


Link to post
Share on other sites

Adicione o separator nas talkactions, e o comando é !addon first,mage


discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Share this post


Link to post
Share on other sites

 

faz o q mano ?? sou muito cabaço... minha talk está assim..

 

<talkaction words="!addon" script="addondoll.lua"/>

 

3 minutos atrás, vankk disse:

Adicione o separator nas talkactions, e o comando é !addon first,mage

 

 

Share this post


Link to post
Share on other sites

Deveria ser

<talkaction words="!addon" separator=" " script="addondoll.lua"/>

 


discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Share this post


Link to post
Share on other sites

 

o comando !addon first,mage, funciona aparece a mensagem mais não ganha addon e o second não funciona...

 

2 horas atrás, vankk disse:

Deveria ser


<talkaction words="!addon" separator=" " script="addondoll.lua"/>

 

 

 

Share this post


Link to post
Share on other sites
               -- female, male 
local outfits = {
    ["citizen"] = {136, 128},
    ["hunter"] = {137, 129},
    ["mage"] = {138, 130},
    ["knight"] = {139, 131},
    ["noblewoman"] = {140, 132},
    ["summoner"] = {141, 133},
    ["warrior"] = {142, 134},
    ["barbarian"] = {147, 143},
    ["druid"] = {148, 144},
    ["wizard"] = {149, 145},
    ["oriental"] = {150, 146},
    ["pirate"] = {155, 151},
    ["assassin"] = {156, 152},
    ["beggar"] = {157, 153},
    ["shaman"] = {158, 154},
    ["norsewoman"] = {252, 251},
    ["nightmare"] = {269, 268},
    ["jester"] = {270, 273},
    ["brotherhood"] = {279, 278},
    ["demonhunter"] = {288, 289},
    ["yalaharian"] = {324, 325},
    ["warmaster"] = {336, 335},
    ["wayfarer"] = {366, 367},
    ["afflicted"] = {431, 430},
    ["elementalist"] = {433, 432},
    ["deepling"] = {464, 463},
    ["insectoid"] = {466, 465},
    ["red baron"] = {471, 472},
    ["crystal warlord"] = {513, 512},
    ["soil guardian"] = {514, 516},
}

local addondoll_id = 9693

function onSay(player, words, param)
    if player:getItemCount(addondoll_id) < 0 then
		player:sendCancelMessage("Voce nao tem addon doll!")
		return false
	end

	local split = param:split(",")
	local addonType = split[1]
	if not addonType then
		player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Por favor utilize o comando corretamente. !addon first, mage")
		return false
	end

	addonType = addonType:lower()
	if addonType ~= "first" and addonType ~= "second" or split[2] == nil then
		player:sendCancelMessage("Por favor use o comando corretamente. Exemplo: !addon first,mage")
		return false
	end

	local outfitName = split[2]
	local outfit = outfits[outfitName:lower()]
	if not outfit then
		player:sendCancelMessage("Não existe nenhuma Outfit com esse nome.")
		return false
	end

	local type = (addonType == "first" and 1) or 2
	local ps = (player:getSex() == 1 and 2) or 1
	
	if player:hasOutfit(outfit[ps], type) then 
		player:sendCancelMessage("Voce ja tem este addon")
		return false
	end
	
	player:removeItem(addondoll_id, 1)
	player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
	player:addOutfitAddon(outfit[1], type)
	player:addOutfitAddon(outfit[2], type)
	player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Você recebeu o %s do Addon %s.', addonType:lower(), outfitName:lower()))
	return false
	
end

 


Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Share this post


Link to post
Share on other sites

muito obrigado, boa noite...

 

 

3 horas atrás, lordzetros disse:

               -- female, male 
local outfits = {
    ["citizen"] = {136, 128},
    ["hunter"] = {137, 129},
    ["mage"] = {138, 130},
    ["knight"] = {139, 131},
    ["noblewoman"] = {140, 132},
    ["summoner"] = {141, 133},
    ["warrior"] = {142, 134},
    ["barbarian"] = {147, 143},
    ["druid"] = {148, 144},
    ["wizard"] = {149, 145},
    ["oriental"] = {150, 146},
    ["pirate"] = {155, 151},
    ["assassin"] = {156, 152},
    ["beggar"] = {157, 153},
    ["shaman"] = {158, 154},
    ["norsewoman"] = {252, 251},
    ["nightmare"] = {269, 268},
    ["jester"] = {270, 273},
    ["brotherhood"] = {279, 278},
    ["demonhunter"] = {288, 289},
    ["yalaharian"] = {324, 325},
    ["warmaster"] = {336, 335},
    ["wayfarer"] = {366, 367},
    ["afflicted"] = {431, 430},
    ["elementalist"] = {433, 432},
    ["deepling"] = {464, 463},
    ["insectoid"] = {466, 465},
    ["red baron"] = {471, 472},
    ["crystal warlord"] = {513, 512},
    ["soil guardian"] = {514, 516},
}

local addondoll_id = 9693

function onSay(player, words, param)
    if player:getItemCount(addondoll_id) < 0 then
		player:sendCancelMessage("Voce nao tem addon doll!")
		return false
	end

	local split = param:split(",")
	local addonType = split[1]
	if not addonType then
		player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Por favor utilize o comando corretamente. !addon first, mage")
		return false
	end

	addonType = addonType:lower()
	if addonType ~= "first" and addonType ~= "second" or split[2] == nil then
		player:sendCancelMessage("Por favor use o comando corretamente. Exemplo: !addon first,mage")
		return false
	end

	local outfitName = split[2]
	local outfit = outfits[outfitName:lower()]
	if not outfit then
		player:sendCancelMessage("Não existe nenhuma Outfit com esse nome.")
		return false
	end

	local type = (addonType == "first" and 1) or 2
	local ps = (player:getSex() == 1 and 2) or 1
	
	if player:hasOutfit(outfit[ps], type) then 
		player:sendCancelMessage("Voce ja tem este addon")
		return false
	end
	
	player:removeItem(addondoll_id, 1)
	player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
	player:addOutfitAddon(outfit[1], type)
	player:addOutfitAddon(outfit[2], type)
	player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Você recebeu o %s do Addon %s.', addonType:lower(), outfitName:lower()))
	return false
	
end

 

 

 

Share this post


Link to post
Share on other sites
Em 20/01/2019 em 01:23, vankk disse:

local outfits = {
    ["citizen"] = {136, 128},
    ["hunter"] = {137, 129},
    ["mage"] = {138, 130},
    ["knight"] = {139, 131},
    ["noblewoman"] = {140, 132},
    ["summoner"] = {141, 133},
    ["warrior"] = {142, 134},
    ["barbarian"] = {147, 143},
    ["druid"] = {148, 144},
    ["wizard"] = {149, 145},
    ["oriental"] = {150, 146},
    ["pirate"] = {155, 151},
    ["assassin"] = {156, 152},
    ["beggar"] = {157, 153},
    ["shaman"] = {158, 154},
    ["norsewoman"] = {252, 251},
    ["nightmare"] = {269, 268},
    ["jester"] = {270, 273},
    ["brotherhood"] = {279, 278},
    ["demonhunter"] = {288, 289},
    ["yalaharian"] = {324, 325},
    ["warmaster"] = {336, 335},
    ["wayfarer"] = {366, 367},
    ["afflicted"] = {431, 430},
    ["elementalist"] = {433, 432},
    ["deepling"] = {464, 463},
    ["insectoid"] = {466, 465},
    ["red baron"] = {471, 472},
    ["crystal warlord"] = {513, 512},
    ["soil guardian"] = {514, 516},
}

local addondoll_id = 9693

function onSay(player, words, param)
    if player:getItemCount(addondoll_id) < 0 then
		player:sendCancelMessage("Voce nao tem addon doll!")
		return false
	end

	local split = param:split(",")
	local addonType = split[1]
	if not addonType then
		player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Por favor utilize o comando corretamente. !addon first, mage")
		return false
	end

	addonType = addonType:lower()
	if addonType ~= "first" and addonType ~= "second" then
		player:sendCancelMessage("Por favor use o comando corretamente. Exemplo: !addon first mage")
		return false
	end

	local outfitName = split[2]
	if not outfitName then
		player:sendCancelMessage("Não existe nenhuma Outfit com esse nome.")
		return false
	end

	local outfit = outfits[outfitName:lower()]
	if not outfit then
		player:sendCancelMessage("Não existe nenhuma Outfit com esse nome.")
		return false
	end

	local type = addonType == "first" and 1 or 2
	if player:hasOutfit(outfit[type], type) then 
		player:sendCancelMessage("Voce ja tem este addon")
		return false
	end

	player:removeItem(addondoll_id, 1)
	player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
	player:addOutfitAddon(outfit[type], type)
	player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Você recebeu o %s do Addon %s.', addonType:lower(), outfitName:lower()))
	return false
end

 


Esse código não está adicionando o first addon dos outfits, apenas o segundo. Alguém sabe como arrumar?

Share this post


Link to post
Share on other sites

Utiliza o código enviado pelo @lordezetros, que irá funcionar.

Em 28/07/2020 em 08:52, pergher disse:


Esse código não está adicionando o first addon dos outfits, apenas o segundo. Alguém sabe como arrumar?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Doidodepeda
      Galera pra funfar o castle 48 hrs tem q adicionar alguma query no mysql ou sqlite ?
      Me informa ae pf !
       
      se sim... alguem poderia dispoibilizar !?
       
    • By Thensus Warrior
      Galera, tentei de toda forma colocar cooldown nessa spell e não consegui, em spells mais comuns sem addevent consegui.
      Se alguém puder adicionar um cooldown nela pra mim ficaria muito grato!
      @edit
      só depois de ter postado percebi que cliquei na área errada, desculpe o erro.
    • By Lisbeky
      .Qual servidor ou website você utiliza como base? 
      0.36
       
      Boa noite pessoal!
       
      Então, mais uma vez venho pedir ajuda... pesquisei bastante aqui no fórum e encontrei um script, testei e não deu certo, mas estarei postando aqui para quem sabe alguém solucionar o problema.
       
      o script ele faz um monstro X ao chegar aos 50% de life , ele se transforma em outro monstro Y, mas também queria ele dando storage para todos os players que atacarem ele...
       
      o que esta errado? 
      então não da erro na distro, nem quando ligo o servidor e nem quando mato o boss. mas o problema esta quando chega na metade da vida do primeiro boss, ele não aparece o outro, logo, não esta dando a storage também.
       
      obs: já pedi um suporte de um script que os playrs matam o boss e recebem a storage, esta corretíssimo funcionando, mas esse aqui é diferente, então atenção, não estou pedindo a mesma coisa :D
       
      então o script esta assim...
       
       function onStatsChange(cid, attacker, type, combat, value) local storage = 47000 local stor = 354867 -- n mexa local monster = "Phanta" -- Monstro que irá atingir o 50% e sumir local monstro = "Demo" -- Monstro que irá ser invocado local msg = "Enough playing. I am the Divinity of this house." -- Mensagem quando o monstro for sumir if not isMonster(cid) then return true end if type == STATSCHANGE_HEALTHLOSS and getCreatureName(cid):lower() == monster:lower() then local monsterPercent = 100/(getCreatureMaxHealth(cid)/getCreatureHealth(cid)) if monsterPercent <= 50 and monsterPercent >= 49 then if getGlobalStorageValue(stor) - os.time() <= 0 then doCreatureSay(cid, msg, 1) setGlobalStorageValue(stor, os.time() + 120) addEvent(doCreateMonster, 1000, monstro, getCreaturePosition(cid)) addEvent(doRemoveCreature, 1000, cid) for _, check in pairs(deathList) do if isPlayer(check) then setPlayerStorageValue(check, storage, 5) end end end end end return true end  
       
       
    • By Doidodepeda
      Entao galera, tenho esse script de top level que fica aparecendo na tela do player.
      queria saber se alguem pode modificar pra aparacer os resetes no lugar do level.
       
      Script:

      function onThink(interval, lastExecution)
          local max, query = 5, db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `level` DESC, `name` ASC;")
          local str = "TOP Rank Level do Server:\n"
          if (query:getID() ~= -1) then 
              k = 1 
              while true do
                  str = str .. "\n " .. k .. " - "..query:getDataString("name").." - ["..query:getDataInt("level").."]"
                  k = k + 1
                  if not(query:next()) or k > max then
                      break 
                  end 
              end 
              query:free()
          end
          doBroadcastMessage(str, 22)
          return true
      end
       
       
       
      Sistema de resete que uso:
       
       
    • By Senju uchira
      ola gostaria de tira uma duvida e fazer um pedido ao mesmo tempo-se possivel;
      e possivel o sumon x usa a spell com um comando, exemplo ; eu faço ele usa a spell com o comando X etals. como faço
       
  • Recently Browsing   0 members

    No registered users viewing this page.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

Tibia King Recomenda

DokeHost - Soluções em Hospedagem

VPS Windows
VPS Linux
Servidor VPS
×
×
  • Create New...