Ir para conteúdo

! Perfect Bounty Hunter ! ~ Com Php


WarW0lf

Posts Recomendados

Como funciona?

Bounty System é um script que visa o pvp.
Um player diz o comando /bounty [prize],[nick]. e a partir daí o player que foi colocado em [nick] passa a ser procurado, e o primeiro a matá-lo ganha uma recompensa.

Vamos lá...

Execute os comandos em seu PhpMyAdmin:

CREATE TABLE IF NOT EXISTS `bounty_hunters` (


`id` int(11) NOT NULL auto_increment,
`fp_id` int(11) NOT NULL,
`sp_id` int(11) NOT NULL,
`k_id` int(11) NOT NULL,
`added` int(15) NOT NULL,
`prize` bigint(20) NOT NULL,
`killed` int(11) NOT NULL,
`kill_time` int(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



Vá em data/creaturescripts/scripts/,e crie um arquivo bounty.lua e cole isto:

function onKill(cid, target)


if isPlayer(target) == TRUE then
pid = cid
pid2 = getPlayerGUID(target)
local result_plr = db.getResult("SELECT * FROM `bounty_hunters` WHERE `sp_id` = "..pid2.." AND `killed` = 0;")
if(result_plr:getID() ~= -1) then
prize = tonumber(result_plr:getDataInt("prize"))
bid = tonumber(result_plr:getDataInt("id"))
result_plr:free()
else
prize = 0
bid = 0
end
if (bid ~= 0 and prize ~= 0 and not(getTileInfo(getCreaturePosition(cid)).pvp)) then
db.executeQuery("UPDATE `bounty_hunters` SET `killed` = 1, `k_id`="..getPlayerGUID(cid)..", `kill_time` = " .. os.time() .. " WHERE `id` = "..bid..";")
doPlayerAddMoney(cid,prize)
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,"[bounty System]: You killed "..getPlayerName(target).."! You gained the bounty that was put on his/her head!")
doSendMagicEffect(getCreaturePosition(cid), 27)
doBroadcastMessage("[bounty System]: "..getPlayerName(cid).." killed "..getPlayerName(target).." and gained the bounty! ("..prize.." gold)", MESSAGE_EVENT_ADVANCE)
end
end return TRUE
end



Vá em data/creaturescripts/scripts/ e coloque isto em login.lua :



registerCreatureEvent(cid, "Bounty")



Vá em
data/talkactions/scripts/ e crie um arquivo tbounty.lua

function onSay(cid, words, param)

if(param == "") then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[bounty System]: Usage: \"!bounty [gold],[nick]\" where gold is at least 10000.")
return TRUE
end
local t = string.explode(param, ",")
if(not t[2]) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[bounty System]: Usage: \"!bounty [gold],[nick]\" where gold is at least 10000.")
return TRUE
end

local sp_id = getPlayerGUIDByName(t[2])
if sp_id == nil then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[bounty System]: You cant put a bounty on imaginary people, your target doesn't exist.")
return TRUE
end local result_plr = db.getResult("SELECT * FROM `bounty_hunters` WHERE `sp_id` = "..sp_id.." AND `killed` = 0;")
if(result_plr:getID() ~= -1) then
is = tonumber(result_plr:getDataInt("sp_id"))
result_plr:free()
else
is = 0
end
prize = tonumber(t[1])
if(prize == nil or prize < 10000) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[bounty System]: Usage: \"!bounty [gold],[nick]\" where gold is at least 10000.")
return TRUE
end

if(prize >= 999999999) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[bounty System]: Sorry, bounty limit is at 999.9 million gold!")
return TRUE
end if is ~= 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "[bounty System]: "..t[2].." has already got a bounty on his/her head.")
return TRUE
end

if doPlayerRemoveMoney(cid, prize) == TRUE then
db.executeQuery("INSERT INTO `bounty_hunters` VALUES (NULL,"..getPlayerGUID(cid)..","..sp_id..",0," .. os.time() .. ","..prize..",0,0);")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "[bounty System]: Bounty on "..t[2].."s head has been added successfully!")
doBroadcastMessage("[bounty System]: A bounty of "..prize.." gold for "..t[2].."s head has been submitted by "..getPlayerName(cid)..". The first one to kill "..t[2].." will get the gold!", MESSAGE_EVENT_ADVANCE)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[bounty System]: You dont have enough gold!")
end


return 1
end


Vá em data/talkactions/talkactions.xml e coloque:







<talkaction words="/bounty;!bounty;!hunt;/hunt" script="tbounty.lua" />



Pronto!!!



Demonstração:



bountyc1.png


successl.png


Página (Php)

<?























































































































































































































mysql_connect("localhost","user","password");
mysql_select_db("database");
$main_content .= '<P ALIGN=CENTER>
<br>
<FONT SIZE=5 COLOR=#CFF00C>
How to use...
</FONT>
<br>
<br>
<FONT SIZE=2 COLOR=#CFF00C>
* !hunt [prize],[nick] :
<FONT SIZE=1 COLOR=#FCC33F>
Wysyla ogloszenie o huncie dla postaci. Cena w tysiacach.<br>
Przyklad: !hunt 100,Infinity
</FONT><br>
</FONT>
</P>
<br>
<br>
<center>
<h1>
Bounty Hunters
</h1>
</center>
<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%>
<TR BGCOLOR="#505050">
<TD CLASS=white width=30%>
<center><B>Zlecil</B></center>
</TD>
<TD CLASS=white width=30%>
<center><B>Nagroda</B></center>
</TD>
<TD CLASS=white width=30%>
<center><B>Ofiara</B></center>
</TD>
<TD CLASS=white width=10%>
<center><B>Zabity przez</B></center>
</TD>
</TR>';
$inv = mysql_query("SELECT * FROM `bounty_hunters` ORDER BY `added` DESC");
$num = 0;
$color=$config['site']['darkborder'];
while($tab = mysql_fetch_array($inv)){
if($num%2 == 0){$color=$config['site']['darkborder'];}else{$color=$config['site']['lightborder'];}
$pid = $tab['fp_id'];
$sid = $tab['sp_id'];
$kid = $tab['k_id'];
$killed = $tab['killed'];
$prize = $tab['prize']*1000;
if($killed == 0){
$kill = '<font color="red">Nobody!</font>';
}else{
$k = mysql_query("SELECT * FROM `players` WHERE `id` = ".$kid."");
$k1 = mysql_fetch_array($k);
$kill_name = $k1['name'];
$kill = '<a href="index.php?subtopic=characters&name='.$kill_name.'">'.$kill_name.'</a>';
}
$f = mysql_query("SELECT * FROM `players` WHERE `id` = ".$pid."");
$f1 = mysql_fetch_array($f);
$s = mysql_query("SELECT * FROM `players` WHERE `id` = ".$sid."");
$s1 = mysql_fetch_array($s);
$fn = $f1['name'];
$sn = $s1['name'];
$main_content .= '
<TR BGCOLOR="'.$color.'">
<TD>
<center>
<b>
<a href="index.php?subtopic=characters&name='.$fn.'">'.$fn.'</a>
</b>
</center>
</TD>
<TD>
<center>
<b>
'.$prize.' gp
</b>
</center>
</TD>
<TD>
<center>
<b>
<a href="index.php?subtopic=characters&name='.$sn.'">'.$sn.'</a>
</b>
</center>
</TD>
<TD>
<center>
<b>
'.$kill.'
</b>
</center>
</TD>
</TR>';
$num++;
}
if($num == 0){
$main_content.='<TR BGCOLOR="'.$color.'">
<TD colspan=4>
<center>
Currently there are not any bounty hunter offer.
</center>
</TD>
</TR>';
}
$main_content .='</TABLE><div align="right">Copyright © <a href="http://otibia.net">oTibia.net</a>.</div>';
?>





Créditos: Pheenix e Eu ;)


Comente, Avalie e REP++

 

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

  • 2 weeks later...

A página em php está um tanto bugada.

 

@Edit

Consegui a página pra gesior, sem bugs.

 

 


<?php 
mysql_connect("localhost","root","password"); 
mysql_select_db("database"); 

$main_content .= '<P ALIGN=CENTER> 
   <br> 
   <FONT SIZE=5 COLOR=#CFF00C> 
       How to use... 
   </FONT> 
   <br> 
   <br> 
   <FONT SIZE=2 COLOR=#CFF00C> 
   * !hunt [prize],[nick] : 
       <FONT SIZE=1 COLOR=#FCC33F> 
           Sends an announcement about huncie to form. Price in thousands.<br> 
           Example: !hunt 100,Infinity 
       </FONT><br> 
   </FONT> 
</P> 
<br> 
<br> 
   <center> 
       <h1> 
           Bounty Hunters 
       </h1> 
   </center> 
       <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%> 
           <TR BGCOLOR="#505050"> 
               <TD CLASS=white width=30%> 
                   <center><B>Commissioned</B></center> 
               </TD> 
               <TD CLASS=white width=30%> 
                   <center><B>Award</B></center> 
               </TD> 
               <TD CLASS=white width=30%> 
                   <center><B>Offer</B></center> 
               </TD> 
               <TD CLASS=white width=10%> 
                   <center><B>Killed By</B></center> 
               </TD> 
           </TR>'; 
$inv = mysql_query("SELECT * FROM `bounty_hunters` ORDER BY `added` DESC"); 
$num = 0; 
$color=$config['site']['darkborder']; 
while($tab = mysql_fetch_array($inv)){ 
if($num%2 == 0){$color=$config['site']['darkborder'];}else{$color=$config['site']['lightborder'];} 
$pid = $tab['fp_id']; 
$sid = $tab['sp_id']; 
$kid = $tab['k_id']; 
$killed = $tab['killed']; 
$prize = $tab['prize']*1000; 
if($killed == 0){ 
$kill = '<font color="red">Nobody!</font>'; 
}else{ 
$k = mysql_query("SELECT * FROM `players` WHERE `id` = ".$kid.""); 
$k1 = mysql_fetch_array($k); 
$kill_name = $k1['name']; 
$kill = '<a href="index.php?subtopic=characters&name='.$kill_name.'">'.$kill_name.'</a>'; 
} 
$f = mysql_query("SELECT * FROM `players` WHERE `id` = ".$pid.""); 
$f1 = mysql_fetch_array($f); 
$s = mysql_query("SELECT * FROM `players` WHERE `id` = ".$sid.""); 
$s1 = mysql_fetch_array($s); 
$fn = $f1['name']; 
$sn = $s1['name']; 

$main_content .= ' 
       <TR BGCOLOR="'.$color.'"> 
           <TD> 
               <center> 
                   <b> 
                       <a href="index.php?subtopic=characters&name='.$fn.'">'.$fn.'</a> 
                   </b> 
               </center> 
           </TD> 
           <TD> 
               <center> 
                   <b> 
                       '.$prize.' gp 
                   </b> 
               </center> 
           </TD> 
           <TD> 
               <center> 
                   <b> 
                       <a href="index.php?subtopic=characters&name='.$sn.'">'.$sn.'</a> 
                   </b> 
               </center> 
           </TD> 
           <TD> 
               <center> 
                   <b> 
                       '.$kill.' 
                   </b> 
               </center> 
           </TD> 
       </TR>'; 
$num++; 
} 
if($num == 0){ 
       $main_content.='<TR BGCOLOR="'.$color.'"> 
           <TD colspan=4> 
               <center> 
                   Currently there are not any bounty hunter offer. 
               </center> 
           </TD> 
       </TR>'; 
} 
       $main_content .='</TABLE><div align="right">Copyright © <a href="http://otibia.net">oTibia.net</a>.</div>'; 
?>

 

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

  • 2 weeks later...
  • 2 weeks later...

Só preciso dar umas ajeitadas nas escritas e efeito e cái igual luva!

Seria legal também você tentar fazer um NPC em que você pega bountry hunter com 1 player randomicamente online do serv com level próximo! :p Só sugestão mas tá ótimo isso aí! Vou guardar o system pra futuros servs que vou faze pra mi u.u

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...