
Tudo que WooX postou
-
[TFS 0.4] Life Steal em monstros!
Manda o XML do monstro completo.
-
[TFS 0.4] Life Steal em monstros!
-
[TFS 0.4] Life Steal em monstros!
Me manda a tag do script no creaturescripts.xml e também como ficou o XML do monstro.
-
[TFS 0.4] Life Steal em monstros!
Sim.
-
[TFS 0.4] Life Steal em monstros!
Agora eu entendi exatamente o que tu quer, seu script original está correto e funcional. Tenta fazer o seguinte, pega o XML do Dragon em data/monsters e adiciona isso. <script> <event name="NOME_DO_SCRIPT_NO_CREATURESCRIPTS.XML"/> </script> E testa somente com o Dragon.
-
[TFS 0.4] Life Steal em monstros!
Tinha esquecido uma coisa. local config = { weapons = { -- [ID] = LIFE STEAL %, [8602] = 10, }, -- Vocations number -- 1, 5 = Druid, Elder Druid -- 2, 6 = Sorcerer, Master Sorcerer -- 3, 7 = Paladin, Royal Paladin -- 4, 8 = Knight, Elite Knight -- others vocations = {4, 8}, } function onLogin(cid) registerCreatureEvent(cid, "LifeSteal") return true end function onStatsChange(cid, attacker, type, combat, value) if not isCreature(attacker) then return true end for slot = 0, 9 do for id, perc in pairs(config.weapons) do if (getPlayerSlotItem(attacker, slot).id == id) then return doCreatureAddHealth(attacker, math.ceil(value / perc)) end end end return true end Acabei postando o mesmo código sem a edição que fiz. Editei o post agora, tenta novamente.
-
[TFS 0.4] Life Steal em monstros!
local config = { weapons = { -- [ID] = LIFE STEAL %, [8602] = 10, }, -- Vocations number -- 1, 5 = Druid, Elder Druid -- 2, 6 = Sorcerer, Master Sorcerer -- 3, 7 = Paladin, Royal Paladin -- 4, 8 = Knight, Elite Knight -- others vocations = {4, 8}, } function onLogin(cid) registerCreatureEvent(cid, "LifeSteal") return true end function onStatsChange(cid, attacker, type, combat, value) if not isCreature(attacker) then return true end for slot = 0, 9 do for id, perc in pairs(config.weapons) do if (getPlayerSlotItem(attacker, slot).id == id) then return doCreatureAddHealth(attacker, math.ceil(value / perc)) end end end return true end
-
[DUVIDA] ENTRADA HOUSE
Provavelmente é isto, tente utilizar OTX.
-
Effect do Critical no Target!
Manda o seu weapons.cpp
-
[DUVIDA] ENTRADA HOUSE
Dei uma olhada aqui e essa alteração é feita diretamente na source, que distro está utilizando?
-
[DUVIDA] ENTRADA HOUSE
Provavelmente. Vou dar 1 olhada aqui e já já respondo.
-
[DUVIDA] ENTRADA HOUSE
Isso é normal, sempre foi possivel puxar da porta.
-
Effect do Critical no Target!
void Player::sendCritical() const { Creature* target = getAttackedCreature(); if(g_config.getBool(ConfigManager::DISPLAY_CRITICAL_HIT)) g_game.addMagicEffect(target->getPosition(), MAGIC_EFFECT_MIRRORVERTICAL); }
-
[SPELL] como coloca cooldown nessas magias pf
Me manda como ficou o script.
-
[SPELL] como coloca cooldown nessas magias pf
Erro meu, tenta assim. if exhaustion.get(cid, 3305) then doPlayerSendCancel(cid, 'Wait '.. exhaustion.get(cid, 150) ..' seconds, before using this spell again.') return false end exhaustion.set(cid, 3305, 10)
-
[SPELL] como coloca cooldown nessas magias pf
Algum erro? ou simplesmente não mostra?
-
[SPELL] como coloca cooldown nessas magias pf
Posta como ficou o script ai.
-
[SPELL] como coloca cooldown nessas magias pf
Algum erro?
-
Qual LINUX usar?
Não, são diferentes. Dependendo da versão da sua source é recomendável um e não o outro. Qual a versão da source?
-
Poder conectar 2 char na mesma conta
Entendi sim. config.lua onePlayerOnlinePerAccount = false
-
Poder conectar 2 char na mesma conta
Cria 1 script com isso dentro e registra no creaturescripts.xml. <event type="login" name="nomescript" event="script" value="nomescript.lua"/>
-
Poder conectar 2 char na mesma conta
Testa ai. local maxPlayersPerAcc = 2 function onLogin(cid) if #getPlayersByAccountId(getPlayerAccount(cid)) >= maxPlayersPerAcc then return false end return true end
-
(Resolvido)Cast System
void addCastViewer(ProtocolGame* pg) { cSpectators[nextSpectator] = pg; nextSpectator++; std::stringstream ss; ss << "Spectator [" << cast.curId << "]"; pg->viewerName = ss.str().c_str(); cast.curId++; } Pra falar laranja depois eu dou 1 olhada com calma e posto aqui.
-
(Resolvido)Cast System
Acredito que seja em player.h, testa ai. void addCastViewer(ProtocolGame* pg) { cSpectators[nextSpectator] = pg; nextSpectator++; std::stringstream ss; ss << "Spectator" << cast.curId; pg->viewerName = ss.str().c_str(); cast.curId++; }
-
[SPELL] como coloca cooldown nessas magias pf
Após isso: function onCastSpell(cid, var) Adicione isso: if exhaustion.get(cid, 3305) then doPlayerSendCancel(cid, 'Wait '.. exhaustion.get(cid, 150) ..' seconds, before using this spell again.') return true end exhaustion.set(cid, 3305, 10)