
Tudo que mullino postou
-
Npc Reset Gesior highscores
Ola Galera Do tk quero perdir ajuda para colocar Top reset no gesior uso Tfs4 highscores <?PHP if(!defined('INITIALIZED')) exit; $list = 'experience'; if(isset($_REQUEST['list'])) $list = $_REQUEST['list']; $page = 0; if(isset($_REQUEST['page'])) $page = min(50, $_REQUEST['page']); $vocation = ''; if(isset($_REQUEST['vocation'])) $vocation = $_REQUEST['vocation']; switch($list) { case "fist": $id=Highscores::SKILL_FIST; $list_name='Fist Fighting'; break; case "club": $id=Highscores::SKILL_CLUB; $list_name='Club Fighting'; break; case "sword": $id=Highscores::SKILL_SWORD; $list_name='Sword Fighting'; break; case "axe": $id=Highscores::SKILL_AXE; $list_name='Axe Fighting'; break; case "distance": $id=Highscores::SKILL_DISTANCE; $list_name='Distance Fighting'; break; case "shield": $id=Highscores::SKILL_SHIELD; $list_name='Shielding'; break; case "fishing": $id=Highscores::SKILL_FISHING; $list_name='Fishing'; break; case "magic": $id=Highscores::SKILL__MAGLEVEL; $list_name='Magic'; break; default: $id=Highscores::SKILL__LEVEL; $list_name='Experience'; break; } if(count($config['site']['worlds']) > 1) { foreach($config['site']['worlds'] as $idd => $world_n) { if($idd == (int) $_REQUEST['world']) { $world_id = $idd; $world_name = $world_n; } } } if(!isset($world_id)) { $world_id = 0; $world_name = $config['server']['serverName']; } if(count($config['site']['worlds']) > 1) { $main_content .= ' <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%> <TR> <TD></TD> <TD> <FORM ACTION="" METHOD=get> <INPUT TYPE="hidden" NAME="subtopic" VALUE="highscores"> <TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4> <TR> <TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>World Selection</B></TD> </TR> <TR> <TD BGCOLOR="'.$config['site']['darkborder'].'"> <TABLE BORDER=0 CELLPADDING=1> <TR> <TD>Best players on world:</TD> <TD><SELECT SIZE="1" NAME="world">'; foreach($config['site']['worlds'] as $wid => $world_n) { if($wid == $world_id) $main_content .= ' <OPTION VALUE="'.htmlspecialchars($wid).'" selected="selected">'.htmlspecialchars($world_n).'</OPTION>'; else $main_content .= ' <OPTION VALUE="'.htmlspecialchars($wid).'">'.htmlspecialchars($world_n).'</OPTION>'; } $main_content .= ' </SELECT> </TD> <TD> <INPUT TYPE="image" NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif"> </TD> </TR> </TABLE> </TABLE> </FORM> </TABLE>';} $offset = $page * 100; $skills = new Highscores($id, 100, $page, $world_id, $vocation); $main_content .= ' <TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%> <TR> <TD WIDTH=100% ALIGN=right VALIGN=bottom> <CENTER><H2>Ranking for '.htmlspecialchars($list_name).' on '.htmlspecialchars($world_name).'</H2></CENTER><BR>'; $main_content .= ' <br><TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%></TABLE> <TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"> <TD CLASS=whites><strong>Rank</strong></TD> <TD WIDTH=75% CLASS=whites><B>Name</B></TD> <TD WIDTH=15% CLASS=whites><b>Level</B></TD>'; if($list == "experience") $main_content .= ' <TD CLASS=whites><b>Points</B></TD>'; $main_content .= ' </TR>'; $number_of_rows = 0; foreach($skills as $skill) { if($list == "magic") $value = $skill->getMagLevel(); elseif($list == "experience") $value = $skill->getLevel(); else $value = $skill->getScore(); $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']); $main_content .= ' <tr bgcolor="'.$bgcolor.'"> <td>'.($offset + $number_of_rows).'</td> <td><a href="?subtopic=characters&name='.urlencode($skill->getName()).'">'.htmlspecialchars($skill->getName()).'</a></td> <td>'.$value.'</td>'; if($list == "experience") $main_content .= ' <td>'.$skill->getExperience().'</td>'; $main_content .= ' </tr>'; } $main_content .= ' </TABLE> <TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%>'; if($page > 0) $main_content .= ' <TR> <TD WIDTH=100% ALIGN=right VALIGN=bottom> <A HREF="?subtopic=highscores&list='.urlencode($list).'&page='.($page - 1).'&vocation=' . urlencode($vocation) . '&world=' . urlencode($world_id) . '" CLASS="size_xxs">Previous Page</A> </TD> </TR>'; if($page < 50) $main_content .= ' <TR> <TD WIDTH=100% ALIGN=right VALIGN=bottom> <A HREF="?subtopic=highscores&list='.urlencode($list).'&page='.($page + 1).'&vocation=' . urlencode($vocation) . '&world=' . urlencode($world_id) . '" CLASS="size_xxs">Next Page</A> </TD> </TR>'; $main_content .= ' </TABLE> </TD> <TD WIDTH=5%> <IMG SRC="'.$layout_name.'/images/blank.gif" WIDTH=1 HEIGHT=1 BORDER=0> </TD> <TD WIDTH=15% VALIGN=top ALIGN=right> <TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1> <TR BGCOLOR="'.$config['site']['vdarkborder'].'"> <TD CLASS=whites><B>Choose a category</B></TD> </TR> <TR BGCOLOR="'.$config['site']['lightborder'].'"> <TD> <A HREF="?subtopic=highscores&list=experience&world='.$world_id.'" CLASS="size_xs">Experience</A><BR> <A HREF="?subtopic=highscores&list=magic&world='.$world_id.'" CLASS="size_xs">Magic</A><BR> <A HREF="?subtopic=highscores&list=shield&world='.$world_id.'" CLASS="size_xs">Shielding</A><BR> <A HREF="?subtopic=highscores&list=distance&world='.$world_id.'" CLASS="size_xs">Distance</A><BR> <A HREF="?subtopic=highscores&list=club&world='.$world_id.'" CLASS="size_xs">Club</A><BR> <A HREF="?subtopic=highscores&list=sword&world='.$world_id.'" CLASS="size_xs">Sword</A><BR> <A HREF="?subtopic=highscores&list=axe&world='.$world_id.'" CLASS="size_xs">Axe</A><BR> <A HREF="?subtopic=highscores&list=fist&world='.$world_id.'" CLASS="size_xs">Fist</A><BR> <A HREF="?subtopic=highscores&list=fishing&world='.$world_id.'" CLASS="size_xs">Fishing</A><BR> </TD> </TR> </TABLE> </TD> <TD><IMG SRC="'.$layout_name.'/images/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD> </TR> </TABLE>'; ?> Systema de reset que uso <npc name="Npc Reset" script="data/npc/scripts/reseter.lua" access="5" lookdir="1"> <health now="1000" max="1000"/> <look type="133" head="95" body="86" legs="86" feet="38" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|.I've been waiting for you to come.. Say 'reseter' or 'quantity'" /> <parameter key="message_farewell" value="Cya folk." /> <parameter key="message_walkaway" value="How Rude!" /> </parameters> </npc> Script local config = { minlevel = 150, --- level inical para resetar price = 10000, --- preço inicial para resetar newlevel = 20, --- level após reset priceByReset = 0, --- preço acrescentado por reset percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 50, levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset } --- end config function getResets(uid) resets = getPlayerStorageValue(uid, 378378) if resets < 0 then resets = 0 end return resets end local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid function addReset(cid) if(npcHandler:isFocused(cid)) then npcHandler:releaseFocus(cid) end talkState[talkUser] = 0 resets = getResets(cid) setPlayerStorageValue(cid, 378378, resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) local hp = getCreatureMaxHealth(cid) local resethp = hp*(config.percent/100) setCreatureMaxHealth(cid, resethp) local differencehp = (hp - resethp) doCreatureAddHealth(cid, -differencehp) local mana = getCreatureMaxMana(cid) local resetmana = mana*(config.percent/100) setCreatureMaxMana(cid, resetmana) local differencemana = (mana - resetmana) doCreatureAddMana(cid, -differencemana) doRemoveCreature(cid) local description = resets+1 db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..description.."]' WHERE `players`.`id`= ".. playerid .."") db.executeQuery("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") return true end local newPrice = config.price + (getResets(cid) * config.priceByReset) local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset) if msgcontains(msg, 'reset') then if getResets(cid) < config.maxresets then selfSay('You want to reset your character? It will cost '..newPrice..' gp\'s!', cid) talkState[talkUser] = 1 else selfSay('You already reached the maximum reset level!', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < newPrice then selfSay('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid) elseif getPlayerLevel(cid) < newminlevel then selfSay('The minimum level for reseting is '..newminlevel..'!', cid) else doPlayerRemoveMoney(cid,newPrice) playerid = getPlayerGUID(cid) addEvent(function() if isPlayer(cid) then addReset(cid) end end, 3000) local number = getResets(cid)+1 local msg ="---[Reset: "..number.."]-- You have reseted! You'll be disconnected in 3 seconds." doPlayerPopupFYI(cid, msg) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then talkState[talkUser] = 0 npcHandler:releaseFocus(cid) selfSay('Ok.', cid) elseif msgcontains(msg, 'quantity') then selfSay('You have a total of '..getResets(cid)..' reset(s).', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Se Alguem puder ajudar fico muito agradecido +Rep Alguem pode ajudar?
-
(Resolvido)Ajuda Cave Super Up
Fala Galera Do Tk Muito bom Ter Vcs De Volta... Fiquei Preocupado Com o Tempo Off Gostaria de Pedir Vcs Ajuda Com Um Script De Super Up O nome E Killua Cave Owners Entao..... O problema e que sao 18 Caves supre up e o player compra um item para conseguir usar a cave por 4 horas mas gostaria de colocar que o player nao pode usar outro item da cave enquanto nao acabar o tempo da primeira que ele usou pq o player compra a cave 1 e a cave 2 e a cave 3 mas ele so pode usar uma por vez ai as outras ficam ocupadas.... segue o script local function filtrateString(str) if type(str) ~= "string" then return false end local first, last = 0, 0 local second, final = 0, #str local limitedeuso = 49015 local textofinal1 = "Voce ja esta sob efeito da pot de experiencia espere o efeito acabar." for i = 1, #str do if string.byte(str:sub(i,i)) == string.byte('a') then first = i + 2 for t = first, #str do if string.byte(str:sub(t,t)) == string.byte(' ') then last = t - 1 break end end end if string.byte(str:sub(i,i)) == string.byte('b') then second = i + 2 end end return {str:sub(first, last), str:sub(second, final)} end function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 15000 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce e maior que level 15000, porem nao pode usar a cave exclusiva.") return false end if tonumber(filtrateString(getGlobalStorageValue(822081))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822081, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 1 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822082))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822082, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 2 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822083))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822083, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 3 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822084))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822084, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 4 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822085))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822085, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 5 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822086))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822086, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 6 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822087))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822087, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 7 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822088))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822088, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 8 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822089))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822089, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 9 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822090))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822090, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 10 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822091))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822091, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 11 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822092))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822092, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 12 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822093))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822093, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 13 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822094))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822094, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 14 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822095))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822095, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 15 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822096))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822096, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 16 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822097))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822097, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 17 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) elseif tonumber(filtrateString(getGlobalStorageValue(822098))[2]) < os.time() then doRemoveItem(item.uid) setGlobalStorageValue(822098, "a "..getPlayerAccountId(cid).." b ".. os.time() + (3600 * 4)) doPlayerSendTextMessage(cid, 25, "Agora você é o dono da cave 18 e pode upar lá por 4 horas.") elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) else doPlayerSendCancel(cid, "Todas as caves já estão com dono no momento. Tente mais tarde.") end return true end Obrigado +Rep
-
Ajuda Com Pagseguro
Ola Galerinha do Tk Venho pedir a Ajuda De Vcs Mais Uma veZ nao estou conseguindo colocar pagseguro no meu site toda vez q fasso os tutoriais daki do TK acontece o memso erro quando tento compra pelo pagseguro Erro 105 - O E-MAIL não foi informado. Algem pode dar uma ajuda +REP ja gerei o tokken ja fiz o email e nada da certo pliss
-
Skill Nao salva Gesior
estou agora mesmo procurando uma db sem bugs para colocar vc nao teria uma sem bugs ae nao? Ja Ate troquei de gesior mas nao salva os skill alguem ajuda plisss consegui resolver eu exclui os samples e add novos deu certo aki para quem tiver o mesmo problema INSERT INTO `players` (`id`, `name`, `world_id`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `skull`, `skulltime`, `rank_id`, `guildnick`, `lastlogout`, `blessings`, `balance`, `stamina`, `direction`, `loss_experience`, `loss_mana`, `loss_skills`, `loss_containers`, `loss_items`, `premend`, `online`, `marriage`, `promotion`, `deleted`, `description`, `created`, `nick_verify`, `old_name`, `hide_char`, `comment`) VALUES (NULL, "SAMPLE NOME", 0, 1, 1, 1, 1, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, "", 400, 0, 0, 0, 0, 0, 0, 0, "", 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, "", 0, 0, "", 0, "");
-
Skill Nao salva Gesior
Ola galerinha do TK Todo char criado no site nao salva os skillS O level salva normal mas so os skill dos players criados no site que nao salva Ja os criados no account mananger salva normal Alguem da uma Força Ai!! se alguem puder me ajudar +REP
-
Runas Novas
Boa noite galera do tk Estou com Dificuldade para criar novas runas no meu ot serv Queria fazer uma nova mana rune e life rune crio os ids no item editor certo criei as runas tbm mas o Problema é que nao consigo usar as runas na hotkey do tibia cliente nem criar hotkeys no elfbot para elas ids das runas sao esses 12747 life rune e 12748 mana rune mas nao consigo usar elas com hotkey do cliente do tibia 8.6 no F1 nem F2 tbm nao consigo criar hotkeys de elfbot mas se eu clicar na runa e no char ela funciona normal alguem pode ajudar?
-
Vip Talkactions por Actions
Ola Galerinha Do Tk Tenho um sistema de Vip No meu Otserve mas gostaria de Colocar Em um item tbm para vender 5 dias de vip por moeda do jogo ae o player compra o item usa e ganha aceso a area vip tbm se vcs puderem me ajudar ficarei muito agradecido AAA e tbm quando o player e vip fica saindo [VIP] do player desde ja agradeço
-
IP Storage System
ola descupa reviver o topico mas tem como colcar essa funçao ne um npc no meu server tem o npc de presente diario e gostaria de colcar para verificar o ip do player caso a pessoa cria varios mcs para pegar o premium diario so uma vez por ip acada 24 horas segue o script do npc local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser,msg = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid, msg:lower() local config = { level = 5000, hours = 24, storage = 58485, rewards = {{itemid = 11192,chance = 30}} -- itens que ele poderá ganhar } function doAddReward() a = true while a == true do local m = math.random(1,#config.rewards) if config.rewards[m].chance > math.random(1, 100) then doPlayerAddItem(cid, config.rewards[m].itemid, isItemStackable(config.rewards[m].itemid) and 100 or 1) npcHandler:say("seu prêmio foi: "..getItemNameById(config.rewards[m].itemid), cid) a = false end end end if isInArray({"presente","present"}, msg) then if getPlayerLevel(cid) < config.level then npcHandler:say("Desculpe, mas você precisa ter no minimo level "..config.level.." para receber sua recompensa diaria.", cid) else npcHandler:say("você deseja receber seu presente agora?! {yes}", cid) talkState[talkUser] = 1 end elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid,config.storage) <= os.time() then doAddReward() setPlayerStorageValue(cid, config.storage, os.time()+config.hours*3600) else npcHandler:say("Desculpe, mas você deve aguardar até "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,config.storage)).." para pegar seu presente novamente!", cid) talkState[talkUser] = 0 end elseif msg == "no" then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) obrigado + rep
-
NPC QUE VERIFICA IP
Fala Galerinha Do TK Estou Com Um NPC DE Presente Diario Criado Pelo VODCART Gostaria De Que Colocasse Ele Pra Verificar O IP Do player Para Que Eles Nao Criar Mcs E Ficar Pegando o Presente Toda Hora Segue O Script local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) local config = { hours = 24, storage = 58485, rewards = {{itemid = 11192,chance = 30}} -- itens que ele poderá ganhar } function doAddReward() a = true while a == true do local m = math.random(1,#config.rewards) if config.rewards[m].chance > math.random(1, 100) then doPlayerAddItem(cid, config.rewards[m].itemid, isItemStackable(config.rewards[m].itemid) and 100 or 1) npcHandler:say("seu prêmio foi: "..getItemNameById(config.rewards[m].itemid), cid) a = false end end end if isInArray({"presente","present"}, msg) then npcHandler:say("você deseja receber seu presente agora?! {yes}", cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid,config.storage) <= os.time() then doAddReward() setPlayerStorageValue(cid, config.storage, os.time()+config.hours*3600) else npcHandler:say("Desculpe, mas você deve aguardar até "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,config.storage)).." para pegar seu presente novamente!", cid) talkState[talkUser] = 0 end elseif msg == "no" then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Obrigado +REP
-
(Resolvido)ERRO GUILD POINTS Query
Obrigado Vodcart Funcionouu perfeitamente ae vodcart agora nao ta entregando os items mais nao nem o shop normal! compra mas nao entrega ao player ja arrumei era so relogar o ot dhuasdhasuhdasu descupa ae
-
(Resolvido)ERRO GUILD POINTS Query
OLA GALERINHA DO TK Estou com um Problema no guild points tabela Query toda vez q execulta o comando !guildpoints nao da certo e aparece esse eerro na distro Message: Unknown column 'last_execute_points' in 'field list' [Error - mysql_store_result] Query: SELECT `last_execute_points` FROM `guilds` W HERE id = '8' Message: Unknown column 'last_execute_points' in 'field list' Aguem pode me ajudar +REP
-
Aura 1 e 2 Mudanças
consegui editar ficando dos dois lados obrigado ficou asim -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 100 -- chance de curar em cada volta da aura, em porcentagem quantheal = 5 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 59 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura1(i,tm,cid) if(isCreature(cid)) then local atual = getCreaturePosition(cid) local posaura = { {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=atual.x, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=atual.y, z=atual.z}, {x=(atual.x)+1, y=(atual.y)+1, z=atual.z}, {x=atual.x, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=atual.y, z=atual.z}, } local chances = math.random(100) if(chances<=porcentagem/8) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) if(i<=8 and i>1) then else end doSendMagicEffect(atual, efeitocura) local direito = {x = getCreaturePosition(cid).x + 1,y = getCreaturePosition(cid).y , z = getCreaturePosition(cid).z} doSendMagicEffect(direito, efeitocura) end if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura1,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura1(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 89123) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if getPlayerStorageValue(cid, 25943) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 2.") return true end if getPlayerStorageValue(cid, 27651) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 3.") return true end if getPlayerStorageValue(cid, 28911) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 4.") return true end if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura level 1 novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua Aura Level 1 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura Level 1 ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura1(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)== 2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura Level 1 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return true end teria como fazer com o de mana igual vc fez com esse de life segue o de mana -- CONFIGURAÇÕES aurastrs = 25943 -- storage da aura estrs = 25813 -- storage para o exhaust porcentagems = 100 -- chance de curar em cada volta da aura, em porcentagems quantheals = 2 -- porcentagems do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempos = 1180 -- tempos para dar uma volta no player (este tempos foi o que achei mais agradável visualmente, é recomendável não mudar) tipoauras = 53 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocuras = 60 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura2s(i,tm,cid) if(isCreature(cid)) then local atuals = getCreaturePosition(cid) local posauras = { {x=(atuals.x)-1, y=(atuals.y)-1, z=atuals.z}, {x=atuals.x, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=atuals.y, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)+1, z=atuals.z}, {x=atuals.x, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=atuals.y, z=atuals.z}, } local chances = math.random(100) if(chances<=porcentagems/8) then doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantheals) if(i<=8 and i>1) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, atuals, tipoauras) else doSendDistanceShoot({x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, atuals, tipoauras) end doSendMagicEffect(atuals, efeitocuras) end if(i==8) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, {x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, tipoauras) elseif(i<8) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, {x=posauras[i+1].x, y=posauras[i+1].y, z=posauras[i+1].z}, tipoauras) end if(i<=8 and getPlayerStorageValue(cid, aurastrs)==2) then i = i+1 tm = tempos/8 return addEvent(efeitosAura2s,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastrs)==2) then return efeitosAura2s(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 89124) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if getPlayerStorageValue(cid, 25950) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 1.") return true end if getPlayerStorageValue(cid, 27651) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 3.") return true end if getPlayerStorageValue(cid, 28911) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 4.") return true end if(param=="on") then if getPlayerStorageValue(cid, estrs) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estrs) - os.time()).." segundos para poder habilitar aura level 2 novamente.") else if(getPlayerStorageValue(cid, aurastrs)==2) then doPlayerSendCancel(cid,"Sua Aura Level 2 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastrs)==-1) then doPlayerSendCancel(cid,"Aura Level 2 ligada!") setPlayerStorageValue(cid, aurastrs, 2) efeitosAura2s(1,tempos/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastrs)== 2) then setPlayerStorageValue(cid, estrs, os.time()+2) setPlayerStorageValue(cid, aurastrs, -1) doPlayerSendCancel(cid,"Aura Level 2 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura2 on' para ligar sua aura, e '!aura2 off' para desligá-la.") end return true end
-
Aura 1 e 2 Mudanças
eu quero tirar esse efeito 30 e colocar o 59 no lugar dele ... e envez de ficar rodando no player fica saindo so do lado direito e esquero a posiçao tbm esta errada ta saindo longe um ta saindo normal do lado direito do adm e o outro tinha q sair do lado esquerdo e ta saindo la no teleporte olha
-
Aura 1 e 2 Mudanças
so o efeito 59 ja sai do lado esquedo do players normal ae so add ele no lado direito do player tbm eu tentei faze issu muitas vezes mas nao entendo nada de scripts dhsaudhasudhas se puder me ajudar nessa
-
Aura 1 e 2 Mudanças
Ola galerinha do tk vcs podem me ajuda com um script de aura e o seguinte esse esquipt quando e ativado fica rodando uma bola de energia ao redor do player efeito ( /x 30) mas quero q fique saindo do lado direito e equerdo do player o soquinho ( efeito /z 59) teria como fazer essas mudanças para min?? des de ja agradeço segue o script Aura 1 -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 100 -- chance de curar em cada volta da aura, em porcentagem quantheal = 5 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 59 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura1(i,tm,cid) if(isCreature(cid)) then local atual = getCreaturePosition(cid) local posaura = { {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=atual.x, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=atual.y, z=atual.z}, {x=(atual.x)+1, y=(atual.y)+1, z=atual.z}, {x=atual.x, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=atual.y, z=atual.z}, } local chances = math.random(100) if(chances<=porcentagem/8) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) if(i<=8 and i>1) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, atual, tipoaura) else doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura) end doSendMagicEffect(atual, efeitocura) end if(i==8) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura) elseif(i<8) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura) end if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura1,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura1(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 89123) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if getPlayerStorageValue(cid, 25943) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 2.") return true end if getPlayerStorageValue(cid, 27651) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 3.") return true end if getPlayerStorageValue(cid, 28911) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 4.") return true end if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura level 1 novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua Aura Level 1 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura Level 1 ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura1(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)== 2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura Level 1 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return true end Script aura 2 -- CONFIGURAÇÕES aurastrs = 25943 -- storage da aura estrs = 25813 -- storage para o exhaust porcentagems = 100 -- chance de curar em cada volta da aura, em porcentagems quantheals = 5 -- porcentagems do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempos = 1180 -- tempos para dar uma volta no player (este tempos foi o que achei mais agradável visualmente, é recomendável não mudar) tipoauras = 53 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocuras = 60 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura2s(i,tm,cid) if(isCreature(cid)) then local atuals = getCreaturePosition(cid) local posauras = { {x=(atuals.x)-1, y=(atuals.y)-1, z=atuals.z}, {x=atuals.x, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=atuals.y, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)+1, z=atuals.z}, {x=atuals.x, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=atuals.y, z=atuals.z}, } local chances = math.random(100) if(chances<=porcentagems/8) then doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantheals) if(i<=8 and i>1) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, atuals, tipoauras) else doSendDistanceShoot({x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, atuals, tipoauras) end doSendMagicEffect(atuals, efeitocuras) end if(i==8) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, {x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, tipoauras) elseif(i<8) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, {x=posauras[i+1].x, y=posauras[i+1].y, z=posauras[i+1].z}, tipoauras) end if(i<=8 and getPlayerStorageValue(cid, aurastrs)==2) then i = i+1 tm = tempos/8 return addEvent(efeitosAura2s,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastrs)==2) then return efeitosAura2s(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 89124) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if getPlayerStorageValue(cid, 25950) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 1.") return true end if getPlayerStorageValue(cid, 27651) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 3.") return true end if getPlayerStorageValue(cid, 28911) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 4.") return true end if(param=="on") then if getPlayerStorageValue(cid, estrs) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estrs) - os.time()).." segundos para poder habilitar aura level 2 novamente.") else if(getPlayerStorageValue(cid, aurastrs)==2) then doPlayerSendCancel(cid,"Sua Aura Level 2 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastrs)==-1) then doPlayerSendCancel(cid,"Aura Level 2 ligada!") setPlayerStorageValue(cid, aurastrs, 2) efeitosAura2s(1,tempos/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastrs)== 2) then setPlayerStorageValue(cid, estrs, os.time()+2) setPlayerStorageValue(cid, aurastrs, -1) doPlayerSendCancel(cid,"Aura Level 2 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura2 on' para ligar sua aura, e '!aura2 off' para desligá-la.") end return true end os dois quero com o mesmo efeito /z 59 saindo so do lado direito e esquerdo do player obrigado
-
Aura 1 e 2 Mudanças
Ola galerinha do tk vcs podem me ajuda com um script de aura e o seguinte esse esquipt quando e ativado fica rodando uma bola de energia ao redor do player efeito ( /x 30) mas quero q fique saindo do lado direito e equerdo do player o soquinho ( efeito /z 59) teria como fazer essas mudanças para min?? des de ja agradeço segue o script Aura 1 -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 100 -- chance de curar em cada volta da aura, em porcentagem quantheal = 5 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 59 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura1(i,tm,cid) if(isCreature(cid)) then local atual = getCreaturePosition(cid) local posaura = { {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=atual.x, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=atual.y, z=atual.z}, {x=(atual.x)+1, y=(atual.y)+1, z=atual.z}, {x=atual.x, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=atual.y, z=atual.z}, } local chances = math.random(100) if(chances<=porcentagem/8) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) if(i<=8 and i>1) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, atual, tipoaura) else doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura) end doSendMagicEffect(atual, efeitocura) end if(i==8) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura) elseif(i<8) then doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura) end if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura1,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura1(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 89123) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if getPlayerStorageValue(cid, 25943) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 2.") return true end if getPlayerStorageValue(cid, 27651) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 3.") return true end if getPlayerStorageValue(cid, 28911) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 4.") return true end if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura level 1 novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua Aura Level 1 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura Level 1 ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura1(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)== 2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura Level 1 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return true end Script aura 2 -- CONFIGURAÇÕES aurastrs = 25943 -- storage da aura estrs = 25813 -- storage para o exhaust porcentagems = 100 -- chance de curar em cada volta da aura, em porcentagems quantheals = 5 -- porcentagems do hp máximo que cada cura irá curar. (No caso, irá curar 5% do hp máximo cada cura) tempos = 1180 -- tempos para dar uma volta no player (este tempos foi o que achei mais agradável visualmente, é recomendável não mudar) tipoauras = 53 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocuras = 60 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura2s(i,tm,cid) if(isCreature(cid)) then local atuals = getCreaturePosition(cid) local posauras = { {x=(atuals.x)-1, y=(atuals.y)-1, z=atuals.z}, {x=atuals.x, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)-1, z=atuals.z}, {x=(atuals.x)+1, y=atuals.y, z=atuals.z}, {x=(atuals.x)+1, y=(atuals.y)+1, z=atuals.z}, {x=atuals.x, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=(atuals.y)+1, z=atuals.z}, {x=(atuals.x)-1, y=atuals.y, z=atuals.z}, } local chances = math.random(100) if(chances<=porcentagems/8) then doCreatureAddMana(cid, getCreatureMaxMana(cid)/quantheals) if(i<=8 and i>1) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, atuals, tipoauras) else doSendDistanceShoot({x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, atuals, tipoauras) end doSendMagicEffect(atuals, efeitocuras) end if(i==8) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, {x=posauras[1].x, y=posauras[1].y, z=posauras[1].z}, tipoauras) elseif(i<8) then doSendDistanceShoot({x=posauras.x, y=posauras.y, z=posauras.z}, {x=posauras[i+1].x, y=posauras[i+1].y, z=posauras[i+1].z}, tipoauras) end if(i<=8 and getPlayerStorageValue(cid, aurastrs)==2) then i = i+1 tm = tempos/8 return addEvent(efeitosAura2s,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastrs)==2) then return efeitosAura2s(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 89124) <= 0 then doPlayerSendCancel(cid, "Você precisa ter feito a quest.") return true end if getPlayerStorageValue(cid, 25950) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 1.") return true end if getPlayerStorageValue(cid, 27651) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 3.") return true end if getPlayerStorageValue(cid, 28911) == 2 then doPlayerSendCancel(cid, "Você precisa desativar sua aura level 4.") return true end if(param=="on") then if getPlayerStorageValue(cid, estrs) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estrs) - os.time()).." segundos para poder habilitar aura level 2 novamente.") else if(getPlayerStorageValue(cid, aurastrs)==2) then doPlayerSendCancel(cid,"Sua Aura Level 2 já está habilitada.") elseif(getPlayerStorageValue(cid, aurastrs)==-1) then doPlayerSendCancel(cid,"Aura Level 2 ligada!") setPlayerStorageValue(cid, aurastrs, 2) efeitosAura2s(1,tempos/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastrs)== 2) then setPlayerStorageValue(cid, estrs, os.time()+2) setPlayerStorageValue(cid, aurastrs, -1) doPlayerSendCancel(cid,"Aura Level 2 desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura2 on' para ligar sua aura, e '!aura2 off' para desligá-la.") end return true end os dois quero com o mesmo efeito /z 59 saindo so do lado direito e esquerdo do player obrigado
-
Ao equipar item ficar FALANDO X
descupa reviver o topcico mas tem como colocar para sair so a menssagem sem efeito e tipo colocar para almentar acada item q equipa pq quero tipo asim o player equipa um item e ficar saindo uma menssagem em branco emcima do player [DEF 20%] ae se o players equipar todas as partes do set donate ficar saindo a menssagem [DEF 100%] sera q daria para modificar o script? obrigado
-
(Resolvido)Patente Na Frags E Kill
- (Resolvido)Patente Na Frags E Kill
opa posso sim vc tem q add essas 2 tags <event type="look" name="fraglook" script="fraglook.lua"/> <event type="login" name="fraglook_register" event="script" value="fraglook.lua"/> em login.lua add registerCreatureEvent(cid, "fraglook")- (Resolvido)Patente Na Frags E Kill
+rep Muito obrigado Vodkart como sempre execelente script!!! RESOLVIDO PODEM A DD A TAG- (Resolvido)Patente Na Frags E Kill
Brigado Way mas nao esta contando as frags nem os kill so deu a patente You see Master (Level 147). He is a elite knight.Ele é um Iniciante- (Resolvido)Patente Na Frags E Kill
Alguem poderia ajudar com os script- (Resolvido)Patente Na Frags E Kill
Boa Tarde Galerinha do TK Estou com um Script De Frags E Kill Que o vodka fez gostaria de add Patente nele teria como vcs me ajudarem?? segue o script function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } return size.day + size.week + size.month end function getDeathsAndKills(cid, type) -- by vodka local query,d = db.getResult("SELECT `player_id` FROM "..(tostring(type) == "kill" and "`player_killers`" or "`player_deaths`").." WHERE `player_id` = "..getPlayerGUID(cid)),0 if (query:getID() ~= -1) then repeat d = d+1 until not query:next() query:free() end return d end function onLogin(cid) registerCreatureEvent(cid, "newlook") return true end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then doPlayerSetSpecialDescription(thing.uid,"\n"..(getPlayerSex(thing.uid) == 0 and "She" or "").." Ele Matou ["..getDeathsAndKills(thing.uid, "kill").."]Players.\n"..(getPlayerSex(thing.uid) == 0 and "She" or "").." Ele Morreu ["..getDeathsAndKills(thing.uid, "death").."] Veses...") return true elseif thing.uid == cid then doPlayerSetSpecialDescription(cid,"\nVoce Matou ["..getDeathsAndKills(cid, "kill").."]Players.\nVoce Morreu ["..getDeathsAndKills(cid, "death").."] Veses...") local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'\n' if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end return true end queria quando dar look no players aparecece asim 1:17 You see yourself. You are Royal Paladin. Voce Matou [0]Players. Voce Morreu [0] Veses... Sua Patente é Iniciante , matador, assassin, heroico, sanguenario, serial killer, etc etc etc..... obrigado Atodos- Anti Mc's
[Error - CreatureScript Interface] data/creaturescripts/scripts/antimagebomb.lua:onLogin Description: data/lib/050-function.lua:37: bad argument #1 to 'ipairs' (table expected, got string) stack traceback: [C]: in function 'ipairs' data/lib/050-function.lua:37: in function 'isInArray' data/creaturescripts/scripts/antimagebomb.lua:18: in function <data/creaturescripts/scripts/antimagebomb.lua:16> o meu deu esse erro amigo ajuda ae- erro killed depois de ums 5 minutos online LINUX
obrigado ja baixando aki!! vc pode me ajudar mecher no linux vps debian 8 64bits? para compilar 64 bits e o mesmo esquema do 32 apt-get update apt-get upgrade apt-get install libboost-all-dev apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libcrypto++-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev apt-get install libcurl4-openssl-dev apt-get install screen cd /otserv chmod 777 -R trunk cd /otserv/trunk sh ./autogen.sh && ./configure --enable-server-diag --enable-mysql --enable-root-permission && make clean && make -j 2 eu uso esse tutorial para compilar esta certo?? pq compila - (Resolvido)Patente Na Frags E Kill
Informação Importante
Confirmação de Termo