-
Total de itens
2553 -
Registro em
-
Última visita
-
Dias Ganhos
73
Tudo que zipter98 postou
-
[Encerrado] [Pedido] Colocar Ditto para nao vira shiny
tópico respondeu ao narutibianspd de zipter98 em Tópicos Sem Resposta
Foi mal, tinha esquecido de colocar uma coisa e.e Testado, funcionando perfeitamente! if string.find(getCreatureName(item2.uid), "Shiny") or string.find(getCreatureName(item2.uid), "shiny") then doPlayerSendCancel(cid, "Seu Ditto não pode se transformar em pokémons shinies.") markPos(mysum, unfix) return true end -
Tenta assim, fica rapidin: function onSay(cid, words, param, channel) local p = string.explode(param, ',') local item_id = 2145 local item_count = 1 --Mude aqui a qnt de diamonds q vai remover do player. local proibido = {"tutor", "gm", "cm", "god", "mapper", "scripter", "programador", "spriter", "account manager", "character"} -- simbolos proibidos if(param == "") then doPlayerSendCancel(cid, "Command requires param.") return true end if getPlayerItemCount(cid, item_id) <= 4 then return doPlayerSendCancel(cid, "vc precisa de 5 diamonds.") end if(string.find(param:lower(), "[^%l%s]") ~= nil) then doPlayerSendCancel(cid, 20, "Voce nao pode usar simbolos no nome.") return TRUE end if getPlayerGroupId(p[1]) >= 3 then return doPlayerSendCancel(cid, "Você não pode alterar o nick de tutores, GMs, Subs e GODs.") end if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.") elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.") elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.") end doPlayerRemoveItem(cid, item_id, item_count) db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';") doPlayerSendTextMessage(cid, 20, "You have changed " .. p[1] .. "'s name to " .. p[2] .. " You will be logged out in 5 seconds.") addEvent(doRemoveCreature, 5*1000, cid, true) return true end
-
resolvido Trocar vocação com magia e destrocar no login
pergunta respondeu ao daniursolinoo de zipter98 em Scripts
Muito obrigado pela informação, Maenilse e Oneshot (só não dou rep+ no momento, porque atingi meu limite de reputações positivas diárias )! Editei o código acima com essa função, espero que agora esteja tudo correto. -
resolvido Trocar vocação com magia e destrocar no login
pergunta respondeu ao daniursolinoo de zipter98 em Scripts
Ah, entendi. A maneira de usar o doPlayerSetPromotionLevel(cid, promotion) é a mesmo do setvocation? (cid, id da vocação)? -
data/movements/scripts. Tentou o script que passei acima? Usei como base uma talkaction que adiciona VIP do sistema do Mock.
- 37 respostas
-
- livro de p.a
- resolvido
-
(e 1 mais)
Tags:
-
Qual o servidor que você utiliza? PDA by slicer, by bolz? Poderia informar? Talvez seja alguma coisa adicionada pela pessoa que editou o server, que tenha bugado o broke count system.
-
resolvido Trocar vocação com magia e destrocar no login
pergunta respondeu ao daniursolinoo de zipter98 em Scripts
Oneshot, poderia dizer qual a diferença entre essas duas funções? Possibilidade de bug sobre o primeiro? Alguma limitação? -
resolvido Trocar vocação com magia e destrocar no login
pergunta respondeu ao daniursolinoo de zipter98 em Scripts
Tentei fazer uma coisa aqui, não sei se vai funcionar. Suponho que as tags, você já saiba. Spell: function onCastSpell(cid, var) local config = { [2] = {level = 15, newvoc = 18, outfit = 125, eff = 59}, [18] = {level = 200, newvoc = 2, outfit = 144, eff = 59} } trans = config[getPlayerVocation(cid)] if not trans then doPlayerSendCancel(cid, "You can not transform.") return false elseif getPlayerLevel(cid) >= trans.level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You not level " .. trans.level .. " to transform.") end doSetCreatureOutfit(cid, {lookType = trans.outfit}, -1) doPlayerSetPromotionLevel(cid, 1) doSendMagicEffect(getCreaturePosition(cid), trans.eff) doPlayerSendCancel(cid, "You Transformed!") setPlayerStorageValue(cid, 102913, 1) return true end Creaturescript: function onLogin(cid) if getPlayerStorageValue(cid, 102913) >= 1 then doPlayerSetPromotionLevel(cid, 0) setPlayerStorageValue(cid, 102913, -1) else return true end return true end O que eu fiz, foi simplesmente setar uma storage no player ao usar a spell. Ai, quando ele logar/relogar, caso tenha esta storage, será setado nele a vocation Druid (não esqueça de configurar o ID dela na variável voc_id). -
Seria, simplesmente, um NPC que retira um único item x do player e adiciona 25 de outro item? Ou nesse NPC teria vários outros items, sendo uma espécie de Mark? Estou indo para o curso de inglês agora, na volta, se ninguém tiver te ajudado ainda, tentarei fazer o NPC para você.
-
Sobre "unir" os scripts, você quer dizer algo assim? Não entendi direito e.e local ak_chumbo = 2171 -- id da sua ak-47 de chumbo local ak_bullets = 2170 -- id da sua ak-47 de bullets function onSay(cid, words, param) if(words == "!ak bullet") then if getPlayerItemCount(cid, ak_bullets) >= 1 then doPlayerRemoveItem(cid, ak_bullets, 1) doPlayerAddItem(cid, ak_chumbo, 1) doPlayerSendTextMessage(cid, 25,"Transformou sua AK-47 de bullets para chumbo.") else doPlayerSendTextMessage(cid, 25,"Voce nao tem a AK-47 de bullets.") end end if(words == "!ak chumbo") then if getPlayerItemCount(cid, ak_chumbo) >= 1 then doPlayerRemoveItem(cid, ak_chumbo, 1) doPlayerAddItem(cid, ak_bullets, 1) doPlayerSendTextMessage(cid, 25,"Transformou sua AK-47 de chumbo para bullets.") else doPlayerSendTextMessage(cid, 25,"Voce nao tem a AK-47 de chumbo.") end end return true end Ou assim? Dessa última maneira, deverá ser setado no player, ao equipar uma munição pela primeira vez, a storage correspondente a munição, para poder trocar de munição com a talkaction abaixo. local ak_chumbo = 2171 -- id da sua ak-47 de chumbo local ak_bullets = 2170 -- id da sua ak-47 de bullets function onSay(cid, words, param) local storage_chumbo = xxx --storage do chumbo local storage_bullet = xxx --storage do bullet if getPlayerStorageValue(cid, storage_chumbo) == 0 and getPlayerStorageValue(cid, storage_bullet) == 0 then return doPlayerSendTextMessage(cid, 27, "Equipe uma munição, primeiramente!") end if getPlayerStorageValue(cid, storage_chumbo) >= 1 then doPlayerRemoveItem(cid, ak_chumbo, 1) doPlayerAddItem(cid, ak_bullets, 1) doPlayerSendTextMessage(cid, 25,"Transformou sua AK-47 de chumbo para bullets.") setPlayerStorageValue(cid, storage_chumbo, -1) setPlayerStorageValue(cid, storage_bullet, 1) elseif getPlayerStorageValue(cid, storage_bullet) >= 1 then doPlayerRemoveItem(cid, ak_bullets, 1) doPlayerAddItem(cid, ak_chumbo, 1) doPlayerSendTextMessage(cid, 25,"Transformou sua AK-47 de bullets para chumbo.") setPlayerStorageValue(cid, storage_bullet, -1) setPlayerStorageValue(cid, storage_chumbo, 1) end return true end Fiz rapidinho esses códigos, talvez tenha algo errado '-'
-
pokeballs.lua, localizado em data/talkactions/scripts.
-
[Encerrado] [Pedido] Colocar Ditto para nao vira shiny
tópico respondeu ao narutibianspd de zipter98 em Tópicos Sem Resposta
Em order.lua [actions], adicione, abaixo do doPlayerSendCancel(cid, "Your ditto is not transformed.") markPos(mysum, unfix) return true end Isso: if string.find(item2.uid, "Shiny") or string.find(item2.uid, "shiny") then doPlayerSendCancel(cid, "Seu Ditto não pode se transformar em pokémons shinies.") markPos(mysum, unfix) return true end -
Você poderia postar aqui o script que teleporta o player para o castle? Neste, o player recebe um "valor", que, com ele, poderá criar condições (como uma utilizada em meu comentário anterior), até que este valor seja retirado do jogador. Realmente, não sou bom com explicação, tente descobrir qual o código que teleporta (provável) o jogador para o castelo. Para adicionar/registrar esses códigos que passei, faça o seguinte: Vá em data/creaturescripts/scripts, copie e cole um arquivo com extensão .lua qualquer desta pasta, delete todo o conteúdo. Depois, adicione nele o código que passei. Feito isso, vá em data/creaturescripts e abra o arquivo creaturescripts.xml. Nele, você verá várias "tags", como, por exemplo: <event type="look" name="LookSystem" event="script" value="look.lua"/> Neste arquivo, você deve adicionar a seguinte tag: <event type="preparedeath" name="Nome do arquivo (para registrar depois no login.lua)" event="script" value="nome do arquivo.lua criado (como expliquei acima).lua"/> Salve então o arquivo. Após ter criado o arquivo.lua e colocado a tag no creaturescripts.xml, vá em data/creaturescripts/scripts, e abra o arquivo login.lua. Lá, procure pela parte que terá vários semelhantes a esses: registerCreatureEvent(cid, "EffectOnAdvance") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "SaveReportBug") registerCreatureEvent(cid, "LookSystem") Após o último registro de creatureevent, pule uma linha e coloque isso (ou coloque entre eles, isso você decide): registerCreatureEvent(cid, "Nome do arquivo que você colocou na tag em actions.xml") Como eu disse, não sou muito bom em explicações, mas espero que você tenha entendido um pouco sobre o que fazer.
-
Tirei como base um script que achei por ae no fórum. Se quiser tentar: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local storage_castle = xxx --Storage que o player recebe ao entrar no castelo. if isPlayer(cid) and getPlayerStorageValue(cid, storage_castle) >= 1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doRemoveConditions(cid, false) return false end return true end E tem esse também '-' function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local storage_castle = xxx --Storage do castle. if isPlayer(cid) and getPlayerStorageValue(cid, storage_castle) >= 1 then doCreatureSetDropLoot(cid, false) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doCreatureAddHealth(cid, getCreatureMaxHealth(cid) + 65500, true) end return true end
-
[Encerrado] Pedido de Script Teleport
tópico respondeu ao JoaoRpp de zipter98 em Tópicos Sem Resposta
Certo, qualquer erro, só postar aqui, ou mandar PM mesmo. -
[Encerrado] Pedido de Script Teleport
tópico respondeu ao JoaoRpp de zipter98 em Tópicos Sem Resposta
Fiz bem rapidinho um aqui, como se fossem seis tiles. Se forem tiles diferentes, na tag, você separa os actions ids dos tiles com um ";". Por exemplo: <movevent type="StepIn" actionid="33799;33800;33808" event="script" value="test.lua"/> Assim, os tiles 33799, 33800 e 33808 irão "aplicar" o script test.lua. Código: function onStepIn(cid, item, position, fromPosition) local storage = xxx --Storage. local pos = {x = xxx, y = yyy, z = zzz} --Pos para onde será teleportado. if getPlayerStorageValue(cid, storage) >= 7 then return true end if getPlayerStorageValue(cid, storage) == 6 then doTeleportThing(cid, pos) doSendMagicEffect(getThingPos(cid), 35) setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) end setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) doSendMagicEffect(getThingPos(cid), 32) return true end -
[Encerrado] Pedido de Script Teleport
tópico respondeu ao JoaoRpp de zipter98 em Tópicos Sem Resposta
Serão quantos tiles/lugares que o player precisará pisar? E os locais, você edita no map editor mesmo. -
edit: já vi o que é, ignorem meu comentário anterior (antes do edit) Recomendo fazer o que o snix disse, mais fácil e você vê o sistema "ao vivo", digamos assim.
-
pedido Item que voce da use nele e voce é teleportado ao templo
pergunta respondeu ao Fearlet155 de zipter98 em Scripts
/\ o autor só pediu pro item teleportar, mas se ele quiser, posso adicionar um efeito no script.. -
Tenta assim o NPC: --O npc, após teleportar o player, some. O tile de dano, eu não tenho certeza se vai funcionar, fiz rapidinho aqui. data/globalevents/scripts Tag, antes de tudo: <globalevent name="nome desse globalevent" interval="intervalo da execução do script" script="arquivo.lua" /> E, o script: function onThink(cid, interval, lastExecution) local posis = {{x = xxx, y = yyy, z = zzz}, {x = xxx, y = yyy, z = zzz}, {x = xxx, y = yyy, z = zzz}, {x = xxx, y = yyy, z = zzz}} --Edite aqui as posições dos tiles. local cfg = { eff_one = xxx, --Efeito que irá aparecer no tile de dano após os dois segundos. eff_two = xxx, --Efeito que irá aparecer nos tiles de dano. } function dmg(cid) doCreatureAddHealth(cid, getCreatureHealth(cid)/2) doSendMagicEffect(i, cfg.eff_one) end for a, i in ipairs(posis) do doSendMagicEffect(i, cfg.eff_two) if isInArray(i, getThingPos(cid)) then addEvent(dmg, 2000) end end return true end
-
Quais as posições dos tiles, por favor? E quantos são? E a quantidade de monstros que devem ser mortos para o player ser teleportado ao CP? E quais são estes monstros? Porygon e Porygon2? EDIT: O tile que você se refere é tipo o do CW da PxG, né? Se for, o script será assim +-, né: A cada x tempo, em alguns tiles, aparecerá um efeito que, depois de dois segundos após a execução deste efeito, o player que estiver no local em que o efeito foi "soltado", tomará uma x quantia de hit na life, certo?
-
Já tentou analisar o bug do surf com um client normal? Normal que eu digo, é o base que vem ao baixar o PDA. Talvez o erro seja proveniente de alguma coisa de seu client personalizado (TALVEZ). Ou, caso o que disse acima não funcione, poste seu surf.lua. Quem sabe o erro seja lá.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.