Muito bom mesmo, meu velho. Gostei bastante da iniciativa.
- Forums
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- [REMAKE] Scripts antigos refeitos [PACK]
[REMAKE] Scripts antigos refeitos [PACK]
By LuckOake, 23 de jan. de 2013 in Actions e Talkactions
info
Group: Conde
Joined: 30/11/11
Posts: 696
Reputation: +71
Gender: Masculino
Tibia Character: treinador de lobo

Aew, tava procurando um script do Present Box obrigado aew cara =)
info
Group: Marquês
Joined: 29/10/11
Posts: 1.2k
Reputation: +134
Gender: Masculino

Pow,velho.
Muito bom Luck,parabéns.
Ótimo trabalho!Continue assim.
Atenciosamente,Mozark001.
info
Group: Conde
Joined: 27/07/12
Posts: 757
Reputation: +57
Tibia Character: [ADM] Bhoris

como funciona o sistema de votar?
info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: Luck Oake

como funciona o sistema de votar?
Comandos:
/openvote pergunta -- Abre a votação /closevote -- Fecha a votação !vote yes/no -- Vota
info
Group: Visconde
Joined: 11/04/12
Posts: 328
Reputation: +7
Tibia Character: ADM MiHawk

gostei kkkkk guilherme viro scripter xD topico muito bom rep+... se algum disser que é flood essa é 1 postagem dps de 4 meses ^^
info
Group: Campones
Joined: 13/04/10
Posts: 1
Reputation: 0
Gender: Masculino
Tibia Character: Tedioo

Gostei da iniciativa de fazer remake, desculpa se estou "floodando"...
Gostaria que fizesse remake dessa action se fosse possível ![]()
Queria por ela no Friday WAR (8.60)
local messagetype = MESSAGE_EVENT_ORANGE local fetishs = { [7801] = {chance = 100, amount = 1, set = setItemDefense, get = getItemDefense, name = "defense"}, [7802] = {chance = 80, amount = 2, set = setItemDefense, get = getItemDefense, name = "defense"}, [7803] = {chance = 60, amount = 3, set = setItemDefense, get = getItemDefense, name = "defense"}, [7804] = {chance = 40, amount = 4, set = setItemDefense, get = getItemDefense, name = "defense", destroy = TRUE}, [7805] = {chance = 20, amount = 5, set = setItemDefense, get = getItemDefense, name = "defense", destroy = TRUE}, [7850] = {chance = 100, amount = 5, set = setItemDefense, get = getItemDefense, name = "defense"}, -- only given when access >= 5 } local minmax = { min1 = 7801, -- minimum of the random fetishs for access < 5 max1 = 7805, -- maximum of the random fetishs for access < 5 min2 = 7850, -- minimum of the random fetishs for access >= 5 max2 = 7850, -- maximum of the random fetishs for access >= 5 } -- WARNING: look further down and your eyes will burn. -- function onUse(cid, item, fromPosition, itemEx, toPosition) if item.actionid == 0 then local new = getPlayerAccess(cid) >= 5 and math.random(minmax.min2, minmax.max2) or math.random(minmax.min1, minmax.max1) local text = "You remove the dust and revealed that it is a "..fetishs[new].chance.."% fetish for "..fetishs[new].name.." +"..fetishs[new].amount.."."..(fetishs[new].destroy ~= nil and " It has a slight chance of breaking your item." or "") doPlayerSendTextMessage(cid, messagetype, text) doSetItemActionId(item.uid, new) doSetItemSpecialDescription(item.uid, text) setItemName(item.uid, fetishs[new].chance.."% fetish for "..fetishs[new].name.." +"..fetishs[new].amount) elseif fetishs[item.actionid] ~= nil then if fetishs[item.actionid].get(itemEx.uid) > 0 then if itemEx.actionid < 105 then local amount = math.max(0, itemEx.actionid - 100) local chance = math.random(0, 100) local text = fetishs[item.actionid].name.." enchant on "..getItemNameById(itemEx.itemid).." failed." if chance <= fetishs[item.actionid].chance then fetishs[item.actionid].set(itemEx.uid, (fetishs[item.actionid].get(itemEx.uid)+fetishs[item.actionid].amount)) text = getItemNameById(itemEx.itemid).." "..fetishs[item.actionid].name.." +"..fetishs[item.actionid].amount.."." elseif fetishs[item.actionid].destroy ~= nil or fetishs[item.actionid].destroy == TRUE then if math.random(0, 1) == 1 then doRemoveItem(itemEx.uid) text = getItemNameById(itemEx.itemid).." has been destroyed." end end doPlayerSendTextMessage(cid, messagetype, text) doSetItemActionId(itemEx.uid, 100+(amount+1)) setItemName(itemEx.uid, getItemNameById(itemEx.itemid).." (Level "..(amount+1)..")") doSendMagicEffect(toPosition, (chance <= fetishs[item.actionid].chance and 13 or 2)) doSendAnimatedText(toPosition, (chance <= fetishs[item.actionid].chance and "Success!" or "Failed!"),(chance <= fetishs[item.actionid].chance and TEXTCOLOR_WHITE or TEXTCOLOR_RED)) doRemoveItem(item.uid) else doPlayerSendCancel(cid, "This weapon has already been enchanted 5 times.") end else doPlayerSendCancel(cid, "This item may not be enchanted.") end else doPlayerSendCancel(cid, "Sorry, not possible.") end return TRUE end
info
Group: Conde
Joined: 20/03/13
Posts: 507
Reputation: +16
Tibia Character: Sherpy

Cara que eu saiba essa e a area errada.
info
Group: Campones
Joined: 15/02/13
Posts: 8
Reputation: +2
Tibia Character: Rei-Da-Paz

Cara gostei da sua iniciativa levou meu gostei ![]()
info
Group: Campones
Joined: 19/12/11
Posts: 8
Reputation: 0

Até que fim!





info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: Luck Oake
Olá galera
Já viram aqueles scripts antigos, lá de 2006, 2007 ~~ 2011, que são totalmente bagunçados e é um saco pra configurar e/ou adicionar coisas novas? Pois é, eu tive a ideia de refazê-los para melhorar sua formatação e aprimorar suas funcionalidades.
O que é: É um pacote que conta atualmente com 13 scripts (actions e talks) de scripts antigos que foram refeitos por mim. Download está no fim da mensagem, no anexo. Ou se quiserem, podem pegar algum script sozinho aqui no tópico, que jájá vou editar e colocar isso.
Actions:
Talks:
Scripts:
Actions:
Absorb Rune:
absorbrune.lua:
http://pastebin.com/bFKfPbdn
Bread System:
bread.lua:
http://pastebin.com/S3B5xMSh
Future Orb:
futureorb.lua:
http://pastebin.com/DBYxeGeE
Trash Lever:
levertrash.lua:
http://pastebin.com/tWepLyLJ
Multifunctional Rune:
multifunctionalrune.lua:
http://pastebin.com/HqpwiWqV
Present Box:
presentbox.lua:
http://pastebin.com/LLzwSAEr
Steal Rune:
stealrune.lua:
http://pastebin.com/3HQiyMAH
Teleport Rune:
teleportrune.lua:
http://pastebin.com/tDaKy9qL
Vocation Chest:
vocationchest.lua:
http://pastebin.com/rswKrDEM
Vocation Door:
vocationdoor.lua:
http://pastebin.com/v57sq2gc
actions.xml:
Talkactions:
AFK:
afk.lua:
local time = 0.2 local afkstor = 14850 function turnAfk(cid, text) if not isCreature(cid) then return true elseif getPlayerStorageValue(cid, afkstor) == -1 then return true end doSendAnimatedText(getCreaturePosition(cid), text, math.random(1, 255)) addEvent(turnAfk, time*1000, cid, text) return true end function onSay(cid, words) if getPlayerStorageValue(cid, afkstor) == -1 then setPlayerStorageValue(cid, afkstor, 1) turnAfk(cid, "Ocupado!") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Agora você está AFK.") else setPlayerStorageValue(cid, afkstor, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não está mais AFK.") end return true endChange Stats:
changestats.lua:
function onSay(cid, words, param) local exhastor = 3179 -- Storage da exhaustion local wait = 1 -- Segundos de exhaustion local change = 30 -- Quantidade de mana/health que será trocada local vocs = {"Sorcerer", "Druid"} -- Vocations que podem usar essa talk if not isInArray(vocs, getPlayerVocationName(cid)) then doSendMagicEffect(getCreaturePosition(cid), 2) doPlayerSendCancel(cid, "Your vocation cannot use this move.") return true elseif exhaustion.check(cid, exhastor) then doSendMagicEffect(getCreaturePosition(cid), 2) doPlayerSendCancel(cid, "You are exhausted.") return true elseif param == "mana" then if getPlayerHealth(cid) < change then doPlayerSendCancel(cid, "Not enough health to change to mana.") return true end doPlayerAddMana(cid, change) doCreatureAddHealth(cid, -change) doSendMagicEffect(getCreaturePosition(cid), 12) exhaustion.set(cid, exhastor, wait) elseif param == "health" then if getPlayerMana(cid) < change then doPlayerSendCancel(cid, "Not enough mana to change to health.") return true end doPlayerAddMana(cid, -change) doCreatureAddHealth(cid, change) doSendMagicEffect(getCreaturePosition(cid), 13) exhaustion.set(cid, exhastor, wait) else doPlayerSendCancel(cid, "Choose if you want to change mana to 'health' or health to 'mana'") return true end return true endTerror:
terror.lua:
http://pastebin.com/mbV5FWKQ
Vote System:
votesystem.lua:
local votestorage = 32940 local yes = 32941 local no = 32942 local playervote = 32943 local players = {} function hasVotationOpen() return getGlobalStorageValue(votestorage) == 1 and true or false end function openVotation() return setGlobalStorageValue(votestorage, 1) end function closeVotation() setGlobalStorageValue(votestorage, -1) setGlobalStorageValue(yes, -1) setGlobalStorageValue(no, -1) players = {} return true end function vote(cid, choose) table.insert(players, cid) return choose == "yes" and setGlobalStorageValue(yes, getGlobalStorageValue(yes) == -1 and 1 or getGlobalStorageValue(yes)+1) or setGlobalStorageValue(no, getGlobalStorageValue(no) == -1 and 1 or getGlobalStorageValue(no)+1) end function hasVoted(cid) return table.find(players, cid) and true or false end function onSay(cid, words, param) if words == "/openvote" then if hasVotationOpen() then doPlayerSendCancel(cid, "Já há uma votação aberta.") return true end broadcastMessage("Votação aberta com a seguinte pergunta:\n"..param.."\nUse !vote sim para votar sim\nUse !vote nao para votar não") openVotation() elseif words == "/closevote" then if not hasVotationOpen() then doPlayerSendCancel(cid, "Não há nenhuma votação aberta.") return true end broadcastMessage("Votação fechada. Resultado:\nSIM: "..(getGlobalStorageValue(yes) == -1 and 0 or getGlobalStorageValue(yes)).." votos\nNÃO: "..(getGlobalStorageValue(no) == -1 and 0 or getGlobalStorageValue(no)).." votos") closeVotation() elseif words == "!vote" then if not hasVotationOpen() then doPlayerSendCancel(cid, "Não há nenhuma votação aberta.") return true elseif hasVoted(cid) then doPlayerSendCancel(cid, "Você já votou.") return true elseif param ~= "sim" and param ~= "nao" then doPlayerSendCancel(cid, 'Voto incorreto. Escreva apenas "sim" ou "nao".') return true elseif param == "sim" then vote(cid, "yes") elseif param == "nao" then vote(cid, "no") end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Obrigado por votar.") end return true endtalkactions.xml:
OBS: Caso encontre algum bug, avise aqui no tópico.
OBS²: Caso tenha algum outro script antigo que você gostaria que eu refizesse, poste aqui no tópico.
OBS³: Sim, eu sei que tem poucos scripts ainda, mas é por isso que eu quero que vocês peçam mais scripts antigos, como no OBS².
Remakes.rar
Edited Janeiro 23 by LuckOake