Ir para conteúdo

Fight System E Heart System E Npc Draken Fighter


DevilMoon

Posts Recomendados

Fight System:

 

 

Bom Galera Tudo Bem? Lembra aqui na Area de Talkactions Tinha um Sistema de Fight que tu falava !fight NOMEDOPLAYER, 1 e o Script tava todo erradao.

Entao Fui tentar Mecher no Script e Ageitei umas coisinhas e Outras ate que uma hora deu um Bug no Script e eu nao consegui Resolver :p

 

Elseif e RETURN TRUE

 

Bom Pedi para meu Professor Gordo e Tesudo Vodkart para dar umas Ageitadas... e Primeiramente a Talkaction Ira Remover um Item que é as Herts Depois Falo Disso..

 

Antigo Script estava um Calapso, Tinha que falar !fight DevilMoon, 1 e acresentar a virgula e o 1 entao removemos Isso e demos umas Ageitadas.. O Vodkart Ok!

 

 

Vamos ao que Intereça Vá em Data>Talkactions Crie uma pasta.lua chamada desafio.lua e coloque isso:

 

--[[ Fight System by Subwat]]--
--[[ Updated by Vodkart ]]--

function onSay(cid, words, param)

config = { 
level1= 100, -- level necessario do player 1 pra usar o fight system.  
level2= 100, -- level necessario do player 2 pra usar o fight system.  
pid=getPlayerGUID(cid), -- não mecha  
premium = "yes", -- se precisa ser premium account ("yes" or "no") 
redskull="yes", -- players com red skull podem huntar? ("yes" or "no").  
prot="no", -- players precisam estar em protection zone pra huntar? ("yes" or "no").  
bat="no", --players precisam estar sem fight pra huntar? ("yes" or "no").
Posplayer1 = {x=1007, y=989, z=7}, -- para onde o jogador que deu fight sera levado
Posplayer2 = {x=1012, y=989, z=7}, -- para onde o jogador que aceito fight sera levado
RemoveItem = "yes", -- se ira remover o item ("yes" or "no")
item = 5943, -- id do item
storage = 9696
}  


if words == '!fight' then


local player = getPlayerByName(param)  
local pid = getPlayerByNameWildcard(param)  
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")  
return TRUE  
end 


if(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then  
doPlayerSendTextMessage(cid,22,"apenas player sem red skull podem Usar Fight System.")  

elseif (getPlayerLevel(cid) < config.level1) then
doPlayerSendTextMessage(cid,22,"você precisa ter level " .. config.level1 .. " pra usar o fight system.")

elseif (getPlayerLevel(player) < config.level2 ) then
doPlayerSendTextMessage(cid,22,"o jogador não tem level " .. config.level2 .. " para vc dar fight system.")  

elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then  
doPlayerSendTextMessage(cid,22,"você precisa estar em protection zone pra usar o fight system.")  

elseif(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then  
doPlayerSendTextMessage(cid,22,"você precisa estar sem battler pra usar o fight system.")  

elseif(config.redskull == "no") and (getCreatureSkullType(player) == 4) then  
doPlayerSendTextMessage(cid,22,"o outro player precisa estar sem red skull usar o fight system.")  

elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(player)) == FALSE) then  
doPlayerSendTextMessage(cid,22,"o outro player precisa estar em protection zone pra usar o fight system.")  

elseif(config.bat == "yes") and (getCreatureCondition(player, CONDITION_INFIGHT) == TRUE) then  
doPlayerSendTextMessage(cid,22,"o outro player precisa estar sem battler pra usar o fight system.")  

elseif(config.premium == "yes") and (not isPremium(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "apenas players com premium account podem dar fight.")

elseif(config.RemoveItem == "yes") and (doPlayerRemoveItem(cid, config.item, 1) == FALSE) then
doPlayerSendTextMessage(cid, 22, "Desculpe,voce não tem 1 " .. getItemNameById(config.item) .. " para dar fight.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)

elseif isPlayer(player) then 
doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"Voce acaba de Desafiar o Player chamado " .. getPlayerName(player) .."  espere ele aceitar.")      
doPlayerSendTextMessage(player,MESSAGE_STATUS_WARNING,getCreatureName(cid) .. ' Acaba De Dar Fight em Você,o pvp entre os dois não resultará em skulls deseja aceitar? diga !aceitar se não diga !recusar.')
setPlayerStorageValue(player, config.storage, 1)
doTeleportThing(cid,config.Posplayer1)
doCreatureSetSkullType(cid, 2)
end
return TRUE
end


if words == '!aceitar' then
if getPlayerStorageValue(cid,config.storage) >= 1 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "o jogador aceito,começara o fight.")
setPlayerStorageValue(cid, config.storage, -1) 
doCreatureSetSkullType(cid, 2)   
doTeleportThing(cid,config.Posplayer2)
else
doPlayerSendTextMessage(cid, 22, "Desculpe,voce não foi envitado para fight.")
end
return TRUE
end

if words == '!recusar' then
if getPlayerStorageValue(cid,config.storage) >= 1 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "você recusou o fight.")
setPlayerStorageValue(cid, config.storage, -1)
end
return TRUE
end

return TRUE  
end

 

E Agora vá em Data>Talkactions.xml e Acressente esta Tag:

 

<talkaction words="!fight;!aceitar;!recusar" event="script" value="desafio.lua"/>

 

Para Desafiar o Player so Falar !fight DevilMoon ou !fight NOMEDOPLAYER

 

Heart System:

 

Bom Heart System, Nao Sabia que Existia e Fui Fazendo as vezes fico Fazendo Scripts para ir Pegando a "Manha" De Mecher entao Fizz e Testei e Ficou Legal, Porem pesquisei no Google e Achei Varios...o Leo Criador do Styller e Muintos Outros. Mais Vim Postar Aqui!!

 

Vá em Data>CreatureEvents>Scripts crie uma pasta.lua chamada hearts.lua e coloque isso:

 

function onDeath(cid, corpse, lastHitKiller, mostDamageKiller)
   local cidpos = getPlayerPosition(lastHitKiller)
   loot = 5943
   item = doPlayerAddItem(lastHitKiller,loot,1)
   if(isPlayer(lastHitKiller) == TRUE) then
       hitKillerName = getPlayerName(lastHitKiller)
       doSetItemSpecialDescription(item,"This is the heart of "..getPlayerName(cid).." killed at Level "..getPlayerLevel(cid).." by "..hitKillerName..".")
       doPlayerSendTextMessage(lastHitKiller, MESSAGE_STATUS_CONSOLE_ORANGE, "You Killed " .. getCreatureName(cid) .. ".")
       doSendMagicEffect(cidpos,12)
   else
       hitKillerName = getCreatureName(lastHitKiller)
       doSetItemSpecialDescription(item,"This is the heart of "..getPlayerName(cid).." killed at Level "..getPlayerLevel(cid).." by a "..hitKillerName..".")
   end
   setItemName(item, ""..getPlayerName(cid).."\'s Heart")
   return TRUE
end 

 

Agora vá em Data>CreatureScripts.xml e Adicione esta Tag la:

 

<event type="death" name="Reward" event="script" value="hearts.lua"/>

 

Assim Tu mata um Player e tu Vai Ganhar um Item Morgaroth Heart, So que com o outro name assim!!

 

 

 

Draken Fighter:

 

Um Npc para Ajudar os Noobs a Saber Duelar, Comprar e Vender suas Hearts se nao quiserem Duelar!!

 

Vá em Data>Npc Crie uma pasta.xml chamada Draken Fighter e coloca isso dentro:

 

<npc name="Draken Fighter" script="data/npc/scripts/hearts.lua" access="5" walkinterval="1000" lookdir="1">
       <health now="1000" max="1000"/>
       <look type="144" head="97" body="97" legs="94" feet="97" addons="3"/>
<parameters>
       <parameter key="message_greet" value="Hey |PLAYERNAME| Compro e Vendo {Hearts} de Players Mortos diga {Trade} Se Tiver Alguns! Diga {Info} Para Saber mais Sobre Fight!"/>
       <parameter key="message_farewell" value="Venha Sempre aqui Se Tiver Mais!"/>
       <parameter key="module_keywords" value="1" />
       <parameter key="keywords" value="info;hearts" />
       <parameter key="keyword_reply1" value="Para Duelar fale !fight nomedoplayer.  Nao Pode Duelar com Pessoas da Staff, e Custa 1 Heart para Duelar." />
       <parameter key="keyword_reply2" value="Hearts sao a Riqueza do Seu Inimigo que Foi Morto quando Voce Matou-o"/>
       <parameter key="module_shop" value="1"/>
</parameters>
</npc>

 

Agora vá em Data>Npcs>Scripts crie uma pasta.lua chamada hearts e coloque isso:

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)                          npcHandler:onCreatureAppear(cid)                        end
function onCreatureDisappear(cid)                       npcHandler:onCreatureDisappear(cid)                     end
function onCreatureSay(cid, type, msg)                  npcHandler:onCreatureSay(cid, type, msg)                end
function onThink()                                      npcHandler:onThink()                                    end

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)

shopModule:addBuyableItem({'heart'}, 5943, 100000, 1, 'heart')
shopModule:addSellableItem({'heart'}, 5943, 10000, 1, 'heart')

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

 

Motivo do Fight, Npc e Heart

 

Fight, Voce pode Deichar sem Item ou com Item vai ser mais Emocionante pelomenos ele Paga Algo, Se nao vai ficar desafiando Toda Hora, Isso poderia Ser Chato..

 

Npc, Ele Pode Ser Muinto Util para quem Recem Criou Char, Ou ate mesmo os Players do seu ot que nao sabem a novidade!!

 

Hearts, Pura Diversao Ganha Premios e quando tu mata um Top voce pode colocar na Sua House...

 

 

Screen Shoots:

 

Draken Fighter:

 

printsdetibia046.jpg

 

Fight System:

 

printsdetibia049.jpg

 

Heart System:

 

printsdetibia047.jpg

 

Arena Sbot:

 

Voces podem Tirar uma Ideia como eu Fiz a Minha.

A E eu matei o Carinha na Arena ele Foi so num Hadouken.

 

printsdetibia050.jpg

 

 

 

Obs: Nao Liguem para o 1 Player Online Recem Tinha Ligado o Ot Oquey?

 

Sugestoes e Duvidas Somente Neste Topico!!

 

Abraços..

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

OFF - ALGUEM AE É DE PORTO ALEGRE RS E CONHECE A ESCOLA MONTEIRO LOBATO NA ANDRADAS?

 

Conheço!!

 

 

@Vodkart

 

 

Consegui Fazer Funfar, Tinha esquecido de colocar o event="script" por isso que nao funfava!!

vou editar e colocar..

 

 

Topico Reformulado

Link para o comentário
Compartilhar em outros sites

OFF - ALGUEM AE É DE PORTO ALEGRE RS E CONHECE A ESCOLA MONTEIRO LOBATO NA ANDRADAS?

 

ESTUDO NELA.

 

 

O SCRIPT FICOU PERFEITO,

TINHA SID0 MEU PRIMEIRO SCRIPT GRANDINHO POR ISSO QUE FICO TODO BUGADO.

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

ACHO Que ficaria Melhor SEM PRECISAR DO ITEM,OU SE FOSSE POR GRANA.

dae eu mudei pra 2160 koasokas ´só alguem ae sabe como botar a QUANTIDADE?

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

por dinheiro usa esse aqui:

 

 

 

--[[ Fight System by Subwat]]-- 
--[[ Updated by Vodkart ]]-- 

function onSay(cid, words, param) 

config = {  
level1= 100, -- level necessario do player 1 pra usar o fight system.   
level2= 100, -- level necessario do player 2 pra usar o fight system.   
pid=getPlayerGUID(cid), -- não mecha   
premium = "yes", -- se precisa ser premium account ("yes" or "no")  
redskull="yes", -- players com red skull podem huntar? ("yes" or "no").   
prot="no", -- players precisam estar em protection zone pra huntar? ("yes" or "no").   
bat="no", --players precisam estar sem fight pra huntar? ("yes" or "no"). 
Posplayer1 = {x=1007, y=989, z=7}, -- para onde o jogador que deu fight sera levado 
Posplayer2 = {x=1012, y=989, z=7}, -- para onde o jogador que aceito fight sera levado 
custo = "yes", -- se ira custar ("yes" or "no") 
price = 50000, -- preço do fight 
storage = 9696 
}   


if words == '!fight' then 


local player = getPlayerByName(param)   
local pid = getPlayerByNameWildcard(param)   
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then   
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")   
return TRUE   
end  


if(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then   
doPlayerSendTextMessage(cid,22,"apenas player sem red skull podem Usar Fight System.")   

elseif (getPlayerLevel(cid) < config.level1) then 
doPlayerSendTextMessage(cid,22,"você precisa ter level " .. config.level1 .. " pra usar o fight system.") 

elseif (getPlayerLevel(player) < config.level2 ) then 
doPlayerSendTextMessage(cid,22,"o jogador não tem level " .. config.level2 .. " para vc dar fight system.")   

elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then   
doPlayerSendTextMessage(cid,22,"você precisa estar em protection zone pra usar o fight system.")   

elseif(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then   
doPlayerSendTextMessage(cid,22,"você precisa estar sem battler pra usar o fight system.")   

elseif(config.redskull == "no") and (getCreatureSkullType(player) == 4) then   
doPlayerSendTextMessage(cid,22,"o outro player precisa estar sem red skull usar o fight system.")   

elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(player)) == FALSE) then   
doPlayerSendTextMessage(cid,22,"o outro player precisa estar em protection zone pra usar o fight system.")   

elseif(config.bat == "yes") and (getCreatureCondition(player, CONDITION_INFIGHT) == TRUE) then   
doPlayerSendTextMessage(cid,22,"o outro player precisa estar sem battler pra usar o fight system.")   

elseif(config.premium == "yes") and (not isPremium(cid)) then 
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "apenas players com premium account podem dar fight.")


elseif(config.custo == "yes") and (doPlayerRemoveMoney(cid, config.price) == FALSE) then 
doPlayerSendTextMessage(cid, 22, "Desculpe,voce não tem " .. config.price .. " gps para dar fight.") 
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) 

elseif isPlayer(player) then  
doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"Voce acaba de Desafiar o Player chamado " .. getPlayerName(player) .."  espere ele aceitar.")       
doPlayerSendTextMessage(player,MESSAGE_STATUS_WARNING,getCreatureName(cid) .. ' Acaba De Dar Fight em Você,o pvp entre os dois não resultará em skulls deseja aceitar? diga !aceitar se não diga !recusar.') 
setPlayerStorageValue(player, config.storage, 1) 
doTeleportThing(cid,config.Posplayer1) 
doCreatureSetSkullType(cid, 2) 
end 
return TRUE 
end 


if words == '!aceitar' then 
if getPlayerStorageValue(cid,config.storage) >= 1 then 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "o jogador aceito,começara o fight.") 
setPlayerStorageValue(cid, config.storage, -1)  
doCreatureSetSkullType(cid, 2)    
doTeleportThing(cid,config.Posplayer2) 
else 
doPlayerSendTextMessage(cid, 22, "Desculpe,voce não foi envitado para fight.") 
end 
return TRUE 
end 

if words == '!recusar' then 
if getPlayerStorageValue(cid,config.storage) >= 1 then 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "você recusou o fight.") 
setPlayerStorageValue(cid, config.storage, -1) 
end 
return TRUE 
end 

return TRUE   
end

 

 

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

  • 3 weeks later...
×
×
  • Criar Novo...