-
Total de itens
150 -
Registro em
-
Última visita
-
Dias Ganhos
2
Tudo que Hudsin postou
-
Perfeito para quem procura esses bosses,pois o seu,ao contrário dos que vem em ot servers,possui o dano,loot etc,alem de ser uma inovação parar servidores com mapa global,que não possuem os mesmos(Apocalypse, Verminor, Infernatil), é uma boa ideia adicionálos no server,possuindo bosses "Novos"(para servidores global) embora conhecidos :smile_positivo:
-
Sistema De Reputação, Recompensa
tópico respondeu ao Demonbholder de Hudsin em NPCs, monsters e raids
Script Ótimo e aprovado! Ótima ideia aalem de ser um script perfeito e incentivador de "movimentação" no server,vlw! :smile_positivo: -
Funcionou,vlw! :smile_positivo:
-
[Bug On Death] Player Morre E Volta Com Stamina Full
um tópico no fórum postou Hudsin Lixeira Pública
Bom... preciso de ajuda nisso '-' Player morre e volta com stamina full Teria que morrer e voltar com a stamina de como estava antes,need help '-' No config.lua esta assim: -- Stamina rateStaminaLoss = 1 <---- (tinha colocado 0 antes errado,na verdade aqui está 1) rateStaminaGain = 1 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 41 * 60 staminaRatingLimitBottom = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = false :tux: -
@Irrra Simples,vc pois em war(imagina q seja algum war system) e no war system apenas conta os kills,mas o player não pega frag,testa sem as guilds estarem em war. :smile_positivo:
-
Tenta isso... htdocs/whoisonline.php: <?PHP $update_interval = 10; if(count($config['site']['worlds']) > 1) { $worlds .= '<i>Select world:</i> '; foreach($config['site']['worlds'] as $id => $world_n) { $worlds .= ' <a href="?subtopic=whoisonline&world='.$id.'">'.$world_n.'</a> , '; if($id == (int) $_GET['world']) { $world_id = $id; $world_name = $world_n; } } $main_content .= substr($worlds, 0, strlen($worlds)-3); } if(!isset($world_id)) { $world_id = 0; $world_name = $config['server']['serverName']; } $order = $_REQUEST['order']; if($order == 'level') $orderby = 'level'; elseif($order == 'vocation') $orderby = 'vocation'; if(empty($orderby)) $orderby = 'name'; $tmp_file_name = 'cache/whoisonline-'.$orderby.'-'.$world_id.'.tmp'; if(file_exists($tmp_file_name) && filemtime($tmp_file_name) > (time() - $update_interval)) { $tmp_file_content = explode(",", file_get_contents($tmp_file_name)); $number_of_players_online = $tmp_file_content[0]; $players_rows = $tmp_file_content[1]; } else { $players_online_data = $SQL->query('SELECT * FROM players WHERE world_id = '.(int) $world_id.' AND online > 0 ORDER BY '.$orderby); $number_of_players_online = 0; foreach($players_online_data as $player) { $number_of_players_online++; $acc = $SQL->query('SELECT * FROM '.$SQL->tableName('accounts').' WHERE '.$SQL->fieldName('id').' = '.$player['account_id'].'')->fetch(); if(is_int($number_of_players_online / 2)) $bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder']; $rs = ""; if ($player['skulltime'] > 0 && $player['skull'] == 3) $rs = "<img style='border: 0;' src='./images/whiteskull.gif'/>"; elseif ($player['skulltime'] = $player['skull'] == 4) $rs = "<img style='border: 0;' src='./images/redskull.gif'/>"; elseif ($player['skulltime'] = $player['skull'] == 5) $rs = "<img style='border: 0;' src='./images/blackskull.gif'/>"; $players_rows .= '<TR BGCOLOR='.$bgcolor.'><TD WIDTH=10%><image src="images/flags/'.$acc['flag'].'.png"/></TD><TD WIDTH=70%><A HREF="?subtopic=characters&name='.urlencode($player['name']).'">'.$player['name'].$rs.'</A></TD><TD WIDTH=10%>'.$player['level'].'</TD><TD WIDTH=20%>'.$vocation_name[$world_id][$player['promotion']][$player['vocation']].'</TD></TR>'; } file_put_contents($tmp_file_name, $number_of_players_online.','.$players_rows); } //Wykresik $main_content.= ' <TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD WIDTH=10% CLASS=white><center><B>Players Online On Trutao Sv</B></TD></TR></TABLE> <table align="center"><td> </td> </tr> </table>'; if($number_of_players_online == 0) //server status - server empty $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><B>Server Status</B></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1><TR><TD>Currently no one is playing on <b>'.$config['site']['worlds'][$world_id].'</b>.</TD></TR></TABLE></TD></TR></TABLE><BR>'; else { //Vocations pics $vocs = array(); foreach($SQL->query('SELECT `vocation`, COUNT(`id`) AS `count` FROM `players` WHERE `world_id` = "'.$world_id.'" AND `online` > 0 GROUP BY `vocation`') as $entry) $vocs[$entry['vocation']] = $entry['count']; $main_content .= '<table width="200" cellspacing="1" cellpadding="0" border="0" align="center"> <tbody> </tbody> </table> <div style="text-align: center;"> </div>'; $main_content .= "<table width='100%' cellspacing='1'> <tr> <td style='background: ".$bgcolor.";' align='center'> <img src='./images/whiteskull.gif'/> - 1 - 6 Frags <br/> <img src='./images/redskull.gif'/> - 7+ Frags no dia para Red Skull <br/> <img src='./images/blackskull.gif'/> - 15+ Frags no dia para Black Skull </td> </tr> </table>"; //server status - someone is online $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><B>Server Status</B></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1><TR><TD>Currently '.$number_of_players_online.' players are online on <b>'.$config['site']['worlds'][$world_id].'</b>.</TD></TR></TABLE></TD></TR></TABLE><BR>'; //list of players $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD><a href="" CLASS=white >Country</a></TD><TD><A HREF="?subtopic=whoisonline&order=name&world='.$world_id.'" CLASS=white>Name</A></TD><TD><A HREF="?subtopic=whoisonline&order=level&world='.$world_id.'" CLASS=white>Level</A></TD><TD><A HREF="?subtopic=whoisonline&order=vocation&world='.$world_id.'" CLASS=white>Vocation</TD></TR>'.$players_rows.'</TABLE>'; //search bar $main_content .= '<BR><FORM ACTION="?subtopic=characters" METHOD=post> <TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>'; } ?> e espera um tempo... acho que vai resolver :smile_positivo:
-
Aqui Não aparece os nomes dos players vip :mellow: alguem da um help ?
-
Ao usar algum spellbook que adiiciona ml Exemplo: Uso um spellbook que adiciona 3 de ml,ao tirá-lo,a ml continua como se eu ainta estivece usando. '-' <item id="8918" article="a" name="spellbook of dark mysteries"> <attribute key="description" value="It shows your spells and can also shield against attack when worn." /> <attribute key="weight" value="2850" /> <attribute key="magiclevelpoints" value="3" /> <attribute key="defense" value="16" /> <attribute key="weaponType" value="shield" /> </item> Alguem pode ajudar? vlw!
-
talkaction [Talkaction] Dirigindo "carro"
tópico respondeu ao Hudsin de Hudsin em Actions e Talkactions
Bom,o post original é da otland feito pelo usuário Doggynub,ja algumas alterações foram feitas poe eu e alguns amigos para melhor desempenho do script. Quando postei aqui,eu nao havia encontrado algum igual... E mesmo qque tenha algum igual,o meu possui algumas modificações que forão feitas exclusivamente por mim e meus amigos,caso esteja igual foi capiado,bjs -
Ainda não consegui arrumar vlw pela tentativa :smile_positivo:
-
Imagine Um Tibia Com Carro :)
tópico respondeu ao zerian de Hudsin em Notícias e Discussões - Tibia Global
Pode ser algo que pareça uma "carro medieval"? xD Olhem: [Talkaction] Dirigindo Carro :smile_positivo: :tux: -
[Mod] Full Auto War-Teambattle Event (Com Recompensa)
tópico respondeu ao Hudsin de Hudsin em Globalevents e Spells
Vlw =D e obrigado pela dica,vou me esforçar para explicar mais as funções dos scripts,vlw! Lembrando: Apenas alguns scripts que eu posto eu mesmo que sou autor,a maioria eu apenas modifico algumas coisas,mas mesmo assim vlw! :smile_positivo: :tux: -
Obrigado por compartilhar isso conosco. Rep+ Adicionei o que disse e coloquei os devidos créditos,obrigado. @Todos que ja testaram: Atualizei o script mas não tenho tempo para testar,peço para que testem outra vez e vejam se funciona, vlw :smile_positivo: :penguin:
-
talkaction [Talkaction] Dirigindo "carro"
tópico respondeu ao Hudsin de Hudsin em Actions e Talkactions
@Tibiarx LOL com a mesma SS ? AHEUIAUEIAHIUEUIAUD!!!! Essa ss eu mesmo tirei no meu server cara.Pode olhar a data dos posts caso houver alguma duvida,se puder me passa o link.. vlw! -
[Encerrado] Como Faço Soft Infinita + Boh
tópico respondeu ao xAlucard de Hudsin em Tópicos Sem Resposta
Deu carto, VLWWWWWWWW :button_ok: :button_ok: :button_ok: -
talkaction [Talkaction] Dirigindo "carro"
tópico respondeu ao Hudsin de Hudsin em Actions e Talkactions
Você pode por aqui como ficaria adicionando-o no items.xml? vlw ! -
[Vip System/gesior Acc] Nao Gasta Points E Recebe O Item...
um tópico no fórum postou Hudsin Lixeira Pública
Resolvido. Ultilizei esse sistema e funcionou perfeitamente: Sistema Vip by Account :smile_positivo: -
[Mod] Full Auto War-Teambattle Event (Com Recompensa)
tópico respondeu ao Hudsin de Hudsin em Globalevents e Spells
Bom... pelo que eu saiba,pokemon nao eh player vs player e sim pokemon vs pokemon... nao sei se o script funciona,tenho quase certeza que não,pois a funções tem a ver com playerkill e nao pokemon :penguin: -
talkaction [Talkaction] Dirigindo "carro"
tópico respondeu ao Hudsin de Hudsin em Actions e Talkactions
Pode mostrar aqui como colocar? vlw -
De uma olhada nesse aqui http://www.xtibia.com/forum/topic/149806-mod-full-auto-war-teambattle-event-com-recompensa/ vlw :tux:
-
[Mod] Full Auto War-Teambattle Event (Com Recompensa)
um tópico no fórum postou Hudsin Globalevents e Spells
Fonte: Otland - Doggynub Modificações e tradução de algumas falas do npc e do MOD: Hudsin Testado em tfs 0.4 O que faz o script: Sistema de guerra entre 2 times(vermelho e azul),para que a war se inicie é necessário 2 times de 20 players(pode ser mudado no script) além de todos que forem participar precisar falar com o npc Eventer. Atualizações: 1- GM pode resetar o evento. 2- Players nao pode mudar a cor do outfit durante o evento. 3- Cada 40 segundos é enviado a mensagem avisando quantos players estão participando. Crie um novo npc em npc/Eventer.xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Eventer" script="event.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="79" body="113" legs="105" feet="86" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Para entrar na batalha diga {Battle} e para sair diga leave."/> <parameter key="message_farewell" value="Good bye."/> <parameter key="message_walkaway" value="Farewell then.." /> </parameters> </npc> Agora em npc/script crie Event.lua e cole: 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 --[[start edit]]-- local mingroup = 4 --(updated) minimum group to reset the event local joined = 10000 ---must be like the storage in mod local maxPlayerEachTeam = 20 ---must be like max number in mod local team1Name = "Blue" ---must be like team number i mod local team2Name = "Red" local minlevel = 130 --(added) min lvl for a player to join. --[[storage like in the mod file]]-- local running1 = 12000 --just add a non ussed storage local running2 = 12001 --just add a non ussed storage local sto = 12223 --just add a non ussed storage --[[storage end]]-- --[[End of edit]]-- local function getBlue() return getGlobalStorageValue(9888) end local function removeBlue() return setGlobalStorageValue(9888, getGlobalStorageValue(9888) - 1) end local function addBlue() return setGlobalStorageValue(9888, getGlobalStorageValue(9888) + 1) end local function resetBlue() return setGlobalStorageValue(9888,0) end local function getRed() return getGlobalStorageValue(9887) end local function removeRed() return setGlobalStorageValue(9887, getGlobalStorageValue(9887) - 1) end local function addRed() return setGlobalStorageValue(9887, getGlobalStorageValue(9887) + 1) end local function resetRed() return setGlobalStorageValue(9887,0) end --[[script start]]-- function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if getPlayerGroupId(cid) >= mingroup then npcHandler:say("Oh! Hail, sire. Do you want to reset my event?", cid) talkState[talkUser] = 1 if msgcontains(msg, 'yes') and talkState[talkUser] == 1 then resetBlue() resetRed() setGlobalStorageValue(running1,-1) setGlobalStorageValue(running2,-1) setGlobalStorageValue(sto,-1) npcHandler:say("Event was reseted, sire.", cid) doBroadcastMessage("Eventer: Meu evento foi resetado por ordens do "..getCreatureName(cid)..". Para participar fale comigo outra vez,estou na arena pvp.") for _,cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid, joined) > 0 then setPlayerStorageValue(cid, joined,-1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) end end elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then npcHandler:say("As You wish, sire.", cid) talkState[talkUser] = 0 end else if msgcontains(msg, 'battle') then if getGlobalStorageValue(running2) == 1 then npcHandler:say("Ja tem batalha em andamento,tente mais tarde.", cid) elseif getPlayerLevel(cid) < minlevel then npcHandler:say("Apenas level 130+ pode participar.",cid) else npcHandler:say("Voce esta preparado para a abatalha? Por enquanto temos " .. getBlue() .. "/" .. maxPlayerEachTeam .. " players no {" .. team1Name .. "} team e " .. getRed() .. "/" .. maxPlayerEachTeam .. " players no {" .. team2Name .. "} team,vc quer escolher algum?", cid) talkState[talkUser] = 1 end elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, joined) ~= 1 and getPlayerStorageValue(cid, joined) ~= 2 then npcHandler:say("Vc quer ser do {" .. team1Name .. "} team ou {" .. team2Name .. "} team?", cid) talkState[talkUser] = 2 else npcHandler:say("Vc esta cadastrado!", cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'no') and talkState[talkUser] == 1 then npcHandler:say("Okay then.", cid) talkState[talkUser] = 0 elseif msgcontains(msg, team1Name) and talkState[talkUser] == 2 then if getBlue() ~= maxPlayerEachTeam then --fixed setPlayerStorageValue(cid, joined, 1) addBlue() npcHandler:say("Vc entrou no " .. team1Name .. " team! Quando ambas equipes tiverem " .. maxPlayerEachTeam .. " os players serao teleportados para arena de batalha.", cid) talkState[talkUser] = 0 else npcHandler:say("{" .. team1Name .. "} team esta cheio, entre no {" .. team2Name .. "} team ou espere alguem sair do {" .. team1Name .. "} team.", cid) --fixed talkState[talkUser] = 1 end elseif msgcontains(msg, team2Name) and talkState[talkUser] == 2 then if getRed() ~= maxPlayerEachTeam then --fixed setPlayerStorageValue(cid, joined, 2) --fixed addRed() npcHandler:say("Vc esta no " .. team2Name .. " team! Quando ambas equipes tiverem " .. maxPlayerEachTeam .. " os players serao teleportados para arena de batalha.", cid) talkState[talkUser] = 0 else npcHandler:say("{" .. team2Name .. "} team esta cheio, entre no {" .. team1Name .. "} team ou espere alguem sair do {" .. team2Name .. "} team.", cid) talkState[talkUser] = 1 end elseif msgcontains(msg, 'leave') then npcHandler:say("Vc quer sair da lista de espera para batalha?", cid) talkState[talkUser] = 3 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 3 then if getPlayerStorageValue(cid,joined) == 1 then setPlayerStorageValue(cid, joined, -1) -- fixed removeBlue() npcHandler:say("Vc saiu da batalha.", cid) doBroadcastMessage("Event: " .. getPlayerName(cid) .. " saiu da batalha " .. team1Name .. " e " .. team2Name .. "!") elseif getPlayerStorageValue(cid,joined) == 2 then --fixed setPlayerStorageValue(cid,joined,-1) removeRed() npcHandler:say("Vc saiu da batalha.", cid) doBroadcastMessage("Event: " .. getPlayerName(cid) .. " saiu da batalha " .. team1Name .. " e " .. team2Name .. "!") else npcHandler:say("Vc nao esta cadastrado!", cid) end talkState[talkUser] = 0 -- moved end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora para instalar o MOD crie um novo arquivo Event.xml na pasta mods de seu ot e coloque o seguinte codigo: <?xml version="1.0" encoding="UTF-8"?> <mod name="Team Event" version="1.0" author="Damadgerz" contact="support@lualand.net" enabled="yes"> <description> This is a full auto Team BattleEvent(missing part for site) : 1- Player will get the ability to talk to the npc event starter to start the event every x times(time between each event) 2- players will go to npc and say battle and then join their desired team(you adjust team names) , they also have ability to leave team 3- You have ability to set max players per each team, npc will not tp the players to arena except when both teams are full 4- Script automatically set the place of event to a pvp arena (players no lose items,levels,geet msg who killed them).Place cant be a non-pvp area. 5- if player logged out they will automatically be lifted out from event. 6- players in same team cant attack each others even with spells 7- each team will have a uniform 8-you choose where the first team be tped and where the second team be tped 9-when event start, you set a max time for event.So if ppl couldnt kill each other( if players in first team = players in second team when event times finish) They will automatically be sent to temple and no one will take reward and broadcast 10 -during event if max time didnt finish and player of team 1 killed all of those of team2 then players of team1 will be tped to temple broadcasting they won by killing all other members and will recieve a random reward taht you set 11 -Then the event will be on hold untill time between each event pass(you set that) , and when it pass a auto broadcast is made every minute to tell player that event is open. </description> <config name="tutorial_m"><![CDATA[ running1 = 12000 --just add a non ussed storage running2 = 12001 --just add a non ussed storage joined = 10000 --just add a non ussed storage sto = 12223 --just add a non ussed storage check = 5454 -- empty storage redpotision = {x=19068, y=18978, z=7} --place where the red team player be teleported to blueposition = {x=19060, y=19052, z=7} --place where the blue team player be teleported to stoptime = 2 --in minutes team1name = "Blue" --just put the name without <team> team2name = "Red" timebetween = 5 -- time between each event arena = { frompos = {x=19068,y=18978,z=7}, topos = {x=19060,y=19052,z=7} } ----Put you event area here conf = { rewards_id = {2472}, -- Rewards ID maxplayers = 20 ---maxplayers per team } ]]></config> <lib name="football-lib"><![CDATA[ function getBlue() return getGlobalStorageValue(9888) end function removeBlue() return setGlobalStorageValue(9888, getGlobalStorageValue(9888) - 1) end function addBlue() return setGlobalStorageValue(9888, getGlobalStorageValue(9888) + 1) end function resetBlue() return setGlobalStorageValue(9888,0) end function getRed() return getGlobalStorageValue(9887) end function removeRed() return setGlobalStorageValue(9887, getGlobalStorageValue(9887) - 1) end function addRed() return setGlobalStorageValue(9887, getGlobalStorageValue(9887) + 1) end function resetRed() return setGlobalStorageValue(9887,0) end function onStop() if getGlobalStorageValue(running1) == 1 then setGlobalStorageValue(running1, -1) setGlobalStorageValue(sto,1) end return true end function onStopp() if getGlobalStorageValue(running2) > 0 then setGlobalStorageValue(running2,-1) doBroadcastMessage("Event : event is started again , go talk to the Evnet's Npc.") end end ]]></lib> <event type="login" name="Tutorial Login" event="script"><![CDATA[ domodlib('football-lib') domodlib('tutorial_m') function onLogin(cid) if getPlayerStorageValue(cid,check) > 0 then if isInRange(getCreaturePosition(cid), arena.frompos, arena.topos) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) setPlayerStorageValue(cid,check,-1) else setPlayerStorageValue(cid,check,-1) end end registerCreatureEvent(cid, "Log") registerCreatureEvent(cid, "Arena") registerCreatureEvent(cid, "Attk") return true end ]]></event> <event type="combat" name="Attk" event="script"><![CDATA[ domodlib('tutorial_m') domodlib('football-lib') function onCombat(cid, target) if getPlayerStorageValue(cid, joined) == 1 and getPlayerStorageValue(target, joined) == 1 then return false end if getPlayerStorageValue(cid, joined) == 2 and getPlayerStorageValue(target, joined) == 2 then return false end return true end ]]></event> <event type="logout" name="Log" event="script"><![CDATA[ domodlib('football-lib') domodlib('tutorial_m') function onLogout(cid) if getPlayerStorageValue(cid,joined) == 1 then doBroadcastMessage(""..getPlayerName(cid).." have left the War-Event") setPlayerStorageValue(cid,joined,-1) setPlayerStorageValue(cid,check,1) removeBlue() return true end if getPlayerStorageValue(cid,joined) == 2 then doBroadcastMessage(""..getPlayerName(cid).." have left the War-Event") setPlayerStorageValue(cid,check,1) removeRed() return true end return true end ]]></event> <event type="statschange" name="Arena" event="script"><![CDATA[ domodlib('football-lib') domodlib('tutorial_m') local corpse_ids = { [0] = 3065, -- female [1] = 3058 -- male } function onStatsChange(cid, attacker, type, combat, value) if combat == COMBAT_HEALING then return true end if getCreatureHealth(cid) > value then return true end if isInRange(getCreaturePosition(cid), arena.frompos, arena.topos) then doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".\n[War-Event kill]") doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) doRemoveConditions(cid, FALSE) doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You got killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").." in the war event.") if isPlayer(attacker) then doPlayerSendTextMessage(attacker, MESSAGE_STATUS_CONSOLE_BLUE, "You killed "..getCreatureName(cid).." in the war event.") end if getPlayerStorageValue(cid,joined) == 1 then removeBlue() setPlayerStorageValue(cid,10000,-1) elseif getPlayerStorageValue(cid,joined) == 2 then removeRed() setPlayerStorageValue(cid,10000,-1) end end return true end ]]></event> <globalevent name="reset" type="start" event="script"><![CDATA[ domodlib('football-lib') domodlib('tutorial_m') function onStartup() resetBlue() resetRed() setGlobalStorageValue(running1,-1) setGlobalStorageValue(running2,-1) setGlobalStorageValue(sto,-1) return true end ]]></globalevent> <globalevent name="TeamBattle" interval="7" event="script"><![CDATA[ domodlib('football-lib') domodlib('tutorial_m') local bmale = createConditionObject(CONDITION_OUTFIT) setConditionParam(bmale, CONDITION_PARAM_TICKS, -1) addOutfitCondition(bmale, {lookType = math.random(128,134), lookHead = 88, lookBody = 88, lookLegs = 88, lookFeet = 88, lookTypeEx = 0, lookAddons = 3}) local bfemale = createConditionObject(CONDITION_OUTFIT) setConditionParam(bfemale, CONDITION_PARAM_TICKS, -1) addOutfitCondition(bfemale, {lookType = math.random(136,142), lookHead = 88, lookBody = 88, lookLegs = 88, lookFeet = 88, lookTypeEx = 0, lookAddons = 3}) local rmale = createConditionObject(CONDITION_OUTFIT) setConditionParam(rmale, CONDITION_PARAM_TICKS, -1) addOutfitCondition(rmale, {lookType = math.random(128,134), lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 3}) local rfemale = createConditionObject(CONDITION_OUTFIT) setConditionParam(rfemale, CONDITION_PARAM_TICKS, -1) addOutfitCondition(rfemale, {lookType = math.random(136,142),lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 3}) function onThink(interval, lastExecution) local random_item = conf.rewards_id[math.random(1, #conf.rewards_id)] if (getBlue() == conf.maxplayers and getRed() == conf.maxplayers) then if (getGlobalStorageValue(running1) == -1 and getGlobalStorageValue(sto) == -1) then setGlobalStorageValue(running1,1) doBroadcastMessage("The Team Battle Event have started.And will end in "..stoptime.." minutes, unless one of the teams has killed all the oponents") addEvent(onStop, stoptime * 60 * 1000) for _, cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid, joined) == 1 then if getPlayerSex(cid) == 1 then doAddCondition(cid, bmale) elseif getPlayerSex(cid) ~= 1 then doAddCondition(cid, bfemale) end doTeleportThing(cid, blueposition, FALSE) doSendMagicEffect(blueposition, 10) elseif getPlayerStorageValue(cid, joined) == 2 then if getPlayerSex(cid) == 1 then doAddCondition(cid, rmale) elseif getPlayerSex(cid) ~= 1 then doAddCondition(cid, rfemale) end doTeleportThing(cid, redpotision, FALSE) doSendMagicEffect(redpotision, 10) end end end end if getGlobalStorageValue(running1) == 1 then setGlobalStorageValue(running2,1) if (getBlue() >= 1 and getRed() < 1) then addEvent(onStopp, timebetween * 60 * 1000) doBroadcastMessage("The War-Event has finished as the " ..team1name.. " team has killed all players in oponnent team ,they will recieve their rewards.Event will be reopened in ".. timebetween .." minutes") elseif (getBlue() < 1 and getRed() >= 1) then doBroadcastMessage("The War-Event has finished as the " ..team2name.. " team has killed all players in oponnent team,they will recieve their rewards.Event will be reopened in ".. timebetween .." minutes") addEvent(onStopp, timebetween * 60 * 1000) end for _, cid in ipairs(getPlayersOnline()) do if (getBlue() >= 1 and getRed() < 1) then if getPlayerStorageValue(cid,joined) == 1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) doRemoveConditions(cid, FALSE) doPlayerAddItem(cid, random_item, 1) doRemoveConditions(cid, FALSE) doCreatureSay(cid, "You have won a "..getItemNameById(random_item).." as a reward from war event", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, joined,-1) setGlobalStorageValue(running1,-1) resetBlue() end end if (getBlue() < 1 and getRed() >= 1) then if getPlayerStorageValue(cid,joined) == 2 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doRemoveConditions(cid, FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) doRemoveConditions(cid, FALSE) doPlayerAddItem(cid, random_item, 1) doCreatureSay(cid, "You have won a "..getItemNameById(random_item).." as a reward from war event", TALKTYPE_ORANGE_1) setGlobalStorageValue(running1,-1) setPlayerStorageValue(cid, joined,-1) resetRed() end end end end return true end ]]></globalevent> <globalevent name="Team" interval="3" event="script"><![CDATA[ domodlib('football-lib') domodlib('tutorial_m') function onThink(interval, lastExecution) local random_item = conf.rewards_id[math.random(1, #conf.rewards_id)] if getGlobalStorageValue(sto) == 1 then if (getRed() > getBlue()) then doBroadcastMessage("The War-Event has finished as the " ..team2name.. " team has killed all players in oponnent team,they will recieve their rewards.Event will be reopened in ".. timebetween .." minutes") for _, cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid,joined) == 2 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) doRemoveConditions(cid, FALSE) doPlayerAddItem(cid, random_item, 1) doRemoveConditions(cid, FALSE) doCreatureSay(cid, "You have won a "..getItemNameById(random_item).." as a reward from war event", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, joined,-1) end if getPlayerStorageValue(cid,joined) == 1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) doPlayerSendTextMessage(cid,24, "Your team has lost in the war event war event") setPlayerStorageValue(cid, joined,-1) doRemoveConditions(cid, FALSE) end end addEvent(onStopp, timebetween * 60 * 1000) end if (getRed() < getBlue()) then doBroadcastMessage("The War-Event has finished as the " ..team1name.. " team has killed all players in oponnent team,they will recieve their rewards.Event will be reopened in ".. timebetween .." minutes") for _, cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid,joined) == 1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) doPlayerAddItem(cid, random_item, 1) doRemoveConditions(cid, FALSE) doRemoveConditions(cid, FALSE) doCreatureSay(cid, "You have won a "..getItemNameById(random_item).." as a reward from war event", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, joined,-1) end if getPlayerStorageValue(cid,joined) == 2 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doRemoveConditions(cid, FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) doPlayerSendTextMessage(cid,24, "Your team has lost in the war event war event") setPlayerStorageValue(cid, joined,-1) end end addEvent(onStopp, timebetween * 60 * 1000) end if (getRed() == getBlue()) then for _, cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid,joined) == 2 or getPlayerStorageValue(cid,joined) == 1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), FALSE) doRemoveConditions(cid, FALSE) doSendMagicEffect(getCreaturePosition(cid), 10) doRemoveConditions(cid, FALSE) setPlayerStorageValue(cid, joined,-1) doBroadcastMessage("Event max time ended.And niether of the teams won the event.Event will be reopened in ".. timebetween .." minutes") end end addEvent(onStopp, timebetween * 60 * 1000) end resetBlue() resetRed() setGlobalStorageValue(sto, -1) end return true end ]]></globalevent> <globalevent name="Broad" interval="90" event="script"><![CDATA[ domodlib('football-lib') domodlib('tutorial_m') function onThink(interval, lastExecution) if getGlobalStorageValue(running2) == -1 then doBroadcastMessage("O evento de batalha está aberto.O npc Eventer precisa de 2 times de 20 pessoas para iniciar a batalhe,ele esta na Arena Pvp que vai por teleport de Carlin. Ja tem "..getBlue().." players no blue team vs "..getRed().." players no Red team,o time vencedor sera premiado.") return true end return true end ]]></globalevent> <globalevent name="Karim" interval="40000" event="script"><![CDATA[ domodlib('football-lib') domodlib('tutorial_m') function onThink(interval, lastExecution) if getGlobalStorageValue(running1) > 0 then local blue = {} local green = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getCreaturePosition(pid),arena.frompos, arena.topos) then if getPlayerStorageValue(pid, joined) == 1 then table.insert(blue,getCreatureName(pid)) elseif getPlayerStorageValue(pid, joined) == 2 then table.insert(green,getCreatureName(pid)) end end end local greenn = table.concat(green,', ') local bluee = table.concat(blue,', ') for _, tid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(tid, joined) > 0 then doPlayerSendTextMessage(tid,19,'<<!-- Players left --!>>\n '..team1name..' team ('..#blue..') : '..bluee..'.\n '..team2name..' team ('..#green..') : '..greenn..'.') end end end return true end ]]></globalevent> </mod> Aqui você pode editar a recompensa: rewards_id = {2472}, -- Rewards ID Para adicionar mais ficaria assim: rewards_id = {ID DO ITEM,ID DO ITEM,ID DO ITEM}, -- Rewards ID espero que gostem e comentem! bjs :XTibia_smile: :tux: -
[Creatureevent] Quest Para Matar "x" Quantidade De Monstros Com Npc Incluido!
tópico respondeu ao Hudsin de Hudsin em Globalevents e Spells
Tirei os Spoilers. -
talkaction [Talkaction] Dirigindo "carro"
tópico respondeu ao Hudsin de Hudsin em Actions e Talkactions
@Dudefully: Leia com atenção antes de querer vir falar algo. E antes de ter colocado os creditos em momento algum deixei visivel que EU era o dono do script,pois antes de ter colocado os creditos eu tinha deixado "Autor Desconhecido" Vlw. @MapperNeto: Ok vou colocar a versão,vlw 8.60
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.