Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa Tarde pessoal! venho mais uma vez aqui tentar uma solução para resolver um probleminha em meu script de mortes, então eu tenho um mapa com um evento chamado capture the flag,

 

pra quem não sabe é um evento onde sao divididos dois times e o objetivo é roubar a bandeira do outro time e trazer de volta para a sua base, quem fizer mais pontos ganha, mas dentro do evento podem haver batalhas, para deixar mais dinamico a brincadeira, mas ai que esta o problema quando o player morre dentro desse evento o certo era ele retornar para sua base, mas esta indo para o templo. 

 

enfim, eu como curioso catuquei de mais aqui pra ver alguma forma de consertar, então consegui detectar que o problema esta na parte de PrepareDeath dentro do script de mortes do evento.

 

pra vcs terem noção, quando eu deleto o script de mortes comuns(fora do evento) e faço um teste com somente o scrpt de morte no ctf, ele da o mesmo problema , o player é lançado para o templo novamente.

 

enfim será que pode ser que o script não esteja reconhecendo a área do evento, tipo, para o player morrer e não ir para o templo, somente quanto estiver nesta área?? pois não ha função de reconhecimento no script...

 

enfim, quero só fazer os players ao morrer continuar na base deles no evento e não ir para o templo. em anexo deixo o script de mortes no evento.

 

agradeço a atenção de vcs.

 

 

ctf_death.lua

Link para o post
Compartilhar em outros sites

Olá amigo, o erro não está no script. e sim no mapa do seu servidor.

 

Você colocou as ids no piso tudo certinho?

 

como está aqui: 

image.png.8e9932a033bfde5a519f97cdfb2c96e1.png

 

Se sim, vamos lá!

 

O evento é composto por dois lados. então significa que você vai ter que criar uma posição para cada lado no remeres.

 

pergunta: mas aonde?

 

R: vai em Map> Edit Town e crie as posições. para cada lado. exemplo:

image.png.739bb45cb463fd7332ff780bcd075131.png

 

E coloque as posições do lado esquerdo e direito. como está aqui:

 

Vermelho:

image.png.ccdb7e97db78dc78749b0baf107abb83.png

 

Time verde:

image.png.ac4c87fa0406538a062317d2207e9d05.png

 

e é só coloca as posições do lado direito e esquerdo no script na lib e pronto. quando morrer ele voltará ao seu lado do time.

é isto, e desculpe se errei em algo. qualquer coisa é só falar ai.

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

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

Olá amigo, o erro não está no script. e sim no mapa do seu servidor.

 

Você colocou as ids no piso tudo certinho?

 

como está aqui: 

image.png.8e9932a033bfde5a519f97cdfb2c96e1.png

 

Se sim, vamos lá!

 

O evento é composto por dois lados. então significa que você vai ter que criar uma posição para cada lado no remeres.

 

pergunta: mas aonde?

 

R: vai em Map> Edit Town e crie as posições. para cada lado. exemplo:

image.png.739bb45cb463fd7332ff780bcd075131.png

 

E coloque as posições do lado esquerdo e direito. como está aqui:

 

Vermelho:

image.png.ccdb7e97db78dc78749b0baf107abb83.png

 

Time verde:

image.png.ac4c87fa0406538a062317d2207e9d05.png

 

e é só coloca as posições do lado direito e esquerdo no script na lib e pronto. quando morrer ele voltará ao seu lado do time.

é isto, e desculpe se errei em algo. qualquer coisa é só falar ai.

Boa Tarde meu amigo! 

 

então, essa parte da lib não tem criado... vc poderia me ajudar então a criar essa lib? pois não tem nada na lib que fala sobre o evento ctf.

 

sobre a criação da posição dos times no remeres, eu acabei de fazer, só falta criar a lib com o reconhecimento e criar uma id para colocar nos tiles

 

agradeço de mais pela sua atenção! aguardo um feedback

Link para o post
Compartilhar em outros sites

Qual versão do tfs?

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

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

Qual versão do tfs?

TheForgottenServer, version 0.3.6 (Crying Damson)

 

cara acho q vc tem razão ... nossa até q enfim vou poder ver esse evento funcionar direito hahaha

so pra esclarecer melhor , pra te ajudar a pensar melhor sobre o problema... 

 

esse evento ele só tem scripts em : creaturescript, globalevents e movements...

 

em creature esta o script de mortes e avisos de drop da bandeira

em globalevents esta a abertura tempo local das bandeiras 

em movements esta a separaçao dos times em um tile, os outfits, os pontos feitos e o reconhecimento do time vencedor

 

Link para o post
Compartilhar em outros sites

Então apenas pra funcionar, faça como eu falei lá em cima e adiciona os id do tile nos pisos ☺

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites

então, é só pegar o id, por exemplo usando sua imagem... o id do time vermelho é 19 ou seja eu vou onde o personagem tem que nascer e pôr 19 no id do piso? desculpe a ignorância é q realmente eu não sei muita coisa, sei bem básico sobre os scripts... e outra duvida em qual parte do script do evento q ele vai reconhecer essa tile?

 

desde já agradeço e irei reputar vc mesmo sem testar, pois foi a unica pessoa que esta tentando me ajudar desde anos tentando consertar isso.

Link para o post
Compartilhar em outros sites

Você não faz ID como o meu. você tem que cria tipo uma city pra criar house tlgd? 

mas ai, cê faz diferente, não precisa criar house, apenas você cria o nome da city(dos lados) e coloca as posições de cada lado

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites

tudo bem entendi isso.  eu fiz ... da uma olhada na imagem:

 

town.thumb.jpg.2f5d5fd86c53ab61a45f23f917f5cd39.jpg

 

sendo que em qual parte do script ele vai executar para que ele seja teleportado para ai?

 

function onPrepareDeath(cid, deathList)
    if isPlayer(cid) == true and getPlayerStorageValue(cid,1000) > 0 then
--basically
    else
        return true
end

 

até entao o script esta para morrer e logo abaixo nas informaçoes do player red e blue estao assim:

 

~~red~~

 

if getPlayerStorageValue(cid,1000) == config.redTeam then
    setPlayerStorageValue(cid,1003, 1)

    local fromPos = getCreaturePosition(cid)
    doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid), TRUE)
    doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid), TRUE)
    doTeleportThing(cid, config.redSide)
    doRemoveCondition(cid,CONDITION_INFIGHT)

 

~~blue~~

 

if getPlayerStorageValue(cid,1000) == config.blueTeam then
    setPlayerStorageValue(cid,1004, 1)

    local fromPos = getCreaturePosition(cid)
    doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid), TRUE)
    doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid), TRUE)
    doTeleportThing(cid, config.blueSide)
    doRemoveCondition(cid,CONDITION_INFIGHT)

 

entao quero saber onde é que entra o comando para ele ler que o town do time vermelho é 11 e o town do time azul é 12, na hora que ele morre?

 

 

Link para o post
Compartilhar em outros sites

Vai no movements.xml e ver qual id está dos 2 scripts que tu mandou ai. 

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites

  <movevent type="StepIn" uniqueid="2015" event="script" value="events/capture the flag/ctf_set_teams.lua"/>
  <movevent type="StepIn" uniqueid="2016" event="script" value="events/capture the flag/Red_Flag_Plate.lua"/>
  <movevent type="StepIn" uniqueid="2017" event="script" value="events/capture the flag/Blue_Flag_Plate.lua"/>
  <movevent type="StepIn" uniqueid="2018" event="script" value="events/capture the flag/ctf_determine_winner.lua"/>

 

bom dia @RicK Sanchez 

 

então, estou fazendo vários testes mudando varias funções e tal pegando parte de outros scripts e etc....

e verifiquei uma coisa... 

 

eu desabilitei o script playerdeath, pra poder deixar so o script ctf_death funcionando, e cheguei a seguinte conclusão:

tudo que eu faço ou mudo mesmo com o playerdeath desabilitado ele teleporta para o templo.

 

inclusive fui no script login, apaguei uma parte la que tambem teleporta o player para o templo(apaguei para fazer o teste) e mesmo assim continuou indo para o templo.

 

fiz outro teste também... modifiquei o town do script config, mudei até as coordenadas que o novo player tem que teleportar e vc nao vai acreditar ... mesmo assim teleporta para o templo.

 

então eu acho que tem algum script forçando ele a ir para o templo independente da morte. eu não sei se isso é na database ou no remeres ou sql.

 

talvez essa analise minha te ajuda a pensar melhor sobre a hipótese de ser algo mais.

 

so mais uma coisa, tem como vc me explicar como da rep+, eu vou te dar mesmo que não consiga me ajudar .... só pelo fato de esta dando atenção para o meu tópico, coisa que poucos fazem hoje em dia, não sei por que!

_____________________________________________________________________________________________________________________________________________________________________________________________________

 

vamos fazer um seguinte... vou postar todos os scripts que esse evento tem, ai vc da uma avaliada melhor sobre eles.

 

 

events.lua ctf_death.lua login.lua Red_Flag_Plate.lua Blue_Flag_Plate.lua ctf_determine_winner.lua ctf_set_teams.lua Red_Flag_Score.lua Blue_Flag_Score.lua ctf_score.lua

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 Vorkhon
      Ola tudo bom?! Eu quero fazer com que quando o monstro X for derrotado o player muda a outfit para o monstro X de forma permanente e que mudasse de classe. É possível?
       
      --------------------------------------------------------------------------------------
       
      Exemplo:

      Player mata minotauro.

      O player vira um minotauro (outfit) e muda de classe para minotauro. 
       
      --------------------------------------------------------------------------------------

      Dúvida: É possivel travar outfit por classe? Eu queria que o player nao mudasse de outfit que fosse fixo, mas por classe. 
       
    • Por Thony D. Serv
      tfs 0.4 (não testei em outras apenas na 0.4)
      Esse script eu fiz pois, meu servidor sempre que reiniciava todos os players voltavam sem bless, então para sanar isso eu fiz um check de bless pela database para poder sempre que cair o servidor os players não morressem sem bless e dropassem os itens
      vamos lá!

      Primeiro Execute Este Comando Em Sua Db:
       

      Va No Fim E Adicione
      050-function.lua 
       

      Agora vá no seu comando de Bless ou Npc e ponha cada um no seu devido lugar
       
       
      Agora Em Creaturescript/scripts Crie Uma Pasta Chamada Bless E Ponha La Dentro:

      blessingdeath.lua
       

      blessinglogin.lua
       

      Adicione Ambas No Login.lua
       
       
      Creaturescript.xml
       

      -- Creditos A Mim Mesmo hahaha. Espero Ajudar Vocês ?
    • Por FlameArcixt
      ?HORDER LEADER SYSTEM?
      Já vou me adiantando, fiz o script mas não sou programador, testei varias e varias vezes aqui e deu certo, se não der ai eu não ofereço suporte, sorry, se algum programador quiser melhorar o código fica a vontade.
      Como Funciona: Um monstro especial "Boss", quando você targeta nele, ele Cria vários outros monstros mais fracos para ajudar ele. só fiz esse script pra contribuir aqui no tk.
      ?Em data\creaturescript\creaturescript.xml registre?
      ?Em data\creaturescript\script crie um arquivo com nome "target.lua" e cole o código?
      ?Para isso funcionar, você deve registrar os eventos nos monstros que você for usar EX: ?
      O que mudei no script desde o beta? simples, agora só vai spawnar se o monstro levar dano, e a storage global só volta a -1 se o monstro morrer.
      Prováveis problemas? sim, o script foi feito para boss, ou seja, se tiver mais de dois boss no mapa pode dar problema, por exemplo, um boss é atacado e a storage fica ativada, mas ele não é morto então não desativa a storage, se você for matar o outro boss, os monstros não irão nascer, pois a storage já vai estar ativada, ou seja, deixe apenas um boss por vez.
      Só isso mesmo, suporte só com 10zão no pixpobre?
      Agradecimentos ao @Vodkart(Ajudou muito com erros/ediçoes).
    • Por Vodkart
      Resumo: Código funciona para distribuir Premium Account para jogadores que recém criaram a conta, uma forma de beneficiar e usufruir das vantagens de serem Premium no seu servidor!
       
      Execute no seu banco de dados
       
      ALTER TABLE `accounts` ADD `premiumgift` INT NOT NULL DEFAULT '0'  
      e no seu script do onLogin use desta maneira:
       
      function onLogin(cid) local days = 3 if db.getResult("SELECT `premiumgift` FROM `accounts` WHERE `id` = "..getPlayerAccountId(cid)):getDataInt("premiumgift") <= 0 then doPlayerAddPremiumDays(cid, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua account acabou de receber "..days.." dias de premium, boa diversão!") db.executeQuery("UPDATE `accounts` SET `premiumgift` = 1 WHERE `id` = "..getPlayerAccountId(cid)) end return true end  
       
    • Por So volto tarde
      O titúlo do tópico é bem auto explicativo, mas para garantir, segue um gif do funcionamento:

       
       
      Segue abaixo instruções para o funcionamento do código 
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo