-
Total de itens
554 -
Registro em
-
Última visita
-
Dias Ganhos
7
Tudo que Natanael Beckman postou
-
http://127.0.0.1/?subtopic=shopadmin&action=addoffer Select offer type: [item] [Container] [Pacc] [Redskull] [unban] [Changename] Points: valor do produto Container ID: id do potion Count Container: quantos x carga o potion ex: 100 = 1 potion de 100x Item ID: id da backpack Count Item: quantos potions vai dentro da backpack 5, 10, 15, ou 20 você que sabe. Offer Description: descrição do produto Offer Name: nome do produto. Não esqueça do rep+ né!
-
[Resolvido] Problema: Eu Coloco O Site On, E A Database Não Entra Mais.
tópico respondeu ao GoD_RaFkS de Natanael Beckman em Lixeira Pública
GoD_RaFkS Você usa algum anti nuker tipo aquele do kaolho algo assim o nome... Veja se tem porque eles bloqueiam a porta 80 ae não pros outros acessarem o site. E o FireWall reveja. -
C:\xampp\htdocs\layouts\tibiacom\layout_config: darkborder = "#D4C0A1" lightborder = "#F1E0C6" vdarkborder = "#505050" news_title_color = "white" logo_monster = "Demon" Gabih ver se dessa vez agradece e add um rep ae.
-
Mortes Não Aparece No Site
tópico respondeu ao mateusrodrigues de Natanael Beckman em Lixeira Pública
Eu lhe aconselho refazer toda a instalação do seu site em outro servidor e veja se acontece o mesmo caso acontece o erro é no site ou não aconteça o erro é no server. -
http://127.0.0.1/?subtopic=shopadmin&action=addoffer Select offer type: [item] [Container] [Pacc] [Redskull] [unban] [Changename] Points: valor do produto Container ID: id do potion Count Container: quantos x carga o potion ex: 100 = 1 potion de 100x Item ID: id da backpack Count Item: quantos potions vai dentro da backpack 5, 10, 15, ou 20 você que sabe. Offer Description: descrição do produto Offer Name: nome do produto. Não esqueça do rep+ né!
-
Gaby olha o group_id dos seus samples pode ser que seja isso. Talvez tejam tudo group_id 5
-
Mortes Não Aparece No Site
tópico respondeu ao mateusrodrigues de Natanael Beckman em Lixeira Pública
Algum bug no seu server ou banco de dados no site não ou pode ser que sim se você tiver alterado algo no mesmo. -
Vai em htdocs/pot/OTS_Account.php abre ele e procura por: * @version 0.1.5 * @since 0.1.5 * @param string $name Account name. * @return string Account name. * @throws PDOException On PDO operation error. * @example examples/create.php create.php * @tutorial POT/Accounts.pkg#create */ e add embaixo isso: public function getBanTime() { if( !$this->isLoaded() ) throw new E_OTS_NotLoaded(); $ban = new OTS_AccountBan(); $ban->find($this->data['id']); return $ban->getExpires(); } E testa!
-
Acredito que você não esteja sabendo configurar...
-
[Gesior 0.3.8 E Vip] Problemas :(
tópico respondeu ao PedroxRox de Natanael Beckman em Lixeira Pública
Como você pode ver na imagem diz time não days esse sistema vip como todos os outros contar por time... Então o problema que você acha que existe não passa de falta de conhecimento mano... No sistema existe uma soma de segundos = a dias. 1 dia = 86400 segundos não tem nadaa de errado peça para os player do seu server acompanhar os dias de vip pelo comando !vipdays -
executa em teu phpmyadmin. alter table `accounts` add `vip_time` INT NOT NULL; Ou você alterou algo em accountmanagement.php?
-
Galera Ajuda Errei No Meu Shop System
tópico respondeu ao helanio de Natanael Beckman em Lixeira Pública
Vai no seu bando de dados e procura pela tabela z_shop_offer so limpa ela. -
a primeira pergunta eu não entendi a segunda tae: <?PHP $main_content .= ' <div style="text-align: justify;"><b>1-</b> Ter Acesso a Area VIP com hunts esclusivas</div> <div style="text-align: justify;"><b>2-</b> vocação VIP</div> <div style="text-align: justify;"><b>3-</b> Novas Magia VIP</div> <div style="text-align: justify;"><b>4-</b> 20% a mais de EXP</div> <div style="text-align: justify;"><b>5-</b> Regeneraçao de Mana e Life Mais rapido</div> <div style="text-align: justify;"><b>6-</b> + HP e Mana ao Upa</div> <div style="text-align: justify;"><b>7-</b> + CAP ao Upa</div> <div style="text-align: justify;"><b>8-</b> + Fast Attk</div> '; ?>
-
Gesior Acc Modificado
tópico respondeu ao Natanael Beckman de Natanael Beckman em Websites & Layouts
kaiqueitj, ele que tem que coloca meus creditos. Sabe quem é Natan Beckman não ? sheol funciona sim. -
Gesior Acc Modificado
tópico respondeu ao Natanael Beckman de Natanael Beckman em Websites & Layouts
Ae é com você =p Você que sabe ^^ -
E ja lhe aceitei no msn é porque eu fico em status offline mais pode fala...
-
Gesior Acc Modificado
tópico respondeu ao Natanael Beckman de Natanael Beckman em Websites & Layouts
Unknown column 'viptime' in 'field list'' Você mudou tudo pra vip_time ou viptime? Verifique bem. -
dúvida [Gesior Acc] Lost Account Sem Emails
um tópico no fórum postou Natanael Beckman Lixeira Pública
Boa galera, este lost account a recuperação de senhas não é por email é por ACC e RK é muito mais simples e bem melhor porque a atual que enviar pro email tem um BUG que da pra pegar a senha de qualquer player do server inclusive do GOD que aconteceu comigo. Bom é muito simples é só sbstitui os coder quem tem dentro do lost account.php por esses em seguida: <?PHP function box($a, $b, $_POST=array()) { $s=' <div class="TableContainer"> <table class="Table5" cellpadding="0" cellspacing="0"> <tr> <div class="CaptionContainer"> <div class="CaptionInnerContainer"> <span class="CaptionEdgeLeftTop" style="background-image:url(img/content/box-frame-edge.gif);"></span> <span class="CaptionEdgeRightTop" style="background-image:url(img/content/box-frame-edge.gif);"></span> <span class="CaptionBorderTop" style="background-image:url(img/content/table-headline-border.gif);"> </span><span class="CaptionVerticalLeft" style="background-image:url(img/content/box-frame-vertical.gif);"></span> <div class="Text">'.$a.'</div> <span class="CaptionVerticalRight" style="background-image:url(img/content/box-frame-vertical.gif);"></span> <span class="CaptionBorderBottom" style="background-image:url(img/content/table-headline-border.gif);"></span> <span class="CaptionEdgeLeftBottom" style="background-image:url(img/content/box-frame-edge.gif);"></span> <span class="CaptionEdgeRightBottom" style="background-image:url(img/content/box-frame-edge.gif);"></span> </div> </div> </tr> <tr> <td> <div class="InnerTableContainer"> <table style="width:100%;"> <tr style="height:22px;"> <td align="left" valign="top">'.$b.'</td> </tr> </table> </div> </td> </tr> </table> </div><br/> <center> <table border="0" cellpadding="0" cellspacing="0">'; if($_POST == 1) $s.=' <form action="?subtopic=accountmanagement" method="post"> <tr> <td> <input type="image" name="Login" alt="Login" src="img/buttons/sbutton_login.gif"/>'; else { $s.=' <form action="?subtopic=lostaccount" method="post"> <tr> <td>'; $s.=(isset($_POST['step']) && in_array($_POST['step'], array('problem','password','name','sendconfirmation')) ? ' <input type="hidden" name="step" value="'.$_POST['step'].'"/>' : ''); foreach(array('character', 'accountname', 'password','recovery','newpass') as $k) { $s.=(isset($_POST[$k]) ? ' <input type="hidden" name="'.$k.'" value="'.htmlspecialchars($_POST[$k]).'"/>' : ''); } $s.=' <input type="image" name="Back" alt="Back" src="img/buttons/sbutton_back.gif"/>'; } $s.=' </td> </tr> </form> </table> </center>'; return $s; } $step=$_POST['step']; if($step == 'problem'){ $name=stripslashes(trim(urldecode($_POST['character']))); if(empty($name) || strlen($name) < 3 || strlen($name) > 25 || strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM ") != strlen($name)) { $main_content .= box('Error', 'Please enter the name of a character on the lost account. If your account does not contain any characters, please create a new account.'); return; } $p=$SQL->query('SELECT id FROM players WHERE name=\''.$name.'\' LIMIT 1')->fetch(); if(!$p || !$p['id']) { $main_content .= box('Error', 'Character <b>'.$name.'</b> does not exist. Please make sure to enter the character name correctly. Note that characters are deleted automatically if they have not been used for a long time.'); return; } $main_content .= 'The Lost Account Interface can help you to solve all problems listed below. Please select your problem and click on "Submit".<br/><br/> <form action="?subtopic=lostaccount" method="post"> <input type="hidden" name="character" value="'.$name.'"/> <table cellspacing="1" cellpadding="4" border="0" width="100%"> <tr><td bgcolor="'.$config['site']['vdarkborder'].'" class="white"><b>Specify Your Problem</b></td></tr> <tr><td bgcolor="'.$config['site']['lightborder'].'"> <input type=radio name="step" value="password"/> I have forgotten my password.<br/> <input type=radio name="step" value="name"/> I have forgotten my account name.<br/> </td></tr> </table> <br/> <center><input type="image" name="Submit" alt="Submit" src="img/buttons/sbutton_submit.gif"/> </form></center>'; } elseif($step == 'password') { $name=stripslashes(trim(urldecode($_POST['character']))); if(empty($name) || strlen($name) < 3 || strlen($name) > 25 || strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM ") != strlen($name)) { $main_content .= box('Error', 'Please enter the name of a character on the lost account. If your account does not contain any characters, please create a new account.'); return; } $p=$SQL->query('SELECT id FROM players WHERE name=\''.$name.'\' LIMIT 1')->fetch(); if(!$p || !$p['id']) { $main_content .= box('Error', 'Character <b>'.htmlspecialchars($name).'</b> does not exist. Please make sure to enter the character name correctly. Note that characters are deleted automatically if they have not been used for a long time.'); return; } $main_content.='<form action="?subtopic=lostaccount" method="post"> <input type="hidden" name="character" value="'.htmlspecialchars($name).'"/> <input type="hidden" name="step" value="sendconfirmation"/> <table cellspacing="1" cellpadding="3" border="0" width="100%"> <tr><td bgcolor="'.$config['site']['vdarkborder'].'" class="white"><b>Request New Password</b></td></tr> <tr><td bgcolor="'.$config['site']['lightborder'].'"> <table style="border: 1px solid '.$config['site']['darkborder'].'" cellpadding="4" cellspacing="2" width="100%"> <tr bgcolor="'.$config['site']['darkborder'].'"> <td width="23%">Account Name:</td> <td><input type="password" name="accountname" value="'.htmlspecialchars($_POST['accountname']).'"/></td> </tr> <tr bgcolor="'.$config['site']['lightborder'].'"> <td width="23%">Recovery key:</td> <td><input name="recovery" value="'.htmlspecialchars($_POST['recovery']).'" maxlength="10"/></td> </tr> <tr bgcolor="'.$config['site']['darkborder'].'"> <td width="23%">New Password:</td> <td><input type="password" name="newpass" value="'.htmlspecialchars($_POST['newpass']).'"/></td> </tr> </table><br/> <table align="center"><tr><td><input type="image" name="Submit" alt="Submit" src="img/buttons/sbutton_submit.gif"/></td></tr></table> </td></tr> </table></form> '; } elseif($step == 'sendconfirmation') { $name=stripslashes(trim(urldecode($_POST['character']))); if(empty($name) || strlen($name) < 3 || strlen($name) > 25 || strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM ") != strlen($name)) { $main_content .= box('Error', 'Please enter the name of a character on the lost account. If your account does not contain any characters, please create a new account.'); return; } if(!isset($_POST['accountname']) && !isset($_POST['password'])) { header('Location: ?subtopic=lostaccount'); exit(); } $p=$SQL->query('SELECT players.id,accounts.name,accounts.id as `acc`'.(isset($_POST['password']) ? ',accounts.password,`accounts`.`key`' : '').' FROM players,accounts WHERE players.name=\''.$name.'\' AND players.account_id = accounts.id LIMIT 1')->fetch(); if(!$p || !$p['id']) { $main_content .= box('Error', 'Character <b>'.htmlspecialchars($name).'</b> does not exist. Please make sure to enter the character name correctly. Note that characters are deleted automatically if they have not been used for a long time.'); return; } if(isset($_POST['accountname'])) { $k=strtoupper($_POST['accountname']); $v=array('step'=>'password','character'=>$name,'accountname'=>$_POST['accountname'],'recovery'=>$_POST['recovery'],'newpass'=>$_POST['newpass']); if(empty($k) || strlen($k) > 25 || !check_account_name($k)){ $main_content .= box('Error', 'Please enter a valid account name.', $v); return;} $i=strtoupper(trim($_POST['recovery'])); if(empty($i) || strlen($i) != 10 || strlen($i) != strspn($i, "QWERTYUIOPASDFGHJKLZXCVBNM0123456789")){ $main_content .= box('Error', 'Please enter a valid recovery key.', $v); return;} $c=$_POST['newpass']; if(empty($c) || strlen($c) < 4 || strlen($c) > 29 || strspn("$c", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890") != strlen($c)){ $main_content .= box('Error', 'Please enter a valid password.', $v); return;} if($p['name'] != $k || $SQL->query('UPDATE accounts SET password=\''.sha1($c).'\' WHERE id=\''.$p['acc'].'\' AND `key`=\''.$i.'\' LIMIT 1')->rowCount() == 0){ $main_content .= box('Error', 'Incorrect account name or recovery key.', $v); return;} $main_content .= box('Recovery Successful', 'Your password has been succesfully updated.', 1); return; } $k=$_POST['password']; if(isset($k)) { $v=array('step'=>'name','character'=>$name,'password'=>$_POST['password'],'recovery'=>$_POST['recovery']); if(empty($k) || !check_password($k)){ $main_content .= box('Error', 'Please enter a valid password.', $v); return;} $i=strtoupper(trim($_POST['recovery'])); if(empty($i) || strlen($i) != 10 || strlen($i) != strspn($i, "QWERTYUIOPASDFGHJKLZXCVBNM0123456789")){ $main_content .= box('Error', 'Please enter a valid recovery key.', $v); return;} if($p['password'] != sha1($k)){ $main_content .= box('Error', 'Incorrect password or recovery key.', $v); return;} $main_content .= box('Recovery Successful', 'You have successfully recovered your account name.<br/><br/><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td width="13%"><b>Account Name:</b></td><td><input type="text" readonly="readonly" size="'.(strlen($p['name'])-1).'" onclick="this.select();" value="'.$p['name'].'"/></td></tr></table>', 1); return; } } elseif($step == 'name') { $name=stripslashes(trim(urldecode($_POST['character']))); if(empty($name) || strlen($name) < 3 || strlen($name) > 25 || strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM ") != strlen($name)) { $main_content .= box('Error', 'Please enter the name of a character on the lost account. If your account does not contain any characters, please create a new account.'); return; } $p=$SQL->query('SELECT id FROM players WHERE name=\''.$name.'\' LIMIT 1')->fetch(); if(!$p || !$p['id']) { $main_content .= box('Error', 'Character <b>'.htmlspecialchars($name).'</b> does not exist. Please make sure to enter the character name correctly. Note that characters are deleted automatically if they have not been used for a long time.'); return; } $main_content.='<form action="?subtopic=lostaccount" method="post"> <input type="hidden" name="character" value="'.htmlspecialchars($name).'"/> <input type="hidden" name="step" value="sendconfirmation"/> <table cellspacing="1" cellpadding="3" border="0" width="100%"> <tr><td bgcolor="'.$config['site']['vdarkborder'].'" class="white"><b>Request Account Name</b></td></tr> <tr><td bgcolor="'.$config['site']['lightborder'].'"> <table style="border: 1px solid '.$config['site']['darkborder'].'" cellpadding="4" cellspacing="2" width="100%"> <tr bgcolor="'.$config['site']['darkborder'].'"> <td width="23%">Password:</td> <td><input type="password" name="password" value="'.htmlspecialchars($_POST['accountname']).'"/></td> </tr> <tr bgcolor="'.$config['site']['lightborder'].'"> <td width="23%">Recovery key:</td> <td><input name="recovery" value="'.htmlspecialchars($_POST['recovery']).'" maxlength="10"/></td> </tr> </table><br/> <table align="center"><tr><td><input type="image" name="Submit" alt="Submit" src="img/buttons/sbutton_submit.gif"/></td></tr></table> </td></tr> </table></form> '; } else { $name=stripslashes(trim(urldecode($_POST['character']))); if(!empty($name) && strlen($name) > 2 && strlen($name) < 26 && strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM ") == strlen($name)) { $main_content .= box('Error', 'Please specify your problem.', array('step'=>'problem','character'=>$name)); return; } $main_content .= '<table cellpadding="0" cellspacing="0" border="0" width="100%"><tr> <td><img src="img/blank.gif" width="10" height="1" border="0" alt=""/></td> <td> <b>Welcome to the Lost Account Interface!</b><br/><br/> If you have lost access to your account, this interface can help you. Of course, you need to prove that your claim to the account is justified. Enter the requested data and follow the instructions carefully. Please understand there is no way to get access to your lost account if the interface cannot help you.<br/><br/> By using the Lost Account Interface you can <ul><li>get a new password if you have lost the current password,</li> <li>receive your account name if you do not know it anymore,</li></ul><br/> As a first step to use the Lost Account Interface please enter the name of a character on the lost account and click on "Submit".<br/><br/></td> <td><img src="img/blank.gif" width="10" height="1" border="0" alt=""/></td> </tr> </table> <form action="?subtopic=lostaccount" method="post"> <input type="hidden" name="step" value="problem"/> <table cellspacing="1" cellpadding="4" border="0" width="98%" align="center"> <tr><td bgcolor="'.$config['site']['vdarkborder'].'" class="white"><b>Enter Character Name</b></td></tr> <tr><td bgcolor="'.$config['site']['darkborder'].'">Character name: <input name="character" size="30" maxlength="25"/></td></tr> </table><br/> <table cellspacing="0" cellpadding="0" border="0" width="100%"> <tr> <td align="center"> <input type="image" name="Submit" alt="Submit" src="img/buttons/sbutton_submit.gif"/> </td> </tr> </table> </form>'; } ?> Bom galera ele é mais simples mais é bem mais seguro. By Cykotitan! -
Boa galera eu mais uma vez trazendo comodidade e algo seguro pra nós. Esse sistema VIP do Mock foi modificado e aptado em alumas partes dos scripts, para um funcionamento correto e com isso tivemos a ajuda dos scripts, Doidin, Luke sky walker e por min por ter ido atraz de todas as soluções pra completa algo incompleto. Vamos nois: 1° Acesse a pasta data/lib copie la um arquivo.lua e renomeio para 049-vipsys.lua, após isso apague tudo dentro desse arquivo e adicione este coder: vip = { name = "Vip system"; author = "Mock"; version = "1.0.0.0"; query="ALTER TABLE `accounts` ADD `vip_time` INTEGER"; query2="ALTER TABLE `accounts` ADD `vip_time` INT(15) NOT NULL" } function vip.setTable() dofile('config.lua') if sqlType == "sqlite" then db.executeQuery(vip.query) else db.executeQuery(vip.query2) end end function vip.getVip(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then error('Player don\'t find') end; ae = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..getPlayerAccount(cid).."';") if ae:getID() == -1 then return 0 end local retee = ae:getDataInt("vip_time") or 0 ae:free() return retee end function vip.getVipByAcc(acc) assert(acc,'Account is nil') local a = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..acc.."';") if a:getID() ~= -1 then return a:getDataInt("vip_time") or 0, a:free() else error('Account don\'t find.') end end function vip.setVip(cid,time) dofile("config.lua") assert(tonumber(cid),'Parameter must be a number') assert(tonumber(time),'Parameter must be a number') if isPlayer(cid) == FALSE then error('Player don\'t find') end; db.executeQuery("UPDATE `"..sqlDatabase.."`.`accounts` SET `vip_time` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='".. getPlayerAccount(cid).."';") end function vip.getVipByAccount(acc) assert(acc,'Account is nil') return db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..acc.."';"):getDataInt("vip_time") or 0 end function vip.hasVip(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then return end; local t = vip.getVip(cid) or 0 if os.time(day) < t then return TRUE else return FALSE end end function vip.hasVips(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then return end; local t = vip.getVip(cid) if os.time(day) < t then return TRUE else return FALSE end end function vip.accountHasVip(acc) assert(acc,'Account is nil') if os.time() < vip.getVipByAccount(acc) then return TRUE else return FALSE end end function vip.getDays(days) return (3600 * 24 * days) end function vip.addVipByAccount(acc,time) assert(acc,'Account is nil') assert(tonumber(time),'Parameter must be a number') local a = vip.getVipByAcc(acc) a = os.difftime(a,os.time()) if a < 0 then a = 0 end; a = a+time return vip.setVipByAccount(acc,a) end function vip.setVipByAccount(acc,time) dofile("config.lua") assert(acc,'Account is nil') assert(tonumber(time),'Parameter must be a number') db.executeQuery("UPDATE `accounts` SET `vip_time` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='"..acc.."';") return TRUE end function vip.returnVipString(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == TRUE then return os.date("%d %B %Y %X ", vip.getVip(cid)) end end 2° Abra a pasta data/creaturescrpits/scripts copie la um arquivo.lua e renomeio para vip.lua, dentro dele adicione: By Lukeskywalker function onLogin(cid) local temple = { x =32369, y = 32246, z = 6} if vip.hasVip(cid) == true then if getPlayerStorageValue(cid,55555) ~= 1 then setPlayerStorageValue(cid,55555,1) end else if getPlayerStorageValue(cid,55555) == 1 then doTeleportThing(cid, temple) doPlayerSendTextMessage(cid, 22, "Your VIP Time over!") db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `id` = ".. getAccountIdByName(getPlayerName(cid))..";") setPlayerPromotionLevel(cid, 1) setPlayerStorageValue(cid, 55555, 0) end end return true end Você pode troca as coordenadas do templo: local temple = {x=32369, y=32246, z=6}. 3° Em data/creaturescripts/scripts/login.lua adicione essas tags: registerCreatureEvent(cid, "FimVip") registerCreatureEvent(cid, "VipReceive") 4° Em data/creaturescripts/creaturescripts.xml adicione está tag: <event type="login" name="FimVip" event="script" value="vip.lua"/> 5º Em data\movements\scripts copie la um arquivo.lua e renomeio para viptile.lua e adicione este coder dentro do mesmo: function onStepIn(cid, item, position, fromPosition) local tileConfig = { kickPos = fromPosition, kickEffect = CONST_ME_POFF, kickMsg = "You need to be a vip player to access this area.", enterMsg = "Welcome to vip area!", enterEffect = CONST_ME_MAGIC_RED, } if isPlayer(cid) == true then if vip.hasVip(cid) == FALSE then doTeleportThing(cid, tileConfig.kickPos) doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect) doPlayerSendCancel(cid, tileConfig.kickMsg) return end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg) doSendMagicEffect(position, tileConfig.enterEffect) return true end end 6° Em data\movements\movements.xml adicione a tag: <movevent type="StepIn" actionid="13500" event="script" value="viptile.lua"/> Vejam a numeração 13500 você irá usar no tile que você quer para a passagem de player VIP para configurar adicione a numeração em ActionID do tile. 7° Em data/talkactions/scripts acrecente dentro da pasta scripts uma outra pasta com o nome VIP vamos precisar de 7 arquivos.lua quem teram os nomes e coder a seguir: add.lua function onSay(cid, words, param, channel) doPlayerSendCancel(cid, "Added "..param.." Vip Days.") return doPlayerAddVipDays(cid, param) end addvipp.lua function onSay(cid, words, param) if param == "" then return doPlayerPopupFYI(cid,"Está com problemas?\nAprenda os comandos!\n---------------\nAdicionar vip:\n/vip add days player\n/vip add 30 Real\n---------------\nDeletar vip:\n/vip del player\n/vip del Real\n---------------\nVer a vip:\n/vip see player\n/vip see Real\n---------------\n") end if param:lower():find('add') == 1 and 3 then local _,_,id,name = param:lower():find('add (%d+) (.+)') name = name or "" id = tonumber(id or 1) or 1 if tonumber(id) == nil or getPlayerByName(name) == false then return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Adicionar vip:\n/vip add days player\n/vip add 30 Real\n[Player: "..name.."]") end if isPlayer(getPlayerByName(name)) == TRUE then vip.addVipByAccount(getPlayerAccount(getPlayerByName(name)) ,vip.getDays(id)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Foram adicionados "..tonumber(id).." dias de vip a "..name..".") doPlayerSendTextMessage(getPlayerByName(name),MESSAGE_INFO_DESCR,"Você recebeu "..tonumber(id).." dias de vip.") else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,name.." não esta online ou não existe.") end elseif param:lower():find('del') == 1 and 3 then local _,_,name = param:lower():find('del (.+)') if getPlayerByName(name) == false then return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Deletar vip:\n/vip del player\n/vip del Real\n") end vip.setVipByAccount(getPlayerAccount(getPlayerByName(name)),-os.time()) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"A vip de "..name.." foi apagada.") elseif param:lower():find('see') == 1 and 3 then local _,_,name = param:lower():find('see (.+)') name = name or "" if getPlayerByName(name) == false then return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Ver a vip:\n/vip see player\n/vip see Real\n") end local ret_ = vip.getVip(getPlayerByName(name)) if ret_ == 0 then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,name.." Não tem vip, e nunca teve.") else return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A vip de "..name.." Acaba/terminou em "..os.date("%d %B %Y %X ",ret_)) end end return TRUE end get.lua function onSay(cid, words, param, channel) doPlayerSendCancel(cid, ""..getPlayerVipDays(cid).." days VIP left.") end is.lua function onSay(cid, words, param, channel) if isPlayerVip(cid) == TRUE then doPlayerSendCancel(cid, "You are a VIP player.") else doPlayerSendCancel(cid, "You are not a VIP player.") end end removevip.lua function onSay(cid, words, param, channel) doPlayerSendCancel(cid, "Vip removed.") return doPlayerRemoveVip(cid) end set.lua function onSay(cid, words, param) if vip.hasVip(cid) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your vip end in "..os.date("%d %B %Y %X ",vip.getVip(cid))) else if vip.getVip(cid) ~= 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You're not a vip player. Your vip has finished in "..os.date("%d %B %Y %X ", vip.getVip(cid)).." and now is "..os.date("%d %B %Y %X ", os.time())) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You're not a vip player. You naver has a vip.") end end return TRUE end 8°Em data/talkactions/talkactions.xml adicione está tag: <!-- VIP System --> <talkaction log="yes" words="/vip" access="5" event="script" value="VIP/addvipp.lua" /> <talkaction words="!vipdays" event="script" value="VIP/vipdays.lua" /> 9° Para finalizar execute este comando na sua database na tabela accounts: alter table `accounts` add `vip_time` INT NOT NULL; Bom galera fim este sistema vip adiciona os dias corretos e ao termino do VIP o player recebe a menssagem que o VIP acabou é teleportado pro templo porque se no caso ele estiver na área VIP essa é uma saida e zera a coluna vip_time. Creditos: Mock (por ter iniciado algo e não terminou) Lukeskywalker (Sistema de finalização perfeito do vip.) Natan Beckman (Por ter ido atrás a conclusão 100% in game e php)
- 59 respostas
-
- vipaccount
- vipsystem
- (e 6 mais)
-
[Gesior Acc] Trade Offline
tópico respondeu ao walefxavier de Natanael Beckman em Tutoriais de Websites
Pra script funcionar corretamente precisa disso: ALTER TABLE `players` ADD `auction_balance` INT(15) NOT NULL -
Ler o inicio do topico do Gesior 0.3.8 que você não vai ter mais problemas.
-
Gesior Acc Modificado
tópico respondeu ao Natanael Beckman de Natanael Beckman em Websites & Layouts
Concerteza você não leu o tópico, leia se ocorrer o erro poste novamente... A não pra posta so problemas não galera agrdecimentos também seria uma boa. -
Shop.lua Adicionando Nome Nos Items Comprados.
tópico respondeu ao Natanael Beckman de Natanael Beckman em Globalevents e Spells
Não, mais existem outras formas mais complicadas que é necessario você saber um pouco de progamação. -
[C++] Compilando Um Otserv
tópico respondeu ao Natanael Beckman de Natanael Beckman em Lixeira Pública
Releia o tópico algo você não fez corretamente. E essa source é mesma que postei? -
[Gesior Acc] Configurando Lost Account
tópico respondeu ao Natanael Beckman de Natanael Beckman em Tutoriais de Websites
Utiliza as configurações da bol é melhor.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.