-
Total de itens
221 -
Registro em
-
Última visita
-
Dias Ganhos
2
Tudo que 20cm postou
-
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
-
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.
-
action Script De Quest (Com Volta A Tal Posição)
tópico respondeu ao randerjp de 20cm em Actions e Talkactions
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 -
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)
-
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
-
pedido [Encerrado] [SCRIPT] Comando de teleport para wodbo
tópico respondeu ao luizhenrique99 de 20cm em Tópicos Sem Resposta
lembrando q nas regras diz q n pode postar pedidos sobre derivados, entao peço q nao faça isso novamente -
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
-
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
-
da pra dar use quantas x quiser fora isso ok
-
aqui eh a area errada, e sinceramente o mapa ta horrivel, as bordas da grama dentro das casas, tudo quadrado flw
-
Acho que assim vai:
-
talkaction MERENDA GRÁTIS! -> FOOD POR COMANDO!
tópico respondeu ao mkbrabsolute de 20cm em Actions e Talkactions
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 -
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.
-
talkaction SCRIPT REINICIAR SERVIDOR POR COMANDO
tópico respondeu ao mkbrabsolute de 20cm em Actions e Talkactions
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. -
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...
-
Boa, arrumei.
-
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?
-
[ Spell ] Mini Tutorial De Spells Simples.
tópico respondeu ao Meunometemvinteletra de 20cm em Tutoriais de Scripting
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 -
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")
-
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
-
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?
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.