Ir para conteúdo

20cm

Barão
  • Total de itens

    221
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que 20cm postou

  1. vc fez alguns erros tipo colocar return no for, mensagem its empty no for (vai mandar varias x), e outros use esse, provavelmente vai funcionar: local RECOMPENSA = { [1] = {{ID, QUANTIDADE },{ID, QUANTIDADE}}, [2] = {{ID, QUANTIDADE },{ID, QUANTIDADE}}, [3] = {{ID, QUANTIDADE },{ID, QUANTIDADE}}, [4] = {{ID, QUANTIDADE },{ID, QUANTIDADE}}, } function onUse(cid, item) if getPlayerStorageValue(cid,11554) ~= 1 then for i, v in pairs(RECOMPENSA[getPlayerVocation(cid)]) do doPlayerAddItem(cid, v[1], v[2]) end setPlayerStorageValue(cid,11554,1) else doPlayerSendTextMessage(cid,25,"It's Empty.") end return true end e vale falar q se vc editou as sources de forma má ou o client o debug provavelmente é por causa disso, visto q n da nenhum erro
  2. Só recomendo que quem for usar use essa versão: function onSay(cid, words, param, channel) if (getTilePzInfo(getCreaturePosition(cid)) == false) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa estar em PZ.") else doRemoveCondition(cid, CONDITION_INFIGHT) doRemoveCreature(cid) end return true end que remove o battle antes de logar, pra quando ela logar nao logar com battle, fora isso legal.
  3. Sim, só faltou a indentação certinha: function onUse(cid, item, fromPosition, itemEx, toPosition) local items = {{11443,1},{6569,3},{2152,5}} local newPos = {x = X, y = Y, z = Z} if getPlayerStorageValue(cid, 5951) < 0 then if getPlayerLevel(cid) >= 10 then doPlayerSendTextMessage(cid, 27, "Congrutulatios, you complete CERULEAN quest.") for x,i in pairs(items) do doPlayerAddItem(cid, i[1], i[2]) end setPlayerStorageValue(cid, 5951, 1) doTeleportThing(cid, newPos, false) else doPlayerSendCancel(cid, "Only players of level 10 or higher can complete.") end else doPlayerSendCancel(cid, "You already complete this quest.") end return true end flwwwwww
  4. fui um dos primeiros (o primeiro?) a testar isso, então chupem parabéns, eu curti nos testes ficou muito bem feito =) (só acho que devia por a lista de contatos como listbox LALALA)
  5. 20cm

    Items

    vc nao ta jogando com o god ? =)
  6. 20cm

    Items

    se vc ta usando o daemon ou o otitemeditor vc desmarca a opção light vc precisa sim editar o dat
  7. tenta isso local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 115) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.7, 0, -0.5, 0) local combat1 = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 115) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.7, 0, -0.5, 0) local condition = createConditionObject(CONDITION_DRUNK) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 31) setConditionParam(condition, CONDITION_PARAM_TICKS, 5000) setCombatCondition(combat1, condition) crush = { {0, 0, 0}, {1, 3, 1}, {0, 0, 0} } local area = createCombatArea(crush) setCombatArea(combat, area) local function onCastSpell1(parameters) doCombat(parameters.cid, combat, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) doPlayerAddSpentMana(cid, 1, true) local parameters = { cid = cid, var = var} onCastSpell1(parameters) if math.random(1,100) >= 40 then onCastSpell2(parameters) end return true end
  8. lembrando q nas regras diz q n pode postar pedidos sobre derivados, entao peço q nao faça isso novamente
  9. 20cm

    Alavanca

    doCreateItem(getThingfromPos(lever[i]).uid,1) primeiro q os parametros do docreatitem é ID,COUNT,POS vc já começou errado, pôs uid ao invés de id, depois pois 1 (ok), e nem pois a posição q vai criar o script nao vai adivinhar cara fora isso se deixar do jeito q o slicer disse acima acho q funfa
  10. 20cm

    Como usar "#"

    local array = {"maconha","haxixe"} print(#array) > 2 local array = {"maconha","haxixe","crack"} print(#array) > 3 local string = "banana" print(#string) > 6 local string = "bananasim print(#string) >9 ou seja, ele pega o valor máximo do array e o comprimento da string. é usado em math.random pra gerar um número que está entre o valor máximo do array, por exemplo: local array = {"a","b"} local random = math.random(1,#array) print(array[random]) veja essa linha: local random = math.random(1,#array) vai gerar um número aleatório entre 1 e o valor máximo do array (que é 2) ou seja, dá pra entrar em um array aleatoriamente sem ultrapassar seu valor máximo. e se vc for o snowsz que criou o sv sou meio q teu fã, ok ? me diverti muito nos svs rs
  11. da pra dar use quantas x quiser fora isso ok
  12. aqui eh a area errada, e sinceramente o mapa ta horrivel, as bordas da grama dentro das casas, tudo quadrado flw
  13. Você piorou tudo. Fiz uma modificação que ao invés de dar 10 meats ele apenas alimenta o jogador até o máximo, pra nao ter chances de jogadores sujarem todo o mapa. Assim: function onSay(cid, words, param) if getPlayerFood(cid) < 1200 then doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) doPlayerFeed(cid, (1200-getPlayerFood(cid))) doCreatureSay(cid, "Estou alimentado agora =)", TALKTYPE_ORANGE_1) else doCreatureSay(cid, "Não preciso comer", TALKTYPE_ORANGE_1) end end
  14. Tenta isso: local balls = {11826, 11828, 11829, 11831, 11832, 11834, 11835, 11837, 11737, 11739, 11740, 11742, 11743, 11745, 11746, 11748} local function playerAddExp(cid, exp) doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) end local function giveExpToPlayer(pk, expTotal, givenexp, expstring) --alterado v2.7 playerAddExp(pk, expTotal) local firstball = getPlayerSlotItem(pk, 8) if not isInParty(pk) and firstball and getItemAttribute(firstball.uid, expstring) and getItemAttribute(firstball.uid, expstring) > 0 then local percent = getItemAttribute(firstball.uid, expstring) <= 1 and getItemAttribute(firstball.uid, expstring) or 1 local gainexp = math.ceil(percent * givenexp) doItemSetAttribute(firstball.uid, expstring, 0) elseif isInParty(pk) and firstball.uid ~= 0 then end end function onDeath(cid, corpse, deathList) if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v2.8 -------------Edited Golden Arena------------------------- --alterado v2.7 \/\/ if getPlayerStorageValue(cid, 22546) == 1 then setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1) if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v2.8 end if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) <= 0 then local wave = getGlobalStorageValue(22547) for _, sid in ipairs(getPlayersOnline()) do if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then if getGlobalStorageValue(22547) < #wavesGolden+1 then doPlayerSendTextMessage(sid, 21, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true) addEvent(doWave, timeToWaves*1000) elseif getGlobalStorageValue(22547) == #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "You have win the golden arena! Take your reward!") doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio setPlayerStorageValue(sid, 22545, -1) doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false) setPlayerRecordWaves(sid) end end end if getGlobalStorageValue(22547) == #wavesGolden+1 then endGoldenArena() end end --------------------------------------------------- /\/\ local givenexp = getWildPokemonExp(cid) local expstring = ""..cid.."expEx" if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] if isCreature(pk) then local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) local expTotal = math.floor(playerExperienceRate * givenexp * getDamageMapPercent(pk, cid)) local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v2.6.1 for i = 1, #party do if isInArray(list, party[i]) and getDamageMapPercent(party[i], cid) > 0 then --alterado v2.8 giveExpToPlayer(party[i], expTotal, givenexp, expstring)--alterado v2.7 end end else giveExpToPlayer(pk, expTotal, givenexp, expstring) --alterado v2.7 end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end if corpse.itemid ~= 0 then --alterado v2.8 doItemSetAttribute(corpse.uid, "offense", getPlayerStorageValue(cid, 1011)) doItemSetAttribute(corpse.uid, "defense", getPlayerStorageValue(cid, 1012)) doItemSetAttribute(corpse.uid, "speed", getPlayerStorageValue(cid, 1013)) doItemSetAttribute(corpse.uid, "vitality", getPlayerStorageValue(cid, 1014)) doItemSetAttribute(corpse.uid, "spattack", getPlayerStorageValue(cid, 1015)) doItemSetAttribute(corpse.uid, "level", getLevel(cid)) doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) end return true end Esse é o pokeexp.lua, vou tentar resolver ele primeiro se der erro poste.
  15. Iria comentar a mesma coisa, e o restarter já marca quando o servidor caiu e etc. Apesar disso é bom porque manda a broadcast e tudo mais, então acho que é válido... E se não me engano /shutdown já salva o servidor.
  16. Cara, não precisa me dar rep por uma semana, relaxa. Aliás, por favor, pare, pois pode ser considerado contra as regras...
  17. 20cm

    !go talkaction

    Como assim? Usa esse script: local to = { ['depot'] = {x=1058,y=1066,z=7}, ['templo'] = {x=1063,y=1067,z=7}, } function onSay(cid, words, param, channel) local p = param:lower() if getCreatureCondition(cid,CONDITION_INFIGHT) == false then if to[p] ~= nil then doTeleportThing(cid,to[p]) doSendMagicEffect(to[p],10) doPlayerSendTextMessage(cid,4,"Teleportado ao "..p..".") else doPlayerSendTextMessage(cid,4,"Local inválido.") end else doPlayerSendTextMessage(cid,4,"Use sem battle.") end return true end se funcionou avisa e da rep+ por recompensa...
  18. 20cm

    !go talkaction

    script.lua: local to = { ['depot'] = {x=1058,y=1066,z=7}, ['templo'] = {x=1063,y=1067,z=7}, } function onSay(cid, words, param, channel) local p = param:lower() if getCreatureCondition(cid,CONDITION_INFIGHT) == false then if to[p] ~= nil then doTeleportThing(cid,to[p]) doSendMagicEffect(to[p],10) doPlayerSendTextMessage(cid,4,"Teleportado ao "..p..".") else doPlayerSendTextMessage(cid,4,"Local inválido.") end else doPlayerSendTextMessage(cid,4,"Use sem battle.") end return true end <talkaction words="!go" event="script" value="script.lua"/> Assim?
  19. Exatamente, demonb. Por exemplo, você disse "você muda para o tipo de Damage que você desejar HOLYDAMAGE, etc...", o que eu acho que não é válido considerando que é um tutorial para spells simples, ou seja, se alguém precisa dele é porque está começando e provavelmente não conhece esses tipos de damage. Aliás, nas sources você acha todos eles facilmente: E também você se prendeu a esse tipo de spell, com área definida na matriz, e tudo mais. Uma coisa que não gosto também (mas já fiz muito) é usar "addEvent(onCastSpell1, 100, parameters)". Isso faz com que a magia só aconteça depois de 0.1 segundos do jogador falar, o que é desnecessário. Você pode usar onCastSpell1(parameters) direto. Eu não passaria o tutorial apenas porque há muitos de como fazer uma magia: click aqui rapidao E ainda dou suporte à ideia de um tutorial definitivo de como criar magias, explicando todos os detalhes. VC NAO PERCEBEU QUE ESSA NAO E A AREA CORRETA DI POSTAR ISSU ? POR FAVOR NAUN FASSA ISSU E MUITO FEIO ​NINGUEN TEN A OBRIGASAO DE TE AJUDAR ENTAO SE VC QUISER O SCRIPT AO INVES DE CHORAR NOS OUTROS TOPIKOS '' COMESSA A VER TUTORIAIZ
  20. Primeiro (talkaction): function onSay(cid, words, param, channel) if getPlayerByNameWildcard(param) ~= nil then cid = getPlayerByNameWildcard(param) end doPlayerPopupFYI(cid,"Informações do jogador: "..getCreatureName(cid).."\n - HP Max: "..getCreatureMaxHealth(cid).."\n - MP Max: "..getPlayerMaxMana(cid).."\n - Level: "..getPlayerLevel(cid)) return true end Segundo: creaturescripts/scripts/look.lua: function onLook(cid, thing, position, lookDistance) function getArticle(str) return isInArray({"a","e","i","o","u"},string.sub(str,0,1)) and "an" or "a" end if isPlayer(thing.uid) and thing.uid ~= cid and getPlayerAccess(thing.uid) > 4 then s = getPlayerSex(thing.uid) doPlayerSetSpecialDescription(thing.uid,'\n'..(s == 1 and "He" or "She")..' is '..getArticle(getPlayerVocationName(thing.uid))..' '..getPlayerVocationName(thing.uid)..'.') return true elseif thing.uid == cid then if getPlayerAccess(cid) > 4 then doPlayerSetSpecialDescription(thing.uid,'\nYou are '..getArticle(getPlayerVocationName(cid))..' '..getPlayerVocationName(cid)..'.') end local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'' if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end return true end tag: <event type="look" name="Look" event="script" value="look.lua"/> adiciona essa linha no login.lua: registerCreatureEvent(cid, "Look")
  21. Assim? function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = {x=1084,y=1059,z=7} local de = getPlayerVocationName(cid) if isInArray({1,2,3,4},getPlayerVocation(cid)) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) doPlayerSendTextMessage(cid,25,"Você foi promovido de um "..de.." para um "..getPlayerVocationName(cid).."!") doTeleportThing(cid,pos) doSendMagicEffect(pos,10) else doPlayerSendCancel(cid,"Você já está promovido!") doSendMagicEffect(pos,2) end return true end (mude a posição que o jogador vai ser teletransportado na segunda linha) Aliás use essa versão, quando usa setVocation quando reloga ele reseta a vocação '-' cheio de bugs o tfs: function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = {x=1084,y=1059,z=7} local de = getPlayerVocationName(cid) if isInArray({1,2,3,4},getPlayerVocation(cid)) then doPlayerSetPromotionLevel(cid, 1) doPlayerSendTextMessage(cid,25,"Você foi promovido, parabéns!") doTeleportThing(cid,pos) doSendMagicEffect(pos,10) else doPlayerSendCancel(cid,"Você já está promovido!") doSendMagicEffect(pos,2) end return true end
  22. porra hein cara -.- function onUse(cid, item, fromPosition, itemEx, toPosition) local tppos = {x=1089,y=1057,z=7} local default = {9693,6570,6571} local vocs = {8302,8302,8301,8303,8302,8302,8301,8303} for x,i in pairs(default) do doPlayerAddItem(cid,i) end local bp = doPlayerAddItem(cid,9774,1) local gala = math.random(1,3) for x = 1, gala do doAddContainerItem(bp, 2160, 100) end local add = math.random(1,100) doAddContainerItem(bp, 2160, add) doPlayerAddItem(cid,vocs[getPlayerVocation(cid)],5) local ret = "" for x,i in pairs(default) do if x == 1 then ret = "1 " .. getItemNameById(i) else ret = ret .. ", 1 " ..getItemNameById(i) end end for x,i in pairs(getPlayersOnline()) do doPlayerSendTextMessage(i,19,getPlayerName(cid).." completou a Arcana Fortress e ganhou "..ret..", 5 "..getItemNameById(vocs[getPlayerVocation(cid)]).."s e uma backpack com "..gala.."."..string.sub(add,0,1).."kk!") end doTeleportThing(cid,tppos) doSendMagicEffect(tppos,10) return true end quer um boquetinho tbm?
  23. Tem certeza? Nos meus testes tudo ocorreu bem, os sulphurs vêm de acordo com a vocação. Deu algum erro no console? Se sim, qual?
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...