Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Eae galera do TK como eu faço tipo um bau que só pode pegar 1 por mc:

 

EX: 1 player clica no BAU e pega o item ai se ele clicar no bau com OUTRO CHAR DO MESMO IP ele não consegue pegar o item a mensagem vai apareçer assim > Não é possivel pegar o item com MC <

 

OBS : EU USO TFS 1.0X(OTX) Servidor 8.60 :)

Editado por igorcano1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@igorcano1

Seria algo realmente complicado, a unica lógica para um código que consigo pensar nesse momento seria:
- Clicar no Bau

- Verificar se o IP está em um Array(lista)

 -> Se Estiver

    - Manda mensagem que a pessoa já adquiriu

 -> Não Estiver

    - Da o item

    - Adiciona o IP no Array

 

 

porém o problema disso seria, que tu nunca poderia fazer essa quest novamente........ isso não bloqueia apenas mc's, mas varios outros casos, até mesmo por exemplo quem joga em lan house, faria mais mal que bem...

Editado por Knightmare Projects
Marcar @Igorcano1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Knightmare Projects é porque seria para um evento então para os players não ficarem criando MC para pegar o item queria colocar isso.

 

Link para o post
Compartilhar em outros sites
2 minutes ago, igorcano1 said:

@Knightmare Projects é porque seria para um evento então para os players não ficarem criando MC para pegar o item queria colocar isso.

 

Vou tentar, o problema é que grande parte das funções que penso serem necessárias nunca usei...

Link para o post
Compartilhar em outros sites

@Knightmare ProjectsProjectsProjectsvaProjectsProjectsProjects  valeu

 

Editado por igorcano1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 minute ago, igorcano1 said:

@Knightmare ProjectsProjectsProjectsqh

vai fazer isso apenas de vez em quando ou várias vezes? (porque dai faço um modo para remover os ips do evento anterior, e assim vão poder usar denovo no próximo evento)

Link para o post
Compartilhar em outros sites

@Knightmare Projects evento vai acontecer todos os dias as 23:00 então o player tem que pegar dinovo no próximo evento.

Editado por igorcano1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
4 minutes ago, igorcano1 said:

@Knightmare Projects evento vai acontecer todos os dias as 23:00 então o player tem que pegar dinovo no próximo evento.

então, adicionar um globalevent as 23:00 que reseta a lista? e qual a storage tu acha que seria bom usar aqui? afinal não sei as que tão sendo usadas ai

Editado por Knightmare Projects
. (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Knightmare Projects Sim isso mesmo todos os dias as 23:00 resetar a lista. Storage 9881.

Editado por igorcano1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

data/actions/scripts/NOMEDOSCRIPT.lua

function onUse(cid, item, frompos, item2, topos)
queststorage = 9881
queststatus = getPlayerStorageValue(cid,queststorage)
if queststatus == -1 then
questipdone = 0
playerip = getPlayerIp(cid)
file = io.open('data/actions/scripts/iplist.txt', 'r')
while true do
local line = file:read("*l")
if line == nil then break end
if line == tostring(playerip) then questipdone = 1 end
end
ile:close()
if questipdone == 0 then

doCreatureSay(cid, "Voce abriu o bau e recebeu a recompensa!", TALKTYPE_ORANGE_1)
doPlayerAddItem(cid,ITEMID,QUANTIA)
setPlayerStorageValue(cid,queststorage,1)
doSendMagicEffect(getPlayerPosition(cid), 30)
file = io.open('data/actions/scripts/iplist.txt','a')
file:write("" .. playerip .. "\n")
file:close()

else
doCreatureSay(cid, "Apenas um jogador por IP pode adquirir a recompensa!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
else
doCreatureSay(cid, "Vazio!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end


end

Crie também junto o arquivo iplist.txt que vai armazenar a lista de IPs

 

 

data/actions/actions.xml
 

<action actionid="ACTIONID" script="NOMEDOSCRIPT.lua"/>

 

agora em data/globalevents/scripts/CLEANIPLIST.lua

 

function verifyTime(interval)
if getWorldTime() > 2259 and getWorldTime() < 2301
doBroadcastMessage("Lista de IPs Resetada! Bau liberado!")
file = io.open('data/actions/scripts/iplist.txt', 'w')
file:write("")
file:close()
return true
end
end

data/globalevents/globalevent.xml

<globalevent name="CleanIPList" interval="30000" event="script" value="CLEANIPLIST.lua"/> <!-- Verifica a cada 30 Segundos se é hora ou não, se for ele vai limpar -->

Eu não testei ele porque to com nenhum ot aqui baixado. @igorcano1

 

 

Editado por Knightmare Projects
.. (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Knightmare ProjectsProjeProjectsPro 17:00 estarei chegando em casa e já testo e falo se funcionou :)

@Knightmare Projects deu erro no globalevents 

erro.png

@Knightmare Projects na parte do actions está tudo 100% só está dando erro no globalevents

Editado por igorcano1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
2 horas atrás, igorcano1 disse:

@Knightmare ProjectsProjeProjectsPro 17:00 estarei chegando em casa e já testo e falo se funcionou :)

@Knightmare Projects deu erro no globalevents 

erro.png

Só faltou um then no arquivo CLEANIPLIST.lua

function verifyTime(interval)
if getWorldTime() > 2259 and getWorldTime() < 2301 then
doBroadcastMessage("Lista de IPs Resetada! Bau liberado!")
file = io.open('data/actions/scripts/iplist.txt', 'w')
file:write("")
file:close()
return true
end
end

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites
14 minutos atrás, luangop disse:

Só faltou um then no arquivo CLEANIPLIST.lua


function verifyTime(interval)
if getWorldTime() > 2259 and getWorldTime() < 2301 then
doBroadcastMessage("Lista de IPs Resetada! Bau liberado!")
file = io.open('data/actions/scripts/iplist.txt', 'w')
file:write("")
file:close()
return true
end
end

 

sempre os piores erros são nas partes mais pequenas, no fim isso me passou despercebido, ainda bem que você viu o problema ai xD

Link para o post
Compartilhar em outros sites
2 horas atrás, Knightmare Projects disse:

data/actions/scripts/NOMEDOSCRIPT.lua


function onUse(cid, item, frompos, item2, topos)
queststorage = 9881
queststatus = getPlayerStorageValue(cid,queststorage)
if queststatus == -1 then
questipdone = 0
playerip = getPlayerIp(cid)
file = io.open('data/actions/scripts/iplist.txt', 'r')
while true do
local line = file:read("*l")
if line == nil then break end
if line == tostring(playerip) then questipdone = 1 end
end
ile:close()
if questipdone == 0 then

doCreatureSay(cid, "Voce abriu o bau e recebeu a recompensa!", TALKTYPE_ORANGE_1)
doPlayerAddItem(cid,ITEMID,QUANTIA)
setPlayerStorageValue(cid,queststorage,1)
doSendMagicEffect(getPlayerPosition(cid), 30)
file = io.open('data/actions/scripts/iplist.txt','a')
file:write("" .. playerip .. "\n")
file:close()

else
doCreatureSay(cid, "Apenas um jogador por IP pode adquirir a recompensa!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
else
doCreatureSay(cid, "Vazio!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end


end

Crie também junto o arquivo iplist.txt que vai armazenar a lista de IPs

 

 

data/actions/actions.xml
 


<action actionid="ACTIONID" script="NOMEDOSCRIPT.lua"/>

 

agora em data/globalevents/scripts/CLEANIPLIST.lua

 


function verifyTime(interval)
if getWorldTime() > 2259 and getWorldTime() < 2301
doBroadcastMessage("Lista de IPs Resetada! Bau liberado!")
file = io.open('data/actions/scripts/iplist.txt', 'w')
file:write("")
file:close()
return true
end
end

data/globalevents/globalevent.xml


<globalevent name="CleanIPList" interval="30000" event="script" value="CLEANIPLIST.lua"/> <!-- Verifica a cada 30 Segundos se é hora ou não, se for ele vai limpar -->

Eu não testei ele porque to com nenhum ot aqui baixado. @igorcano1

 

 

Se fosse eu, faria a tag do globalevent assim:
 

<globalevent name="CleanIpList" time="23:00" event="script" value="CLEANIPLIST.lua"/>

Pois da forma que você fez, vai verificar durante o dia todo, a cada 30 segundos. E dessa forma o script só roda no momento especificado.

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites
3 minutos atrás, luangop disse:

Se fosse eu, faria a tag do globalevent assim:
 


<globalevent name="CleanIpList" time="23:00" event="script" value="CLEANIPLIST.lua"/>

Pois da forma que você fez, vai verificar durante o dia todo, a cada 30 segundos. E dessa forma o script só roda no momento especificado.

Eu nunca tinha feito um globalevent antes, e não achei um exemplo desse modo que fizesse ser na hora, então fiz um que testava a todo momento se fosse a hora do script funcionar

Link para o post
Compartilhar em outros sites
Agora, igorcano1 disse:

@Knightmare Projects uma duvida no outro dia as 23:00 ele vai conseguir pegar o item como o mesmo char?

boa... boa... outro problema que você me lembrou. tem que de algum modo mudar a storage de todos os players.......
@luangop teria alguma idéia?

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo