Ir para conteúdo
  • Cadastre-se

[AJUDEM] Systema de Cidade por RESET


Posts Recomendados

Pessoal, meu server ele chega no a um tal level  nessecita dar um reset, e eu queria que criar uma vip de reset.

ou seja

 

(Exemplo -

 

Apenas os player acima de 3 resets podem passar na vip.)

 

a cidade ja ta criada so falta o scripter.  para colocar

Editado por rozinx.kungsan (veja o histórico de edições)

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites

Você já tem o sistema de reset?
Posso te passar um que uso e criar o sistema para cidade.

Caso contrário, preciso saber o sistema de reset seu.

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

Você já tem o sistema de reset?

Posso te passar um que uso e criar o sistema para cidade.

Caso contrário, preciso saber o sistema de reset seu.

Não eu não to com nem um sistema ainda, eu so tenho o sistema de !reset. mais o da cidade não

 

*ja criei a cidade

*ja adicionei o sistema de reset

-

so falto o esse sistema pode me ajudar ?

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites

Eu não sei fazer, mas acredito que poderia ser feito por storage, quando resetar receber a storage, dai vc fazia um portal com um action id da storage que vc escolheu...
Tenta postar o seu sistema de reset pra ver o que pode ser feito... 

 

http://35.196.37.55/

 

background.jpg.f1541583d8134dd59730214eb5659611.jpg

 

 


“Maior que a tristeza de não haver vencido é a vergonha de não ter lutado!”
―Rui Barbosa

 

Link para o post
Compartilhar em outros sites

É simples, apenas crie uma restrição no NPC de barco, ou no teleport para a cidade, que apenas os players que tem a storage correspondente a 3 resets podem viajar para tal cidade.

Você só precisa saber qual é esta storage.

Se você postar o sistema de reset e o NPC, posso te ajudar ainda mais.

 

Abraço.

Link para o post
Compartilhar em outros sites

É simples, apenas crie uma restrição no NPC de barco, ou no teleport para a cidade, que apenas os players que tem a storage correspondente a 3 resets podem viajar para tal cidade.

Você só precisa saber qual é esta storage.

Se você postar o sistema de reset e o NPC, posso te ajudar ainda mais.

 

Abraço.

Sim, eu fiz um so que eu quero aquele que você passa em cima do piso e se você nao tiver o reset você não entra igual como se fosse uma donate mais para entrar precisaria de 3 resets ou mais entende ?

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites

Irei fazer aqui, jájá eu posto =D

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

Irei fazer aqui, jájá eu posto =D

Ok obrigado vou ficar esperando

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites

Vou te passar tudo, desde sistema de reset, até esse sistema de cidade.

Vá em lib/050-funciton.lua e add isso no final

function addReset(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,36874,resets+1)
return true
end

function getResets(cid)
resets = getPlayerStorageValue(cid,36874)
if resets < 0 then
resets = 0
end
return resets
end

Feito isso, vá em talkaction/script, e crie um arquivo chamado reset.lua e coloque isso dentro

function onSay(cid, words, param)

local newlevel = 2500 -- level após reset
local newexp = 0 -- Exp apos resetar
local pos = getPlayerPosition(cid)

if getResets(cid) >= 170 then --Limite de reset
doPlayerPopupFYI(cid, "voce ja atingiu o maximo de resets.")
return TRUE
end

if getPlayerLevel(cid) < 60 then  -- Level para poder resetar
doPlayerPopupFYI(cid, "Precisa ser level 60 para usar esse comando.")
else
addReset(cid)
playerid = getPlayerGUID(cid)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."")
end
return TRUE
end

e adicione isso em talkaction.xml

    <talkaction words="!reset" access="1" event="script" value="reset.lua"/>

 

Agora vamos a parte do sistema de cidade.

Vá em movements/scripts e crie um arquivo chamado cidade.lua e adicione o codigo abaixo

function onStepIn(cid, item, position, fromPosition)
if isPlayer then
if getResets(cid) >= 3 then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Bem vindo a cidade VIP, desfrute de tudo.")    --Muda essa mensagem kk
else
dir = getPlayerLookDir(cid)
pos = getCreaturePosition(cid)
if dir == 0 then
newpos = {x=pos.x, y=pos.y+1, z=pos.z}
elseif dir == 2 then
newpos = {x=pos.x, y=pos.y-1, z=pos.z}
elseif dir == 1 then
newpos = {x=pos.x-1, y=pos.y, z=pos.z}
elseif dir == 3 then
newpos = {x=pos.x+1, y=pos.y, z=pos.z}
end

doTeleportThing(cid, newpos, dir)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Somente jogadores com 3 Resets ou mais podem entrar nesse local")
end
end
end

Feito isso, vá em movements.xml e adicione

<movevent type="StepIn" actionid="55212" event="script" value="cidade.lua"/>

 

Assim que terminar, é só abrir o RME e colocar ACTIONID 55212 na area da cidade VIP.

 

Testado e funcionando.

3jk16Z.jpg

 

jo09YZ.jpg

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

Vou te passar tudo, desde sistema de reset, até esse sistema de cidade.

Vá em lib/050-funciton.lua e add isso no final

function addReset(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,36874,resets+1)
return true
end

function getResets(cid)
resets = getPlayerStorageValue(cid,36874)
if resets < 0 then
resets = 0
end
return resets
end

Feito isso, vá em talkaction/script, e crie um arquivo chamado reset.lua e coloque isso dentro

function onSay(cid, words, param)

local newlevel = 2500 -- level após reset
local newexp = 0 -- Exp apos resetar
local pos = getPlayerPosition(cid)

if getResets(cid) >= 170 then --Limite de reset
doPlayerPopupFYI(cid, "voce ja atingiu o maximo de resets.")
return TRUE
end

if getPlayerLevel(cid) < 60 then  -- Level para poder resetar
doPlayerPopupFYI(cid, "Precisa ser level 60 para usar esse comando.")
else
addReset(cid)
playerid = getPlayerGUID(cid)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."")
end
return TRUE
end

e adicione isso em talkaction.xml

    <talkaction words="!reset" access="1" event="script" value="reset.lua"/>

 

Agora vamos a parte do sistema de cidade.

Vá em movements/scripts e crie um arquivo chamado cidade.lua e adicione o codigo abaixo

function onStepIn(cid, item, position, fromPosition)
if isPlayer then
if getResets(cid) >= 3 then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Bem vindo a cidade VIP, desfrute de tudo.")    --Muda essa mensagem kk
else
dir = getPlayerLookDir(cid)
pos = getCreaturePosition(cid)
if dir == 0 then
newpos = {x=pos.x, y=pos.y+1, z=pos.z}
elseif dir == 2 then
newpos = {x=pos.x, y=pos.y-1, z=pos.z}
elseif dir == 1 then
newpos = {x=pos.x-1, y=pos.y, z=pos.z}
elseif dir == 3 then
newpos = {x=pos.x+1, y=pos.y, z=pos.z}
end

doTeleportThing(cid, newpos, dir)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Somente jogadores com 3 Resets ou mais podem entrar nesse local")
end
end
end

Feito isso, vá em movements.xml e adicione

<movevent type="StepIn" actionid="55212" event="script" value="cidade.lua"/>

 

Assim que terminar, é só abrir o RME e colocar ACTIONID 55212 na area da cidade VIP.

 

Testado e funcionando.

3jk16Z.jpg

 

jo09YZ.jpg

estranho amigo. aqui não funcionou eu coloquei tudo certinho, só não coloquei aquele seu sistema de reset por que eu ja tenho um ai so adicionei hein movements

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites

Me passe seu sistema de reset, para fazer adaptação ao meu.

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por willian646
      O evento é totalmente baseado no Foxy Quiz proveniente do GLA, no entanto é apenas uma base para vocês alterarem como acharem melhor.
      Para começar será necessario que você crie um arquivo em talkactions>scripts para entrar no evento, como por exemplo : participar.lua
      e entao colocar sua tag em talkactions.xml, como por exemplo: 
      <talkaction words="!participar;/participar" script="!participar.lua"/> Tendo feito isso você irá colar esse codigo dentro desse arquivo: 
      function onSay(cid, words, param)pos = {x=1236, y=1125, z=15} --POSIÇAO QUE O PLAYER IRÁ COM O COMANDO if getGlobalStorageValue(88788) == 1 then doSendMagicEffect(getPlayerPosition(cid),19) doTeleportThing(cid,pos) else doPlayerSendCancel(cid, "Desculpe mas o evento esta fechado !") end return true end Agora iremos para o script principal, vá em global events>scripts e crie o arquivo pokequiz.lua em seguida coloque sua tag em globalevents.xml como por exemplo: 
      <globalevent name="Pokequiz" interval="10" event="script" value="pokequiz.lua"/> Lembrando que o intervalo de inicio do evento é com vcs, Tendo feito isso abra o arquivo e cole o  seguinte código dentro : 
      quizstrg = 88788 local wave = 0 local CPpos = {x=1051, y=1047, z=7} --POSIÇAO QUE O PLAYER IRÁ SE ERRAR function wave_acresc() wave = wave + 1 addEvent(Quiz, 5000) end function Quiz() if wave == 1 then doBroadcastMessage("Na serie pokemon RAYQUAZA possui mega evolucao ?", RED) addEvent(Resposta, 10000) elseif wave == 2 then doBroadcastMessage("Na serie pokemon ARCEUS e considerado um pokemon RARO ?", RED) addEvent(Resposta, 10000) elseif wave == 3 then doBroadcastMessage("Na serie pokemon MEW criou os 3 caes lendarios ?", RED) addEvent(Resposta, 10000) elseif wave == 4 then doBroadcastMessage("Na serie pokemon ARCEUS tem o poder de mudar de tipo livremente ?", RED) addEvent(Resposta, 10000) elseif wave == 5 then doBroadcastMessage("Na serie pokemon GIRATINA possui 2 formas sendo elas alterada e fantasma ?", RED) addEvent(Resposta, 10000) elseif wave == 6 then doBroadcastMessage("Na serie pokemon DIALGA e PALKIA sao rivais ?", RED) addEvent(Resposta, 10000) elseif wave == 7 then doBroadcastMessage("Na serie pokemon CELEBI possui a habilidade de viajar entre dimensoes ?", RED) addEvent(Resposta, 10000) elseif wave == 8 then doBroadcastMessage("Na serie pokemon SOLGALEO e a primeira evolucao de cosmog ?", RED) addEvent(Resposta, 10000) elseif wave == 9 then doBroadcastMessage("Na serie pokemon MAGEARNA e uma das ultra beasts ?", RED) addEvent(Resposta, 10000) elseif wave == 10 then doBroadcastMessage("Na serie pokemon a cor original de MAGEARNA e laranja ?", RED) addEvent(Resposta, 10000) elseif wave == 11 then doBroadcastMessage("O evento Quiz terminou !", RED) addEvent(winPlayers, 5000) end end function Resposta() if wave == 1 then addEvent(TPFalso, 5000) elseif wave == 2 then addEvent(TPVerdadeiro, 5000) elseif wave == 3 then addEvent(TPVerdadeiro, 5000) elseif wave == 4 then addEvent(TPFalso, 5000) elseif wave == 5 then addEvent(TPVerdadeiro, 5000) elseif wave == 6 then addEvent(TPFalso, 5000) elseif wave == 7 then addEvent(TPVerdadeiro, 5000) elseif wave == 8 then addEvent(TPVerdadeiro, 5000) elseif wave == 9 then addEvent(TPVerdadeiro, 5000) elseif wave == 10 then addEvent(TPFalso, 5000) end end function TPFalso() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1236, y=1122, z=15} local posf = {x=1243, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) end addEvent(wave_acresc, 5000) end end function TPVerdadeiro() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1228, y=1122, z=15} local posf = {x=1235, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) end addEvent(wave_acresc, 5000) end end function winPlayers() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1228, y=1122, z=15} local posf = {x=1243, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) doPlayerAddItem(sid,2159, 10) end wave = 0 setGlobalStorageValue(88788, 0) end end --AVISOS DE INICIO function finalEventWarning() if getGlobalStorageValue(quizstrg) == 1 then setGlobalStorageValue(88788, 2) doBroadcastMessage("O evento Quiz fechou, a primeira pergunta surgira em 30 segundos.", RED) addEvent(wave_acresc, 30000) end end function secondEventWarning() if getGlobalStorageValue(quizstrg) == 1 then doBroadcastMessage("O evento Quiz ira iniciar em 1 minuto, usem o comando !participar ou /participar.", RED) addEvent(finalEventWarning, 60000) end end function firstEventWarning() if getGlobalStorageValue(quizstrg) == 1 then doBroadcastMessage("O evento Quiz ira iniciar em 3 minutos, usem o comando !participar ou /participar.", RED) addEvent(secondEventWarning, 120000) end end function onThink(interval, lastExecution) if getGlobalStorageValue(quizstrg) == 0 then setGlobalStorageValue(88788, 1) doBroadcastMessage("O evento Quiz ira iniciar em 5 minutos, usem o comando !participar ou /participar.", RED) addEvent(firstEventWarning, 120000) end return true end Já ia me esquecendo, a unica coisa ao qual vocês devem mudar de acordo com as coordenadas do seu mapa e área do evento são as funções TPVerdadeiro , TPFalso, winPlayers , elas servem para indicar qual área é a errada e teleportar quem tiver nessa área pro cp, caso o lado errado seja o esquerdo então será usado a função  TPVerdadeiro, e é a msm coisa para o outro lado, no caso da winPlayers é toda a área do evento.
       
      Aqui vai um exemplo: 
       
      E é isso rapaziada, não sei se já possui algum evento parecido por essas bandas, mas eu não encontrei ,então fiz  e resolvi contribuir com a comunidade, peço que se for repostar em algum outro lugar dê os devidos créditos, obg e até a próxima.
    • Por gabriel luccera zika
      como vc leram no topico erri no meu globalevents
       

    • Por baiakuda
      Boa noite.
       
      Gostaria de saber se é possivel editar esse script abaixo.
      Queria ao invez de ser por tempo (exemplo: 4 horas) fosse por dia e hora (exemplo: ["Monday"] ["12:00"] )
       
      Link do script
       http://www.tibiaking.com/forum/topic/36629-criar-teleport-de-evento-autom%C3%A1tico/ NOMEDOSCRIPT.lua
      function onThink(interval, lastExecution, thinkInterval) local config = { pos = {x=152, y=50, z=7}, -- Posição aonde sera criado o teleport topos = {x=1235, y=1197, z=7}, -- Posição pra onde o teleport ira levar o player tpid = 1387, -- id do teleport time = 5 -- tempo que o teleport ira sumir em minutos } function DelTp() local t = getTileItemById(config.pos, config.tpid) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(config.pos, CONST_ME_POFF) end end local time = 116 for i = 1,time do formula = time - 1*i addEvent(doSendAnimatedText,i*1000, config.pos, formula, 192) end doCreateTeleport(config.tpid, config.topos, config.pos) doBroadcastMessage("Evento VIP foi aberto!por favor os entereçados corram para o teleport que se localiza no templo e se fechara "..config.time.." minutos") addEvent(DelTp, config.time*60*1000) addEvent(doBroadcastMessage, config.time*60*1000, "Evento VIP. Proximo evento em 1h.") return true end em globalevents.xml
      <globalevent name="NOMEDOSCRIPT" interval="240000" event="script" value="NOMEDOSCRIPT.lua"/>
    • Por Danielgomes
      Galera, vi um evento do @zipter98 fez e achei legal, mas nao estou conseguindo configurar ele, tipo eu quero ele como actionid 3434 e o evento não fechar, porque o dele fecha
       
      evento criado por @zipter98
       
       
    • Por Sekk
      Bom gente, é o seguinte, estou usando o seguinte script e a seguinte tag:
       
      TAG:
       
      SCRIPT:


        O problema é que, as posições:  
      Essas posições não funcionam, esse script é o do PISO FALANTE, então as outras posições funcionam normalmente, mas as posições citadas separadamente, não aparecem o TEXTO selecionado.
       
       
      PLZ, ajuda por favor msm, é muito necessário no meu server!!!
       
       
       
      OBRIGADO DESDE JÁ!

      up
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo