
nari
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
nari deu reputação a Bruno Carvalho em Evolutions Server
Alissow Server
Provavelmente vocês estão pensando "mas que diabo de OT é esse?", afinal, já faz 1 ano desde que a ultima versão foi lançada.
A penúltima versão foi baixada mais de 50 mil vezes e esperamos que essa versão faça o mesmo sucesso.
By
Alissow
Comedinha
XedeguX
Objetivo do projeto:
Criar um servidor com base na versão mais atualizada do tibia com vários sistemas onde o mapa é feito para exploração com um grande nivel de RPG.
Sobre o OT/Mapa:
Principais quests:
-Annihilator
-Inquisition Quest
-Pits of inferno
-Demon Oak
-Solar axe quest
-HOTA
-MPA quest
Monstros:
-Total monstros: 15000+-
Cidades:
-10 Cidades
-220 Houses+-
Raids/Invasões:
-Rat
-Ghazbaran
-Giant spider/The old window
-Ferumbras
-Morgaroth
-Orshabaal
Spells:
-Magias balanceadas parecidas com a do tibia global
Changelog
https://github.com/comedinha/Alissow/wiki/Changelog
Imagens
Download
Servidor: GitHub
Tamanho: ~10 MB
Data Pack
TFS 1.2 (Executavel)
Atenção
- LEIA o tópico antes de postar qualquer coisa ou duvida
- Reportem se houver algum bug
- As estatuas de offline que ficam no templo não funcionam por serem enfeites
- Todos os addons são vendidos
- Para usar os portais você primeiro deve explorar a área indo até ela
- Tem alguns segredinhos e lugares escondidos muito legais para vocês descobrirem
- Se vocês perceberem o Alisson deu retired do mundo otserv e não participou dessa versão
O Servidor está inacabado.
Muitas coisas que foi planejado fazer nele não foram completas. Mas inacabado não quer dizer que não está jogável, quer dizer que faltou detalhar (Ex: x:55 y: 137 z: 9, x: 104 y: 140 z: 7)
E algumas coisinhas que não são tao importantes mas estavam planejadas por nós e no futuro podem ser adicionadas como warzone, quests, mais npcs e outros.
-
nari deu reputação a BrunoWots em [Legacy SRC]Global Full 7.6, 7.7 e 7.4 sqlite acc 1/1⚫ Olá, venho aqui trazer um global (servfull 7.60 e 7.72 cipsoft) também roda 7.4, download junto com a distro compilada de graça, roda em sqlite, é só abrir e rodar o ot !!!!
Senha do account name é 1/1
senha do god é 111111/222222
RealOTS
✔️-Tasks system 100%
✔️-CipSoft Engine
✔️-All Quests 100%
✔️-All NPCs 100%
✔️-Real Monsters 100%
✔️-Caves 100%
✔️-Real Damage 7.6
✔️-Trainer off
✔️-Mensage loot
✔️-Shared Experience
✔️-Poi + Acess 100%
✔️-Houses 100%
✔️-Livros e histórias 100%
✔️-Command /buy, !buy.
⚡ -Items old
⚡ - Monstros e Outfits
⚫ Algumas imagens do server, quests e hunts.
⚫ Downalod e Scamm:
https://goo.gl/ztc2nP
https://goo.gl/N52pP2
Atualização:
* Treiner offline adicionado no templo de thais junto com o npc de task Oldman.
*Acesso rápido a poi depois de terminar a segunda sala pelo teleport, caso você morra.
-
-
nari deu reputação a Natanael Beckman em Trade OFF - Shop OfflineEsse sistema disponibiliza uma negociação offline, onde você oferta um item e esse item é divulgado no site do server e qualquer player pode comprar o item utilizando um comando especificado.
Crie uma arquivo .lua dentro da pasta data/talkactions/scripts com o nome auctionsystem.lua, dentro do mesmo adicione o code:
local config = { levelRequiredToAdd = 20, maxOffersPerPlayer = 5, SendOffersOnlyInPZ = true, blocked_items = {2165, 2152, 2148, 2160, 2166, 2167, 2168, 2169, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2343, 2433, 2640, 6132, 6300, 6301, 9932, 9933} } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") if(t[1] == "add") then if((not t[2]) or (not t[3]) or (not t[4])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end if(not tonumber(t[3]) or (not tonumber(t[4]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't set valid price or items count.") return true end if(string.len(t[3]) > 7 or (string.len(t[4]) > 3)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This price or item count is too high.") return true end local item = getItemIdByName(t[2]) if(not item) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end if(getPlayerLevel(cid) < config.levelRequiredToAdd) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have required (" .. config.levelRequiredToAdd .. ") level.") return true end if(isInArray(config.blocked_items, item)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This item is blocked.") return true end if(getPlayerItemCount(cid, item) < (tonumber(t[4]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you don't have this item(s).") return true end local check = db.getResult("SELECT `id` FROM `auction_system` WHERE `player` = " .. getPlayerGUID(cid) .. ";") if(check:getID() == -1) then elseif(check:getRows(true) >= config.maxOffersPerPlayer) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't add more offers (max. " .. config.maxOffersPerPlayer .. ")") return true end if(config.SendOffersOnlyInPZ) then if(not getTilePzInfo(getPlayerPosition(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You must be in PZ area when you add offert to database.") return true end end if(tonumber(t[4]) < 1 or (tonumber(t[3]) < 1)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to type a number higher than 0.") return true end local itemcount, costgp = math.floor(t[4]), math.floor(t[3]) doPlayerRemoveItem(cid, item, itemcount) db.executeQuery("INSERT INTO `auction_system` (`player`, `item_name`, `item_id`, `count`, `cost`, `date`) VALUES (" .. getPlayerGUID(cid) .. ", \"" .. t[2] .. "\", " .. getItemIdByName(t[2]) .. ", " .. itemcount .. ", " .. costgp ..", " .. os.time() .. ")") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You successfully add " .. itemcount .." " .. t[2] .." for " .. costgp .. " gps to offerts database.") end if(t[1] == "buy") then if(not tonumber(t[2])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") return true end local buy = db.getResult("SELECT * FROM `auction_system` WHERE `id` = " .. (tonumber(t[2])) .. ";") if(buy:getID() ~= -1) then if(getPlayerMoney(cid) < buy:getDataInt("cost")) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have enoguh GP.") buy:free() return true end if(getPlayerName(cid) == getPlayerNameByGUID(buy:getDataInt("player"))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you can't buy your own items.") buy:free() return true end if(getPlayerFreeCap(cid) < getItemWeightById(buy:getDataInt("item_id"), buy:getDataInt("count")))then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You try to buy a " .. buy:getDataString("item_name") .. ". It weight " .. getItemWeightById(buy:getDataInt("item_id"), buy:getDataInt("count")) .. " cap oz. and you have only " .. getPlayerFreeCap(cid) .. " oz. free capacity. Put some items to depot and try again.") buy:free() return true end if(isItemStackable((buy:getDataString("item_id")))) then doPlayerAddItem(cid, buy:getDataString("item_id"), buy:getDataInt("count")) else for i = 1, buy:getDataInt("count") do doPlayerAddItem(cid, buy:getDataString("item_id"), 1) end end doPlayerRemoveMoney(cid, buy:getDataInt("cost")) db.executeQuery("DELETE FROM `auction_system` WHERE `id` = " .. t[2] .. ";") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You bought " .. buy:getDataInt("count") .. " ".. buy:getDataString("item_name") .. " for " .. buy:getDataInt("cost") .. " gps!") db.executeQuery("UPDATE `players` SET `auction_balance` = `auction_balance` + " .. buy:getDataInt("cost") .. " WHERE `id` = " .. buy:getDataInt("player") .. ";") buy:free() else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") end end if(t[1] == "remove") then if((not tonumber(t[2]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") return true end if(config.SendOffersOnlyInPZ) then if(not getTilePzInfo(getPlayerPosition(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You must be in PZ area when you remove offerts from database.") return true end end local delete = db.getResult("SELECT * FROM `auction_system` WHERE `id` = " .. (tonumber(t[2])) .. ";") if(delete:getID() ~= -1) then if(getPlayerGUID(cid) == delete:getDataInt("player")) then db.executeQuery("DELETE FROM `auction_system` WHERE `id` = " .. t[2] .. ";") if(isItemStackable(delete:getDataString("item_id"))) then doPlayerAddItem(cid, delete:getDataString("item_id"), delete:getDataInt("count")) else for i = 1, delete:getDataInt("count") do doPlayerAddItem(cid, delete:getDataString("item_id"), 1) end end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your offert has been deleted from offerts database.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This is not your offert!") end delete:free() else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") end end if(t[1] == "withdraw") then local balance = db.getResult("SELECT `auction_balance` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";") if(balance:getDataInt("auction_balance") < 1) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have money on your auction balance.") balance:free() return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You got " .. balance:getDataInt("auction_balance") .. " gps from auction system!") doPlayerAddMoney(cid, balance:getDataInt("auction_balance")) db.executeQuery("UPDATE `players` SET `auction_balance` = '0' WHERE `id` = " .. getPlayerGUID(cid) .. ";") balance:free() end return true end Em seguida em talkactions.xml adicione a tag:
<talkaction words="!offer" event="script" value="auctionsystem.lua"/> No banco de dados execute as querys:
CREATE TABLE `auction_system` ( `id` int(11) NOT NULL auto_increment, `player` int(11), `item_id` int(11), `item_name` varchar(255), `count` int(11), `cost` int(11), `date` int(11), PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `players` ADD `auction_balance` INT( 11 ) NOT NULL DEFAULT '0'; Na pasta do seu site crie um arquivo chamado tradeoff.php, em seguida adicione o code:
<?PHP $auctions = $SQL->query('SELECT `auction_system`.`player`, `auction_system`.`id`, `auction_system`.`item_name`, `auction_system`.`item_id`, `auction_system`.`count`, `auction_system`.`cost`, `auction_system`.`date`, `players`.`name` FROM `auction_system`, `players` WHERE `players`.`id` = `auction_system`.`player` ORDER BY `auction_system`.`id` DESC')->fetchAll(); $players = 0; $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b>Instruction<b></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><center><h2>Commands</h2><b>!offer add, itemName, itemPrice, itemCount</b><br /><small>example: !offer add, plate armor, 500, 1</small><br /><br /><B>!offer buy, AuctionID</b><br /><small>example: !offer buy, 1943</small><br /><br /><b>!offer remove, AuctionID</b><br /><small>example: !offer remove, 1943</small><br /><br /><b>!offer withdraw</b><br /><small>Use this command to get money for sold items.</small></center></TR></TD></TABLE><br />'; if(empty($auctions)) { $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b>Auctions</b></td></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD>Currently is no one active Auction.</TD></TR></TABLE>'; $main_content .= '<br /><p align="right"><small>System created by <a href="http://otland.net/members/vDk/">vDk</a>.</small></p>'; } else { foreach($auctions as $auction) { $players++; if(is_int($players / 2)) $bgcolor = $config['site']['lightborder']; else $bgcolor = $config['site']['darkborder']; $cost = round($auction['cost']/1000, 2); $content .= '<TR BGCOLOR='.$bgcolor.'><TD><center>'.$auction['id'].'</center></TD><TD><center><img src="/item_images/'.$auction['item_id'].'.gif"/></center></TD><TD><center>'.$auction['item_name'].'</center></TD><TD><center><a href="?subtopic=characters&name='.urlencode($auction['name']).'">'.$auction['name'].'</a></center></TD><TD><center>'.$auction['count'].'</center></TD><TD><center>'.$cost.'k<br /><small>'.$auction['cost'].'gp</small></center></TD><TD><center>!offer buy, '.$auction['id'].'</center></TR>'; } $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b><center>ID</center></b></TD><TD class="white"><b><center>#</center></b></TD><TD class="white"><b><center>Item Name</center></b></TD><TD class="white"><b><center>Player</center></b></TD><TD class="white"><b><center>Count</center></b></TD><TD class="white"><b><center>Cost</center></b></td><TD class="white"><b><center>Buy</center></b></td></TR>'.$content.'</TABLE>'; $main_content .= '<br /><p align="right"><small>System created by <a href="http://otland.net/members/vdk.1553/">vDk</a>.</small></p>'; } ?> Em layouts.php adcione o code:
<a href="?subtopic=tradeoff"> <div id="submenu_tradeoff" class="Submenuitem" onmouseover="MouseOverSubmenuItem(this)" onmouseout="MouseOutSubmenuItem(this)"> <div class="LeftChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div> <div id="ActiveSubmenuItemIcon_tradeoff" class="ActiveSubmenuItemIcon" style="background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);"></div> <div id="ActiveSubmenuItemLabel_tradeoff" class="SubmenuitemLabel">Trade Off</div> <div class="RightChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div> </div> </a> Pra finalizar em index.php adicione esse code:
case "tradeoff"; $topic = "Trade Off"; $subtopic = "tradeoff"; include("tradeoff.php"); break;
-
E pronto galera clica em GOSTEI e comenta no tópico.
-
nari deu reputação a vankk em [TFS 1.x] Reedem PointsReedem Points
by vankk
Basicamente esse script é você utilizar essa talkaction, e o jogador resgatar os pontos baseado no código de transação do PagSeguro. Irei explicar as configurações do script no final.
Vá em data/talkactions/scripts e crie um arquivo .lua e coloque o nome de reedem_points.lua após isso, adicione esse código dentro dele;
local config = { tableName = 'pagseguro_log', -- nome da tabela em sua database estructureTable = 'transacaoid', -- nome da estrutura da tabela tablePoints = 'pontos', -- nome da estrutura da tabela do pagseguro que mostra a qntidade de pontos que o jogador recebeu pointsEstructure = 'coins', -- nome da tabela de points do seu servidor } function onSay(player, words, param) local tables = {config.tableName, config.estructureTable, config.pointsEstructure, config.tablePoints} for i = 1, #tables do if not tables[i] then player:sendTextMessage(MESSAGE_EVENT_ORANGE, 'Por favor contate o Administrador do servidor, parece que ele configurou errado o script.') return false end end local tmpParam = param if not tmpParam then player:sendTextMessage(MESSAGE_EVENT_ORANGE, 'Por favor coloque o código de transação do PagSeguro.') return false end local resultId = db.storeQuery(string.format('SELECT * FROM `%s` WHERE `%s` = %s AND `reemded` = 0 ', config.tableName, config.estructureTable, db.escapeString(tmpParam))) if not resultId then player:sendTextMessage(MESSAGE_EVENT_ORANGE, 'Não existe esse código em nossa database ou então já foi resgatado.') return false end local amountPoints = result.getDataInt(resultId, config.tablePoints) result.free(resultId) db.query(string.format('UPDATE `%s` SET `reemded` = 1 WHERE `%s` = %s', config.tableName, config.estructureTable, db.escapeString(tmpParam))) db.query(string.format('UPDATE `accounts` SET `%s` = `%s` + %d WHERE `id` = %d', config.pointsEstructure, config.pointsEstructure, amountPoints, player:getAccountId())) player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Você resgatou com sucesso %d pontos utilizando o código %s.', amountPoints, tmpParam)) return false end Agora vá em data/talkactions/talkactions.xml e adicione essa tag
<talkaction words="!points" separator=" " script="players/reedem_points.lua" /> Execute essa query em seu phpMyAdmin, mas antes de executar leia a explicação!
ALTER TABLE `pagseguro_log` ADD `reemded` INT(1) NOT NULL DEFAULT '1'; Então vamos lá para a explicação, é bem importante que você preste atenção nessa caralha se não vai dar merda.
No script eu adicionei a tabela config, no qual funciona da seguinte maneira:
tableName = É o nome da tabela que fica o seu log das transações do PagSeguro estructureTable = É o nome da estrutura que fica dentro do log da transação do pagSeguro no qual guarda o código de transação tablePoints = É o nome da estrutura que fica dentro do log da transaçÃo do pagSeguro no qual guarda quantos pontos o jogador recebeu pointsEstructure = É o nome da estrutura que fica dentro da tabela accounts que guarda os pontos dos jogadores.
Agora que você já sabe o que é o tableName, na query na qual eu falei acima você precisará mudar para o nome da sua tabela do log do PagSeguro.
Por exemplo, caso o nome da sua tabela seja pagseguro_transactions, você muda para a parte pagseguro_log para pagseguro_transactions.
Lembrando que não dou suporte então, caso não entendeu, leia novamente o tópico até entender, porque está de uma maneira bem explicada.
Atenciosamente,
vankk.
-
nari deu reputação a Rusherzin em [Pedido]NPC que só da trade se tiver storageTenta aí:
Qualquer dúvida é só dizer..
-
nari deu reputação a xWhiteWolf em Magia que EmpurraBom galera, a um tempo atrás um amigo pediu uma magia que empurrasse e minha primeira iniciativa foi dar uma procura por aí. A maioria dos scripts que eu achei não funcionava, o resto funcionava cheio dos mais variados bugs então eu decidi pegar um desses scripts como base e fazer a magia que empurra.
Testado e funcionando em TFS 0.3.6 (Crying Damson).
Não lembro de onde eu peguei e nem quem fez porque o autor não colocou créditos no script mas quero deixar bem claro de que
80% dos créditos vão pra esse pessoa, visto que eu apenas me baseei na metodologia dele pra fazer o script funcionar sem bugs
Sem mais delongas, vamos ao script:
OBS: Ele está 200% funcional, não empurra pra dentro de pz e nem buga de nenhuma forma.
Agora no spells.xml adicione:
<instant name="Get off here" words="exani grav" lvl="160" mana="500" prem="1" direction="1" exhaustion="2000" needlearn="0" event="script" value="empurrar.lua"> <vocation id="6"/> <vocation id="7"/> <vocation id="5"/> </instant> Faça bom proveito!!
EDIT: Algumas imagens pra vocês
PS: Dano adicionado pelo membro @Emersonssss ;]
-
nari deu reputação a xWhiteWolf em Knight Implode/ExplodeEu tava brincando de "vamos procurar uns scripts legais e tentar melhorá-los" e eis que eu me deparei com duas spells muito legalzinhas num forum americano e decidi editá-las pra que elas funcionassem em conjunto.
Feito isso eu acabei criando o seguinte sistema de combos: O cara solta a primeira spell e ele tem 5 segundos pra soltar a segunda spell, NÃO É POSSÍVEL UTILIZAR A SEGUNDA SPELL SEM TER USADO A PRIMEIRA ANTES e se o player tentar usar a primeira spell novamente nesses 5 segundos ele vai perder 15% de vida.... só se atentem ao fato de que a segunda magia deve ser bem mais forte que a primeira pra coisa ter graça.
Primeiro de tudo crie dois scripts chamados kaesar7.lua e kaesar9.lua
em kaesar7.lua adicione o seguinte:
e em kaesar9.lua adicione o seguinte:
e em spells.xml adicione:
<instant name="Implode" words="knight implode" lvl="120" mana="200" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="attack/kaesar9.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Explode" words="knight explode" lvl="120" mana="200" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="attack/kaesar7.lua"> <vocation id="4"/> <vocation id="8"/> </instant> Bom, ambos scripts são complexos mas as edições são bem parecidas com qualquer outra magia.
No script 1 vc pode editar aqui:
local stepDelay = 75 --- tempo entre um e outro.. quanto menor mais rápido a magia sai
local spins = 2 --- numero de voltas que vai dar antes de explodir
local percent = 15 --- porcentagem de vida que perde caso use a spell 2x seguidas
Créditos: 90% pro Colandus (o cara que fez os scripts)
10% pra mim por ter editado tudo e feito as magias serem dependentes
-
nari deu reputação a xWhiteWolf em Anel de SauronFala galera do TK, criei esse anelzinho pra servers que procuram inovar..
bom, oque ele faz??
Simples, ele torna o usuário invisível.
aff, mas já existe o stealth ring que faz isso!
Sim mas dessa vez eu digo invisível mesmo, nenhum monstro ou players conseguirá te ver.
que lixo, assim qualquer player vai poder ficar invisível e passar no meio dos monstros e players.. vai estragar o server
Aí é que vc se engana porque o anel vem uma maldição, quem usar ele vai perdendo 3% de vida por segundo (ajustável) e só vai estragar o server se vc sair distribuindo o anel pra todos os players haha
O anel em si possui duas versões, na primeira ele retira 3% de vida por segundo, na segunda ele adiciona uma condição que te deixa perdendo uma quantidade fixa de vida, CONTUDO, na segunda versão aparece uma poça de sangue cada vez que toma o dano então dá pros players te pegarem caso vc coloque o anel e resolva fugir kkkkk
Vou chamar aqui de versão 1 e 2 respectivamente.
OBS: ISSO É EM MOVEMENTS!
1ª versão (sem sangue mas que tira 3% de vida por segundo):
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local percent = 3 local tempo = 1 -- em segundos function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") function lifesteal(cid) steal = addEvent(lifesteal, 1000*tempo, cid) if isCreature(cid) then doSendAnimatedText(getCreaturePos(cid), "-"..math.floor((getCreatureMaxHealth(cid) * (percent/100))), 144, cid) doCreatureAddHealth(cid, -math.floor(getCreatureMaxHealth(cid) * (percent/100))) end end lifesteal(cid) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") stopEvent(steal) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end 2ª versão (a cada 1,5 segundos ele te tira um dano configurado e deixa uma poça de sangue embaixo de vc facilitando que te identifiquem mesmo estando invisivel):
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE) addDamageCondition(condition, -1, 1500, -500) function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") doAddCondition(cid, condition) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") doRemoveCondition(cid, CONDITION_PHYSICAL) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end Agora edite no items.xml o stealth ring pra que ele seja infinito:
<item id="2202" article="a" name="stealth ring"> <attribute key="weight" value="100" /> <attribute key="slotType" value="ring" /> <attribute key="transformDeEquipTo" value="2165" /> </item> e em movements.xml adicione essas linhas:
<movevent type="Equip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> <movevent type="DeEquip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> Editando:
Na primeira versão vc pode alterar as seguintes coisas que estão em colorido:
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE)
local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false)
local percent = 3
local tempo = 1 -- em segundos
em vermelho é o tempo que dura a invisibilidade... -1 é infinito
em azul é a porcentagem de vida que perde por tempo
em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo perde 3%
Na segunda versão vc pode editar as mesmas coisas do primeiro só que o tempo e o dano pelo tempo estão na condition:
local condition = createConditionObject(CONDITION_PHYSICAL)
setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE)
addDamageCondition(condition, -1, 1500, -500)
em vermelho é o numero de vezes que vai tirar vida. Mais uma vez -1 significa infinito (infinito até remover o anel)
em azul é o dano que vc toma a cada tempo (lembre-se de deixar sempre um - na frente se não ele vai adicionar vida)
em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo e meio retira 500 de vida
Bom, é isso.. um script simples mas que vai ajudar muita gente pelo fato de usar conditions não tão comuns e de uma forma diferente haha
-
nari deu reputação a Guilherme em Novidade: Poketibia 9.60Servidor Poketibia 9.60
(Por Lazarocp)
- Aprovado para download -
- Servidor em desenvolvimento -
Você também pode ajudar!
• O servidor ainda não se encontra 100%, possui erros simples nas sources.
• Os Scripts ainda estão desorganizados (peço desculpas).
○ Este servidor está na versão 9.60, sendo assim, tive que mexer nos scripts para deixá-lo funcional.
Informações gerais:
• Catch/Goback: 90%.
(Havendo apenas um erro no data/creaturescripts/scripts/goback.lua).
Ride: 100%
Fly: 95%
Surf: 99%
Blink: 100%
Rock Smash: 100%
Demais: 100%.
Clan system: 100%.
M1 à M12: 100%.
Portrait System: 100%.
Nurse Joy: 100%.
Nota: O nosso mapa está sendo feito do zero (0). Já contamos com seis (06) cidades e vários respawns.
Pokémons:
Primeira geração: 100%
Segunda geração: 100%
Terceira geração: 100%
Quarta geração: 100%
Quinta geração: Retirados.
Sexta geração: Retirados.
Mega Evolutions: Retiradas.
Evolução por stones: 100%
Race e Combat: 100%
Pokedex: 95%
(Pokedex com descrição do pokémon e onde encontrá-lo. A função "onde encontrá-los", só está disponível em alguns Pokemons).
Sistema de Pokémons iniciais: 100%
• Novas Pokébolas!
• Mega Stones: Retiradas.
Downloads:
Créditos:
Criação e postagem: Lazarocp
• Ao divulgar ou utilizar, favor mantenham os devidos créditos.
• REP'S serão sempre bem vindos, obrigado.
-
nari deu reputação a Cadu em [Link Quebrado] Styller Yourots [Editado]• Styller Yourots {Editado} (8.60) •
Bem galera, tô dando uma atualizado no server do Diih e colocando aqui pra vcs. Espero que curtem.
• Informações:
Editado por Caduziin 19/05/12
-- ADD TELEPORTS PRAS HUNTS E QUESTS.
-- Novo Visual do Templo.
-- Novo Visual do DP.
-- ADDONS AGORA POR ITENS.
-- Adicionado Comando Para Comprar VIP: !buyvip.
-- Adicionado NPC Morpheu (que troca 100 Giant Spider Silk por 10 Spool of Yarn).
-- Adicionado NPC A Sweaty Cyclops (que troca itens de addons que não caí de bichos por equipamento).
-- Obsidian Knife e Blessed Wooden Stakeedit Funcionando.
-- Canivete funcionando e Adicioando nNPC que o vende.
-- Nargor Editado.
-- VIP Quest (em Nargor).
-- Adicionando VIP Itens.
-- Novas Áreas adicionadas como: dwarf, lizard, minotaur, tortoise, quara, wasp, chicken, dwork, djins, entre outras...
-- Editado itens.xml.
-- Editado pasta npc.
-- Editado loot dos bichos.
-- Adicionado Poção que dobra sua xp por 30 minutos (vendido na área VIP).
-- Ao usar uma potion o empty vial some.
-- Adicionado camas nas casas.
Editado por Caduziin 21/05/12
-- NOVOS VIPS ITENS: E AGORA VENDIDOS NA NPC MAD
-- Novo Templo.
-- Cidades Editadas.
-- Bugs das casas arrumados.
-- Bug da NPC A Sweaty Cyclops arrumado.
-- ADD Quest Yalahar.
-- Algumas edições no mapa.
-- E muito mais...
• Fotos:
• Teleports
• Novo Templo
• Novo Depot
• NPC Taiki
• NPC Edgar
• NPC Morpheu
• The Horned Fox
• Nova Área Demon
• Galinheiro
• Nova Área GS
• Nova Área Quara
• Nova Área Tortoise
• Nova Área Tumba
• Cyclops
DOWNLOAD
Servidor: 4shared
• Download do Server (SEM AS DLLS E DISTRO): http://www.4shared.c...ado_20_Sem.html
• Scan VirusTotal: Clique Aqui.
• Download DLLS E DISTRO: http://www.4shared.c...s_e_Distro.html
• Scan VirusTotal: Clique Aqui.
• Créditos
Diih
-- Caduziin
-- Robson Dias
-- Comedinhasss
-- Techloko
-- TFS Team
-- Gorno
-- Vilden
-- Pumah
-- RubensBarrichelo
-- Vodkart
-- Doidin
BOM JOGO
-
nari recebeu reputação de sherifops em [NEW] Frozen-hell 8.60 [UPDAPT FULL NO BUGS] !é facil arrumar os bugs q tem no ot?