Ir para conteúdo
  • Cadastre-se

Normal [AJUDA/EXPLIQUEM] Dificuldade em meu script


Posts Recomendados

Ae galera do TK, estou começando a aprender a programar meus próprios script.

Tenho em mente um evento que já está até que 40% feito, porém, cheguei em uma parte que não faço a minima ideia de como fazer.

 

Explicação da minha dificuldade: Pretendo contar as mortes de duas equipe adversária(cada equipe representa uma storage) e após 15 minutos quem tiver o maior número de mortes ganhará uma recompensa.  Não faço a minima ideia de como fazer a contagem das mortes entre as equipes dentro do prazo de 15 minutos. 

 

 

OBS: Se poderem, me explica como trabalhar usando os Callbacks envolvidos nesse esquema ficarei grato. Obrigado!!

 

 

 

 

Editado por Bagon (veja o histórico de edições)

                                                       “Enquanto nos derem ao menos 1% de chance, seguiremos lutando.

                                                     E venceremos! Esse é o verdadeiro e único Clube da Fé! Vai São Paulo!”

                                                                                       spfc.png

Link para o post
Compartilhar em outros sites

Enquanto o evento ocorrer:

- Player do time A mata Player do time B -> aumenta o valor do globalstorage X

- Player do time B mata Player do time A -> aumenta o valor do globalstorage Y

 

Ao final do evento verifica qual o maior globalstorage.

Contato:

 

Link para o post
Compartilhar em outros sites

Bom, vou falar uma forma, mas não sei se seria a melhor de fazer esse evento.

Primeiramente eu colocaria um:

Spoiler

setGlobalStorageValue(storage, 0)
setGlobalStorageValue(globalStorageTeamRed, 0)
setGlobalStorageValue(globalStorageTeamBlue, 0)

 

 (usará para começar a contar as mortes).

E isso:

addEvent(setGlobalStorageValue, 15 * 60 * 1000, storage, -1)
addEvent(setGlobalStorageValue, 15 * 60 * 1000, globalStorageTeamRed, -1)
addEvent(setGlobalStorageValue, 15 * 60 * 1000, globalStorageTeamBlue, -1)

(usará para encerrar a contagem)

 

Depois eu criaria um arquivo com a função onDeath(cid, corpse, deathList) no creaturescripts.xml para adicionar a contagem. Nele você colocaria algo similar a isso:

Spoiler

function onDeath(cid, corpse, deathList)
	if getGlobalStorageValue(storage) == -1 then return true end

	local globalStorageTeamRed = 1111
	local globalStorageTeamBlue = 2222

	if getPlayerStorageValue(cid, storageDoSeuTeam) == 1 then -- TEAM RED
		setGlobalStorageValue(globalStorageTeamRed, getGlobalStorageValue(globalStorageTeamRed) + 1)
	else -- TEAM BLUE
		setGlobalStorageValue(globalStorageTeamBlue, getGlobalStorageValue(globalStorageTeamBlue) + 1)
	end
    return true
end

 

 

Sei que foi uma explicação bem ruim, mas se você tiver um conhecimento básico de lua acho que entenderá.

Link para o post
Compartilhar em outros sites

@Noninhouh e @Dwarfer

 

a função onPrepareDeath pode ser usada também ?

 

Essa função eu tinha configurado para quando o player morrer ser teletransportado de volta ao evento

Editado por Bagon (veja o histórico de edições)

                                                       “Enquanto nos derem ao menos 1% de chance, seguiremos lutando.

                                                     E venceremos! Esse é o verdadeiro e único Clube da Fé! Vai São Paulo!”

                                                                                       spfc.png

Link para o post
Compartilhar em outros sites

Creio que sim, se ela está funcionando para o player voltar ao evento, provavelmente deve funcionar, porém não sei qual a diferença dela pra a função onDeath se alguém pudesse explicar pra mim seria bom kk

Link para o post
Compartilhar em outros sites

@Noninhouh @Bagon 

 

Vamos lá... irei explicar com um diálogo...

 

Jovem gafanhoto: Qual a diferença do onDeath e o onPrepareDeath?

 

Tio Antha: Como o próprio nome já diz, um ocorre somente quando ele morre (o onDeath) e o outro ocorre quando ele se prepara para morrer (o onPrepareDeath)

 

Jovem gafanhoto: Mas tio Anta, então quando o player morre roda somente o script death?

 

Tio Antha: NEGATIVO, antes do player morrer o servidor executa o script do prepareDeath pois eh quando se prepara para morrer e depois se executa o script death.

 

Jovem gafanhoto: Nooossa tio Anta, então é uma idiotice os desenvolvedores fazerem as duas functions já que as duas só vão ser executadas quando eles morrerem né?

 

Tio Antha: NEGATIVO jovem gafanhoto, há casos em que o player "se prepara para morrer" porém ele não morre é executado o script referente ao prepareDeath .

 

Jovem gafanhoto: Que mentira seu gorducho!! Se for verdade, me dê um exemplo!!

 

Tio Antha: Simples, em arenas pvps, onde se coloca tile pvp pelo map editor, quando o player "morre" na arena, ele não chega a morrer, pois não perde nada, nem fica corpo e blablabla... logo neste caso por exemplo, será executado SOMENTE o creatureevent correspondente ao prepareDeath e nenhum correspondente ao death iria ser executado.

 

Jovem gafanhoto: Hmmm, entendi... dessa vez passa, mas na próxima te pego.

 

:)

 

 

Espero que tenham entendido...

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