pollyaninha
-
Total de itens
27 -
Registro em
-
Última visita
Histórico de Reputação
-
pollyaninha recebeu reputação de Akatsukyi em Buffs
Nossa fiquei com dó ,do manizin kkk ri muito aki \o/
-
pollyaninha deu reputação a Vodkart em Npc de Itens Vips.
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid 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 greetCallback(cid) talkState[talkUser] = 0 return true end function creatureSayCallback(cid, type, msg) local talkUser,msg = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid,string.lower(msg) if(not npcHandler:isFocused(cid)) then return false end local money = 1000000 local trade = { {id=5944, buy=100, name="Soul Orb"}, {id=8925, buy=50000, name="Solar Axe"}, {id=2413, buy=2240, name="Broadsword"} } local items = {} for _, item in ipairs(trade) do items[item.id] = {item_id = item.id, buyPrice = item.buy, sellPrice = 0, subType = 0, realName = item.name} end local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if items[item].buyPrice ~= 0 then doPlayerRemoveMoney(cid, amount * items[item].buyPrice) if isItemStackable(items[item].item_id) then doPlayerAddItem(cid, items[item].item_id, amount) else for i = 1, amount do doPlayerAddItem(cid, items[item].item_id, 1) end end end end if msgcontains(msg, 'trade') and doPlayerRemoveMoney(cid, money) then openShopWindow(cid, trade, onBuy, onSell) else selfSay("sorry, u need "..money.." gps to talk with me.", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
OBS: qual a versão do seu server pollyana?
-
pollyaninha deu reputação a MaXwEllDeN em getTableInAlphabeticalOrder
Author: MaXwEllDeN[Maxwell Alcantara(Eu)]
Galera, eu estava vasculhando aqui e achei essa função que eu fiz a um tempão, esse código tá bem "POGGADO".
function getInAOrder(tabl) local dat = {} local tab = {} local tab2 = {["A"] = 1, ["Ä"] = 1, ["Ã"] = 1, ["Â"] = 1, ["À"] = 1, ["Á"] = 1, ["B"] = 2, ["C"] = 3, ["D"] = 4, ["E"] = 5, ["Ë"] = 5, ["Ê"] = 5, ["À"] = 5, ["F"] = 6, ["G"] = 7, ["H"] = 8, ["I"] = 9, ["Ï"] = 9, ["Ì"] = 9, ["Í"] = 9, ["Î"] = 9,["J"] = 10, ["K"] = 11, ["L"] = 12, ["M"] = 13, ["N"] = 14, ["Ñ"] = 14, ["O"] = 15, ["Ö"] = 15, ["Ó"] = 15, ["Ò"] = 15, ["Ô"] = 15, ["Õ"] = 15,["P"] = 16, ["Q"] = 17, ["R"] = 18, ["S"] = 19, ["T"] = 20, ["U"] = 21, ["V"] = 22, ["W"] = 23, ["X"] = 24, ["Y"] = 25, ["Z"] = 26 } for a = 1,26 do table.insert(tab, {}) end for a, b in pairs(tabl) do if (tab2[b:sub(1, 1):upper()]) then table.insert(tab[tab2[b:sub(1, 1):upper()]], b) else table.insert(tab[#tab2], b) end end for a, b in ipairs(tab) do for c, d in ipairs(b) do table.insert(dat, d) end end return dat end
O que a função faz é organizar uma tabela em ordem alfabética. Se você rodar isso:
local t = {"Socket", "Lua", "C++", "Linux", "windows", "ubuntu", "C", "Delphi", "Mint" "Alfa", "Ômega", "PHP", "HTML"} for a, b in pairs(getInAOrder(t)) do print(b) end
irá ser retornado isso:
Alfa C++ C Delphi HTML Lua Linux Mint Ômega PHP Socket ubuntu windows
Não liguem pra gambiarra, faz muito tempo que eu fiz ela .-.
-
pollyaninha deu reputação a Oneshot em Dual Wield
Tendo visto a crescente quantidade de pedidos por armas que possam ser usadas simultaneamente nas duas mãos, resolvi criar um tutorial apenas para esclarecer que esse código já existe compilado nas mais recentes revisões do The Forgotten Server.
Você pode escolher quais itens poderão ser equipamentos nas duas mãos e claro restringir esses itens depois para apenas uma vocação.
1. Para criar seu item que pode ser equipado nas duas mãos, abra o items.xml e navegue até o ID do item desejado. Por exemplo, mostrarei abaixo o ID da Magic Sword:
<item id="2400" article="a" name="magic sword"> <attribute key="description" value="It is the Sword of Valor." /> <attribute key="weight" value="4200" /> <attribute key="defense" value="35" /> <attribute key="attack" value="48" /> <attribute key="weaponType" value="sword" /> <attribute key="extradef" value="3" /> </item>
2. Adicione o atributo dualwield com valor 1 no código XML do item.
<item id="2400" article="a" name="magic sword"> <attribute key="description" value="It is the Sword of Valor." /> <attribute key="weight" value="4200" /> <attribute key="defense" value="35" /> <attribute key="attack" value="48" /> <attribute key="weaponType" value="sword" /> <attribute key="extradef" value="3" /> <attribute key="dualwield" value="1" /> </item>
Pelo que pude testar os danos não se somam, mas sim são causados dois ataques ao invés de um, ou seja a velocidade de ataque do jogador aumenta.
Funciona com qualquer tipo de arma, desde swords até rods e wands.
Funcional em: The Forgotten Server 0.4 rev3777 em diante
-
pollyaninha deu reputação a MaXwEllDeN em Elvish bow and Crystal arrow
local item_id = 2160 -- Id do arco que tem que estar equipado function onEquip(cid, item, slot) if (getPlayerSlotItem(cid, 5).uid < 1 and getPlayerSlotItem(cid, 6).uid < 1) or (getPlayerSlotItem(cid, 5).itemid ~= item_id and getPlayerSlotItem(cid, 6).itemid ~= item_id) then doPlayerSendCancel(cid, "Você deve ter ".. getItemNameById(item_id) .. " equipado para poder utilizar este arrow.") return false end return true end
-
pollyaninha deu reputação a gonorreiaswat em Exp Por Hit..
Instalação
Primeiramente abra a pasta de seu ot, e procure pelo arquivo config.lua e procure por essas 2 linhas :
experienceStages = false rateExperience = 50
se o experienceStages tiver ativado mude para false, pois o sistema ainda não tem suporte á Stages.
e é muito importante o rateExperience tiver como 0, pois ela sera configurada, em outro local agora.
exemplo:
experienceStages = false rateExperience = 0
agora entre na pasta creaturescripts/scripts e crie um arquivo lua, chamado exphit.lua e cole o seguinte código:
-- Exp por Hit By: xOtServx -- rateExp = 2 -- agora vc configura o rate de exp do server. ------------------------------ function CalculeExp(monsterhp, exptotal, hit) local x = hit <= monsterhp and math.ceil(exptotal * hit / monsterhp) or 0 local x2 = x - 20 + math.random(20) return x2 > 0 and x2 or 0 end function isSummon(uid) return uid ~= getCreatureMaster(uid) or false end function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS then if isMonster(cid) then if isCreature(attacker) then local sid = isSummon(attacker) == true and getCreatureMaster(attacker) or attacker if isPlayer(sid) then local expg = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp, value) doPlayerSendTextMessage(sid, 23, "You gain "..expg.." exp.") doPlayerAddExp(sid, expg) end end end elseif type == STATSCHANGE_HEALTHGAIN then return false end return true end function onCombat(cid, target) if isMonster(target) and not isSummon(target) and not isPlayer(target) then registerCreatureEvent(target, "ExpGain") end return true end
na mesma pasta procure pelo arquivo login.lua, e em cima de return true, adc a seguinte linha:
registerCreatureEvent(cid, "ExpHit")
volte na pasta anterior creaturescripts, e procure pelo arquivo creaturescritps.xml e cole as 2 tags:
<event type="statschange" name="ExpGain" event="script" value="exphit.lua"/> <event type="combat" name="ExpHit" event="script" value="exphit.lua"/>
Pronto, configurado para 2x a Exp.
Acredito que será necessário remover essa "tag"
local x2 = x - 20 + math.random(20)
Porque ela faz a exp variar.
Abraços :smile_positivo:
espero que funfe!
-
pollyaninha deu reputação a Wiltry em Morre E Cai O Caração
Tenta assim, em creaturescripts/playerdeath, embaixo de
if isPlayer(killer) == TRUE then byPlayer = TRUE
Você coloca isso:
pos = getCreaturePosition(cid) nomoedomorto = getCreatureName(cid) nomedoassassino = getCreatureName(killer) heart = doCreateItem(HEARTID, 1, pos) doDecayItem(heart) doSetItemSpecialDescription(heart, "This is the heart of "..nomedomorto..", morto por "..nomedoassassino..")
-
pollyaninha deu reputação a Filippe Ferreira em Juntando Um Mapa Ao Outro: Rme
Juntando um mapa ao outro no RME
Abra o RME com o mapa que você quer copiar, após isso vá em File/Open e procure o mapa em que você quer colar outro.
E então ficara os dois no mesmo RME, só que em abas diferentes:
Feito isso vá no mapa que você quer copiar, no canto terá um quadradinho, clique nele, o mesmo vai virar um lápis;
Continue no mapa que deseja copiar, e então segura shift e arraste o mouse por cima da área que você quer copiar, ele ficará escuro após selecionar como na foto abaixo:
Depois é só apertar ctrl + v no mapa que você quer colar.
-
pollyaninha deu reputação a dragonlorde em [Encerrado] [ Resolvido ]Como Reseto Só O Level No Meu Ot?
Se os dados seu Ot forem organizados em Sqlite entao abra..
Va la encima onde diz tools e procure por SQL Editor ou algo do estilo entao coloque isso:
UPDATE `players` SET `level` = 0;
Entao todos os players do seu OT vao ter level 0
Obs: Faça isso quando seu ot tiver offline ¬¬
vale agradecer...
REP me ++ ali embaxo no simbolo de "+" verde se eu ajudei
-
pollyaninha deu reputação a Vilden em Troca O Templo (Todos Tipos)
Olá galera hoje vou colocar aqui 3 scripts muito boas, não sei se já tem aqui no Xtibia
mais estarei postando elas do mesmo jeito, as 3 são de autoria minha.
Legenda:
* Todas as scripts são simples e não tem nenhuma ação a não ser mudar de templo e aparecer tal mensagem.
Primeiro - Troca de Templo por Tele
Explicação: Ao entrar no tele você muda o templo do character para qual informa na script a sugestão é que você redirecione o tele para o templo escolhido.
Segundo - Troca de Templo Usando Comando
Explicação: Ao usar o comando você muda para qualquer templo, você deve indicar o id do templo exemplo, !temple 1 ira muda o player de templo para a cidade de id 1
Terceiro - Troca de Templo clicando
Explicação: Ao clica em tal local você muda para um templo definido na script, a sugestão é que seja numa estátua
Legenda Geral:
.::Créditos::.
Vilden
*Lembrando que essas scripts são mais simples possíveis caso queiram que eu adicione
alguma ação nela só pedir, caso os scripters de plantão souberem de alguma mais avançada post
abaixo, muito obrigado pela atenção.
-
pollyaninha deu reputação a zimbituba em Temples Change
Exclusivo ao XTibia - Temples Change
Não é permitido levar para outro fórum sem minha autorização ou créditos.
Caso for postar em outro fórum me mande o link que eu lhe paço até o BBCCODE pra nao precisar Reformatar.
E ai galera vim trazer até vocês um script que eu fiz e que é muito
procurado, mais que poucos funcionam O Temples Change, ou sejá o player
passa no portal e vira morador da cidade esse funciona eu testei nas versões Aries 0.4.0, 0.4.5 e Devland. Então vamos lá...
Abra a pasta data/movements/scripts e crie lá um arquivo com o nome de Temples.lua.
Agora coloque isto dentro do arquivo:
Explicando
Em vermelho são as actions id que serão colocadas nos portais dos templos
Em rosa é a mensagem que irá aparecer ao player quando virar morador
Em verde é a ação que fazcom que o player vire morador e os números é o número da cidade que está no mapeditor.
Lembrando meu mapa possui 6 cidades por isso possui esses 6 temples
Agora no movements.xml adicione isto
Em amarelo é o id do portal, espero que gostem
Até a próxima
-
pollyaninha deu reputação a Thony402 em Sistema De Quest Com O Nme De Quem Obteu Ele
Eae To Aqui Pra Ensinar Vocês a colocar aqueles sistema famoso no pbot q os items fiquam assim "Esse Item Foi Obtido Por Thony" (Suposição)
Vamos ao Script ele é uma Simples Actions
Vamos Explicar
Vermelho = Esse é o Unique id é o numero que voce ira colocar la no mapa editor muito importante
Roxo = Essa é a Storage Eu não sei muito bem o q significa mais pelo q eu entendi ela é tipo um numero que cadastra no seu char depois de fazer a quest é o impede voce de fazer ela mais de uma vez, isso é muito importante q as duas storage da script sejam as mesma e que não exista outra storage dessa no ot se não ficara bugada
Azul = Isso é digamos outro coisa que não se pode faltar funciona como uma marcação aonde vc ira colocar no "doSetItemSpecialDescription(item1," na hora de colokar o "local item1" se voce quiser colocar mais de 1 item coloque na frente do
"doPlayerAddItem(cid,7436,1)" mais não o que ja está e sim o novo, só colcoar "local item2 = doPlayerAddItem(cid,7436,1)"
Verde = isso é mais opicional, digamos que voce queri refinar o item dando mais attack só colokar depois da virgula a quantidade de attack que voce ira refinar
Azul Claro = Nessa Parte é aonde voce ira escrever a descrção do item esse \n é para mudar de linha ,nesse lugar voce pode escrever o que quiser É isso ae Ai depois a Vem a Tag que é a mais facil
<action uniqueid="2017" script="angel.lua" />
É Só isso, Muito Facil não pra mim no começo era muito dificil tambem
Ah esse script pegou muito bem no Allisow 3.6
Esse script foi muito demorado para montar então se quiser fazer outro post não seja ganancioso xD
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.