-
Posts
3406 -
Joined
-
Last visited
-
Days Won
113
Vodkart last won the day on July 29
Vodkart had the most liked content!
About Vodkart
Perfil
-
Gênero
Masculino
Informações
-
Forma que conheci o xTibia
Sites de Busca
-
Sou
OT-Admin
Recent Profile Visitors
Vodkart's Achievements
-
sergiosdrc reacted to an answer to a question: Talkactions !mana E !vida
-
manoellouro reacted to an answer to a question: Script Para Enviar Item Direto Para Depot
-
George Tibiano started following Vodkart
-
M i s s reacted to an answer to a question: Bau que venha itens aleatorios? REP+
-
premii reacted to an answer to a question: Como Fazer Loop Para Checar Quais Players Têm Storage X.
-
M i s s reacted to a post in a topic: Matar Monstro Abrir Tp, Remover Parede, Ganhar Storage
-
HyutsukaADM reacted to an answer to a question: Npc De Recompensa
-
Vodkart reacted to an answer to a question: NPC - Teleport se tiver X horas online
-
Vodkart reacted to an answer to a question: NPC - Teleport se tiver X horas online
-
Vodkart reacted to an answer to a question: NPC - Teleport se tiver X horas online
-
Vodkart reacted to an answer to a question: NPC - Teleport se tiver X horas online
-
Vodkart reacted to an answer to a question: NPC - Teleport se tiver X horas online
-
Eu lido com comida, as vezes menos, as vezes mais, dependendo da comida.
-
bilet reacted to a post in a topic: [ Talkaction ]Comando !party
-
GOD Vitor reacted to a post in a topic: Trade Logs
-
Kevin vem 69 reacted to a post in a topic: Simple Task 3.0
-
gutaxavier reacted to a post in a topic: Matar Monstro Abrir Tp, Remover Parede, Ganhar Storage
-
BrunooMaciell started following Vodkart
-
BrunoMaciel started following Vodkart
-
boa tarde, gato. vem sempre aqui? sdds da sua bunda branca
-
Nunca fui tão lembrado de ser esquecido
-
Vodkart reacted to a post in a topic: Passagem Secreta Diferente
-
mano estou com um server tibia ot 8.00 pra por on nao coloquei ainda pq nao estou conseguindo por uma porta pra so passar conta premium, tentei já um monte de script ai mais sem sucesso cara estou desisperado por favor me ajuda ai obrigado, tem como é pra por uma porta pra so passar conta premium.
-
Uma função inútil que retorna o último sábado do mês... function getLastSaturday(mes, ano) local date ={day=31, month= mes, year=ano} local saturday =os.date("*t",os.time(date)).wday return 31-(saturday%7) end exemplo de uso:
-
Serve só para colocar pontos em números grandes. function getMilharNumber(number) local vod, kar, t = string.match(number,'^([^%d]*%d)(%d*)(.-)$') return vod..(kar:reverse():gsub('(%d%d%d)', '%1.'):reverse())..t end
-
postando para receber as conquistas
-
action [System] Invite Friends! (Low Rate Serve)
Vodkart replied to Vodkart's topic in Mods, funções e outros
assim que eu abrir meu serve eu tiro as print e posto -
action [System] Invite Friends! (Low Rate Serve)
Vodkart replied to Vodkart's topic in Mods, funções e outros
@DeCarvalho É bem simples de adc, vc já tem a função que adc vip? só precisa de umas 3 linhas no máximo... @Fawz Por isso o sistema é TOTALMENTE editável. Você pode editar os level que recebeção premios e quantos pontos precisa para receber premiações. A dificuldade é sua. Eu posso colocar por exemplo: A primeira premiação só receba com 100 pontos e como conseguir 100 pontos? eu edito na lib dizendo que quando o jogador atingir level 50(exemplo) só receba 5 pontos, nossa, até eu atingir 100 pontos terei que chamar muito jogador... ficando díficil. ai o jogador atingi level 100, ai eu recebo mais 6 pontos, e então vai acumulando, por isso fiz uma tabela para colocar varios pontos como premiação: rewards = { [10] = {items = {{2160,1},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [25] = {items = {{2160,2},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [50] = {items = {{2160,3},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [100] = {items = {{2160,4},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [200] = {items = {{2160,5},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [250] = {items = {{2160,6},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {698, 699}}, [500] = {items = {{2160,7},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}} } e digo isso porque esse sistema é para servidor LOW RATES, que a dificuldade de pegar level é demorada. imagina eu ter que conseguir 200 pontos? ou até os 500? por isso devo chamar mais jogadores, para que isso fique mais fácil. e para não bular, eu só recebo pontos se esses mesmo jogadores UPAREM no servidor. se não seria muito fácil criar contas, usar o comando e ganhar pontos... -
action [System] Invite Friends! (Low Rate Serve)
Vodkart replied to Vodkart's topic in Mods, funções e outros
2// Desculpe a ignorancia.. joão precisa ter level 50 para ganhar os premios? Se ele for level 30 e a maria no level 10 falar !invited joao e chegar no level 50 ganhando assim para o joão 5 pontos.. e então? se ele não tiver level 50.. para onde vão esses pontos? Não, O sistema nesse caso está configurado da seguinte maneira: João precisa ser no MINIMO level 50 para que maria usa o comando !invited JOÃO. se o joão for level 49, ela não vai conseguir nada. Lembrando que maria só pode usar o comando até LEVEL 30. Porque disso? para que jogadores não possam criar várias contas e ficar upando só para pegar points. 3// MUST READ Um detalhe.. faça o script para que todos possam usar, não somente joão e maria obs: UM ou mais jogador pode invitar o mesmo PLAYER! digamos: MARIA, JULIA, ISABELA, DENIVALDO, ETC... ESSES TODOS PODEM USAR O COMANDO PARA INVITAR O MESMO JOGADOR. !INVITED JOÃO QUANTO MAIS O JOGADOR CHAMAR, MELHOR! P.s// Não sei se é pedir muito mas poderia editar para ser possível receber vipDays também como recompensa? achei meio complicado fazer sozinho e com medo de gerar erro então acho que voê por ter feito conseguiria fazer isso de forma funcional e prática.. Até poderia fazer, mas teria que adptar paea vários sistemas vip e isso é chato -
action [System] Invite Friends! (Low Rate Serve)
Vodkart replied to Vodkart's topic in Mods, funções e outros
Eu não testei, mas provavelmente não... Lembrando que é necessário ter TFS 1.1 ou + Mas quem quiser passar o código para Poketibia eu posso disponibilizar a versão para o servidor 8.6 Mais para frente eu coloco imagens no tópico, para ver como funciona! *****EDITEI A LIB, FALTOU ADC 3 FUNÇÕES******** -
Resumo: Para quem já jogou league of legends, o sistema é "parecido" com o Invite Friends, e para quem não jogou irei dar uma breve descrição sobre o sistema. Descrição: O sistema oferece algumas premiações como: Itens, Premium Days, Montarias, Premium Points(para site) e Outfits. Claro que isso tudo é configurável. A ideia principal do sistema foi que essas premiações fossem exclusivas do sistema, digamos, que os jogadores só fossem recompensados e tivessem certas montarias/outfits se ele atingisse num número "X" de pontos por ter ajudado seu servidor a crescer! Como todo mundo almeja algo exclusivo e difícil de ser obtido, iria instigar os jogadores a usar o sistema e convidar seus amigos para o servidor! Como Funciona o Sistema? O sistema foi planejado para que jogadores "espertinhos" não burlassem o sistema e acontece da seguinte maneira: Temos o jogador João e a jogadora Maria: Maria necessita ser level 30 ou menor que 30(Configurável) para utilizar uma talkactions e dizer por quem foi invitada para o servidor, vamos supor que João a convidou Maria para jogar, João por sua vez necessita também ter um level avançado, digamos 50 ou superior(Configurável). Feito com sucesso o uso do sistema, ele funciona da seguinte maneira: OBS: Você pode dizer o nome do jogador mesmo que ele esteja OFFLINE! OBS2: Um ou mais Players podem ser invitador pelo MESMO JOGADOR! ENTÃO QUANTO MAIS PLAYER VOCÊ CHAMAR, MAIS FÁCIL DE RECEBER PONTOS E PREMIAÇÕES O jogador invitado, no caso o João, teria que atingir um número "X" de pontos para receber premiações, por exemplo: * Com 10 Pontos jogão recebe: Itens * Com 25 Pontos jogão recebe: Itens e Premium Points * Com 50 Pontos jogão recebe: Itens e Montaria * Com 100 Pontos jogão recebe: Itens, Premium Points, Premium Days e Outifit (Claro que isso é tudo configurável em uma Tabela) E como recebo Recebo esses Pontos VODKART SEU FILHO DA PUTA! Se lembra que João Convidou Maria para Jogar? Então... Maria tem que atingir certos leveis para que João receba esses pontos! Por exemplo a tabela do sistema: levels_win = { [50] = 5, [80] = 6, [100] = 8, [150] = 10 }, Se Maria atingir level 50, João recebe 5 pontos Se Maria atingir level 80, João recebe 6 pontos Etc... Claro que isso tudo é acumulativo! E sabe o que mais? João recebe Pontos mesmo se estiver ONLINE ou OFFLINE! Sem mais delongas, Vamos instalar o sistema! Instalando o Sistema: data\creaturescripts\scripts InviteFriends.lua function onLogin(player) player:registerEvent("FriendsPoints") if player:getStorageValue(_invite_friends.storages[1]) < 0 then player:setStorageValue(_invite_friends.storages[1], 0) player:setStorageValue(_invite_friends.storages[4], 0) end if getInvitePoints(player) > 0 then local acc = player:getAccountId() local FriendPoints, CheckPoints = getInvitePoints(player), player:getStorageValue(_invite_friends.storages[4]) for vod, ka in pairs(_invite_friends.rewards) do local str = "" if FriendPoints >= vod and CheckPoints < vod then str = str.."--> Invite Players System <--\n\nVocê acaba de receber algumas recompensas:\n\nItems: \n"..getItemsFromList(ka.items)..".\n\n" if ka.p_days > 0 then player:addPremiumDays(ka.p_days) str = str.."Premium Days:\n"..ka.p_days.." Premium Days." end if ka.p_points > 0 then db.executeQuery('UPDATE accounts SET premium_points=premium_points+' .. p_points ..' WHERE id=' .. acc) str = str.."Premium Points:\n"..ka.p_points.." Premium Points." end if ka.out[1] > 0 then player:addOutfitAddon(player:getSex() == PLAYERSEX_FEMALE and ka.out[1] or ka.out[2], 3) str = str.."[New Outfit]\nRecebeu uma Nova Outfit." end if ka.mount_id > 0 then player:addMount(ka.mount_id) str = str.."[New Outfit]\nRecebeu uma Nova Montaria." end player:setStorageValue(_invite_friends.storages[4], FriendPoints) local town_id = player:getTown():getId() if #ka.items > 0 then local parcel = player:getDepotChest(town_id, true):addItem(2595) for _, i_i in ipairs(ka.items) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then parcel:addItem(item, amount) else for i = 1, amount do parcel:addItem(item, 1) end end end end local townid = player:getTown():getId() local letter = player:getDepotChest(town_id, true):addItem(2598, 1, true, 1) letter:setAttribute(ITEM_ATTRIBUTE_WRITER, "[+] Invite Players System [+]") letter:setAttribute(ITEM_ATTRIBUTE_TEXT, str) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE,"[Invite Players System] Você Recebeu algumas premiações por estar convidando jogadores para o servidor, Por favor conferir os itens no Depot.") end end end return true end function onAdvance(player, skill, oldlevel, newlevel) if (skill == SKILL__LEVEL) then if hasInviteFriend(player) and player:getStorageValue(_invite_friends.storages[3]) < newLevel and _invite_friends.levels_win[newLevel] then local f_name, points = getNameFriend(player), _invite_friends.levels_win[newLevel] player:setStorageValue(_invite_friends.storages[3], newLevel) addInvitePoints(f_name, points) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "[Invite Friends] você atingiu o level "..newLevel.." e o seu amigou "..f_name.." recebeu "..points.." Friend Points. Obrigado!") end end return true end creaturescripts.xml <event type="advance" name="FriendsPoints" script="InviteFriends.lua"/> <event type="login" name="FriendsLogin" script="InviteFriends.lua"/> data\lib\core invitefriends.lua _invite_friends = { storages = {202301, 202302, 202303, 202304}, -- points, jogador, recompensa lvl, recompensa items level_max = 30, -- até que level ele precisa falar seu friend level_need = 50, -- que lever o jogador precisa ser para ganhar pontos levels_win = { [50] = 5, [80] = 6, [100] = 8, [150] = 10 }, rewards = { [10] = {items = {{2160,1},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [25] = {items = {{2160,2},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [50] = {items = {{2160,3},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [100] = {items = {{2160,4},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [200] = {items = {{2160,5},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [250] = {items = {{2160,6},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {698, 699}}, [500] = {items = {{2160,7},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}} } } function getInvitePoints(cid) local cid = Player(cid) if cid == nil then return false end return getPlayerStorageValue(cid, _invite_friends.storages[1]) < 0 and 0 or getPlayerStorageValue(cid, _invite_friends.storages[1]) end function hasInviteFriend(cid) local cid = Player(cid) if cid == nil then return false end return getPlayerStorageValue(cid, _invite_friends.storages[2]) > 0 and true or false end function getNameFriend(cid) local cid = Player(cid) if cid == nil then return false end return getPlayerNameByGUID(getPlayerStorageValue(cid, _invite_friends.storages[2])) end function addInvitePoints(name, amount) local pid, Guid = getPlayerByName(name), getPlayerGUIDByName(name) if not pid then local getFriendPoints = db.storeQuery("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. Guid .." AND `key` = ".._invite_friends.storages[1]) if getFriendPoints ~= false then db.asyncQuery("UPDATE `player_storage` SET `value` = ".. (result.getDataInt(getFriendPoints, "value")+amount) .." WHERE `player_id` = ".. Guid .." AND `key` = ".._invite_friends.storages[1]) end else setPlayerStorageValue(getPlayerByName(name), _invite_friends.storages[1], getInvitePoints(getPlayerByName(name))+amount) end return true end function getItemsFromList(items) -- by vodka local str = '' if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. ' ' .. ItemType(items[i][1]):getName() if i ~= table.maxn(items) then str = str .. ', ' end end end return str end function getPlayerNameByGUID(guid) local a = db.storeQuery('SELECT `name` FROM `players` WHERE `id` = ' .. guid .. ' LIMIT 1') if a then return result.getDataString(a, "name") end return nil end function PlayerExist(name) -- by vodka local a = db.storeQuery('SELECT `id` FROM `players` WHERE `name` = ' .. db.escapeString(name)) if a ~= false then return true end return false end Na mesma pasta procure por data\lib\core.lua e adc essa linha: dofile('data/lib/core/invitefriends.lua') data\talkactions\scripts InviteFriends.lua function onSay(player, words, param) local param = param:lower() if param == "" or not param then player:sendCancelMessage("Você precisa digitar o nome de um jogador.") return false elseif param == "points" then player:popupFYI("[+] Invite Friend System [+]\n\nvocê tem ["..getInvitePoints(player).."] Friends Points.") return false elseif hasInviteFriend(player) then player:sendCancelMessage("Você já agradeceu o jogador ["..getNameFriend(player).."] por te convidar a jogar neste servidor.") return false elseif not getPlayerGUIDByName(param) then player:sendCancelMessage("Desculpe, mas o jogador [" .. param .. "] não existe.") return false elseif player:getLevel() > _invite_friends.level_max or result.getDataInt(db.storeQuery("SELECT `level` FROM `players` WHERE `id` = "..getPlayerGUIDByName(param)), "level") < _invite_friends.level_need then player:sendCancelMessage((player:getLevel() > _invite_friends.level_max and "Desculpe, mas você precisa ter no maximo level ".._invite_friends.level_max.." para usar este comando." or "Desculpe, mas o jogador ["..param.."] precisa ter no minimo level ".._invite_friends.level_need.." para ser escolhido.")) return false elseif player:getName():lower() == param then player:sendCancelMessage("Desculpe, mas você não pode se auto invitar.") return false end player:setStorageValue(_invite_friends.storages[2], getPlayerGUIDByName(param)) player:sendTextMessage(25, "Você indicou o jogador "..param..", este sistema é uma forma de agradecer a vocês por trazerem seus amigos para jogar.") player:getPosition():sendMagicEffect(math.random(28,30)) return false end talkactions.xml <talkaction words="!invited" separator=" " script="InviteFriends.lua"/> Exemplo de uso do comando: Vodkart me chamou para jogador? uso o comando: !invited vodkart Configurando o Sistema: *Vá na LIB do sistema que você adicionou* level_max = 30, -- até que level ele precisa falar seu friend level_need = 50, -- que lever o jogador precisa ser para ganhar pontos levels_win = { -- [LEVEL QUE PRECISA ATINGIR] = QUANTIDADE DE PONTOS QUE O OUTRO JOGADOR VAI RECEBER [50] = 5, [80] = 6, [100] = 8, [150] = 10 } rewards = { [10] = {items = {{2160,1},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [25] = {items = {{2160,2},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [50] = {items = {{2160,3},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [100] = {items = {{2160,4},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [200] = {items = {{2160,5},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [250] = {items = {{2160,6},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {698, 699}}, [500] = {items = {{2160,7},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}} } rewards = { [PONTOS NECESSÁRIO PARA OBTER A PREMIAÇÃO] = exemplo: [10] = {items = {{2160,1},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, com 10 pontos ele irá rceber aquele itens acima /\ items = {} -- Poderá adicionar itens em uma tabela dizendo {id do item, quantidade} p_days = 0 -- se o jogador vai receber Premium Days? 0 ou Quantidade que vc deseja dar mount_id = 0 -- Se o jogador vai receber montaria? Colocar o Mount ID(que fica em mounts.xml) Ou deixar 0 para nenhuma p_points = 0 -- se o jogador vai receber Premium Points? 0 ou Quantidade que vc deseja dar out = {0,0} -- se vai recever outfit? {FEMALE, MALE} OU {0 , 0} para nenhuma
-
SÓ MODIFICANDO NAS SOURCE, QUE É C++
-
Recently Browsing 0 members
- No registered users viewing this page.