Tudo que 9k22 postou
-
Meu server nao passa do nivel 301 HELP
Olá @Kralifezik1, tudo bem? Geralmente este problema está relacionado aos stages.xml Quando você comete um erro na configuração, ele pode travar o level. Errado: Correto:
-
Formula attack spells
Olá @maleskinho, tudo bem? Você altera na linha abaixo, os que você deve alterar estão em vermelho: setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14) O dano vai depender do ML do personagem.
-
(Resolvido)[RESOLVIDO] Talkactions ver quantidade de money
Olá @Balkalima, tudo bem? Aqui está o script: function onSay(cid, words, param, channel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have " .. doNumberFormat(getPlayerMoney(cid)) .. " gold.") return true end
-
Event BOSS
Olá @Dorso, tudo bem? Tenta esse, acho que vai funcionar porém, não testei: local config = { name = "Shuryu Boss", pos = {x = 60, y = 63, z = 3}, timeMonster = 20 -- em minutos } function onThink(interval, lastExecution) -- Checar se tem boss antes de sumonar local check = getCreatureByName(config.name) if (check > 0) and (not isPlayer(check)) then return end -- summonar boss local m = doSummonCreature(config.name, config.pos); if not m then return end broadcastMessage("O "..config.name.." apareceu, voce tem "..config.time.." para mata-lo", MESSAGE_STATUS_CONSOLE_ORANGE) -- remover boss em X time addEvent(function() local tmp = getCreatureByName(config.name) if (tmp > 0) and (not isPlayer(tmp)) then doRemoveCreature(tmp) end end, config.timeMonster*60*1000, true) return true end
-
Slot System
Olá @bellatrikz, tudo bem? Então, eu vi que seu script está calculando errado! Se você pega 3% de ML, na verdade ele está lhe dando 100 + 3 = 103% Eu fiz a correção mas mantive em porcentagem. Caso ainda prefira sem %(porcentagem), utilize a correção acima, postado pelo @Storm. ---Script by mock the bear! local conditionMP,conditionHP,conditionML,conditionCLUB,conditionSHI,conditionDIST,conditionAMP = {},{},{},{},{},{},{} for i=1,100 do ---Carrega as conditions --- HP conditionHP = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionHP, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionHP, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, i) setConditionParam(conditionHP, CONDITION_PARAM_BUFF, true) setConditionParam(conditionHP, CONDITION_PARAM_SUBID, 50) --MANA conditionMP = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMP, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMP, CONDITION_PARAM_STAT_MAXMANAPERCENT, i) setConditionParam(conditionMP, CONDITION_PARAM_BUFF, true) setConditionParam(conditionMP, CONDITION_PARAM_SUBID, 51) --Magic level conditionML = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, i) setConditionParam(conditionML, CONDITION_PARAM_BUFF, true) setConditionParam(conditionML, CONDITION_PARAM_SUBID, 52) --club axe sword conditionCLUB = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionCLUB, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_CLUBPERCENT, i) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_SWORDPERCENT, i) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_AXEPERCENT, i) setConditionParam(conditionCLUB, CONDITION_PARAM_BUFF, true) setConditionParam(conditionCLUB, CONDITION_PARAM_SUBID, 53) --- shield conditionSHI = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSHI, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSHI, CONDITION_PARAM_SKILL_SHIELDPERCENT, i) setConditionParam(conditionSHI, CONDITION_PARAM_BUFF, true) setConditionParam(conditionSHI, CONDITION_PARAM_SUBID, 54) --- dist conditionDIST = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionDIST, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionDIST, CONDITION_PARAM_SKILL_DISTANCEPERCENT, i) setConditionParam(conditionDIST, CONDITION_PARAM_BUFF, true) setConditionParam(conditionDIST, CONDITION_PARAM_SUBID, 55) end function getSlotType(n) --By mock the bear if not n then return false end if n:match('%[(.+)%]') then n = n:match('%[(.+)%]') if n == '?' then return 0,n else return n:match('(.-)%.([+-])(%d+)%%') end else return false end end local function loadSet(cid) local t = {} for slot=1,9 do t[slot] = '' local s = getPlayerSlotItem(cid,slot).uid if s ~= 0 then t[slot] = getItemName(s) end end return t end function isInArray2(arr,var) -- Because in some servers it return 1 and 0 and others true and false for i,b in pairs(arr) do if var == b then return true end end return false end function check2(cid,i) if i == 5 or i == 6 then if isInArray({'head','necklace','backpack','body','legs','feet','ring'},getItemValue(getPlayerSlotItem(cid,i).itemid,'slotType') or '') then return false end end return true end function chk(cid,f) if not isPlayer(cid) then return end local t = loadSet(cid) for i=1,#f do if f ~= t then equip(cid,nil,slot) break end end addEvent(chk,2000,cid,t) end items = { ---- Only to get attr: slotType because getItemName dont return it -.-' _VERSION='1.0 By mock', XML_DIR='data/items/items.xml', } do local ia = os.clock() io.write('Loading items') local i = io.open(items.XML_DIR,'r') local u = i:read(-1) i:close() local u = u:match('<items>(.+)</items>') for mi,id,mid,name,data,me in u:gmatch('<(%a-)%s*id%s*=%s*"(%d+)"%s*(.-)%s*name%s*=%s*"(.-)"%s*>(.-)</(%a*)>') do if mi == 'item' and me == 'item' then local td = {name=name,id=id,type=1} for key,value in data:gmatch('<attribute key="(.-)" value="(.-)"/>') do td[key] = value end for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end for mi,id,mid,name,data in u:gmatch('<(%a-)%s*id%s*=%s*"(%d*)"%s*(.-)%s*name%s*=%s*"(%a+)"%s*/>') do if mi == 'item' then local td = {name=name,id=id,type=2} for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end io.write('[done '..os.clock()-ia..']\n') end function getItemValue(item,value) return items[item] and items[item][value] end function equip(cid,item,slot) --By mock the bear local HP = getCreatureHealth(cid) local MP = getCreatureMana(cid) local t = {} if item then local mm,sinal,qto = getSlotType(getItemName(item.uid)) t[mm] = tonumber(qto) end for i=1,9 do -- Not on slot 10 > arrow if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check2(cid,i) then for _ in getItemName(aab):gmatch('(%[.-%])') do local mm,sinal,qto2 = getSlotType(_) if mm then if not t[mm] then t[mm] = 0 end t[mm] = t[mm]+tonumber(qto2) t[mm] = t[mm] > 100 and 100 or t[mm] end end end end end end local fu = 0 local ca = {} local s = '' for sl,n in pairs(t) do fu = fu+1 s = s..''..n..'% more of '..sl..'\n' if sl == 'hp' then doAddCondition(cid,conditionHP[tonumber(n)]) doCreatureAddHealth(cid,HP-getCreatureHealth(cid)) ca[50] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'mp' then doAddCondition(cid,conditionMP[tonumber(n)]) doCreatureAddMana(cid,HP-getCreatureMana(cid)) ca[51] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'ml' then doAddCondition(cid,conditionML[tonumber(n)]) ca[52] = 1 elseif sl == 'cas' then doAddCondition(cid,conditionCLUB[tonumber(n)]) ca[53] = 1 elseif sl == 'shield' then doAddCondition(cid,conditionSHI[tonumber(n)]) ca[54] = 1 elseif sl == 'dist' then doAddCondition(cid,conditionDIST[tonumber(n)]) ca[55] = 1 end end if fu > 0 then addEvent(doPlayerSendTextMessage,100,cid,24,'You have:\n'..s) for i=50,55 do if not ca then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end else for i=50,55 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end return true end function onLogin(cid) ---Script by mock the bear! equip(cid,nil,slot) addEvent(chk,2000,cid,loadSet(cid)) -- Here we check! return TRUE end
-
(Resolvido)Defend the Tower event
-
(Resolvido)Furniture Npc
Ok @bellatrikz! Fiz a correção para você: local constructionKits = {[3901] = 1652, [3902] = 1658, [3903] = 1666, [3904] = 1670, [3905] = 3813, [3906] = 3817, [3907] = 3821, [3908] = 2602, [3909] = 1614, [3910] = 1615, [3911] = 1616, [3912] = 1619, [3913] = 3805, [3914] = 3807, [3915] = 1740, [3917] = 2084, [3918] = 2095, [3919] = 3809, [3920] = 3811, [3921] = 1716, [3923] = 1774, [3926] = 2080, [3927] = 2098, [3928] = 2104, [3929] = 2101, [3931] = 2105, [3932] = 1724, [3933] = 1728, [3934] = 1732, [3935] = 1775, [3936] = 3832, [3937] = 2064, [3938] = 1750 } function onUse(cid, item, fromPosition, itemEx, toPosition) if getTileHouseInfo(fromPosition) == false then doPlayerSendCancel(cid,"You may only construct this inside a house.") elseif fromPosition.x == CONTAINER_POSITION then doPlayerSendCancel(cid, "Put the construction kit on the floor first.") elseif constructionKits[item.itemid] ~= nil then if getItemInfo(CONSTRUCTIONS[item.itemid]).type ~= ITEM_TYPE_CONTAINER then doTransformItem(item.uid, CONSTRUCTIONS[item.itemid]) doSendMagicEffect(fromPosition, CONST_ME_POFF) else local kitPos = getThingPos(item.uid) doRemoveItem(item.uid) doCreateItem(CONSTRUCTIONS[item.itemid], 1, kitPos) doSendMagicEffect(fromPosition, CONST_ME_POFF) end else return false end return true end
-
Castle exp não funcionando
Você pode verificar na database, use o comando abaixo: SELECT * FROM `player_storage` WHERE `key` = 4538 Ele vai mostrar todos os jogadores que possuem a STORAGE. Caso não tenha nenhum, ele vai retornar null.
-
AOL Infinito tfs 1.3
Olá @Serpente, tudo bem? Então, basta remover a seguinte linha: <attribute key="charges" value="1" /> Assim ele ficará infinito Para o Loot não dropar, adicione a seguinte linha: <attribute key="preventDrop" value="1"/> Assim ele irá funcionar como um AOL
-
Qual melhor OS para ubuntu
Acho que você postou 2 tópicos sem querer. Mas caso algum outro usuário caia aqui, a dúvida dele já foi resolvida, basta clicar aqui para ser redirecionado.
-
Script de Histórico de exp.
Tenta assim meu lindo function onThink(interval) if (tonumber(os.date("%d")) ~= getGlobalStorageValue(23456)) then setGlobalStorageValue(23456, (tonumber(os.date("%d")))) db.executeQuery("UPDATE `players` SET `onlinetime7`=`onlinetime6`, `onlinetime6`=`onlinetime5`, `onlinetime5`=`onlinetime4`, `onlinetime4`=`onlinetime3`, `onlinetime3`=`onlinetime2`, `onlinetime2`=`onlinetime1`, `onlinetime1`=`onlinetimetoday`, `onlinetimetoday`=0;") db.executeQuery("UPDATE `players` SET `exphist7`=`exphist6`, `exphist6`=`exphist5`, `exphist5`=`exphist4`, `exphist4`=`exphist3`, `exphist3`=`exphist2`, `exphist2`=`exphist1`, `exphist1`=`experience`-`exphist_lastexp`, `exphist_lastexp`=`experience` AS UNSIGNED;") end db.executeQuery("UPDATE `players` SET `onlinetimetoday`=`onlinetimetoday`+60, `onlinetimeall`=`onlinetimeall`+60 WHERE `online` = 1;") return true end Ou executa este comando: SET sql_mode = 'NO_UNSIGNED_SUBTRACTION'; Não sei se vai funcionar mas de qualquer maneira, o valor que ele irá buscar será muito alto... Algo em torno de 9.223.372.036.875.770.123
-
(Resolvido)Defend the Tower event
Olá @bellatrikz, tudo bem? Então, o temple_wait é a posição para onde os jogadores vão quando entram no teleport. Você deverá criar 2 novos TOWN's, um para o azul e outro para o vermelho. Para fazer isto basta entrar no RME e usar: CTRL + T Feito isso, configure em: townid = {init = 1, blue = 3, red = 4}, -- init = templo da cidade, blue = templo do time azul, red = templo do time vermelho init = ID do templo da cidade (quando o evento acaba) blue = ID do templo blue red =ID do templo red Lembrando que: Se você tiver entrando no evento com o mesmo IP, você será teleportado para o templo.
-
(Resolvido)Furniture Npc
Olá @bellatrikz, tudo bem? Você está utilizando Otx2? Ao relogar o personagem, o item aparece? Se sim, é porque teve um pequeno bug no Otx mas eles já corrigiram, basta atualizar seu Otx2 com o do Github clicando aqui. Caso não seja este seu problema, poste aqui seu constructionkits.lua, ele fica em data/actions/scripts/other
-
baixo qualquer ot ele vem inteiro como bloko de notas....
Olá @galrenato, tudo bem? Você deve ter colocado para abrir os arquivos .zip e .rar como bloco de notas. Reinstale o seu winrar
-
DEPOT ÚNICO/UNIVERSAL 8.6
Lembrando que: Se você colocar "No Town", os parcels não vão funcionar. Então você deve escolher uma cidade.
-
(Resolvido)Qual melhor OS para ubuntu
Tem a Weblara.com.br também. Não sei como dizer se a empresa é ou não boa pois não utilizo estas. Você pode optar pelo vps da google, eles dão 1 ano de teste grátis. Só não recomendo para servidores acima de 200 players.
-
Npc não remove storage
2 * 24 * 60 * 60 Amarelo = segundos Vermelho = minutos Azul = horas Cinza = dias
-
Npc não remove storage
aaah, são 2 horas? Eu entendi 2 dias... Me desculpe: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 8, -- Level que precisara para viajár sto = 99952, -- Storage não mecher tempo = 2, -- tempo que vai durar a storage (em horas) quest = 39455, -- quest necessaria... } if msgcontains(msg, 'missão') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, 39455) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro Você me provou que será um grande guerreito, agora Você tera acesso de 2 dias ao treinamento offline, com ele você pode treinar durante 12 horas seguidas.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*60*60) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder usar o trainer offline', cid) end else selfSay("Você não completou a quest do ilha dos orc ao south da cidade, complete-a e e mostre-me que você e realmente um guerreiro promissor.", cid) end else selfSay('Você já fez essa missão, volte aqui quando não tiver mais acesso ao treiner, e faremos uma troca de 25 protective charm por mais 2 dias de acesso ao as estatuas.' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Erro instalando Gesior
Como o amigo acima disse, ao meu ver você esta tentando utilizar o gesior 2012 no php7. Você terá que fazer a instalação do php5, Você está utilizando xampp no windows, recomendo fazer o download do Xampp 1.7.3.
-
Ajuda otserv 8.60
O pior é ver que o Tk permitiu anuncio deles aqui né... Infelizmente no Otpanel será difícil. Você deve alugar um vps em alguma empresa. A empresa que todos utilizam e eu recomendo é da Ovh(canadá), porém, é necessário ter um cartão internacional ou saldo paypal.
-
(Resolvido)[Dúvida] Como da acesso no Phpmyadmin Nginx
Como o amigo acima disse é verdade, mas caso não tenha marcado ou não se lembre, primeiro faça da maneira abaixo, para deixar o phpmyadmin livre para todos os IP's. Geralmente a configuração normal do nginx permite acesso apenas para o HOST(127.0.0.1/localhost) Utilize os seguintes comandos: (não copie a $) $ mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.old $ nano /etc/nginx/sites-available/default Agora adicione: server { listen 80; server_name 127.0.0.1; root /usr/share/nginx/html; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; # fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } } Em server_name coloque o IP da maquina. Para salvar o arquivo utilize: CTRL + X e depois Y de yes Agora você precisa checar o arquivo para saber se não fez nada de errado: $ nginx -t Se tiver tudo certo, basta reiniciar o nginx: Ubuntu 14.04: $ sudo service nginx restart
-
Castle exp não funcionando
Você registrou em login.lua? Exemplo: registerCreatureEvent(cid, "castle") Você precisa checar se os jogadores que ganham o castelo estão recebendo a STORAGE.
-
(Resolvido)[ERRO] Remere's Map Editor - Bug.
Olá @PiZaDiNha, tudo bom? Então, ao meu ver seu items.otb do RME não é o mesmo do mapa(servidor). Quando fica algum item em vermelho, significa que aquele ID do item não existe. Para resolver isto, copie o items.otb do seu servidor e cole em (pastaDoRME)/data/(version)
-
Spells em pz
Olá @Magalhaes92, tudo bem? Olha, para deixar a magia impossível de ser utilizada em ProtectZone, você deve ir em spells.xml e mudar: aggressive="0" para: aggressive="1" Espero ter lhe ajudado
-
(Resolvido)Qual melhor OS para ubuntu
Acho que na So You Start tem, mas não recomendo para iniciantes pois são maquinas para projetos ou para algo pequeno. São maquinas muito baratas porém a proteção fornecida pela empresa não é das melhores. A empresa é da OVH. -- EDIT -- Acabei de checar e infelizmente também removeram o ubuntu 14.04 dos servidores deles.