Ir para conteúdo
Banner com Efeitos

r0bert0lol

Héroi
  • Registro em

  • Última visita

Tudo que r0bert0lol postou

  1. @louco3626 Será que essas houses de "No Town" foram criadas com base no banco de dados quando você abriu o servidor mesmo após ter deletado o house.xml ? Pode ser que sim, verifique a tabela houses no seu banco de dados. Limpe a tabela houses, depois delete o arquivo house.xml e tente novamente xd
  2. @Jensen O Script fica assim : 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local XP = 100 -- Quantidade de Exp a receber local HP = 100 -- Quantidade de Vida a receber local stor = 11001 -- Storage local r_item = 100 -- ITEM NECESSARIO local qtd = 100 -- QUANTIDADE DE ITEM NECESSARIO if(msgcontains(msg, 'bonus') or msgcontains(msg, 'Bonus')) then selfSay('Deseja receber um bonus de Experiencia e Pontos de Vida?.{yes}', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, stor) < 1 then if getPlayerItemCount(cid, item) >= qtd then doPlayerAddExp(cid, XP) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+HP) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) selfSay('Parabens, voce recebeu um bonus de Experiencia e Vida.', cid) setPlayerStorageValue(cid, stor, 1) doPlayerRemoveItem(cid, r_item, qtd) else selfSay('Voce nao tem os items necessarios.', cid) else selfSay('Voce ja pegou seu bonus.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  3. @louco3626 deleta o arquivo-house.xml da sua pasta data/world que vai resetar tudo.
  4. Boa Tarde @leozincorsair , segue o script. Crie um NPC.xml <npc name="Iruka Sensei" script="data/npc/scripts/bonus.lua" walkinterval="2000" speed="0" floorchange="0"> <health now="1000" max="1000"/> <look type="215" head="0" body="86" legs="0" feet="38" addons="1"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME| voce deseja receber um {bonus} de vida e experiencia ?." /> </parameters> </npc> Crie um arquivo bonus.lua em npc/scripts 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local XP = 100 -- Quantidade de Exp a receber local HP = 100 -- Quantidade de Vida a receber local stor = 11001 -- Storage if(msgcontains(msg, 'bonus') or msgcontains(msg, 'Bonus')) then selfSay('Deseja receber um bonus de Experiencia e Pontos de Vida?.{yes}', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, stor) < 1 then doPlayerAddExp(cid, XP) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+HP) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) selfSay('Parabens, voce recebeu um bonus de Experiencia e Vida.', cid) setPlayerStorageValue(cid, stor, 1) else selfSay('Voce ja pegou seu bonus.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  5. r0bert0lol postou uma resposta no tópico em Suporte Tibia OTServer
    @ADM Mayk on BaiakME <?php function getCount ($table, $where = array() { global $SQL; $whereSql = $where['key'] . " " . $where['operation'] . " " . $where['value']; $sth = $SQL->prepare("SELECT COUNT(*) FROM $table WHERE $whereSql"); $sth->execute(); return $sth->fetch()[0]; } $query = $SQL->query('SELECT `players`.`name`,`players`.`id`,`players`.`level`, `players`.`experience`, `server_motd`.`id`, `server_motd`.`text` FROM `players`,`server_motd` WHERE `players`.`group_id` < '.$config['site']['players_group_id_block'].' AND `players`.`name` != "Account Manager" ORDER BY `players`.`level` DESC, `players`.`experience` DESC, `server_motd`.`id` DESC LIMIT 1;')->fetch(); $query2 = $SQL->query('SELECT `id`, `name` FROM `players` ORDER BY `id` DESC LIMIT 1;')->fetch(); $main_content .= ' <div class="TableShadowContainerRightTop" > <div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-rt.gif);" ></div> </div> <div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-rm.gif);" > <div class="TableContentContainer" > <table bgcolor='.$config['site']['darkborder'].' border=0 cellpadding=4 cellspacing=1 width=100%> <tr bgcolor='. $config['site']['vdarkborder'] .'> <td align="center" class=white colspan=1><b>Welcome to '.$config['server']['serverName'].'</b></td> <tr> <td> <table border=0 cellpadding=0 cellspacing=1 width=100%> <tr bgcolor='. $config['site']['lightborder'] .'> <td><center>Last joined us: <a href="?subtopic=characters&name='.urlencode($query2['name']).'">'.$query2['name'].'</a>, player number '.$query2['id'].'. Welcome and wish you a nice game!</center></td> </tr> <tr bgcolor='. $config['site']['lightborder'] .'> <td><center>Currently, the best player on the server is: <a href="index.php?subtopic=characters&name='.urlencode($query['name']).'"> '.$query['name'].'</a> (Lv. '.urlencode($query['level']).'). Congratulations!</center></td> </tr> <tr bgcolor='. $config['site']['lightborder'] .'> <td><center><b>Server motd:</b> '.$query['text'].'</center></td> </tr> </table> <table border=0 cellpadding=0 cellspacing=1 width=100%> <tr bgcolor='. $config['site']['lightborder'] .'> <td><center><b>Free Houses:</b> '.getCount("houses", array("key" => "owner", "operation" => "=", "value" => 0)).'</center></td> <td><center><b>Rented Houses:</b> '.getCount("houses", array("key" => "lastwarning", "operation" => ">", "value" => 1)).'</center></td> </tr> <tr bgcolor='. $config['site']['lightborder'] .'> <td><center><b>Accounts</b> in database: '.getCount("accounts", array("key" => "id", "operation" => ">", "value" => 0)).'</center></td> <td><center><b>Players</b> in database: '.getCount("players", array("key" => "id", "operation" => ">", "value" => 0)).'</center></td> </tr> <tr bgcolor='. $config['site']['lightborder'] .'> <td><center><b>Banned</b> accounts: '.getCount("bans", array("key" => "id", "operation" => ">", "value" => 0)).'</center></td> <td><center><b>Guilds</b> in databese: '.getCount("guilds", array("key" => "id", "operation" => ">", "value" => 0)).'</center></td> </tr> </table> <table bgcolor='.$config['site']['darkborder'].' border=0 cellpadding=4 cellspacing=1 width=100%> <tr border="1" bgcolor='. $config['site']['vdarkborder'] .'> <td align="center" class=white colspan=1><b>[Most Powerful GUIDs]</b></td> </tr> </table> <table width="100%"> <tr bgcolor='. $config['site']['lightborder'] .'>'; foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,`g`.`guild_logo` AS `logo`, COUNT(`g`.`name`) as `frags` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id` LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id` WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1 GROUP BY `name` ORDER BY `frags` DESC, `name` ASC LIMIT 0, 4;') as $guild) $main_content .= ' <td style="width: 25%; text-align: center;"> <a href="?subtopic=guilds&action=show&guild=' . $guild['id'] . '"><img src="/guild_image.php?id=' . $guild['id'] . '" width="64" height="64" border="0"/><br />' . $guild['name'] . '</a><br />' . $guild['frags'] . ' kills </td>'; $main_content .= ' </tr> </table> </td> </tr> </td> </tr> </table> </div> </div> <div class="TableShadowContainer" > <div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-bm.gif);" > <div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-bl.gif);" ></div> <div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-br.gif);" ></div> </div> </div>'; if(!defined('INITIALIZED')) exit; $tickerSql = $SQL->query("SELECT "); //NEWSTICKER $time = time(); $vTick = $SQL->query("SELECT " .$SQL->fieldName('date'). " FROM " .$SQL->tableName('z_news_tickers'). " WHERE " .$SQL->fieldName('hide_ticker'). " = '0'")->fetch(); if(isset($vTick['date'])){ $news_content .= ' <div id="NewsTicker" class="Box"> <div class="Corner-tl" style="background-image: url('.$layout_name.'/images/content/corner-tl.gif);"></div> <div class="Corner-tr" style="background-image: url('.$layout_name.'/images/content/corner-tr.gif);"></div> <div class="Border_1" style="background-image: url('.$layout_name.'/images/content/border-1.gif);"></div> <div class="BorderTitleText" style="background-image: url('.$layout_name.'/images/content/title-background-gray.gif);"></div> <img class="Title" src="'.$layout_name.'/images/header/headline-newsticker.gif" alt="Contentbox headline" /> <div class="Border_2"> <div class="Border_3"> <div class="BoxContent" style="background-image: url('.$layout_name.'/images/content/scroll.gif);">'; //##################### ADD NEW TICKER ##################### if($action == "newticker") { if($group_id_of_acc_logged >= $config['site']['access_tickers']) { $ticker_text = stripslashes(trim($_POST['new_ticker'])); $ticker_icon = (int) $_POST['icon_id']; if(empty($ticker_text)) { $news_content .= 'You can\'t add empty ticker.'; } else { if(empty($ticker_icon)) { $news_icon = 0; } $SQL->query('INSERT INTO '.$SQL->tableName('z_news_tickers').' (date, author, image_id, text, hide_ticker) VALUES ('.$SQL->quote($time).', '.$account_logged->getId().', '.$ticker_icon.', '.$SQL->quote($ticker_text).', 0)'); $news_content .= ' <center> <h2> <font color="red">Added new ticker:</font> </h2> </center> <hr/> <div id="newsticker" class="Box"> <div id="TickerEntry-1" class="Row" onclick=\'TickerAction("TickerEntry-1")\'> <div class="Odd"> <div class="NewsTickerIcon" style="background-image: url('.$layout_name.'/images/news/icon_'.$ticker['image_id'].'.gif);"></div> <div id="TickerEntry-1-Button" class="NewsTickerExtend" style="background-image: url('.$layout_name.'/images/general/plus.gif);"></div> <div class="NewsTickerText"> <span class="NewsTickerDate">'.date("d/m/Y", $time).' -</span> <div id="TickerEntry-1-ShortText" class="NewsTickerShortText">'; $news_content .= ' <a href="?subtopic=latestnews&action=deleteticker&id='.$time.'"> <img src="'.$layout_name.'/images/news/delete.png" border="0"> </a>'; $news_content .= short_text($ticker_text, 60).'</div> <div id="TickerEntry-1-FullText" class="NewsTickerFullText">'; $news_content .= '<a href="?subtopic=latestnews&action=deleteticker&id='.$time.'"><img src="'.$layout_name.'/images/news/delete.png" border="0"></a>'; $news_content .= $ticker_text.' </div> </div> </div> </div> </div> <hr/>'; } } else { $news_content .= 'You don\'t have admin rights. You can\'t add new ticker.'; } $news_content .= '<form action="?subtopic=latestnews" METHOD=post><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Back" alt="Back" src="'.$layout_name.'/images/buttons/_sbutton_back.gif" ></div></div></form>'; } //#################### DELETE (HIDE only!) TICKER ############################ if($action == "deleteticker") { if($group_id_of_acc_logged >= $config['site']['access_tickers']) { header("Location: "); $date = (int) $_REQUEST['id']; $SQL->query('UPDATE '.$SQL->tableName('z_news_tickers').' SET hide_ticker = 1 WHERE '.$SQL->fieldName('date').' = '.$date.';'); $news_content .= '<center>News tickets with <b>date '.date("j F Y, g:i a", $date).'</b> has been deleted.<form action="?subtopic=latestnews" METHOD=post><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Back" alt="Back" src="'.$layout_name.'/images/buttons/_sbutton_back.gif" ></div></div></form></center></div></div> </div> <div class="Border_1" style="background-image: url('.$layout_name.'/images/content/border-1.gif);"></div> <div class="CornerWrapper-b"><div class="Corner-bl" style="background-image: url('.$layout_name.'/images/content/corner-bl.gif);"></div></div> <div class="CornerWrapper-b"><div class="Corner-br" style="background-image: url('.$layout_name.'/images/content/corner-br.gif);"></div></div> </div>'; } else { $news_content .= '<center>You don\'t have admin rights. You can\'t delete tickers.<form action="?subtopic=latestnews" METHOD=post><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Back" alt="Back" src="'.$layout_name.'/images/buttons/_sbutton_back.gif" ></div></div></form></center>'; } } //show tickers if any in database or not blocked (tickers limit = 0) $tickers = $SQL->query('SELECT * FROM `z_news_tickers` WHERE hide_ticker != 1 ORDER BY date DESC LIMIT 5;'); $number_of_tickers = 0; if(is_object($tickers)) { foreach($tickers as $ticker) { if(is_int($number_of_tickers / 2)) $color = "Odd"; else $color = "Even"; $tickers_to_add .= '<div id="TickerEntry-'.$number_of_tickers.'" class="Row" onclick=\'TickerAction("TickerEntry-'.$number_of_tickers.'")\'> <div class="'.$color.'"> <div class="NewsTickerIcon" style="background-image: url('.$layout_name.'/images/news/icon_'.$ticker['image_id'].'.gif);"></div> <div id="TickerEntry-'.$number_of_tickers.'-Button" class="NewsTickerExtend" style="background-image: url('.$layout_name.'/images/general/plus.gif);"></div> <div class="NewsTickerText"> <span class="NewsTickerDate">'.date("d/m/Y", $ticker['date']).' -</span> <div id="TickerEntry-'.$number_of_tickers.'-ShortText" class="NewsTickerShortText">'; //if admin show button to delete (hide) ticker if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) { $tickers_to_add .= '<a href="?subtopic=latestnews&action=deleteticker&id='.$ticker['date'].'"><img src="'.$layout_name.'/images/news/delete.png" border="0"></a>'; } $tickers_to_add .= short_text($ticker['text'], 60).'</div> <div id="TickerEntry-'.$number_of_tickers.'-FullText" class="NewsTickerFullText">'; //if admin show button to delete (hide) ticker if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) { $tickers_to_add .= '<a href="?subtopic=latestnews&action=deleteticker&id='.$ticker['date'].'"><img src="'.$layout_name.'/images/news/delete.png" border="0"></a>'; } $tickers_to_add .= $ticker['text'].'</div> </div> </div> </div>'; $number_of_tickers++; } } } //adding news if($action == "newnews") { if($group_id_of_acc_logged >= $config['site']['access_news']) { $text = ($_REQUEST['text']); $char_id = (int) $_REQUEST['char_id']; $post_topic = stripslashes(trim($_REQUEST['topic'])); $smile = (int) $_REQUEST['smile']; $news_icon = (int) $_REQUEST['icon_id']; if(empty($news_icon)) { $news_icon = 0; } if(empty($post_topic)) { $an_errors[] .= 'You can\'t add news without topic.'; } if(empty($text)) { $an_errors[] .= 'You can\'t add empty news.'; } if(empty($char_id)) { $an_errors[] .= 'Select character.'; } //execute query if(empty($an_errors)) { $SQL->query("INSERT INTO `z_forum` (`id` ,`first_post` ,`last_post` ,`section` ,`replies` ,`views` ,`author_aid` ,`author_guid` ,`post_text` ,`post_topic` ,`post_smile` ,`post_date` ,`last_edit_aid` ,`edit_date`, `post_ip`, `icon_id`) VALUES ('NULL', '0', '".time()."', '1', '0', '0', '".$account_logged->getId()."', '".(int) $char_id."', ".$SQL->quote($text).", ".$SQL->quote($post_topic).", '".(int) $smile."', '".time()."', '0', '0', '".$_SERVER['REMOTE_ADDR']."', '".$news_icon."')"); $thread_id = $SQL->lastInsertId(); $SQL->query("UPDATE `z_forum` SET `first_post`=".(int) $thread_id." WHERE `id` = ".(int) $thread_id);//show added data $main_content .= '<form action="index.php?subtopic=latestnews" METHOD=post><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Back" alt="Back" src="'.$layout_name.'/images/buttons/_sbutton_back.gif" ></div></div></form>'; } else { //show errors $main_content .= '<div class="SmallBox" > <div class="MessageContainer" > <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div> <div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="ErrorMessage" > <div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div> <div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div> <div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif);" /></div><b>The Following Errors Have Occurred:</b><br/>'; foreach($an_errors as $an_error) { $main_content .= '<li>'.$an_error; } $main_content .= '</div> <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div> <div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> </div></div><br/>'; //okno edycji newsa z wpisanymi danymi przeslanymi wczesniej $main_content .= '<form action="index.php?subtopic=latestnews&action=newnews" method="post" ><table border="0"><tr><td bgcolor="D4C0A1" align="center"><b>Select icon:</b></td><td><table border="0" bgcolor="F1E0C6"><tr><td><img src="'.$layout_name.'/images/news/icon_0.gif" width="20"></td><td><img src="'.$layout_name.'/images/news/icon_1.gif" width="20"></td><td><img src="'.$layout_name.'/images/news/icon_2.gif" width="20"></td><td><img src="'.$layout_name.'/images/news/icon_3.gif" width="20"></td><td><img src="'.$layout_name.'/images/news/icon_4.gif" width="20"></td></tr><tr><td><input type="radio" name="icon_id" value="0" checked="checked"></td><td><input type="radio" name="icon_id" value="1"></td><td><input type="radio" name="icon_id" value="2"></td><td><input type="radio" name="icon_id" value="3"></td><td><input type="radio" name="icon_id" value="4"></td></tr></table></td></tr><tr><td align="center" bgcolor="F1E0C6"><b>Topic:</b></td><td><input type="text" name="topic" maxlenght="50" style="width: 300px" value="'.$post_topic.'"></td></tr><tr><td align="center" bgcolor="D4C0A1"><b>News<br>text:</b></td><td bgcolor="F1E0C6"><textarea name="text" rows="6" cols="60">'.$text.'</textarea></td></tr><tr><td width="180"><b>Character:</b></td><td><select name="char_id"><option value="0">(Choose character)</option>'.$str.'</select></td></tr><tr><td><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" ></div></div></form><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><img class="ButtonText" id="CancelAddNews" src="'.$layout_name.'/images/buttons/_sbutton_cancel.gif" onClick="location.href=\'index.php?subtopic=latestnews\';" alt="CancelAddNews" /></div></div></td></tr></table>'; } } else { $main_content .= 'You don\'t have site-admin rights. You can\'t add news.';} } if(!empty($tickers_to_add)) { //show table with tickers if($group_id_of_acc_logged >= $config['site']['access_admin_panel'] && $action!=newticker) $news_content .= '<script type="text/javascript"> var showednewticker_state = "0"; function showNewTickerForm() { if(showednewticker_state == "0") { document.getElementById("newtickerform").innerHTML = \'<form action="?subtopic=latestnews&action=newticker" method="post" ><table border="0"><tr><td bgcolor="D4C0A1" align="center"><b>Select icon:</b></td><td><table border="0" bgcolor="F1E0C6"><tr><td><img src="images/news/icon_0.gif" width="20"></td><td><img src="images/news/icon_1.gif" width="20"></td><td><img src="images/news/icon_2.gif" width="20"></td><td><img src="images/news/icon_3.gif" width="20"></td><td><img src="images/news/icon_4.gif" width="20"></td></tr><tr><td><input type="radio" name="icon_id" value="0" checked="checked"></td><td><input type="radio" name="icon_id" value="1"></td><td><input type="radio" name="icon_id" value="2"></td><td><input type="radio" name="icon_id" value="3"></td><td><input type="radio" name="icon_id" value="4"></td></tr></table></td></tr><tr><td align="center" bgcolor="D4C0A1"><b>New<br>ticker<br>text:</b></td><td bgcolor="F1E0C6"><textarea name="new_ticker" rows="3" cols="45"></textarea></td></tr><tr><td><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" ></div></div></form><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><img class="ButtonText" id="AddTicker" src="'.$layout_name.'/images/buttons/_sbutton_cancel.gif" onClick="showNewTickerForm()" alt="AddTicker" /></div></div></td></tr></table>\'; document.getElementById("jajo").innerHTML = \'\'; showednewticker_state = "1"; } else { document.getElementById("newtickerform").innerHTML = \'\'; document.getElementById("jajo").innerHTML = \'<div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><img class="ButtonText" id="AddTicker" src="'.$layout_name.'/images/buttons/addticker.gif" onClick="showNewTickerForm()" alt="AddTicker" /></div></div>\'; showednewticker_state = "0"; } } </script><div id="newtickerform"></div><div id="jajo"><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><img class="ButtonText" id="AddTicker" src="'.$layout_name.'/images/buttons/addticker.gif" onClick="showNewTickerForm()" alt="AddTicker" /></div></div></div><hr/>'; //add tickers list $news_content .= $tickers_to_add; //koniec $news_content .= '</div> </div> </div> <div class="Border_1" style="background-image: url('.$layout_name.'/images/content/border-1.gif);"></div> <div class="CornerWrapper-b"><div class="Corner-bl" style="background-image: url('.$layout_name.'/images/content/corner-bl.gif);"></div></div> <div class="CornerWrapper-b"><div class="Corner-br" style="background-image: url('.$layout_name.'/images/content/corner-br.gif);"></div></div> </div>'; } //NEWSTICKER END //FEATURED ARTICLE $featured_article = $SQL->query("SELECT * FROM z_featured_article ORDER BY id DESC LIMIT 1")->fetchAll(); if(isset($featured_article[0])) { foreach($featured_article as $featured) { $news_content .= ' <div id="FeaturedArticle" class="Box"> <div class="Corner-tl" style="background-image:url('.$layout_name.'/images/content/corner-tl.gif);"></div> <div class="Corner-tr" style="background-image:url('.$layout_name.'/images/content/corner-tr.gif);"></div> <div class="Border_1" style="background-image:url('.$layout_name.'/images/content/border-1.gif);"></div> <div class="BorderTitleText" style="background-image:url('.$layout_name.'/images/content/title-background-gray.gif);"></div> <img id="ContentBoxHeadline" class="Title" src="'.$layout_name.'/images/header/headline-featuredarticle.gif" alt="Contentbox headline" /> <div class="Border_2"> <div class="Border_3"> <div class="BoxContent" style="background-image:url('.$layout_name.'/images/content/scroll.gif);"> <div id="TeaserThumbnail">'; if(!empty($featured['read_more'])){ $news_content .= ' <a href="'.$featured['read_more'].'">'; } $news_content .= ' <img src="'.$layout_name.'/images/news/featuredthumb_5004.jpg" width="150" height="100" border=1 alt="" />'; if(!empty($featured['read_more'])){ $news_content .= ' </a>'; } $news_content .= ' </div>'; if(!empty($featured['read_more'])){ $news_content .= ' <a id="Link" href="'.$featured['read_more'].'">&raquo; read more</a>'; } $news_content .= ' <div id="TeaserText"> <div style="position: relative; top: -2px; margin-bottom: 2px;" > <b>'.$featured['title'].'</b> </div> '.$featured['text'].' </div> </div> </div> </div> <div class="Border_1" style="background-image:url('.$layout_name.'/images/content/border-1.gif);"></div> <div class="CornerWrapper-b"><div class="Corner-bl" style="background-image:url('.$layout_name.'/images/content/corner-bl.gif);"></div></div> <div class="CornerWrapper-b"><div class="Corner-br" style="background-image:url('.$layout_name.'/images/content/corner-br.gif);"></div></div> </div> '; } } //FEATURED ARTICLE END function replaceSmile($text, $smile) { $smileys = array( ':p' => 1, ':eek:' => 2, ':rolleyes:' => 3, ';)' => 4, ':o' => 5, ':D' => 6, ':(' => 7, ':mad:' => 8, ':)' => 9, ':cool:' => 10 ); if($smile == 1) return $text; else { foreach($smileys as $search => $replace) $text = str_replace($search, '<img src="layouts/tibiarl/images/forum/smile/'.$replace.'.gif" />', $text); return $text; } } function replaceAll($text, $smile) { $rows = 0; while(stripos($text, '[code]') !== false && stripos($text, '[/code]') !== false ) { $code = substr($text, stripos($text, '[code]')+6, stripos($text, '[/code]') - stripos($text, '[code]') - 6); if(!is_int($rows / 2)) { $bgcolor = 'ABED25'; } else { $bgcolor = '23ED25'; } $rows++; $text = str_ireplace('[code]'.$code.'[/code]', '<i>Code:</i><br /><table cellpadding="0" style="background-color: #'.$bgcolor.'; width: 480px; border-style: dotted; border-color: #CCCCCC; border-width: 2px"><tr><td>'.$code.'</td></tr></table>', $text); } $rows = 0; while(stripos($text, '[quote]') !== false && stripos($text, '[/quote]') !== false ) { $quote = substr($text, stripos($text, '[quote]')+7, stripos($text, '[/quote]') - stripos($text, '[quote]') - 7); if(!is_int($rows / 2)) { $bgcolor = 'AAAAAA'; } else { $bgcolor = 'CCCCCC'; } $rows++; $text = str_ireplace('[quote]'.$quote.'[/quote]', '<table cellpadding="0" style="background-color: #'.$bgcolor.'; width: 480px; border-style: dotted; border-color: #007900; border-width: 2px"><tr><td>'.$quote.'</td></tr></table>', $text); } $rows = 0; while(stripos($text, '[url]') !== false && stripos($text, '[/url]') !== false ) { $url = substr($text, stripos($text, '[url]')+5, stripos($text, '[/url]') - stripos($text, '[url]') - 5); $text = str_ireplace('[url]'.$url.'[/url]', '<a href="'.$url.'" target="_blank">'.$url.'</a>', $text); } while(stripos($text, '[player]') !== false && stripos($text, '[/player]') !== false ) { $player = substr($text, stripos($text, '[player]')+8, stripos($text, '[/player]') - stripos($text, '[player]') - 8); $text = str_ireplace('[player]'.$player.'[/player]', '<a href="?subtopic=&name='.urlencode($player).'">'.$player.'</a>', $text); } while(stripos($text, '[letter]') !== false && stripos($text, '[/letter]') !== false ) { $letter = substr($text, stripos($text, '[letter]')+8, stripos($text, '[/letter]') - stripos($text, '[letter]') - 8); $text = str_ireplace('[letter]'.$letter.'[/letter]', '<img src="images/letters/letter_martel_'.$letter.'.gif">', $text); } while(stripos($text, '[img]') !== false && stripos($text, '[/img]') !== false ) { $img = substr($text, stripos($text, '[img]')+5, stripos($text, '[/img]') - stripos($text, '[img]') - 5); $text = str_ireplace('[img]'.$img.'[/img]', '<img src="'.$img.'">', $text); } while(stripos($text, '[b]') !== false && stripos($text, '[/b]') !== false ) { $b = substr($text, stripos($text, '[b]')+3, stripos($text, '[/b]') - stripos($text, '[b]') - 3); $text = str_ireplace('[b]'.$b.'[/b]', '<b>'.$b.'</b>', $text); } while(stripos($text, '[i]') !== false && stripos($text, '[/i]') !== false ) { $i = substr($text, stripos($text, '[i]')+3, stripos($text, '[/i]') - stripos($text, '[i]') - 3); $text = str_ireplace('[i]'.$i.'[/i]', '<i>'.$i.'</i>', $text); } while(stripos($text, '[u]') !== false && stripos($text, '[/u]') !== false ) { $u = substr($text, stripos($text, '[u]')+3, stripos($text, '[/u]') - stripos($text, '[u]') - 3); $text = str_ireplace('[u]'.$u.'[/u]', '<u>'.$u.'</u>', $text); } return replaceSmile($text, $smile); } function showPost($topic, $text, $smile) { $text = nl2br($text); $post = ''; if(!empty($topic)) $post .= '<b>'.replaceSmile($topic, $smile).'</b>'; $post .= replaceAll($text, $smile); return $post; } if($group_id_of_acc_logged >= $config['site']['access_admin_panel'] && $action != 'newnews') { $main_content .= ' <font style="font-size: 16px; font-weight: bold; margin-left: 20px;">Adding News</font> <form action="index.php?subtopic=latestnews&action=newnews" method="post" > <table border="0"> <tr> <td bgcolor="D4C0A1" align="center"><b>Select icon:</b></td> <td> <table border="0"> <tr bgcolor="F1E0C6"> <td><img src="'.$layout_name.'/images/news/icon_0.gif" width="20"></td> <td><img src="'.$layout_name.'/images/news/icon_1.gif" width="20"></td> <td><img src="'.$layout_name.'/images/news/icon_2.gif" width="20"></td> <td><img src="'.$layout_name.'/images/news/icon_3.gif" width="20"></td> <td><img src="'.$layout_name.'/images/news/icon_4.gif" width="20"></td> </tr> <tr bgcolor="D4C0A1"> <td><input type="radio" name="icon_id" value="0" checked="checked"></td> <td><input type="radio" name="icon_id" value="1" /></td> <td><input type="radio" name="icon_id" value="2" /></td> <td><input type="radio" name="icon_id" value="3" /></td> <td><input type="radio" name="icon_id" value="4" /></td> </tr> </table> </td> </tr> <tr> <td align="center" bgcolor="F1E0C6"><b>Topic:</b></td> <td><input type="text" name="topic" maxlenght="50" style="width: 300px" ></td> </tr> <tr> <td align="center" bgcolor="D4C0A1"><b>News<br>text:</b></td>'; //Tiny Editor $main_content .= ' <script type="text/javascript" src="'.$layout_name.'/tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ // General options mode : "textareas", theme : "advanced", plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks", // Theme options theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,ltr,rtl", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, // Example content CSS (should be your site CSS) content_css : "css/content.css", // Drop lists for link/image/media/template dialogs template_external_list_url : "lists/template_list.js", external_link_list_url : "lists/link_list.js", external_image_list_url : "lists/image_list.js", media_external_list_url : "lists/media_list.js", // Style formats style_formats : [ {title : \'Bold text\', inline : \'b\'}, {title : \'Red text\', inline : \'span\', styles : {color : \'#ff0000\'}}, {title : \'Red header\', block : \'h1\', styles : {color : \'#ff0000\'}}, {title : \'Example 1\', inline : \'span\', classes : \'example1\'}, {title : \'Example 2\', inline : \'span\', classes : \'example2\'}, {title : \'Table styles\'}, {title : \'Table row 1\', selector : \'tr\', classes : \'tablerow1\'} ], // Replace values for the template plugin template_replace_values : { username : "Some User", staffid : "991234" } }); </script>'; $main_content .= ' <td bgcolor="F1E0C6"> <textarea name="text" id="elm1" rows="6" cols="60"></textarea> </td> </tr> <tr> <td width="180"><b>Character:</b></td> <td> <select name="char_id"> <option value="0">(Choose character)</option>'; foreach($account_logged->getPlayers() as $player) { $main_content .= '<option value="'.$player->getID().'">'.$player->getName().'</option>'; } $main_content .= ' </select> </td> </tr> <tr> <td> <div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div> <input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" > </div> </div> </form> </td> </tr> </table> <hr/>'; } $last_threads = $SQL->query('SELECT ' . $SQL->tableName('players') . '.' . $SQL->fieldName('name') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_text') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_topic') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('icon_id') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_smile') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('id') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('replies') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_date') . ' FROM ' . $SQL->tableName('players') . ', ' . $SQL->tableName('z_forum') . ' WHERE ' . $SQL->tableName('players') . '.' . $SQL->fieldName('id') . ' = ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('author_guid') . ' AND ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('section') . ' = 1 AND ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('first_post') . ' = ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('id') . ' ORDER BY ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('last_post') . ' DESC LIMIT ' . $config['site']['news_limit'])->fetchAll(); //Here start news if(isset($last_threads[0])) { foreach($last_threads as $thread) { $main_content .= ' <div class="NewsHeadline"> <div class="NewsHeadlineBackground" style="background-image:url('.$layout_name.'/images/news/newsheadline_background.gif)"> <img src="'.$layout_name.'/images/news/icons/newsicon_'.$thread['icon_id'].'.gif" class="NewsHeadlineIcon" alt=\'\' /> <div class="NewsHeadlineDate">'.date('M m Y', $thread['post_date']).' -</div> <div class="NewsHeadlineText">'.htmlspecialchars($thread['post_topic']).'</div> </div> </div> <table style=\'clear:both\' border=0 cellpadding=0 cellspacing=0 width=\'100%\'> <tr>'; $main_content .= ' <td style=\'padding-left:10px;padding-right:10px;\' >' . showPost('', $thread['post_text'], $thread['post_smile']) . '<br><p align="right"><a href="?subtopic=forum&action=show_thread&id=' . $thread['id'] . '">» Comment on this news</a></p></td>'; $main_content .= ' <td> <img src="'.$layout_name.'/images/global/general/blank.gif" width=10 height=1 border=0 alt=\'\' /> </td> </tr> </table><br />'; } } else $main_content .= '<h3>No news. Go forum and make new thread on board News.</h3>';
  6. @bpm91 Não, deixe 100 e a chance será de 10 % de acordo com as configurações estão no seu config.lua e login.lua
  7. @bpm91 Os valores das colunas loss_mana , loss_items, loss_skills estão errados, troque de 1000 para 100.
  8. Não entendi, se ele está invisível porque ele tomaria dano ? Criatura quando está com o defense invisible ativado ele só toma dano de area... @bpm91
  9. @bpm91 Olha cara muita coisa pode estar causando isso você tem que procurar, verifique esses possíveis locais que podem estar configurados errado config.lua deathLosePercent = -1 /data/creaturescripts/scripts/login.lua function onLogin(cid) local loss = getConfigValue('deathLostPercent') if(loss ~= nil) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10) end Também pode ser configurado a questão do loss no seu banco de dados, nos samples... Verifica a coluna loss_experience, mana, skills, conteiner e items veja se estão com valor = 100. Se não for erro de configuração, pode ser algum script que você tenha colocado no server, revise os scripts type ondeath do seu creaturescripts.xml
  10. @Rayo É isso mesmo que ele quer, @bpm91 é só inverter a ordem das condições function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 8087) < 1 then if getPlayerFreeCap(cid) >= 100 then doPlayerAddItem(cid,2147,6) setPlayerStorageValue(cid,8087,1) doPlayerSendTextMessage(cid,25,"You found a 6 small rubies!") else doPlayerSendTextMessage(cid,22,"You need 100 cap or more to loot this!") end else doPlayerSendTextMessage(cid,25,"It's empty.") end return TRUE end
  11. Tenta por um dentro do outro assim kkk@bpm91 function onUse(cid, item, frompos, item2, topos) if getPlayerFreeCap(cid) >= 100 then if getPlayerStorageValue(cid, 8087) < 1 then doPlayerAddItem(cid,2147,6) setPlayerStorageValue(cid,8087,1) doPlayerSendTextMessage(cid,25,"You found a 6 small rubies!") else doPlayerSendTextMessage(cid,25,"It's empty.") end else doPlayerSendTextMessage(cid,22,"You need 100 cap or more to loot this!") end return TRUE end
  12. r0bert0lol postou uma resposta no tópico em Suporte OTServer Derivados
    @VitaoGames Isso é um mod, você coloca o arquivo.xml na pasta mods do seu servidor.
  13. @RAJADAO Você ta usando o encaminhamento de uma forma errada, não deveria usar, e só usaria se quisesse que o seu domínio antique74 encaminhasse para outro domínio diferente exemplo antique75. Desativa o encaminhamento. Se mesmo você excluindo essa conexão do tipo A que fez não aparece a opção de editar da outra, aconselho você a entrar em contato com o suporte deles né... Também tenho um domínio godaddy e não tive problemas para editar veja;
  14. @bpm91 Adcione a tag em actions.xml <action itemid="Id do Item" script="Premium_Scroll.lua"/> Premium_Scroll.lua --Config-- local Scrolls = { [Id do Item] = {14, "Voce ganhou 14 Dias VIP."} } local DaysLimit = 360 -- Limite de dias premium --Config end -- function onUse(cid, item, fromPosition, itemEx, toPosition) if(Scrolls[item.itemid] ~= nil) then if(getPlayerPremiumDays(cid) + Scrolls[item.itemid][1]) >= DaysLimit then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao pode comprar mais "..DaysLimit.." dias vip.") else doPlayerAddPremiumDays(cid, Scrolls[item.itemid][1]) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Scrolls[item.itemid][2]) doRemoveItem(item.uid, 1) end return TRUE end return FALSE end Adcione a tag em actions.xml <action itemid="Id do Item" script="Points_Scroll.lua"/> Points_Scroll.lua local function doPlayerAddPremiumPoints(cid, count) db.query('UPDATE accounts SET premium_points = premium_points+'.. count ..' WHERE id = ' .. getAccountNumberByPlayerName(getCreatureName(cid))) end function onUse(cid, item, fromPosition, itemEx, toPosition) doPlayerAddPremiumPoints(cid, 30)--Quantidade de Pontos que o Item vai adcionar Exemplo : 30 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce ganhou 30 pontos.") doSendMagicEffect(getCreaturePosition(cid), 28) doRemoveItem(item.uid,1) return true end
  15. @RAJADAO Depois de comprar seu domínio acessa a parte de Gerenciamento de DNS, edita o registro de tipo A colocando seu IP do host para ser apontado, salva e espera alguns minutos.
  16. TFS 0.4 / OTX Olá galera, estou com uma dúvida em um código creaturescripts aqui, a ideia do código é fazer com que um X NPC seja criado no exato momento e local que uma Y Creatura seja morta. Código.lua local monstro = "Boss" local NPC = "NPC Boss" function onKill(cid, target, damage, flags) if getCreatureName(target) == monstro then doCreateNpc(NPC, getCreaturePosition(target)) end if getCreatureName(cid) == monstro then local pos = getCreaturePosition(cid) doRemoveCreature(cid) doCreateNpc(NPC, pos) end return true end Dúvida No caso desse código, o monstro quando for morto por 1 player será criado 1 NPC, ocorre que também se o monstro for atacado por 2 players será criado 2 NPC e assim por diante. Como eu limito para que, independentemente da quantidade de players que atacarem o monstro seja apenas criado ( 1 ) UM npc no local ?
  17. Se voce tiver dificuldades com source, mexe no config.lua rateMonsterDefense = 1.0 Testa colocar 2.0 e veja se o dano cai pela metade, se cair ficará igual ao dano que os players causam uns aos outros ;p kkk
  18. @fearson Agora vai, o erro estava no parametro do addevent que esqueci de trocar ;s local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_YELLOW) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 12) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -83.3, 0, -91.6, 0) local function onCastSpell1(cid, var) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position1, 77) return doCombat(cid, combat1, var) end function onCastSpell(cid, var) for k = 1, 5 do addEvent(function() if isCreature(cid) then addEvent(onCastSpell1, 1, cid, var) end end, 1 + ((k-1) * 200)) end return true end
  19. @fearson Eaí, tenta assim. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_YELLOW) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 12) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -83.3, 0, -91.6, 0) local function onCastSpell1(cid, var) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position1, 77) return doCombat(cid, combat1, var) end function onCastSpell(cid, var) for k = 1, 5 do addEvent(function() if isCreature(cid) then addEvent(onCastSpell1, 1, parameters) end end, 1 + ((k-1) * 200)) end return true end
  20. Quem é vivo sempre aparece, idae Weslwy. Apesar de parecer complexo, na verdade é completo, esse é o sistema de task que eu uso. É simples, basta criar um npc e configurar o mod. Quem é vivo sempre aparece, idae Weslwy.@weslwy Apesar de parecer complexo, na verdade é completo, esse é o sistema de task que eu uso. É simples, basta criar um npc e configurar o mod.
  21. Alterando o IP voce consegue colocar na lista denovo, porem se não corrigir o que causou o spoofing seu server é banido denovo. Revise areas No-logout em seu server, sistemas de prisões para jogadores geralmente são essas coisas que causam spoofing no otserverlist
  22. @Vodkart Valeu meu querido !
  23. Olá Galera, o script logo abaixo tem como objetivo criar um monstro, eu gostaria de colocar mais uma condição nesse script que é o seguinte : Uma condição que verifica que o monstro já está criado e que ele deve ser morto para ser criado novamente ! Alguém manja ? Tentei mas não consegui local time = 600 -- tempo em segundos para usar local monster = "Demon" -- "Monstro" entre aspas local pos = {x=805, y=568, z=7} -- Posição que irá nascer. function onUse(cid, item, frompos, itemex, topos) if item.itemid % 2 == 1 then doTransformItem(item.uid, item.itemid + 1) else doTransformItem(item.uid, item.itemid + -1) end if getStorage(2111) - os.time() < 1 then doSetStorage(2111, os.time() + time) addEvent(function() doCreateMonster(monster, pos) end, 10000) doCreatureSay(cid, "Demon Invocado ! Prepare-se !", TALKTYPE_MONSTER) else doPlayerSendCancel(cid, "Voce precisa esperar ".. getStorage(2111) - os.time() .." Segundos restantes") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end return true end
  24. TFS 0.4 Galera alguém já se deparou com esse Erro ? Uma notificação de erro no terminal, acho estranho pois não oferece mais nenhuma informação sobre o possível erro. Apenas essa mensagem.

Informação Importante

Confirmação de Termo