Líderes
-
-
-
Tio Marshmello
MembroPontos212Total de itens -
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 05/11/18 em todas áreas
-
Troll Clan Cave | Cave Hunt | 8.60
Troll Clan Cave | Cave Hunt | 8.60
Valhinhos e um outro reagiu a DdJs por uma resposta no tópico
2 pontosCave hunt - Troll Clan Cave. Download: Here Scan: Here Imagens:2 pontos -
[Link Quebrado] [ModenAcc] WebSite Otpokemon V4.0 Completo
[Link Quebrado] [ModenAcc] WebSite Otpokemon V4.0 Completo
Gutaxavier e um outro reagiu a Tio Marshmello por uma resposta no tópico
2 pontos@Gutaxavier Olhe meu topico lá tem o download2 pontos -
[TFS 0.X] Players doando itens atráves de um comando
[TFS 0.X] Players doando itens atráves de um comando
Vodkart e um outro reagiu a Storm por uma resposta no tópico
2 pontosEaí galera , como vão ? A script de hoje consiste um sistema onde um player envia um item pra outro por uma TALKACTION ; não requer configurações dentro da script , apenas na XML. A tag na XML está disponivel na própria script e me desculpem pelos erros de inglês . -- Os parâmentros do comando são : !transfer NOME DO PLAYER, NOME DO ITEM , QUANTIDADE DO ITEM A SER DOADA -- <talkaction words="!transfer;/transfer" event="script" value="transfer.lua"/> function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end local t = string.explode(param, ",") local a = getPlayerByNameWildcard(t[1]) if isNumber(t[2]) or not isNumber(t[3]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Incorrect command parameters") return true end if (not getItemIdByName(t[2])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Put the item name correctly in the second parameter") return true end if (not t[1]) or (not t[2]) or (not t[3]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Incorrect command parameters") return true end if not a then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found") return true end if not doPlayerRemoveItem(cid, getItemIdByName(t[2]), t[3]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You dont have a item") return true end doPlayerRemoveItem(cid, getItemIdByName(t[2]), t[3]) doPlayerAddItem(a, getItemIdByName(t[2]), t[3]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You donated ".. t[3] .. " ".. getItemInfo(getItemIdByName(t[2])).name .. " to player ".. getCreatureName(a) .." ") doPlayerSendTextMessage(a, MESSAGE_STATUS_WARNING, "You receive ".. t[3] .. " ".. getItemInfo(getItemIdByName(t[2])).name .. " of player ".. getCreatureName(cid) .."") return true end2 pontos -
Adicionando novos elementos no TFS 0.3.6
ADICIONANDO O ELEMENTO muitas das vezes a gente precisa adicionar um novo elemento em nosso servidor, assim para criar novas magias, esse tutorial é para quem precisa disso. combat.cpp Abaixo de: case CONDITION_FIRE: return COMBAT_FIREDAMAGE; Adicione em baixo: case CONDITION_PLANTA: return COMBAT_PLANTADAMAGE; combat.cpp Abaixo de: case COMBAT_FIREDAMAGE: return CONDITION_FIRE; Adicone em baixo: case COMBAT_PLANTADAMAGE: return CONDITION_PLANTA; Condition.cpp Abaixo de: case CONDITION_FIRE: Adicione: case CONDITION_PLANTA: Abaixo de: case CONDITION_FIRE: return ICON_BURN; Adicione em baixo: case CONDITION_PLANTA: return ICON_NONE; Condition.h Abaixo de: CONDITION_HUNTING = 1 << 23, Adicione em Baixo: CONDITION_PLANTA = 1 << 24 const.h Abaixo de: TEXTCOLOR_WHITE = 215, Adicione: TEXTCOLOR_PLANTA = 18, enums.h Abaixo de: COMBAT_DEATHDAMAGE = 1 << 11, Adicione: COMBAT_PLANTADAMAGE = 1 << 12, Em COMBAT_LAST = COMBAT_DEATHDAMAGE para COMBAT_LAST = COMBAT_PLANTADAMAGE game.cpp Abaixo de: case COMBAT_ENERGYDAMAGE: Adicione: case COMBAT_PLANTADAMAGE: Abaixo de: case COMBAT_ENERGYDAMAGE: { textColor = TEXTCOLOR_PSYCHIC; magicEffect = MAGIC_EFFECT_DRAW_BLOOD; break; } Adicione: case COMBAT_PLANTADAMAGE: { textColor = TEXTCOLOR_PLANTA; magicEffect = MAGIC_EFFECT_DRAW_BLOOD; break; } monsters.cpp Abaixo de: else if(tmpName == "drown") combat->setParam(COMBATPARAM_COMBATTYPE, COMBAT_DROWNDAMAGE); Adicione: else if(tmpName == "planta") combat->setParam(COMBATPARAM_COMBATTYPE, COMBAT_PLANTADAMAGE); Abaixo de: else if(tmpStrValue == "energy") { mType->damageImmunities |= COMBAT_ENERGYDAMAGE; mType->conditionImmunities |= CONDITION_ENERGY; } Adicione: else if(tmpStrValue == "planta") { mType->damageImmunities |= COMBAT_PLANTADAMAGE; mType->conditionImmunities |= CONDITION_PLANTA; } Abaixo de: else if(readXMLString(tmpNode, "fire", strValue) && booleanString(strValue)) { mType->damageImmunities |= COMBAT_FIREDAMAGE; mType->conditionImmunities |= CONDITION_FIRE; } Adicione: else if(readXMLString(tmpNode, "planta", strValue) && booleanString(strValue)) { mType->damageImmunities |= COMBAT_PLANTADAMAGE; mType->conditionImmunities |= CONDITION_PLANTA; } Abaixo de: else if(readXMLInteger(tmpNode, "energyPercent", intValue)) mType->elementMap[COMBAT_ENERGYDAMAGE] = intValue; Adicione: else if(readXMLInteger(tmpNode, "plantaPercent", intValue)) mType->elementMap[COMBAT_PLANTADAMAGE] = intValue; player.cpp Abaixo de: case CONDITION_FIRE: tmp = "burning"; break; Adicione: case CONDITION_PLANTA: tmp = "dashing"; break; tools.cpp Abaixo de: {"fire", COMBAT_FIREDAMAGE}, Adicione: {"planta", COMBAT_PLANTADAMAGE}, Abaixo de: case COMBAT_ENERGYDAMAGE: return "energy"; Adicione: case COMBAT_PLANTADAMAGE: return "planta"; Pronto só recompilar, se caso não pegar apague tudo da pasta OBJ ATENÇÃO: Depois de compilar você precisa registrar na LIB também. 000-constant veja o ultimo numero GHOSTDAMAGE = 2048 Multiplique o 2048 por 2 vezes Ficando: COMBAT_PLANTADAMAGE = 4096 agora você pode adicionar na suas magias o novo elemento e nos monstro tbm se preferir: monstro.xml <elements> <element plantaPercent="50"/> </elements> spells COMBAT_PLANTADAMAGE local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PLANTADAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 1 + levelTotal), -(skillTotal * 1.7 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end1 ponto
-
Troll Clan Cave | Cave Hunt | 8.60
Muito bom parabéns Continue assim1 ponto
-
Script !saga
1 ponto
-
Evellor Island 10.77
1 ponto1 ponto
-
Erro de compilação
1 pontoquando der esse erro é só por sed -i 's/ -lxml2$/ -lxml2 -lpthread/' Makefile depois escreva: make e enter1 ponto
-
APRESENTANDO MEU PROJETO DE POKEMON
Cara eu só não digo super foda por que tem umas sprites top-down ai no meio, e tem umas misturas de walls modernas (claras e lisas) com outras rústicas (escuras/sujas e medievais). O mapa ta agradável e os sistemas parecem estar no capricho. Minha sugestão é que tire um pouco o destaque do client (cores fortes, etc) e mova para a tela. Eu vejo que muitos poketibias tem o mesmo sistema dos slots, ali no set do player. Eu acho feio no sentido de que é um pouco confuso se comparado ao que estamos acostumados no tibia normal. Não sou jogador de poketibia, mas talvez se você explorar um pouco isso e modificar pode ser um diferencial.1 ponto
-
(Resolvido)[DÚVIDA] Qual a diferença entre um servidor 8.54 e 8.60?
algumas funções como 8.54 não tem emblemas já a versão 8.60 tem emblemas, algumas funções também podem mudar não me lembro quais, porem n tem muita diferença1 ponto
-
(Resolvido)Monstro Que Nao Anda
(Resolvido)Monstro Que Nao Anda
Black Fenix reagiu a L3K0T por uma resposta no tópico
1 pontotenta não é só por speed 0 tem as flags: <?xml version="1.0" encoding="UTF-8"?> <monster name="Boss" nameDescription="Boss" race="blood" experience="45" speed="0" manacost="0"> <health now="20650989" max="20650989"/> <look type="530" head="0" body="94" legs="79" feet="79" corpse="2908"/> <targetchange interval="9000" chance="100"/> <strategy attack="5" defense="5"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="65"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="1000" min="-1010" max="-1140"/> <attack name="manadrain" interval="1000" chance="10" range="7" min="-1160" max="-1215"> <attribute key="areaEffect" value="redshimmer"/> </attack> <attack name="Great Ball" interval="3500" chance="100" radius="4" target="0" min="-13340" max="-13600"> </attack> </attacks> <defenses armor="80" defense="80"> <defense name="healing" interval="4000" chance="40" min="300" max="300"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="4000" chance="40" speedchange="450" duration="8000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <elements> <element physicalPercent="20"/> <element icePercent="10"/> <element holyPercent="-15"/> <element deathPercent="35"/> </elements> <immunities> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity outfit="1"/> <immunity drunk="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="Ssssshhhhh.." yell="1"/> <voice sentence="Kinjutsu..."/> <voice sentence="Snakes go..."/> </voices> <loot> <item id="2160" countmax="86" chance="10000"/><!-- gold bar --> <item id="2534" countmax="1" chance="15000"/><!-- orochimaru tunic --> <item id="8869" countmax="1" chance="15000"/><!-- orochimaru boots --> <item id="7389" countmax="1" chance="15000"/><!-- sasuke legs --> <item id="2133" countmax="1" chance="15000"/><!-- fake kage mask --> <item id="7877" countmax="1" chance="15000"/><!-- imperium sowrd --> <item id="2647" countmax="1" chance="5000"/><!-- third hokage mask --> </loot> </monster>1 ponto -
(Resolvido)Monstro Que Nao Anda
(Resolvido)Monstro Que Nao Anda
Black Fenix reagiu a Storm por uma resposta no tópico
1 pontospeed="0" È só colocar a speed igual a zero.1 ponto -
Preciso de uma Script que o Summon Teleporter
Preciso de uma Script que o Summon Teleporter
Black Fenix reagiu a L3K0T por uma resposta no tópico
1 pontoera que iria dizer ksks até postei o código source é mais leve1 ponto -
Preciso de uma Script que o Summon Teleporter
Preciso de uma Script que o Summon Teleporter
Black Fenix reagiu a Storm por uma resposta no tópico
1 ponto1 ponto- (Resolvido)Transformando essa magia sendo utilizavel para monstros
(Resolvido)Transformando essa magia sendo utilizavel para monstros
Black Fenix reagiu a Storm por uma resposta no tópico
1 pontolocal tempo = 60 -- tempo em segundos. local ml = 40 -- quantos ira aumentar o skill de ML local skillfist = 0 -- quantos ira aumentar o skill de Fist local skillsword = 15 -- quantos ira aumentar o skill de Sword local skillaxe = 0 -- quantos ira aumentar o skill de Axe local skillclub = 15 -- quantos ira aumentar o skill de Club local skilldistance = 15 -- quantos ira aumentar o skill de Distance local skillshield = 0 -- quantos ira aumentar o skill de Shield local health = 25 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 300) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) repeatEff(cid, 185, 120) doCreatureSay(cid, "Perfect Susanoo", TALKTYPE_MONSTER) else end end1 ponto- Módulos Tibia 9+ no 8.54
1 pontoestou fazendo a portabilidade de alguns módulos/sistemas das versões mais novas do tibia, para minha base 8.54(TFS 0.3.6PL1), como faz muito tempo que não jogo global alem de montaria e o market qual outro sistema que existe no mesmo, você acha que seria legal de fazer no 8.54?1 ponto- [TalkAction] Player Check System
[TalkAction] Player Check System
Orientalz reagiu a Bruno Carvalho por uma resposta no tópico
1 pontoVersão: 3.2 Versão de tibia: 9.4+ (Funciona em anteriores) Descrição: Existem muitos scripts que ajudam o administrador do servidor a cuidar dele, um deles é saber coisas sobre quem está jogando e se está sendo honesta. Eu peguei alguns scripts e estou juntando em um para diminuir o tamanho e ter uma fácil verificação. TAG: <talkaction log="yes" words="!p;/p" access="5" event="script" value="playercheck.lua"/> Script: Talkactions/scripts/playercheck.lua local config = { check = {"check", "viwer", "verificar", "ver"}, delete = {"del", "delete", "deletar"}, search = {"search", "procurar"} } function getItemsInContainer(cont, sep) local text = "" local tsep = "" local count = "" for i=1, sep do tsep = tsep.."-" end tsep = tsep..">" for i=0, getContainerSize(cont.uid)-1 do local item = getContainerItem(cont.uid, i) if isContainer(item.uid) == FALSE then if item.type > 0 then count = "("..item.type.."x)" end text = text.."\n"..tsep..getItemNameById(item.itemid).." "..count.." ("..item.itemid..")" else if getContainerSize(item.uid) > 0 then text = text.."\n"..tsep..getItemNameById(item.itemid).." ("..item.itemid..")" text = text..getItemsInContainer(item, sep+2).." ("..item.itemid..")" else text = text.."\n"..tsep..getItemNameById(item.itemid).." ("..item.itemid..")" end end end return text end function onSay(cid, words, param, channel) local slotName = {"Cabeça", "Amuleto", "Backpack", "Armor", "Mao Direita", "Mao Esquerda", "Legs", "Pés", "Ring", "Ammo Slot"} local t = string.explode(param, ",") if(table.isStrIn(param, config.check)) then if getPlayerGroupId (cid) >= 5 then local player = getPlayerByNameWildcard(t[2]) if isPlayer(player) == TRUE then local text = getPlayerName(player).."'s Equipment: " for i=1, 10 do text = text.."\n\n" local item = getPlayerSlotItem(player, i) if item.itemid > 0 then if isContainer(item.uid) == TRUE then text = text..slotName[i]..": "..getItemNameById(item.itemid).." ("..item.itemid..") "..getItemsInContainer(item, 1) else text = text..slotName[i]..": "..getItemNameById(item.itemid).." ("..item.itemid..")" end else text = text..slotName[i]..": Empty" end end doShowTextDialog(cid, 6579, text) else doPlayerSendCancel(cid, "This player is not online.") end end elseif(table.isStrIn(param, config.delete)) then if getPlayerGroupId(cid) >= 5 then local player = getPlayerByNameWildcard(t[3]) if isPlayer(player) == TRUE then count = t[4] if(not t[4]) then count = 1 end if getPlayerItemCount(player, t[2]) > 0 then if doPlayerRemoveItem(player, t[2], count) then doPlayerSendCancel(cid, "Item Deletado.") else doPlayerSendCancel(cid, "Este player não esta quantidade.") end else doPlayerSendCancel(cid, "Este player não tem o item.") end end end elseif(table.isStrIn(param, config.search)) then if getPlayerGroupId (cid) >= 5 then local player = getPlayerByNameWildcard(t[3]) local result = db.getResult("SELECT name, online FROM players WHERE id IN (SELECT player_id FROM player_items WHERE itemtype = ".. t[2] ..");") local msg = "Resultados da busca pelo item ".. t[2] .." em seu banco de dados:\n\n" if result:getID() ~= -1 then while true do local name = result:getDataString("name") local online = result:getDataInt("online") msg = msg .. name .." [".. (online == 1 and "Online" or "Offline") .."]\n" if not result:next() then break end end else msg = msg .. "O item não foi encontrado em nenhum jogador." end doShowTextDialog(cid, t[2], msg) end end return true end Explicação: Quando o god digita: /p check, (PNAME) - Ele verifica os items que o player tem. /p del, (ID), (PNAME), (COUNT) - Ele deleta o item de determinado player (Se não colocar o count ele irá remover somente 1). /p search, (ID) - Ele verifica quantos players tem tal item e se está online. Créditos: Oneshot CaioODemais Comedinha (Bruno Carvalho)1 ponto- Desabilitar PVP
Desabilitar PVP
Miranha reagiu a Bodak Reborn por uma resposta no tópico
1 pontoSó faltou eu colocar os creaturescripts, lel. Achei esse script do zipter. talkactions local msg = "Agora seu sistema PvP está %s." function onSay(cid, words, param) local _table = { ["on"] = {"ativado", 1}, ["off"] = {"desativado", 0}, } if _table[param:lower()] then local mode = _table[param:lower()] setPlayerStorageValue(cid, 91821, mode[2]) doPlayerSendTextMessage(cid, 27, msg:format(mode[1])) end return true end creaturescripts XML: <event type="statschange" name="PvPStats" event="script" value="nome do arquivo.lua"/> <event type="target" name="PvPTarget" event="script" value="nome do arquivo.lua"/> <event type="login" name="PvPLogin" event="script" value="nome do arquivo.lua"/> script function onTarget(cid, target) if isPlayer(target) and isPlayer(cid) then if getPlayerStorageValue(cid, 91821) < 1 then doPlayerSendCancel(cid, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.") return false end end return true end function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then if getPlayerStorageValue(attacker, 91821) < 1 then doPlayerSendCancel(attacker, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.") return false end end return true end function onLogin(cid) registerCreatureEvent(cid, "PvPTarget") registerCreatureEvent(cid, "PvPStats") return true end Caso não consiga colocar a tag nas talkactions, me avise.1 ponto- Troll Clan Cave | Cave Hunt | 8.60
0 pontos@DdJs onde clica para curti 2x vezes ? Hahaha, obrigado por compartilhar com a comunidade!! xD0 pontos- (Resolvido)[DÚVIDA] Qual a diferença entre um servidor 8.54 e 8.60?
0 pontos- Task System 1.2+
Task System 1.2+
KotZletY reagiu a LG KyoGron por uma resposta no tópico
0 pontosMuito bom o sistema xD, estou usando no meu pbot que estou a criar em OTX 1.3, mas estou com um pequeno problema, aparentemente não tem ' player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE ' e mesmo que eu remova o MESSAGE_STATUS_CONSOLE_ORANGE, ele não mostra em chat algum, poderia me dar uma ajuda? desde já, obrigado, em breve vou estar aprimorando também, esse vai ser o sistema que mais vou usar no servidor xD Consegui resolver cliente versão 11.49 não tem orange ou blue .-. que bosta uhausas0 pontosLíderes está configurado para São Paulo/GMT-03:00 - (Resolvido)Transformando essa magia sendo utilizavel para monstros
Informação Importante
Confirmação de Termo