Ir para conteúdo

[ Talkaction ]Remover Red E Black Skull Por Talkaction


Joca96

Posts Recomendados

Olá XTibianos, andei procurando muito esse Script por todos os lugares e infelizmente não encontrei. Então decidi dar uma olhada em uns tutoriais de Lua para OTservers e aprendi a fazer um 100% funcional.

 

Autor: Joca
Versão: 8.54
Testado: TFS 0.3.6
Tipo: TalkAction

 

Crie um arquivo na pasta \data\talkactions\scripts e coloque o nome removered.lua agora coloque isso nele:

 

local COST = 3000000 ----- Preço par Remover o Red Skull em Gold Pieces

function onSay(cid, words, chanel, param)
   if getCreatureSkullType(cid) == SKULL_RED then
       if doPlayerRemoveMoney(cid, COST) then
	    doCreatureSetSkullType(cid, SKULL_NONE)
           doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Red Skull removed for: " .. COST)
           doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA)
       else
           doPlayerSendCancel(cid, "You don't have enough money.")
           doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
       end
   else
       doPlayerSendCancel(cid, "You are not with Red Skull.")
       doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
   end
end

 

Agora vá em talkactions.xml e adicione isso:

<talkaction words="!red" script="removered.lua"/>

 

E está pronto seu comando para remover red skull por 3kk!!

 

Agora o para Black skull seguindo o mesmo raciocínio. Crie um arquivo em \data\talkactions\scripts e coloque o nome de removeblack.lua e coloque isso dentro:

 

local COST = 6000000 ------- Preço para Tirar Black Skull em Gold Pieces

function onSay(cid, words, chanel, param)
   if getCreatureSkullType(cid) == SKULL_BLACK then
       if doPlayerRemoveMoney(cid, COST) then
	    doCreatureSetSkullType(cid, SKULL_NONE)
           doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Black Skull removed for: " .. COST)
           doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA)
       else
           doPlayerSendCancel(cid, "You don't have enough money.")
           doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
       end
   else
       doPlayerSendCancel(cid, "You are not with Black Skull.")
       doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
   end
end

 

Agora vá em talkactions.xml e adicione isso:

<talkaction words="!black" script="removeblack.lua"/>

 

E pronto, a Black Skull vai ser removida por 6kk!!

 

Créditos:

90% by me

10% para o criador do script !buypremium que vem na maioria dos ot's que eu peguei uma pequena parte dele.

 

Comentem plx!!!

Editado por Joca96
Link para o comentário
Compartilhar em outros sites

ae eu arrumei seu script:

black skull:

 

function onSay(cid, words, chanel, param)

if getCreatureSkullType(cid) == SKULL_BLACK then

if doPlayerRemoveMoney(cid, COST) then

doCreatureSetSkullType(cid, SKULL_NONE)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Black Skull removed for: " .. COST)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA)

else

doPlayerSendCancel(cid, "You don't have enough money.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

else

doPlayerSendCancel(cid, "You are not with Black Skull.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

end

Legenda:

Rosa:no lugar de cost coloque:6000000

 

Red skull:

function onSay(cid, words, chanel, param)

if getCreatureSkullType(cid) == SKULL_RED then

if doPlayerRemoveMoney(cid, COST) then

doCreatureSetSkullType(cid, SKULL_NONE)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Red Skull removed for: " .. COST)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA)

else

doPlayerSendCancel(cid, "You don't have enough money.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

else

doPlayerSendCancel(cid, "You are not with Red Skull.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

end

Legenda:

rosa:no lugar de cost coloque 3000000

 

boa ideia "remover black e red skull" se quiser fazer parceria nos scripts comigo estou a disposiçao!

Editado por CoOcAiNaA
Link para o comentário
Compartilhar em outros sites

ae eu arrumei seu script:

black skull:

 

 

Legenda:

Rosa:no lugar de cost coloque:6000000

 

Red skull:

 

Legenda:

rosa:no lugar de cost coloque 3000000

 

boa ideia "remover black e red skull" se quiser fazer parceria nos scripts comigo estou a disposiçao!

 

faz um favor fica quieto que tu não entende nada de variaveis pelo visto.

 

e mesmo assim no seu script com ou sem dinheiro o player vai remover a skull.

Link para o comentário
Compartilhar em outros sites

e mesmo assim no seu script com ou sem dinheiro o player vai remover a skull.

 

Pois aqui ta não funciona sem dinheiro olha:

 

redpbl.jpg

 

Ta funcionando 100% o script! Obrigado por se preocupar!

Link para o comentário
Compartilhar em outros sites

A lógica do script está correta, não vi nenhum erro.

 

cara num ta danu certo, eu coloco td isso aew q vc pedio, ai na ora q eu ligo o ot aparece error in talkaction, ai eu tiro esses negocios e da td certo.

vlw flw

 

Poste uma SS do erro, talvez o script possa até ser melhorado.

Link para o comentário
Compartilhar em outros sites

local COST = 3000000 ----- Preço par Remover o Skull em Gold Pieces

function onSay(cid, words, chanel, param)
   if getCreatureSkullType(cid) == SKULL_RED or getCreatureSkullType(cid) == SKULL_BLACK then
       if doPlayerRemoveMoney(cid, COST) == TRUE then
           doCreatureSetSkullType(cid, SKULL_NONE)
           doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your Skull was removed for: " .. COST)
           doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA)
       else
           doPlayerSendCancel(cid, "You don't have enough money.")
           doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
       end
  else
      doPlayerSendCancel(cid, "You are not with Black or Red Skull.")
      doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
  end
end

 

Eu acredito que ela não remove os frags, então se você matar um ela vai voltar...

Se isso acontecer me avise que eu passo uma linha de codigo para tirar

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

o script é bom, mais tem um problema... quando o player remove o red ou o black skull, apenas desapareçe a cavera dele, mais os frags continuam, ou seja se ele matar que seja uma pessoa, ele volta a ser um red skull...

o talkaction deveria remover os frags, e não a caverinha...

Editado por GoodHattiattyd
Link para o comentário
Compartilhar em outros sites

cara esse script ja existe no Xtibia

se é só remover as skull,o kakilo fez um sistema pela talkaction tbm que remove todas as skull,incluindo a white skull,e tudo somente em 1 script,nao necessitando de 2 ou mais para executar a mesma açao...

 

http://www.xtibia.com/forum/topic/124671-talkaction-removedor-de-skulls/

 

eu ainda não consegui,e nem achei um script que removesse as frags...

Link para o comentário
Compartilhar em outros sites

Simplesmente não tem como fazer um script que remova as frags.

Ter tem, mas não valeria a pena.

Porque?

Não existe a string frags dentro de players, e é setado como player_deaths. Para fazer um script que removesse frags deveria procurar em "player_deaths" todos que foram mortos pelo nome do jogador, e remover. Isso iria consumir muita memória e travar o servidor, pelo menos no meu ponto de vista, e do ponto de vista do Diogo.

 

Abraços.

Link para o comentário
Compartilhar em outros sites

@Henrique Moura

 

Na verdade a tabela players_death armazena os ids e a data, logo o server teria qeu epgar os ids dos kills, comparar com os ids da tabela players_killers e deposi excluir se houvesse alguma relação... mas isto não gasta tanta memória como você e alguns afirmam...

 

 

 

@topic

 

poderia ser feito em um script apenas... =x

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
×
×
  • Criar Novo...