Histórico de Curtidas
-
daniel.braga989 deu reputação a FeeTads em Correções gesior/myacc + configurações + proteções (ddos?)Salve rapaziada do TK e da comunidade de tibia Otserv.
Recentemente alguns invejosos estão atacando servidores (DDoS), bugando o guilds de varios sites (tirando o lider e membros), assim buga a guild e muita coisa no OT.
Eles vão até o teu servidor e se passam por "adm do deletebra", já ouvi a uns tempos algumas pessoas falando disso, mas como eu tinha contato isso caiu por terra facilmente, um deles foi o ADM brendo, dono do antigo strongerFusion, onde ele me contou toda essa história, essa foi a primeira vez que me foi relatado sobre isso, hoje vejo que está parecendo ser mais frequente.
Caso qualquer pessoa entre no seu OT se passando pelo ADM do deletebra, favor entrar em contato comigo via discord: FeeTads#0246 Te ajudarei a resolver problemas que eles exploram sem cobrar nada por isso, para provar que não necessito atacar outros OT's para ter algum publico. Já tenho em mente quem pode ser essas pessoas, caso alguém tenha numero de telefone, nome real, ou alguma informação a mais dessas pessoas atacando e se passando por mim ou meu sócio, favor enviar no discord, irei atrás de resolver isso.
Vou deixar aqui alguns tutoriais de coisas básicas para você conseguir proteger o seu site desses SQL injections, e mais algumas coisinhas, caso futuramente eu resolva outros bugs explorados, vou postar aqui as correções.
Configurando CloudFlare (SSL) E subDominio (sv.seuIP)
Após isso para que a pessoa não entre no site pelo (sv.seudominio.com.br)
abra o index.php da pasta raiz (está dentro da pasta html)
if($_SERVER['HTTP_HOST'] == 'sv.seuDominio.com.br') { header("Location: https://seuDominio.com.br"); } if($_SERVER['HTTP_HOST'] == 'IP NUMÉRICO') { header("Location: https://seuDominio.com.br"); }
Isso fará que quando a pessoa tente entrar no seu site usando meios não seguros (DNS only) ele redirecione pro seguro > proxiado pela cloudflare
_________________________________________________________________________________________________________________________________________
CORREÇÃO GUILDS.PHP / INJECTION SQL TIRANDO LIDER DA GUILD
PROTEÇÕES PARA DIMINUIR EFEITOS DE DDoS
Espero que isso ajude a muitos, a se prevenir de pessoas que tentam atacar OT's se passando por outros, ou até que vão la pedir pontos para jogar se não eles irão atacar, se prevenir de pessoas mal intencionadas.
PS: Caso você tenha no seu site a pagine "house" e "tickets" recomendo retirar do seu site, pois há maneira de injetar SQL por esses arquivos.
Vou postar em breve o tickets arrumado.
Boa sorte rapaziada, se cuidem, e caso alguém faça isso, por favor entre em contato comigo.
-
daniel.braga989 deu reputação a JulianoZN em (Resolvido)(Resolvido)scripts não reconhecem item ID's acima do id 20000simples basta ir no items.cpp e procurar o valor 20000 e 20100 e mudar esses valores
o valor sempre tem que termina com o 100 exemplo 40000 e 40100
Passando desses valor exemplo 20001 so reconhece por id passando de 20101 o servidor já não reconhece nada nem por id nem por nome
-
daniel.braga989 deu reputação a L3K0T em (Resolvido)Actionssó mudar
for i = 1, #l3k0t.itemganhar do pra
for i = 100, #l3k0t.itemganhar do
então ficando
local l3k0t = { colors = {16, 161, 149, 251, 211, 200}, itemganhar = { {2160, 30, 50}, {2160, 20, 30}, {2160, 10, 20} } } function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid, 1) local rand = math.random(100) for i = 100, #l3k0t.itemganhar do if rand > l3k0t.itemganhar[i][3] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "ah que pena, não foi desta vez! ;(") doSendAnimatedText(getCreaturePosition(cid), "Bad!", l3k0t.colors[math.random(1, #l3k0t.colors)]) doSendMagicEffect(fromPosition, 2) return true end end local recompensal3k0t = l3k0t.itemganhar rand = math.random(#recompensal3k0t) doPlayerAddItem(cid, recompensal3k0t[rand][1], recompensal3k0t[rand][2], true) doSendAnimatedText(getCreaturePosition(cid), "Win!", l3k0t.colors[math.random(1, #l3k0t.colors)]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "PARABÉNS: Você ganhou: " .. recompensal3k0t[rand][2] .. " crystal coins!") doSendMagicEffect(fromPosition, 27) return true end
ai se quiser que falhe é só reveter assim não perdendo parte do script
-
daniel.braga989 recebeu reputação de L3K0T em (Resolvido)ActionsSalve my brother <3, está funcionando certinho. Mas tem chance de falhar. Eu gostaria dela 100% chance de ganhar uma das 3 opção. Mas eu acho que consigo retira essa função de falhar, muito obrigado pela atenção, tmj
-
daniel.braga989 deu reputação a L3K0T em (Resolvido)Actionsoi amigo demorou mais fiz kkk
local l3k0t = { colors = {16, 161, 149, 251, 211, 200}, itemganhar = { {2160, 30, 50}, {2160, 20, 30}, {2160, 10, 20} } } function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid, 1) local rand = math.random(100) for i = 1, #l3k0t.itemganhar do if rand > l3k0t.itemganhar[i][3] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "ah que pena, não foi desta vez! ;(") doSendAnimatedText(getCreaturePosition(cid), "Bad!", l3k0t.colors[math.random(1, #l3k0t.colors)]) doSendMagicEffect(fromPosition, 2) return true end end local recompensal3k0t = l3k0t.itemganhar rand = math.random(#recompensal3k0t) doPlayerAddItem(cid, recompensal3k0t[rand][1], recompensal3k0t[rand][2], true) doSendAnimatedText(getCreaturePosition(cid), "Win!", l3k0t.colors[math.random(1, #l3k0t.colors)]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "PARABÉNS: Você ganhou: " .. recompensal3k0t[rand][2] .. " crystal coins!") doSendMagicEffect(fromPosition, 27) return true end
<action itemid="id do item" event="script" value="recompensa.lua"/>
-
daniel.braga989 deu reputação a Yan Liima em Liberar Personagem No Site Após MissõesUm rapaz me contactou uma vez para criar esse sistema, cheguei a fazer para Modern AAC , fiz por storage obviamente. Ficou show, porém o maluco simplesmente sumiu e não cheguei a enviar e nem receber haha. Mas sim, é uma ideia muito bacana. Os servidores hoje em dia são praticamente todos iguais, nada diferente nada inovador.
-
daniel.braga989 deu reputação a FeeTads em Liberar Personagem No Site Após MissõesSe tu quiser, a gente pode testar e tentar fazer kkkk se quiser add Discord, é FeeTads#0246 aí da pra ir Call e testar em tempo real
-
daniel.braga989 recebeu reputação de FeeTads em Liberar Personagem No Site Após MissõesFechado, vou adicionar lá. Mas acho que só consigo testando domingo a noite, pq jaja mina ta brotando aq em casa kk, se der certo posto aqui pra comunidade.
-
daniel.braga989 deu reputação a FeeTads em Liberar Personagem No Site Após Missõesda pra fazer, mas teria que modificar o createCharacters.php fazendo uma busca na DB, teria que criar uma nova coluna no accounts, e quando o personagem fizesse tal quest, task etc.. tal npc/recompensa, daria um update nessa Account mudando o valor, e então quando ele fosse criar, ai na criação, faria a busca por esse valor da DB, e mostraria tal personagem pra poder criar.
daria pra fazer até por storage, o que acho até melhor, pq caso necessite resetar o ot, não ficaria salvo na conta (nada que um comando com update não resolva, mas como eu sou preguiçoso gosto de fazer da maneira as vezes mais simples ?)
é chato e precisaria de testes, porém não impossivel de fazer
alguns ja fazem isso, porem libera a vocação ou "skin" pro char ja existente, também acho o mais pratico...
-
daniel.braga989 deu reputação a So volto tarde em Liberar Personagem No Site Após Missõesmaneiro a idéia, vou deixar uma lógica para quem quiser se aventurar:
adiciona um novo valor na db, tabela accounts, que você irá usar para validar no futuro;
no final da quest do npc, altera esse valor na tabela, para liberar o personagem;
na hr de exibir o personagem, valida se o player tem esse valor x na tabela, se tiver, exibe o personagem pra criação (verifica esse valor tb na hr de criar, pra evitar falha de segurança)
-
daniel.braga989 recebeu reputação de L3K0T em Liberar Personagem No Site Após Missõessim, a ideia seria isso mesmo. Daria meio que um RPG para os players conseguir uns personagens.
-
daniel.braga989 deu reputação a L3K0T em Liberar Personagem No Site Após Missõesseria legal também te um item no mapa que seria crafitado depois de crafitado ele pode ser usado e assim liberando o personagem
-
daniel.braga989 recebeu reputação de L3K0T em Liberar Personagem No Site Após Missões***Salve Família, Estava pensado em algumas coisas novas para alguns servidores, e me veio na mente essa ideia que achei dahora. Será que é possível criar isso, ou se já existe? ??***
Seria bastante interessante se tivesse um sistema aonde os players conseguissem fazer missões dentro do jogo, que de acordo que fossem concluídas desbloquearia personagens novos para ser criados na account dos players no site..
Eu vou dar um exemplo sobre, OtservWODBO 8.60 que entendo melhor.
Nesses otservs sempre existe os personagens Criados no site/Quest/Vip
Site (classes que quase ngm usam, praticamente são usadas para servi de ''make'' ou farma items)
Quest (classes um pouco superiores, por um lado é bom por que da novas oportunidade para os free, mas se parar pra pensar faz com que as criadas no site sejam automaticamente tratadas como ''sem valores'' ''fracas''.
Vip (Classes que players conseguem fazendo doações, Superiores que as outras.)
Então pensei bastante como poderia resolver esse probleminha entre as CLASSES SITE/QUEST, e cheguei a esse pensamento
Em vez de dividir as classes em 2 tipos tornamos as classes somente 1 (Free), deixamos elas fortes, colocamos quest dentro do jogo aonde aumentaria as forças dos personagens free, assim os personagens criados no site(Free) iam ter seus valores, e os players conseguiriam jogar com o personagem que gostassem, podendo focar no progresso do seu boneco , e quem gostasse de uns personagens diferentes, entraria no sistema no qual eu tive a ideia.
Imagina um NPC [ Gogeta ] aonde os players pegariam missões para serem concluídas pelo mapas, cada missões NO MAPA representaria um pouco sobre sua historia no anime, e após serem concluídas desbloquearia esse personagem para o player criar no site.
NPC [Gogeta]: Parabéns, você acabou de desbloquear o personagem gogeta para ser criado na sua account no site.
NPC [Mestre Kame]: Parabéns, você acabou de desbloquear o personagem Mestre Kame para ser criado na sua account no site.
e assim por diante.
Bom, essa foi uma ideia minha que gostaria de compartilha com vocês, caso já exista um sistema desse alguém poderia me passar?
Caso não haja desafio a galera a criarem para a comunidade, e acredito que as comunidade de otserv derivados vão amar um sistema inovador desse.
Geral que curtiu a ideia, bora se ajudar. Bora marca pelo menos 1 que você conheça que manda muito bem nos códigos., vamos ser a ponte entre eles para esse sistema ser criado, e claro para n darmos mt trabalho para 1 pessoa só.
O meu arroba vai pro mano @Vodkart por que o baixinho é brabo d+.
-
daniel.braga989 recebeu reputação de DonaTello em Liberar Personagem No Site Após Missões***Salve Família, Estava pensado em algumas coisas novas para alguns servidores, e me veio na mente essa ideia que achei dahora. Será que é possível criar isso, ou se já existe? ??***
Seria bastante interessante se tivesse um sistema aonde os players conseguissem fazer missões dentro do jogo, que de acordo que fossem concluídas desbloquearia personagens novos para ser criados na account dos players no site..
Eu vou dar um exemplo sobre, OtservWODBO 8.60 que entendo melhor.
Nesses otservs sempre existe os personagens Criados no site/Quest/Vip
Site (classes que quase ngm usam, praticamente são usadas para servi de ''make'' ou farma items)
Quest (classes um pouco superiores, por um lado é bom por que da novas oportunidade para os free, mas se parar pra pensar faz com que as criadas no site sejam automaticamente tratadas como ''sem valores'' ''fracas''.
Vip (Classes que players conseguem fazendo doações, Superiores que as outras.)
Então pensei bastante como poderia resolver esse probleminha entre as CLASSES SITE/QUEST, e cheguei a esse pensamento
Em vez de dividir as classes em 2 tipos tornamos as classes somente 1 (Free), deixamos elas fortes, colocamos quest dentro do jogo aonde aumentaria as forças dos personagens free, assim os personagens criados no site(Free) iam ter seus valores, e os players conseguiriam jogar com o personagem que gostassem, podendo focar no progresso do seu boneco , e quem gostasse de uns personagens diferentes, entraria no sistema no qual eu tive a ideia.
Imagina um NPC [ Gogeta ] aonde os players pegariam missões para serem concluídas pelo mapas, cada missões NO MAPA representaria um pouco sobre sua historia no anime, e após serem concluídas desbloquearia esse personagem para o player criar no site.
NPC [Gogeta]: Parabéns, você acabou de desbloquear o personagem gogeta para ser criado na sua account no site.
NPC [Mestre Kame]: Parabéns, você acabou de desbloquear o personagem Mestre Kame para ser criado na sua account no site.
e assim por diante.
Bom, essa foi uma ideia minha que gostaria de compartilha com vocês, caso já exista um sistema desse alguém poderia me passar?
Caso não haja desafio a galera a criarem para a comunidade, e acredito que as comunidade de otserv derivados vão amar um sistema inovador desse.
Geral que curtiu a ideia, bora se ajudar. Bora marca pelo menos 1 que você conheça que manda muito bem nos códigos., vamos ser a ponte entre eles para esse sistema ser criado, e claro para n darmos mt trabalho para 1 pessoa só.
O meu arroba vai pro mano @Vodkart por que o baixinho é brabo d+.
-
daniel.braga989 recebeu reputação de DonaTello em Spell de 8 hits com 8 animação.achei um detalhe que não está se encaixando.
1-não tem 1 bola de energy (missile) indo do lançador até o alvo
I found some details that don't fit.
1-does not have 1 energy ball (missile) going from the caster to the target
mas gostei da ideia, parabéns. vou deixar meu like pra vocês
-
daniel.braga989 deu reputação a DonaTello em Spell de 8 hits com 8 animação.***
o feitiço funcionaria da seguinte forma, o lançador lançaria uma bola de energia e, em sequência, o alvo levaria 8 acertos com 8 efeitos diferentes, cada acerto 1 efeito diferente em sequência. dando a aparência de que o lançador está controlando a bola de energia cada efeito com função para mudar a posição x.y ***
tibiaking_933.obd tibiaking_934.obd tibiaking_935.obd tibiaking_936.obd tibiaking_937.obd tibiaking_938.obd tibiaking_939.obd tibiaking_940.obd
-
daniel.braga989 deu reputação a Fabi Marzan em Spell de 8 hits com 8 animação.-----DISCORD:SoyFabi#5938 local combat = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, 215) --180(red), 70(blue), 156(brown), 215(white), 145(red 2), 95(lightblue) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -1000, -1.0, -1000) ------------------- local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end ------------------- local function Effect(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 933) end local function Effect_two(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 934) end local function Effect_three(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 935) end local function Effect_four(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 936) end local function Effect_five(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 937) end local function Effect_six(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 938) end local function Effect_seven(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 939) end local function Effect_eight(cid, target) local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 940) end function onCastSpell(cid, var) local exhausted = 2 -- Time of exhaustion. local storage = 3 -- Storage for combo for each spell. if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end local parameters = {cid = cid, var = var, combat1 = combat1 , combat2 = combat2} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell1, 400, parameters) addEvent(onCastSpell1, 500, parameters) addEvent(onCastSpell1, 600, parameters) addEvent(onCastSpell1, 700, parameters) addEvent(onCastSpell1, 800, parameters) local config = { hit = 1, -- Veces que dara un hit. time = 100, -- tiempo que saldra la magia. time2 = 300, -- tiempo que saldra la magia. time3 = 400, -- tiempo que saldra la magia. time4 = 500, -- tiempo que saldra la magia. time5 = 600, -- tiempo que saldra la magia. time6 = 700, -- tiempo que saldra la magia. time7 = 800, -- tiempo que saldra la magia. time8 = 900, -- tiempo que saldra la magia. configtarget = getCreatureTarget(cid), --- No borre (es importante para que salga las magias). } for a = 1, config.hit do addEvent(Effect, config.time * a, cid, config.configtarget) addEvent(Effect_two, config.time2 * a, cid, config.configtarget) addEvent(Effect_three, config.time3 * a, cid, config.configtarget) addEvent(Effect_four, config.time4 * a, cid, config.configtarget) addEvent(Effect_five, config.time5 * a, cid, config.configtarget) addEvent(Effect_six, config.time6 * a, cid, config.configtarget) addEvent(Effect_seven, config.time7 * a, cid, config.configtarget) addEvent(Effect_eight, config.time8 * a, cid, config.configtarget) end exhaustion.set(cid, storage, exhausted) return doCombat(cid, combat, var) end ---DISCORD:SoyFabi#5938
-
daniel.braga989 deu reputação a DonaTello em Runa >> Spellgostaria de transformar essa script de runa de congelamento em 1 spell, podem me ajudar comunidade
demostração de como queria +/- a spell, TEMPO NO video >>> 1:12 até 1:20 <<
local freezetime = 6 local cooldown = 15 -- time to use again local storage = 19002 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_SUBID, 1) setConditionParam(exhaust, CONDITION_PARAM_TICKS, -1) setCombatCondition(combat, exhaust) local exhaustt = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaustt, CONDITION_PARAM_SUBID, 2) setConditionParam(exhaustt, CONDITION_PARAM_TICKS, -1) setCombatCondition(combat, exhaustt) function countDown(number, pos, effect, msgonend, effectonend) local n = number for i = 1, number do addEvent(doSendAnimatedText,i* 1000, pos, n > 1 and n.."" or msgonend .."", n < 6 and TEXTCOLOR_RED or TEXTCOLOR_GREEN) addEvent(doSendMagicEffect,i* 1000, pos, n > 1 and effect or effectonend ) n = n -1 end n = number return true end function removed(cid) doCreatureSetNoMove(cid, 0) doRemoveCondition(cid,CONDITION_EXHAUST,1) doRemoveCondition(cid,CONDITION_EXHAUST,2) end function onUse(cid, item, fromPosition, itemEx, toPosition) if exhaustion.get(cid,storage) then return doPlayerSendCancel(cid,"You can't use this yet.") end if not isPlayer(itemEx.uid) or cid == itemEx.uid then return doPlayerSendCancel(cid,"You can only use this on another players.") end if getTilePzInfo(toPosition) == true then return doPlayerSendCancel(cid, "You cannot use this in a PZ!.") end doSendAnimatedText(getThingPos(itemEx.uid),"Freezed!", TEXTCOLOR_BLUE) doCreatureSay(cid, "Freez Rune!", TALKTYPE_ORANGE_1) exhaustion.set(cid,storage,cooldown) doCombat(cid, combat, numberToVariant(itemEx.uid)) doCreatureSetNoMove(itemEx.uid, 1) countDown(freezetime , toPosition, 0, "melted", 5) addEvent(removed,freezetime*1000,itemEx.uid) return true end
Obs: a spells ia prender o alvo por ''x'' segundos, e enquanto ele estivesse preso no ''stun'', ele virasse uma outra '''outfic'' ou ''effect'', ao acabar o tempo do stun, voltaria a sua forma normal.
-
daniel.braga989 deu reputação a Vodkart em Ajuda com getslot itemlocal slots = {CONST_SLOT_HEAD, CONST_SLOT_ARMOR, CONST_SLOT_LEGS, CONST_SLOT_FEET, CONST_SLOT_LEFT, CONST_SLOT_RIGHT} for _, i in pairs(slots) do local check = getPlayerSlotItem(cid, i) if check.uid ~= 0 then doPlayerSendTextMessage(cid, 24, "Você não pode fazer está ação com algum item equipado! Retire todos os seus itens e coloque em sua backpack.") return true end end
-
daniel.braga989 recebeu reputação de luanluciano93 em Alavanca Que Cria items.Vdd, eu tbm achei da hora a intenção dele. Assim mais pessoas conseguem ter uma ideia sobre o que fazer e até mesmo conseguir ajudar a comunidade com algumas coisas.
Muito Obrigado mano @Vodkart e @luanluciano93. Grato de mais
-
daniel.braga989 deu reputação a luanluciano93 em Alavanca Que Cria items.A sua OTX deve ser versão 2 eu acho, poderia usar esta lista de funções ... https://github.com/mattyx14/otxserver/blob/otxserv2/docs/luaFunctions
Se quiser te auxilio na montagem do script.
-
daniel.braga989 deu reputação a Vodkart em Alavanca Que Cria items.function getItemsFromList(items) local str = "" if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. " " .. getItemNameById(items[i][1]) if i ~= table.maxn(items) then str = str .. ", " end end end return str end function doRemoveItemsFromList(cid, items) local count = 0 if table.maxn(items) > 0 then for i = 1, table.maxn(items) do if getPlayerItemCount(cid, items[i][1]) >= items[i][2] then count = count + 1 end end end if count == table.maxn(items) then for i = 1, table.maxn(items) do doPlayerRemoveItem(cid, items[i][1], items[i][2]) end else return false end return true end local items = {{15992, 5}, {15993, 5}, {15994, 5}, {15995, 5}, {15996, 5}} local item_give = 13515 function onUse(cid, item, frompos, item2, topos) if not doRemoveItemsFromList(cid, items) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce não tem " .. getItemsFromList(items) .. ".") return true end doPlayerAddItem(cid, item_give) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce ganhou 1x " .. getItemNameById(item_give) .. ".") return true end
-
daniel.braga989 deu reputação a Nysman em Anti Mc [Tile]Ou:
Xml
<movevent type="StepIn" uniqueid="2102" event="script" value="multi_block.lua"/>
Isso em movements/script
-
daniel.braga989 deu reputação a Vodkart em (Resolvido)Dar 10% a mais de exp + skills para quem está dominando o castle.local rate = 1 local rate_castle = 0.10 local storage = 211320111636 local skills = {SKILL_FIST, SKILL_CLUB, SKILL_SWORD, SKILL_AXE, SKILL_DISTANCE, SKILL_SHIELD, SKILL__MAGLEVEL} function onLogin(cid) if getPlayerGuildId(cid) > 0 and getGlobalStorageValue(storage) == getPlayerGuildName(cid) then doPlayerSetExperienceRate(cid, rate + rate_castle) for _, ret in pairs(skills) do doPlayerSetRate(cid, ret, rate + rate_castle) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você tem "..((rate_castle)*100).."% a mais de experiencia e skills Agora. (Bonus Castle).") end return true end
-
daniel.braga989 recebeu reputação de Vodkart em (Resolvido)Dar 10% a mais de exp + skills para quem está dominando o castle.@Pisces Houve um desentendimento aqui ksksk a ideia era quem dominasse o '' Castelo''' ganhar 10% de xp e ganhar 10% de rate para treinar a skills mais rapido. O vordkart entendeu que quem dominasse o castle ganhava ''10% de skills"" eu tbm expliquei todo torto, mas Jaja o vodkart atualiza aqui ou eu mesmo coloco o certo. Obrigado pela atenção a todos que tentou ajudar, Sei que o dia de voces e corrido. Ty