Postado Junho 15, 2013 12 anos Caralh# cara, agora ficou simplesmente perfeito cara, meu deus, muito obrigado, ganhou meus 3rep+ de hoje, só nao do mais porque nao da rsrs, cara muito obrigado mesmo, e com essa ultima explicaçao sua ae entendi o script '-' que por cinal no começo começo com 500 linha agora ta com 200 rsrs '-' ti amo cara S2 entao nas outras magias eu só preciso mudar storage = {40000, 47112120}, e no caso dessas magias que eu estou usando, ja tinha a linha \/ porque tinha pra verificar o storage 47112120 que ja continha na magia certo ? dai eu nao preciso adicionar na verdade ne ? if getPlayerStorageValue(cid, config.storage) >= 1 then Muitoooooooo Obrigadoooooooooooo, Voce É Muito Bom Cara Fes o script sem pedir nada, e ainda foi atualizando conforme eu fui pedindo, voce merece muito mais doque 3 reps. Continue assim Muito obrigado a você. No caso da storage, na sua magia tem duas porque uma é pra verificar se ele pode usar e a outra para o papo do espírito e tal. Sempre que for usar duas storages na mesma variável, você identifica elas no script assim storage = {1234, 4321} -- Variável com dois valores storage[1] -- Storage 1 storage[2] -- Storage 2 Explicando com uma condição storage = {1234, 4321} -- Variável com dois valores if getPlayerStorageValue(cid, storage[1]) <= 0 then -- Condição com o valor 1 da variável storage end if getPlayerStorageValue(cid, storage[2]) >= 0 then -- Condição com o valor 2 da variável storage end O script acima diz: Se o valor da storage do jogador for(cid, 1234) menor ou igual a 0 faça -- Condição com o valor 1 da variável storage fim Se o valor da storage do jogador for(cid, 4321) maior ou igual a 0 faça -- Condição com o valor 2 da variável storage fim Att. Giovani Rodrigo Editado Junho 15, 2013 12 anos por GiovaniRodrigo (veja o histórico de edições) Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Junho 15, 2013 12 anos Dúvida sanada, tag adicionada. Tópico movido! -"Supra Omnes Lux Lucis" - Acima de todos brilha a Luz -
Postado Junho 16, 2013 12 anos Autor Giovani, ocorreu um erro, eu nao estou mais consiguindo soltar as magias, aquele negocio de esperar 10 segundos pra acumular o espirito talz, bugo, ele nao sai mais, a magia nao sai, fica sempre falando aquilo, oque que eu fasso ? eu adicionei 3 novas magias aqui esta uma, para ver se tem algum erro: local config = { seconds = 10, storage = {40001, 47112120}, msg = "Voc\ê preci\sa aguardar 10 segundos para acumular o esp\írito.", mana = 2400, semMana = "Voc\ê n\ão t\êm mana suficiente." } local function useAgain(cid) setPlayerStorageValue(cid, config.storage, 2) return TRUE end local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400) arr1 = { {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function spell(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage[2]) == 1 then doPlayerSendCancel(cid, config.msg) return TRUE end if getPlayerStorageValue(cid, config.storage[1]) >= 1 then if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage[2], 1) addEvent(useAgain, config.seconds*1000, cid) local parameters = { cid = cid, var = var, combat2 = combat2 } addEvent(spell, 500, parameters) return doCombat(cid, combat1, var) else doPlayerSendCancel(cid, config.semMana) end end return TRUE end a storage la em cima é 40001 porque fis 4 quests, 1 pada cada magia (pois nao queria que uma permissao dece para todas as magias) (dai ficou 40000 em uma, 40001 em outra, 40002 em outra ....) eu acredito que seja porque eu fis a quest de uma outra storage em quanto eu tinha que esperar os 10 segundos da magia que eu tinha soltado anteriormente, seria isto ? (tipo eu soltei uma magia, e logo em seguida eu fis a quest de uma outra storage e soltei a nova magia) foi assim que aconteceu: eu fis as outras 3 magias, e tinha esquecido de colocar: if getPlayerStorageValue(cid, config.storage[2]) == 1 then doPlayerSendCancel(cid, config.msg) return TRUE end if getPlayerStorageValue(cid, config.storage[1]) >= 1 then if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage[2], 1) <<<<<<<<<<<<<<<<<<<<<<<<<<<< ESSE [2] AQUI nas outras 3 magias dai o sistema de permissao estava funcionando perfeitamente, só que o sistema de acumular espirito e talz nao estava funcionando, entao eu abri as magias e percebi que tinha esquecido de colocar aquele [2] la, dai eu fui e arrumei, só que quando fui testar aconteceu isso, eu peguei a primeira magia, dai soltei ela, e logo ja peguei a segunda, dai tive que esperar os 10 segunds, mais eles se tornaram infinitos, ou seja nao consigui mais soltar nenhuma outra magia, fica mandando a menssagem de esperar os 10 segundos pra sempre, eu tentei fechar e abrir o server mais bem na hora que eu fui fechar deu save dai salvou com a storage da magia ja, sera que tem como arrumar ? sera que tem como retirar as storages existentes pra mim tentar pegar as permissoes sem usar uma magia antes ? aguardo respostas, muito obrigado S2 obs: nao da nenhum erro no console do server e em nenhum outro lugar, so fica aparecendo aquele negocio que tem que esperar 10 segundos la. ---- @EDIT ---- se eu retiro aqueles numeros das storages la em baixo ([1] e [2]) (lembrando que quando eu tiro o [1] e [2] nao funciona o sistema de permissao :X)eu consigo soltar as 3 outras magias que eu criei, mas percebi que a magia que esta bugando é o super berserk (aquele que voce passou pra mim, o script ta la em cima) apos eu soltar ele nao consigo mais utilizar as outras magias, e magia que eu disse que eu soltei ali anteriormente foi bem o super berserk, entao pode ser q a permissao bugou ele ou nao sei, poderia tentar ver ? Muito Obrigado. att Henrique Cechinel xD Editado Junho 16, 2013 12 anos por Henrique Cechinel (veja o histórico de edições)
Postado Junho 16, 2013 12 anos Giovani, ocorreu um erro, eu nao estou mais consiguindo soltar as magias, aquele negocio de esperar 10 segundos pra acumular o espirito talz, bugo, ele nao sai mais, a magia nao sai, fica sempre falando aquilo, oque que eu fasso ? eu adicionei 3 novas magias aqui esta uma, para ver se tem algum erro: local config = { seconds = 10, storage = {40001, 47112120}, msg = "Voc\ê preci\sa aguardar 10 segundos para acumular o esp\írito.", mana = 2400, semMana = "Voc\ê n\ão t\êm mana suficiente." } local function useAgain(cid) setPlayerStorageValue(cid, config.storage, 2) return TRUE end local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400) arr1 = { {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function spell(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage[2]) == 1 then doPlayerSendCancel(cid, config.msg) return TRUE end if getPlayerStorageValue(cid, config.storage[1]) >= 1 then if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage[2], 1) addEvent(useAgain, config.seconds*1000, cid) local parameters = { cid = cid, var = var, combat2 = combat2 } addEvent(spell, 500, parameters) return doCombat(cid, combat1, var) else doPlayerSendCancel(cid, config.semMana) end end return TRUE end a storage la em cima é 40001 porque fis 4 quests, 1 pada cada magia (pois nao queria que uma permissao dece para todas as magias) (dai ficou 40000 em uma, 40001 em outra, 40002 em outra ....) eu acredito que seja porque eu fis a quest de uma outra storage em quanto eu tinha que esperar os 10 segundos da magia que eu tinha soltado anteriormente, seria isto ? (tipo eu soltei uma magia, e logo em seguida eu fis a quest de uma outra storage e soltei a nova magia) foi assim que aconteceu: eu fis as outras 3 magias, e tinha esquecido de colocar: if getPlayerStorageValue(cid, config.storage[2]) == 1 then doPlayerSendCancel(cid, config.msg) return TRUE end if getPlayerStorageValue(cid, config.storage[1]) >= 1 then if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage[2], 1) <<<<<<<<<<<<<<<<<<<<<<<<<<<< ESSE [2] AQUI nas outras 3 magias dai o sistema de permissao estava funcionando perfeitamente, só que o sistema de acumular espirito e talz nao estava funcionando, entao eu abri as magias e percebi que tinha esquecido de colocar aquele [2] la, dai eu fui e arrumei, só que quando fui testar aconteceu isso, eu peguei a primeira magia, dai soltei ela, e logo ja peguei a segunda, dai tive que esperar os 10 segunds, mais eles se tornaram infinitos, ou seja nao consigui mais soltar nenhuma outra magia, fica mandando a menssagem de esperar os 10 segundos pra sempre, eu tentei fechar e abrir o server mais bem na hora que eu fui fechar deu save dai salvou com a storage da magia ja, sera que tem como arrumar ? sera que tem como retirar as storages existentes pra mim tentar pegar as permissoes sem usar uma magia antes ? aguardo respostas, muito obrigado S2 obs: nao da nenhum erro no console do server e em nenhum outro lugar, so fica aparecendo aquele negocio que tem que esperar 10 segundos la. ---- @EDIT ---- percebi que a magia que esta bugando é o super berserk (aquele que voce passou pra mim, o script ta la em cima) apos eu soltar ele nao consigo mais utilizar as outras magias, e magia que eu disse que eu soltei ali anteriormente foi bem o super berserk, entao pode ser q a permissao bugou ele ou nao sei, poderia tentar ver ? Você tem que trocar o storage das magias, o storage de acumular o espírito. Se for mesmo storage quando você soltar uma magia vai ter que esperar 10 segundos pra soltar outra. Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Junho 16, 2013 12 anos Autor Você tem que trocar o storage das magias, o storage de acumular o espírito. Se for mesmo storage quando você soltar uma magia vai ter queue esperar 10 segundos pra soltar outra. você não intendeu... Eu não estou conseguindo soltar as magias nem depois dos 10 segundos. Tipo, nunca sai aquela menssagem dos 10 segundos sempre quando eu tento soltar uma magia aparece aquilo ------ @EDIT ----- Me desculpe ae giovani o erro foi totalmente meu, estava comparando os scripts das magias que eu criei com o super berserk que voce fes pra mim, e percebi que deixei passar um storage sem identificalas, entao estava dando este "bug" mais corrigi e esta funcionando perfeitamente local function useAgain(cid) setPlayerStorageValue(cid, config.storage, 2) << Tinha esquecido de colocar [2] aqui =/ return TRUE end Muito obrigado ae por me aranjar este script maravilhoso, +3 REP+ pra voce Ate a proxima. Editado Junho 16, 2013 12 anos por Henrique Cechinel (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.