•••Bom Pessoal Já postei a versão anterior a alguns meses desse script que eu criei.. o vodkart deu uma modificada no script (melhorou o script),e depois trabalhei um pouco no script que ele melhorou e aqui está o resultado "Fight System 0.0.2".
•••Vá em talkactions/Scripts/ crie Um arquivo Chamado FIGHTSYSTEM.LUA cole isso dentro:
--Fight System by Subwat 0.0.2-- function onSay(cid, words, param) config = { level1= 10, -- level necessario do player 1 pra usar o fight system. level2= 10, -- 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 usar o fight system? ("yes" or "no"). prot="no", -- players precisam estar em protection zone pra usar o fight system? ("yes" or "no"). bat="no", --players precisam estar sem fight pra huntar? ("yes" or "no"). Posplayer1 = {x=288, y=433, z=6}, -- para onde o jogador que deu fight sera levado Posplayer2 = {x=295, y=433, z=6}, -- para onde o jogador que aceitou fight sera levado RemoveItem = "yes", -- se ira remover o item ("yes" or "no") item = 2160, -- id do item storage = 9696 } if words == '!fight' or param == "/fight" then local player = getPlayerByName(param) local pid = getPlayerByNameWildcard(param) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerPopupFYI(cid, "Este Jogador Não está Online Ou Não existe.") return TRUE end if(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then doPlayerPopupFYI(cid,"apenas player sem red skull podem Usar Fight System.") elseif (getPlayerLevel(cid) < config.level1) then doPlayerPopupFYI(cid,"você precisa ter level " .. config.level1 .. " pra usar o fight system.") elseif (getPlayerLevel(player) < config.level2 ) then doPlayerPopupFYI(cid,"o jogador não tem level " .. config.level2 .. " para vc dar fight system.") elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerPopupFYI(cid,"você precisa estar em protection zone pra usar o fight system.") elseif(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerPopupFYI(cid,"você precisa estar sem battler pra usar o fight system.") elseif(config.redskull == "no") and (getCreatureSkullType(player) == 4) then doPlayerPopupFYI(cid,"o outro player precisa estar sem red skull usar o fight system.") elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(player)) == FALSE) then doPlayerPopupFYI(cid,"o outro player precisa estar em protection zone pra usar o fight system.") elseif(config.bat == "yes") and (getCreatureCondition(player, CONDITION_INFIGHT) == TRUE) then doPlayerPopupFYI(cid,"o outro player precisa estar sem battler pra usar o fight system.") elseif(config.premium == "yes") and (not isPremium(cid)) then doPlayerPopupFYI(cid, "apenas players com premium account podem dar fight.") elseif(config.RemoveItem == "yes") and (doPlayerRemoveItem(cid, config.item, 1) == FALSE) then doPlayerPopupFYI(cid, "Desculpe,voce não tem 1 " .. getItemNameById(config.item) .. " para dar fight.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) elseif isPlayer(player) then doPlayerPopupFYI(cid,"Voce acaba de Desafiar o Player chamado " .. getPlayerName(player) .." espere ele aceitar.") doPlayerPopupFYI(player,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' or param == "!accept" then if getPlayerStorageValue(cid,config.storage) >= 1 then doPlayerPopupFYI(cid, "o jogador aceito,começara o DESAFIO!.") setPlayerStorageValue(cid, config.storage, -1) doCreatureSetSkullType(cid, 2) doTeleportThing(cid,config.Posplayer2) doTeleportThing(cid,config.Posplayer1) else doPlayerPopupFYI(cid, "Desculpe,voce não foi envitado para a Luta.") end return TRUE end if words == '!recusar' or param == "!recuse" then if getPlayerStorageValue(cid,config.storage) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "você recusou o a Luta.") setPlayerStorageValue(cid, config.storage, -1) end return TRUE end return TRUE end
•••Cole está tag em talkactions.xml:
<talkaction words="!fight;!aceitar;!recusar;/recuse;/fight" event="script" value="FIGHTSYSTEM.lua"/>
•••COMO FUNCIONA?
digite !fight Nome do jogador há desafiar.
e o jogador desafiado receberá a proposta de luta e deverá digitar !aceitar para aceitar a luta ou !recusar para cancelar a luta.
•••OBS: você deverá configurar as posições aonde os players seram teleportados para a luta ache está tag no inicio do script e modifique Posplayer1 = {x=288, y=433, z=6}, -- para onde o jogador que deu fight sera levado
Posplayer2 = {x=295, y=433, z=6}, -- para onde o jogador que aceitou fight sera levado .
créditos:
Subwat
Vodkart
TESTEM E COMENTEM VLW ATT