Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 05/06/16 em %
-
Substitua por este código e não se esqueça de configurar a tabela: local prof_names = { --[storage] = "profession_name",}function getPlayerDesc(cid, thing, TV) if (not isCreature(cid) or not isCreature(thing)) and not TV then return "" end local pos, prof_name = getThingPos(thing), "" local ocup = youAre[getPlayerGroupId(thing)] local rank = (getPlayerStorageValue(thing, 86228) <= 0) and "a Pokemon Trainer" or lookClans[getPlayerStorageValue(thing, 86228)][getPlayerStorageValue(thing, 862281)] local rank2 = (getPlayerStorageValue(thing, 86228) <= 0) and "a Pokemon Trainer" or lookClans2[getPlayerStorageValue(thing, 86228)][getPlayerStorageValue(thing, 862281)] local name = thing == cid and "yourself" or getCreatureName(thing) --alterado v1.8 local art = thing == cid and "You are" or (getPlayerSex(thing) == 0 and "She is" or "He is") local str = "You see "..name..". "..art.." " for key, str in pairs(prof_names) do if getPlayerStorageValue(cid, key) > -1 then prof_name = str break end end if youAre[getPlayerGroupId(thing)] then str = str..""..(ocup)..(prof_name == "" and "" or ", "..prof_name).." and "..rank.." from ".. getTownName(getPlayerTown(thing)).."." else if getPlayerSex(thing) == 1 then str = str..""..(rank)..(prof_name == "" and "" or " and "..prof_name).." from ".. getTownName(getPlayerTown(thing)).."." elseif getPlayerSex(thing) == 0 then str = str..""..(rank2)..(prof_name == "" and "" or " and "..prof_name).." from ".. getTownName(getPlayerTown(thing)).."." end end if getPlayerGuildId(thing) > 0 then str = str.." "..art.." "..getPlayerGuildRank(thing).." from the "..getPlayerGuildName(thing).."." end if TV then str = str.." "..art.." watching TV." end str = str..""..((isPlayer(cid) and youAre[getPlayerGroupId(cid)]) and "\nPosition: [X: "..pos.x.."][Y: "..pos.y.."][Z: "..pos.z.."]" or "") --alterado v1.8 return str end2 pontos
-
1 ponto
-
1 ponto
-
|atendimento|faça seu pedido!
JonatasLucasf reagiu a Tony por uma questão
Olá irei atender pedidos via esse tópico, ha mais tem a área de suporte, sim mas como eu cheguei agora e tem pedidos la que são de seculos para eu não perder meu tempo atendendo pedidos que os membros que pediram não iram usar o determinado pedido, então faça seu pedido aqui e eu irei atender com maior prazer , só preencher o formulário abaixo. Oque é ? : Background,avatar,assinatura,logo e etc... Tema : Tema que deseja ser abordado no pedido. Tamanho : 200x200px. Tipografia: Observação: Coloque qualquer tipo de observação que você queira no seu pedido.1 ponto -
movements.xml: <movevent type="Equip" itemid="ID DO ITEM" slot="ring" event="script" value="nameScript.lua"/><movevent type="DeEquip" itemid="ID DO ITEM" slot="ring" event="script" value="nameScript.lua"/> nameScript.lua: local idAnelDesequipado = ID DO ITEMlocal idAnelEquipado = ID DO ITEMlocal extraRate = 1.5function onEquip(cid, item, slot) local value = getItemAttribute(item.uid, "duration") doTransformItem(item.uid, idAnelEquipado) if value ~= nil then doItemSetAttribute(item.uid, "duration", value) end doDecayItem(item.uid) doPlayerSetExperienceRate(cid, extraRate) return trueendfunction onDeEquip(cid, item, slot) if item.uid ~= 0 then local value = getItemAttribute(item.uid, "duration") doTransformItem(item.uid, idAnelDesequipado) if value ~= nil then doItemSetAttribute(item.uid, "duration", value) end end doPlayerSetExperienceRate(cid, 1.0) return trueend1 ponto
-
/\ algu assim? local function getItemInPos(pos) local info = getTileInfo(pos) local p = {x=pos.x, y=pos.y, z=pos.z} for i = info.things, 1, -1 do p.stackpos = i local item = getTileThingByPos(p) if item.itemid > 0 and not isCreature(item.uid) then return item end end return {itemid = 0, uid = 0}endlocal positions = { {x = 1052, y = 1056, z = 7}, {x = 1052, y = 1057, z = 7}, {x = 1052, y = 1058, z = 7}, {x = 1052, y = 1059, z = 7}, {x = 1052, y = 1060, z = 7}, {x = 1052, y = 1051, z = 7}}local lastPos = nilfor i = 0, math.random(0, 19) do lastPos = positions[(i%#positions)+1] addEvent(doSendMagicEffect, i*150, lastPos, 6) endlocal item = getItemInPos(lastPos)--agora podes usar item.itemid e item.uid1 ponto
-
À matemática dele está errada, mas entendi o que ele quiz passar. Se você pegar a rate e dividila por 100 e depois multiplica-la pela valor da porcentagem, ela vai retorna o valor da porcentagem adicional para ser somada a rate. Possivelmente o distro dele não muda a rate da forma clássica (1.5,1.7 etc.) Sendo portanto necessário declarar o valor da xp ao player.1 ponto
-
Simulador divino
Administrador reagiu a Poccnn por um tópico no fórum
Isso é um simulador que faz uma série de perguntas e você escolhe a resposta mais satisfatória dentro das opções disponíveis; dependendo de sua resposta o jogo pode acabar ou ele pode fazer outra pergunta relacionada a resposta que você deu. Vale a pena simular como você seria se fosse um Deus. Link do site onde tem o simulador. Simulador divino http://ateus.net/humor/textos/simulador-divino/1 ponto -
MISERÁVEL KK, JÁ ESTA ENTREGUE ENTÃO @PsyMcKenzie kk bom proveito1 ponto
-
|atendimento|faça seu pedido!
xbruninhox reagiu a Tony por uma questão
@Caronte @PsyMcKenzie 2880x18001 ponto -
|atendimento|faça seu pedido!
Administrador reagiu a Tony por uma questão
1 ponto -
[pedido] y-cure
Bodak Reborn reagiu a zipter98 por uma questão
Não sei quem escreveu a função cleanBuffs2 do seu servidor, mas ela tá bem errada. Troque: function cleanBuffs2(item) if item ~= 0 then for i = 1, 3 do doItemEraseAttribute(item, Buffs[1]) doItemEraseAttribute(item, Buffs[1].."eff") doItemEraseAttribute(item, Buffs[1].."skill") end endend por: function cleanBuffs2(item) if item ~= 0 then for i = 1, 3 do doItemEraseAttribute(item, Buffs[i][1]) doItemEraseAttribute(item, Buffs[i][1].."eff") doItemEraseAttribute(item, Buffs[i][1].."skill") end endend E, na função: function doBuff2(cid, cd, eff, check, buff, first, attr) troque: atributo = Buffs[1] por: atributo = Buffs[i][1]1 ponto -
[pedido] y-cure
Bodak Reborn reagiu a zipter98 por uma questão
Ah sim, já vi o erro. Foi de fato falta de atenção minha na tabela, não tinha percebido que os valores estavam dentro de uma tabela. lol Quando disse que havia testado no meu servidor, eu na verdade apenas testei a lógica e não detalhei com uma tabela, por isso o erro passou despercebido. Basta trocar: if math.random(1, 100) <= Tiers[held_item] then por: if math.random(1, 100) <= Tiers[held_item].chance then1 ponto -
Muito Bom. A comunidade XTibia agradeçera... Poste nas seção Clients > Sprites1 ponto
-
[pedido] y-cure
Bodak Reborn reagiu a zipter98 por uma questão
Eu testei a minha modificação em um PDA e funcionou perfeitamente, exatamente como no vídeo. Provavelmente a modificação anterior do Y-Cure ainda se mantém, talvez você não tenha atualizado os arquivos ou alguma coisa passou despercebida. Se possível, remova tudo que tiver doCureWithY no seu servidor (utilize a ferramenta "Localizar em arquivos", do Notepad++). Quanto ao texto animado "MED", basta chamar a seguinte função: doSendAnimatedText(getThingPos(ret.id), "MED", 215)1 ponto -
[pedido] y-cure
Bodak Reborn reagiu a zipter98 por uma questão
Você deve remover a modificação em some functions.lua, deixando apenas a feita em newStatusSyst.lua.1 ponto -
[pedido] y-cure
Bodak Reborn reagiu a zipter98 por uma questão
Desculpe a demora, semana cheia. Em newStatusSyst.lua, troque: if isSummon(ret.id) and getPokemonBoost(ret.id) ~= 0 and math.random(1, 100) <= getPokemonBoost(ret.id) then --sistema "pegou no boost" if ret.cond and not isInArray({"Poison", "Leech", "Fear"}, ret.cond) then doSendAnimatedText(getThingPosWithDebug(ret.id), "BOOST", 215) --alterado v1.8 return true endend por: if isSummon(ret.id) then if getPokemonBoost(ret.id) ~= 0 and math.random(1, 100) <= getPokemonBoost(ret.id) then --sistema "pegou no boost" if ret.cond and not isInArray({"Poison", "Leech", "Fear"}, ret.cond) then doSendAnimatedText(getThingPosWithDebug(ret.id), "BOOST", 215) --alterado v1.8 return true end end local Tiers, master = { [8] = {chance = Cure1}, [9] = {chance = Cure2}, [10] = {chance = Cure3}, [11] = {chance = Cure4}, [12] = {chance = Cure5}, [13] = {chance = Cure6}, [14] = {chance = Cure7} }, getCreatureMaster(ret.id) if getPlayerStorageValue(master, 52480) < 1 then local held_item = getItemAttribute(getPlayerSlotItem(master, 8).uid, "heldy") if held_item and Tiers[held_item] then if math.random(1, 100) <= Tiers[held_item].chance then doSendMagicEffect(getThingPos(ret.id), 14) return true end end endend Optei por incluir ambas as proteções de efeitos negativos em um mesmo escopo, porém a lógica que expliquei na primeira página se mantém.1 ponto -
@edukf, primeiramente vc terá que criar 2 novos itens utilizando alguma ferramenta para tal (recomendo Item Dat Editor). Um item será para qnd o anel não estiver equipado e o outro para qnd o anel estiver equipado (brilhando, ou sei lá, sahusahu) Agora vá no arquivo items.xml (data\items) e adicione o seguinte (atente-se para os id's! coloque os id's dos novos items): <item id="ID-DO-ANEL-EQUIPADO" article="an" name="experience ring"> <attribute key="weight" value="70" /> <!--peso do anel--> <attribute key="description" value="You see a boost experience ring." /> <attribute key="slotType" value="ring" /> <attribute key="duration" value="3600" /> <!--duração do anel--> <attribute key="decayTo" value="0" /> <attribute key="showduration" value="1" /> <attribute key="transformDeEquipTo" value="ID-DO-ANEL-DESEQUIPADO" /></item><item id="ID-DO-ANEL-DESEQUIPADO" article="an" name="experience ring"> <attribute key="weight" value="70" /> <attribute key="slotType" value="ring" /> <attribute key="stopduration" value="1" /> <attribute key="showduration" value="1" /> <attribute key="transformEquipTo" value="ID-DO-ANEL-EQUIPADO" /></item> *volto a frisar, ñ esqueça de ler tudo e colocar os devidos id's nos locais sinalizados Agora vá no arquivo movements.xml (data\movements) e adicione o seguinte: <movevent type="Equip" itemid="ID-DO-ANEL-EQUIPADO" slot="ring" event="function" value="onEquipItem"/><movevent type="DeEquip" itemid="ID-DO-ANEL-EQUIPADO" slot="ring" event="script" value="exp_ring.lua"/><movevent type="Equip" itemid="ID-DO-ANEL-DESEQUIPADO" slot="ring" event="script" value="exp_ring.lua"/><movevent type="DeEquip" itemid="ID-DO-ANEL-DESEQUIPADO" slot="ring" event="function" value="onDeEquipItem"/> Agora crie um arquivo chamado exp_ring.lua dentro da pasta data\movements\scripts e coloque isso dentro do arquivo: local idAnelDesequipado = ID-DO-ANEL-DESEQUIPADOlocal idAnelEquipado = ID-DO-ANEL-EQUIPADOlocal extraRate = 0.5function onEquip(cid, item, slot)doTransformItem(item.uid, idAnelEquipado)doPlayerSetExtraExpRate(cid, extraRate)return trueendfunction onDeEquip(cid, item, slot)doTransformItem(item.uid, idAnelDesequipado)doPlayerSetExtraExpRate(cid, 0)return trueend *novamente alerto para atentar aos locais e colocar os devidos id's nos locais indicados Bom, não testei nada, então ñ posso garantir q vai funfar tudo de primeira... sahusahusahu Diz aí o que deu.1 ponto
-
[pedido] y-cure
Bodak Reborn reagiu a zipter98 por uma questão
No arquivo que mencionei, você pode encontrar o seguinte bloco de código: if isSummon(ret.id) and getPokemonBoost(ret.id) ~= 0 and math.random(1, 100) <= getPokemonBoost(ret.id) then --sistema "pegou no boost" if ret.cond and not isInArray({"Poison", "Leech", "Fear"}, ret.cond) then doSendAnimatedText(getThingPosWithDebug(ret.id), "BOOST", 215) --alterado v1.8 return true endend Acima (ou abaixo, tanto faz) dele que você deve escrever a função do Y-Cure. Neste caso, entretanto, você não precisa usar a função doCureStatus. Na verdade, basta retornar verdadeiro. Um pequeno esboço expressando a lógica que deve ser usada: if is_not_in_duel then if math.random(1, 100) <= chance_de_ativar_held then return true endend Logicamente você deve detalhar mais este bloco de código, mas o fundamento é este.1 ponto -
[pedido] y-cure
Bodak Reborn reagiu a zipter98 por uma questão
Ah, acho que entendi. Então, o held item funciona tanto contra pokémon selvagens quanto de players? De qualquer maneira, basta uma pequena modificação em newStatusSyst.lua (data/lib), e o código agirá diretamente na origem do status negativo, inclusive inviabilizando este erro que você mencionou, Bodak. Se ninguém tiver o interesse de procurar saber como escrever o script, basta responder minha pergunta e farei a mudança.1 ponto -
[pedido] y-cure
Bodak Reborn reagiu a zipter98 por uma questão
Peraí, não entendi muito bem. O Y-Cure que você está usando funciona na questão das chances de execução, porém remove os status negativos contra tanto pokémon selvagens e de jogadores, certo? O que você quer é que a função desse held item seja apenas executada contra pokémon selvagens?1 ponto -
Conteúdo Removido!
samlecter reagiu a Matheus Mar por um tópico no fórum
Ai vou te falar a real, poem esse servir pra ligar em windowns mano, Se nn for por ao menos faz um video de como fazer isso.. O Server esta muito bacana e queria pegar ela pra um futuro server q estou fazendo a um tempo1 ponto -
1 ponto
-
Então amigo, você deve ter o mínimo conhecimento em Linux para instalar o apache, coloque tudo na pasta www, abra a pasta do site e configure como o seu gosto. Em breve farei tutorial em video de como instalar o servidor, e isso inclui o website também. Qualquer dúvida é só falar :lolz:1 ponto
-
1 ponto
-
Seu último mapa - your last map
Marco Oliveira reagiu a foxskydiver por um tópico no fórum
Faz tempo que não edito. Quest que to bolando. Só não sei qual respaw por1 ponto -
1 ponto
-
Voltando a exercer a função...1 ponto