
Solutions
-
Ackerzin's post in (Resolvido)Erro ao tentar colocar vida e mana por % na source. was marked as the answerTenta seguir esse topico.
-
Ackerzin's post in (Resolvido)Dbug ao usar alavanca was marked as the answerfunction onUse(cid, item, fromPosition, itemEx, toPosition) local position1 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z} local Gain = 50 if getPlayerStorageValue(cid, 19221) < 2 then doPlayerAddSkill(cid, 0, Gain) doPlayerAddSkill(cid, 1, Gain) doPlayerAddSkill(cid, 2, Gain) doPlayerAddSkill(cid, 3, Gain) doPlayerAddSkill(cid, 4, Gain) doPlayerAddSkill(cid, 5, Gain) doPlayerAddSkill(cid, 6, Gain) doPlayerAddMagLevel(cid, Gain) doPlayerSendTextMessage(cid, 22, "SKills+++") doSendMagicEffect(position1, 186) setPlayerStorageValue(cid, 19221, getPlayerStorageValue(cid, 19221)+1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Não há nada para você aqui.") end return TRUE end
-
Ackerzin's post in (Resolvido)Bug Death Channel was marked as the answerEu utilizo esse aqui, muito da hora.
-- Coded by Zoom.. local info = { [1] = "%s [Level: %s] estilhaçou %s%s.", [2] = "Se %s [Level: %s] continuar assim, %s%s vai morrer dentro da PZ.", [3] = "%s [Level: %s] mandou um brutality em %s%s.", [4] = "%s [Level: %s] fez a vida abandonar %s%s.", [5] = "%s [Level: %s] forrou o chão com o sangue de %s%s.", [6] = "%s [Level: %s] aniquilou %s%s.", [7] = "%s [Level: %s] acabou de derrotar %s%s.", [8] = "%s [Level: %s] está com o sangue de %s%s nas mãos.", [9] = "%s [Level: %s] destruiu %s%s.", [10] = "%s [Level: %s] da boas vindas a %s%s no circo de soled.", [11] = "%s [Level: %s] fará %s%s ter pesadelos por um tempo.", [12] = "%s [Level: %s] está sendo cruel com %s%s.", [13] = "Que isso %s [Level: %s], melhor %s%s ir treinar um pouco.", [14] = "%s [Level: %s] venceu a luta contra %s%s.", [15] = "%s [Level: %s] trouxe dor e sofrimento para %s%s.", [16] = "%s [Level: %s] assassinou %s%s.", [17] = "%s [Level: %s] castigou %s%s.", [18] = "%s [Level: %s] enfrentou e derrubou %s%s.", [19] = "%s [Level: %s] matou %s%s.", [20] = "%s [Level: %s] casou %s%s com a morte.", [21] = "%s [Level: %s] purificou %s%s." } local lose, win = "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos.", "%s obteve %s frags seguidos após derrotar %s." local frags, storage = {3, 5, 8, 10}, 30045 function onDeath(cid, corpse, deathList) local target = deathList[1] if(not isPlayer(cid) or not isPlayer(target)) then return true end doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1)) for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', info[math.random(21)]:format(getCreatureName(target), isPlayer(target) and getPlayerLevel(target), getCreatureName(cid), " [Level: "..getPlayerLevel(cid).."]"), TALKTYPE_CHANNEL_ORANGE, 0xF) for _, frag in ipairs(frags) do if(getCreatureStorage(target, storage) == frag) then doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_MANAGEMENT, 0xF) end end end doCreatureSetStorage(cid, storage, 0) return true end
-
Ackerzin's post in (Resolvido)[NPC] Walking Speed (pedido) was marked as the answerPoem isso no seu NPC
speed="5000"
-
Ackerzin's post in (Resolvido)[AJUDA C++] push player: you cannot move this object. was marked as the answerem creature.h
mude o numero ZERO, quanto mais alto, mas rapido, vai testando aos poucos.
virtual bool isPushable() const {return getWalkDelay() <= 0;}
-
Ackerzin's post in (Resolvido)[PEDIDO] Skull infinita was marked as the answerEssas são as modificações que você ira precisar, basta alterar sua source, config.lua, creaturescript.
Oque as alterações fazem, Black Skull pode soltar magia, ele não leva mais dano por estar Black, o Skull nao sai quando sai o Battle, se morrer RedSkull, BlackSkull não perde loot.
no seu servidor em config.lua
creaturescripts.xml
depois criar um arquivo
nomedoseuarquivo.lua
E adicionar no login.lua
combat.cpp
condition.cpp
player.cpp
spells.cpp
-
Ackerzin's post in (Resolvido)Colocar exausted nessa spell was marked as the answerTenta assim.
Spells 1
local exausted = 0.1 -- em minutos local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 13) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_MANASHIELD) setConditionParam(condition, CONDITION_PARAM_TICKS, 120000) setCombatCondition(combat, condition) function onCastSpell(cid, var) if isPlayer(cid) and getPlayerAccess(cid) < 3 and getPlayerStorageValue(cid, 998877)-os.time() > 1 then local seetime = getPlayerStorageValue(cid, 998877)-os.time() local minutes, seconds = math.floor(seetime/60), math.floor(seetime%60) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde "..minutes.." minuto(s) e "..seconds.." segundo(s) para usar novamente!") return false end setPlayerStorageValue(cid, 998877, exausted*60+os.time()) return doCombat(cid, combat, var) end
Spells 2
local exausted = 0.1 -- em minutos local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 10) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) if isPlayer(cid) and getPlayerAccess(cid) < 3 and getPlayerStorageValue(cid, 998878)-os.time() > 1 then local seetime = getPlayerStorageValue(cid, 998878)-os.time() local minutes, seconds = math.floor(seetime/60), math.floor(seetime%60) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde "..minutes.." minuto(s) e "..seconds.." segundo(s) para usar novamente!") return false end setPlayerStorageValue(cid, 998878, exausted*60+os.time()) doRemoveCondition(cid, CONDITION_MANASHIELD) return doCombat(cid, combat, var) end
-
Ackerzin's post in (Resolvido)Como adicionar items novos de parede was marked as the answerNão, não, você só tem que adicionar no Objectbuilder, e no Itemeditor, "no items.xml" tambem para funcionar, e mandar o Dat e o SPR que voce modificou para os players poderem ver, se não eles tomam debug!
-
Ackerzin's post in (Resolvido)PvP zone tool was marked as the answerbandicam 2019-04-28 10-36-26-182.mp4 Qual sua source? to vendo aqui na minha 1.0, em player.cpp
{ health = healthMax; if(getZone() != ZONE_HARDCORE || g_config.getBool(ConfigManager::PVPZONE_RECOVERMANA)) mana = manaMax; } E deixa assim
{ health = healthMax; }
bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 bandicam 2019-04-28 10-36-26-182.mp4 -
Ackerzin's post in (Resolvido)Ajuda com itens criados, inserção no mapa was marked as the answerEm "Paletts" você poem "RAW Paletts" e em "Tileset" você poem em "Others" eles estaram la no final!
-
Ackerzin's post in (Resolvido)Erro no script de refinamento was marked as the answer100%
upgradesystem.lua
Creditos: @Rusherzin
-
Ackerzin's post in (Resolvido)1 player por vez no tile was marked as the answerDa ctrl + F escreve "11059" e substitui por esse aqui
</item>
<item id="11059" article="a" name="glowing switch">
<attribute key="walkStack" value="0"/>
</item>
-
Ackerzin's post in (Resolvido)Duplicate Uniqueid was marked as the answerisso ai é um aviso, que tu tem dois SQM "tile" com o mesmo uniqueid, EXEMPLO: "28531" é o piso vip, e tu colocou em dois SQM "tile", se quiser tirar basta ir na source procura por luascript.cpp
da ctrl + f "Duplicate uniqueId" e coloca // na frente da linha deixa assim.
// if(item->getActionId() != 2000) //scripted quest system // std::clog << "Duplicate uniqueId " << item->getUniqueId() << std::endl;
-
Ackerzin's post in (Resolvido)[HELP] Comando /jail was marked as the answerTa faltando algumas virgulas.
function onSay(cid,words,param) local t = string.explode(param, ",") local config = { [1] = {x=1024, y=906, z=10}, [2] = {x=1028, y=906, z=10}, [3] = {x=1033, y=906, z=10}, [4] = {x=1033, y=898, z=10}, [5] = {x=1028, y=898, z=10}, [6] = {x=1023, y=898, z=10}, } local from1,to1 = {x=1022, y=905, z=10},{x=1030, y=907, z=10} local from2,to2 = {x=1022, y=907, z=10},{x=1030, y=915, z=10} local temple = {x=1024, y=910, z=7} -- cordenadas do templo local Player_Name = getPlayerByNameWildcard(t[1]) if not t[1] then doPlayerSendTextMessage(cid, 27, "Digite o nome do jogador.") return TRUE end if not Player_Name then doPlayerSendTextMessage(cid, 27, "O jogador nao existe ou esta offline.") return TRUE end local Player_Pos = getThingPos(Player_Name) local function Unjail() if isPlayer(cid) then doTeleportThing(Player_Name, temple) end end if not tonumber(t[2]) or tonumber(t[2]) < 1 or t[2] == "" then doPlayerSendTextMessage(cid, 27, "Coloque a quantidade de tempo em minutos!") return TRUE end if getPlayerAccess(Player_Name) >= 2 then doPlayerSendTextMessage(cid, 27,"Voce nao pode prender um GM ou alguem superior a ele.") return TRUE end if isInRange(Player_Pos, from1, to1) or isInRange(Player_Pos, from2, to2) then doPlayerSendTextMessage(cid, 27,"O jogador ja esta preso!") return TRUE end doTeleportThing(Player_Name, config[math.random(#config)]) doSendAnimatedText(Player_Pos, "JAIL!", TEXTCOLOR_RED) doPlayerSendTextMessage(Player_Name, 25,"Voce foi preso por fazer algo contra as regras! e ficara preso por "..(tonumber(t[2])).." minuto"..(tonumber(t[2]) > 1 and "s" or "")..".") doPlayerSendTextMessage(cid, 27,"Voce prendeu o jogador "..t[1].." por "..(tonumber(t[2])).." minuto"..(tonumber(t[2]) > 1 and "s" or "")..".") addEvent(Unjail, t[2]*60*1000, Player_Name) return TRUE end
Esse aqui embaixo é o que eu uso no meu servidor.
-
Ackerzin's post in (Resolvido)[BUG] !leavehouse was marked as the answertenta usar esse aqui.
talkaction.xml
crie um arquivo chamado: leavehouse.lua
-
Ackerzin's post in (Resolvido)Stamina Refiler was marked as the answerVai em actions, cria um arquivo staminapot.lua
function onUse(cid, item, fromPosition, itemEx, toPosition) local config = {} config.stamina = 42 * 60 * 1000 if(getPlayerStamina(cid) >= config.stamina) then doPlayerSendCancel(cid, "Your stamina is already full.") else doPlayerSetStamina(cid, config.stamina) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sua stamina foi recarregada com sucesso.") doRemoveItem(item.uid, 1) doSendMagicEffect(getThingPos(cid), 30) end return true end em actions.xml
<action itemid="12289" script="staminapot.lua"/>
"12289" é o ID do item que você vai querer.
-
Ackerzin's post in (Resolvido)Dificuldade com Account Manager + Gesior was marked as the answerQual tfs? se for 0.4 usa essa aqui que vai funcionar perfeito, a source ta incluso se quiser modificar algo
https://mega.nz/#!VtxknQxa!ISc46ud75BiW7M1M2ALyGan3sIeb0ApasmmBIknwT9M
-
Ackerzin's post in (Resolvido)Modificar a life do newchar was marked as the answerFacil, vai na sua database, abre todos os samples, druid, sorcerer, knight e paladin, e modifica "health" pra 1, e quando o char for criado ele vai começar com 1 de life ~life na preta~~ para mudar o maximo de vida que ele tera só mudar "healthmax" :D
-
Ackerzin's post in (Resolvido)Alguém sabe tirar isso? > WARNING: max_allowed_packet might be set too low for binary map storage. was marked as the answerque porra se ta fazendo kkkkkkkkk
-
Ackerzin's post in (Resolvido)[PEDIDO] TFS 0.4 was marked as the answerCompilei mas só a life ficou 100 vou tentar compilar com outro e ja edito
-
Ackerzin's post in (Resolvido)Como proibir uso de magias e runas em uma determinada area was marked as the answerAi ensina como bloquear runas e magias.