Ir para conteúdo

Emersonssss

Membro
  • Registro em

  • Última visita

Tudo que Emersonssss postou

  1. Observe a msg de erro #1060 - Duplicate column name 'vip_time' Essa coluna que vc esta tentando adc ja existe amore
  2. Amigo entenda, não tem como não funcionar sem nenhum erro, é impossivel
  3. Revise os Codigos e os diretorios pois eu testei muitas vezes e funcionou perfeitamente, você deixou de instalar algo! Isso já não tenho nada ver, ja fiz isso para que quando a pessoa copiar saber os xml
  4. Ta td ae Qual o Erro ?
  5. local config = { [1] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, -- [ID Vocation] = {hp = Qt./LvL, mp = {Qt./LvL, MinHP = Qt. Minima de HP, MinMP = Qt. Minima de MP} [2] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [3] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [4] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [5] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [6] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [7] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [8] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, } function onLogin(cid) if getCreatureMaxHealth(cid) < hp*voc.MinHP then setCreatureMaxMana(cid, hp*voc.MinHP) end if getCreatureMaxMana(cid) < hp*voc.MinMP then setCreatureMaxMana(cid, hp*voc.MinMP) end hp = getPlayerLevel(cid) local voc = config[getPlayerVocation(cid)] if (getPlayerLevel(cid) >= 1) then -- if (getPlayerLevel(cid) >= LvL Min Para Ativar) then setCreatureMaxHealth(cid, hp*voc.hp) setCreatureMaxMana(cid, hp*voc.mp) end return true end
  6. Boa noite Galera Passei a noite passando esse sistema de MOD para Arquivos Separados, Achei alguem erros de cid,pid, varieveis e os concertei. Vamos la: Testado 59x TFS : 0.4 rev 3777 Refazendo o Tutorial *.* Na Pasta LIB Caminha: /data/lib/ Crie um arquivo.lua chamado RushLib.lua e Adicione : Nesse Arquivo Estão as Configurações Apenas Leia os Comentarios inseridos nele. --data/lib function doPlayerRemoveLethalConditions(cid) local tmp = {1, 2, 4, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 32768, 65536} for i = 1, #tmp do if(hasCondition(cid, tmp)) then doRemoveCondition(cid, tmp) end end return true end t = { a = 32145, -- nao modifique se nao souber oq esta fazendo g = 32146, -- nao modifique se nao souber oq esta fazendo l = 32147, -- nao modifique se nao souber oq esta fazendo u = 32148, -- nao modifique se nao souber oq esta fazendo h = 32149, -- nao modifique se nao souber oq esta fazendo wv = 32150, -- nao modifique se nao souber oq esta fazendo c = 0, -- nao modifique se nao souber oq esta fazendo q = "Rush Event has been started! Enjoy and have fun!", --mensagem que vai ser exibida quando o evento começar f = 5447, -- nao modifique se nao souber oq esta fazendo f_1 = 5448, -- nao modifique se nao souber oq esta fazendo f_2 = 5449, -- nao modifique se nao souber oq esta fazendo d_1 = {x = 986, y = 1116, z = 6}, -- posição do tempo vermelho ao começar evento d_2 = {x = 986, y = 1116, z = 6}, -- posição do tempo azul ao começar evento x = "Event won't start bacause too few people were willing to participate", --mensagem que vai ser exibida quando o evento não começar w = {x = 986, y = 1114, z = 7}, --posição da sala de espera, onde os players vão ficar antes de começar lvl = 100, --level minimo para participar do evento v = 25, --a quantidade de frags que será necessária para o time ganhar mn = 4, --quantidade minima de players para começar o evento m = 40, --maximo de players dentro do evento o = "Event was completed, RED TEAM has won Rush Event!", --mensagem exibida quando o time vermelho ganhar y = "Event was completed, BLUE TEAM has won Rush Event!", --mensagem exibida quando o time azul ganhar i_1 = 2160, --id do premio (agora é crystal coin = 2160) i_2 = 10, --quantidade do premio (agora esta 10 crystal coins) t = 5, --tempo para começar o evento (agora esta is 5 minutos) r = 1 --tempo em que os resultados da batalha serão mostrados aos players (agora esta 1 minutos) } Em Creaturescripts/ No Arquivo CreatureScripts.xml Adicione as Tags <event type="combat" name="RushCombat" event="script" value="RushCreature.lua"/> <event type="attack" name="RushAttack" event="script" value="RushCreature.lua"/> <event type="preparedeath" name="RushDead" event="script" value="RushCreature.lua"/> <event type="outfit" name="RushOutfit" event="script" value="RushCreature.lua"/> Em CreatureScripts/Scripts Crie um Arquivo.lua e renomeie para RushCreature.lua e Adicione: --creature/scripts/login.lua --registerCreatureEvent(cid, "RushCombat") --registerCreatureEvent(cid, "RushAttack") --registerCreatureEvent(cid, "RushDead") --registerCreatureEvent(cid, "RushOutfit") --creaturescripts/creature.xml --<event type="combat" name="RushCombat" event="script" value="RushCreature.lua"/> --<event type="attack" name="RushAttack" event="script" value="RushCreature.lua"/> --<event type="preparedeath" name="RushDead" event="script" value="RushCreature.lua"/> --<event type="outfit" name="RushOutfit" event="script" value="RushCreature.lua"/> function onCombat(cid, target) if(getGlobalStorageValue(t.a) == 1) then if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, t.f) == 1 and getPlayerStorageValue(target, t.f) == 1 then if getPlayerStorageValue(cid, t.f_1) == getPlayerStorageValue(target, t.f_1) then return doPlayerSendCancel(cid, "Sorry, you cannot attack your own team.") and false end end end end return true end function onOutfit(cid, old, current) if(getGlobalStorageValue(t.a) == 1) then if getPlayerGroupId(cid) > 3 then return true end if getPlayerStorageValue(cid, t.h) == 0 then if getPlayerStorageValue(cid, t.f) > -1 then doPlayerSendCancel(cid, "You cannot change your outfit during the event.") return false end end end return true end function onAttack(cid, target) if(getGlobalStorageValue(t.a) == 1) then if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, t.f) == 1 and getPlayerStorageValue(target, t.f) == 1 then if getPlayerStorageValue(cid, t.f_1) == getPlayerStorageValue(target, t.f_1) then return doPlayerSendCancel(cid, "Sorry, you cannot attack your own team.") and false end end end end return true end function onPrepareDeath(cid, deathList) if(not isPlayer(cid)) then return true end if getGlobalStorageValue(t.a) == 1 then local strings = {""} local j, position, corpse = 1, 1, 0 for _, pid in ipairs(deathList) do if isCreature(pid) == true then strings[position] = j == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .. getCreatureName(pid) .. "" j = j + 1 else strings[position] = j == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .."a field item" j = j + 1 end end for i, str in ipairs(strings) do if(str:sub(str:len()) ~= ",") then str = str .. "." end desc = "You recognize " desc = desc .. "" .. getCreatureName(cid) .. ". He was killed by " .. str end if(getPlayerSex(cid) == 1) then corpse = doCreateItem(3058, getCreaturePosition(cid)) else corpse = doCreateItem(3065, getCreaturePosition(cid)) end doItemSetAttribute(corpse, "description", desc) if((getPlayerStorageValue(cid, t.g) % 2) == 1) then setGlobalStorageValue(t.u, getGlobalStorageValue(t.u)+1) else setGlobalStorageValue(t.l, getGlobalStorageValue(t.l)+1) end local red = getGlobalStorageValue(t.l) local blue = getGlobalStorageValue(t.u) if blue < t.v or red < t.v then if(isPlayer(cid) == false) then return true end if((getPlayerStorageValue(cid, t.g) % 2) == 1) then doTeleportThing(cid, t.d_1) doSendMagicEffect(getCreaturePosition(cid), 10) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), MAGIC_EFFECT_UNKNOWN, COLOR_UNKNOWN, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doPlayerRemoveLethalConditions(cid) if getCreatureSkullType(cid) == SKULL_WHITE then doCreatureSetSkullType(cid, 0) end else doTeleportThing(cid, t.d_2) doSendMagicEffect(getCreaturePosition(cid), 10) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), MAGIC_EFFECT_UNKNOWN, COLOR_UNKNOWN, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doPlayerRemoveLethalConditions(cid) if getCreatureSkullType(cid) == SKULL_WHITE then doCreatureSetSkullType(cid, 0) end end end if blue >= t.v then doBroadcastMessage(t.y, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.h, 1) for _, pid in ipairs(getPlayersOnline()) do if(getPlayerStorageValue(pid, t.f_1) == 1) then doPlayerAddItem(pid, i_1, i_2) end end elseif red >= t.v then doBroadcastMessage(t.o, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.h, 1) for _, pid in ipairs(getPlayersOnline()) do if(getPlayerStorageValue(pid, t.f_2) == 1) then doPlayerAddItem(pid, i_1, i_2) end end end if getGlobalStorageValue(t.h) == 1 then setGlobalStorageValue(t.a, 0) setGlobalStorageValue(t.h, 0) setGlobalStorageValue(t.wv, -1) setPlayerStorageValue(cid, t.f, -1) setPlayerStorageValue(cid, t.g, 0) setPlayerStorageValue(cid, t.l, 0) setPlayerStorageValue(cid, t.u, 0) setPlayerStorageValue(cid, t.f_1, -1) setPlayerStorageValue(cid, t.f_2, -1) setPlayerStorageValue(cid, t.h, -1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true) doSendMagicEffect(getCreaturePosition(cid), 10) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), MAGIC_EFFECT_UNKNOWN, COLOR_UNKNOWN, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doPlayerRemoveLethalConditions(cid) for _, pid in ipairs(getPlayersOnline()) do if(getPlayerStorageValue(pid, t.f_1) == 1 or getPlayerStorageValue(pid, t.f_2) == 1) then setPlayerStorageValue(pid, t.f, -1) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) doSendMagicEffect(getCreaturePosition(pid), CONST_ME_TELEPORT) setPlayerStorageValue(pid, t.g, 0) setPlayerStorageValue(pid, t.l, 0) setPlayerStorageValue(pid, t.u, 0) setPlayerStorageValue(pid, t.f_1, -1) setPlayerStorageValue(pid, t.f_2, -1) setPlayerStorageValue(pid, t.h, -1) doCreatureAddHealth(pid, getCreatureMaxHealth(pid), MAGIC_EFFECT_UNKNOWN, COLOR_UNKNOWN, true) doCreatureAddMana(pid, getCreatureMaxMana(pid)) doPlayerRemoveLethalConditions(pid) end end return false end return false end return true end Em CreatureScripts/Scripts/ Localize o Arquivo Chamado Login.lua abra-o e Adiciona antes do RETURN TRUE o seguinte : registerCreatureEvent(cid, "RushCombat") registerCreatureEvent(cid, "RushAttack") registerCreatureEvent(cid, "RushDead") registerCreatureEvent(cid, "RushOutfit") Em GlobalEvents/ Abra o Arquivo chamado GlobalEvents.xml e Adicione s Seguinte Tag : <globalevent name="Recognition" interval="1500" event="script" value="RushGlobalRecognition.lua"/> Em CreatureScripts/Scripts/ Crie um arquivo.lua chamado RushGlobalRecognition.lua e Adicione : --globalevents/globalevents.xml --<globalevent name="Recognition" interval="150000" event="script" value="RushGlobalRecognition.lua"/> function onThink(interval, lastExecution, thinkInterval) if(getGlobalStorageValue(t.a) == 1) then for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, t.f) == 1 then if(getPlayerStorageValue(pid, t.f_1) == 0) then doSendAnimatedText(getCreaturePosition(pid), "RED TEAM", TEXTCOLOR_RED) elseif(getPlayerStorageValue(pid, t.f_1) == 1) then doSendAnimatedText(getCreaturePosition(pid), "BLUE TEAM", TEXTCOLOR_LIGHTBLUE) end end end return true end return true end Em TalkActions/ Abra o TalkActions.xml e Adicione as Seguintes Tags: <talkaction words="!start" event="script" access="5" value="RushTalkOpen.lua"/> <talkaction words="!rush" event="script" value="RushTalkJoin.lua"/> Em TalkActions/Scripts/ Crie um arquivo.lua chamado RushTalkOpen e Adicione : --globalevents/globalevents.xml --<globalevent name="RushStart" time="15:53" event="script" value="RushGlobalOpen.lua"/> function onTime(interval, lastExecution) setGlobalStorageValue(t.g, 1) setGlobalStorageValue(t.u, 0) setGlobalStorageValue(t.l, 0) setGlobalStorageValue(t.a, 1) setGlobalStorageValue(t.c, 0) setGlobalStorageValue(t.wv, 0) doBroadcastMessage("Attention! Immediately register to Rush Event, event will start for ".. t.t .." minutes. All players can join to event typing this command: !rush", MESSAGE_STATUS_WARNING) addEvent(function() doBroadcastMessage("Rush event, started in 2 minutes. If you want to join, type this command: !rush", MESSAGE_STATUS_WARNING) end, (t.t - 2) * 1000 * 60) addEvent(function() doBroadcastMessage("Rush event, started in a minute. If you want to join, type this command: !rush", MESSAGE_STATUS_WARNING) end, (t.t - 1) * 1000 * 60) addEvent(start, t.t * 1000 * 60, cid) end function results() if(getGlobalStorageValue(t.a) == 1) then local red = getGlobalStorageValue(t.l) local blue = getGlobalStorageValue(t.u) doBroadcastMessage("Rush Events, results:\nRed Team scored: ".. red .." frags.\nBlue Team scored: ".. blue .." frags.\nMatch is under way to ".. t.v .." frags.", MESSAGE_STATUS_WARNING) addEvent(results, t.r * 1000 * 60) end end function start(cid) if(getGlobalStorageValue(t.a) == 1 and getGlobalStorageValue(t.c) >= t.mn) then doBroadcastMessage(t.q, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.wv, 1) addEvent(results, t.r * 1000 * 60) for _, pid in ipairs(getPlayersOnline()) do local myOutfit = getCreatureOutfit(pid) local red = {lookType = myOutfit.lookType, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = myOutfit.lookAddons} local blue = {lookType = myOutfit.lookType, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86, lookTypeEx = 0, lookAddons = myOutfit.lookAddons} if getPlayerStorageValue(pid, t.f) == 1 then doCreatureAddHealth(pid, getCreatureMaxHealth(pid)) doCreatureAddMana(pid, getCreatureMaxMana(pid)) if((getPlayerStorageValue(pid, t.g) % 2) == 1) then doCreatureChangeOutfit(pid, red) setPlayerStorageValue(pid, t.h, 0) doTeleportThing(pid, t.d_1) setPlayerStorageValue(pid, t.f, 1) setPlayerStorageValue(pid, t.f_1, 0) setPlayerStorageValue(pid, t.f_2, 1) doSendMagicEffect(getCreaturePosition(pid), 10) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "You are in RED TEAM!\nThis battle will continue up to ".. t.v .." frags!") else doCreatureChangeOutfit(pid, blue) setPlayerStorageValue(pid, t.h, 0) doTeleportThing(pid, t.d_2) setPlayerStorageValue(pid, t.f, 1) setPlayerStorageValue(pid, t.f_1, 1) setPlayerStorageValue(pid, t.f_2, 0) doSendMagicEffect(getCreaturePosition(pid), 10) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "You are in BLUE TEAM!\nThis battle will continue up to ".. t.v .." frags!") end end end elseif(getGlobalStorageValue(t.c) < t.mn) then doBroadcastMessage(t.x, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.a, 0) for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, t.f) == 1 then setPlayerStorageValue(pid, t.f, -1) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) doSendMagicEffect(getCreaturePosition(pid), CONST_ME_TELEPORT) end end end end Em TalkActions/Scripts/ Crie um arquivo.lua chamado RushTalkJoin.lua e adicione : --talkactions/talkactions.xml --<talkaction words="!rush" event="script" value="RushTalkJoin.lua"/> function onSay(cid, words, param, channel) if getGlobalStorageValue(t.a) == 1 and getGlobalStorageValue(t.wv) ~= 1 then if getPlayerLevel(cid) >= t.lvl then if getPlayerStorageValue(cid, t.f) == -1 then if getTilePzInfo(getPlayerPosition(cid)) == true then if getGlobalStorageValue(t.c) < t.m then setGlobalStorageValue(t.c, getGlobalStorageValue(t.c)+1) if getGlobalStorageValue(t.c) == t.m then doPlayerSendCancel(cid, "Event is full [" .. getGlobalStorageValue(t.c) .. " players]!") else doBroadcastMessage("" .. getPlayerName(cid) .. " has joined to Rush Event! Actually we have: " .. getGlobalStorageValue(t.c) .. " players!", 19) end setPlayerStorageValue(cid, t.f, 1) setPlayerStorageValue(cid, t.h, -1) doTeleportThing(cid, t.w) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, t.g, getGlobalStorageValue(t.g)) setGlobalStorageValue(t.g, tonumber(getGlobalStorageValue(t.g))+1) else doPlayerSendCancel(cid, "Event is full [" .. getGlobalStorageValue(t.c) .. " players]!") return true end else doPlayerSendCancel(cid, "You must be in protection zone.") return true end else doPlayerSendCancel(cid, "You are already registered in this event.") return true end else doPlayerSendCancel(cid, "Your level is too low to participate in this event.") return true end else doPlayerSendCancel(cid, "At the moment there are no records for this event.") return true end return true end Prontinho sistema Instalado ! Apenas Configure as Variaveis no Arquivo Rushlib.lua, o primeiro do Tutorial. Comando para Abrir o Evento !start Comando para Participar do Evento !rush OBSERVAÇÃO: NUNCA FECHAR O SERVIDOR COM O EVENTO ABERTO, SEMPRE ESPERE O EVENTO FINALIZAR CASO FAZER ISSO BUGARÁ AS STORAGES. Creditos ? Eu Achei em outro Forum e o Mod estava falando que era do ChaitoSoft não tenho Certeza mais Segue. ChaitoSoft ( Provavelmente Roksas) Emerson = 40% - Pois eu Achei Alguns Bugs e Removi e Por Ter Feitos em Varios Arquivos. MAP: https://www.mediafire.com/?cxoqqth3s9heqzx SCAN: https://www.virustotal.com/en/file/279eee03261c0d329177ee5ad54e3a746da366fd5a3da491daeaf3204f6e3315/analysis/1405238306/ Map.rar
  7. Ae Fica Impossivel eu saber, se não da erro e tbm não pega algo na sua TFS não é compativel :/
  8. local config = { [1] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, -- [ID Vocation] = {hp = Qt./LvL, mp = {Qt./LvL, MinHP = Qt. Minima de HP, MinMP = Qt. Minima de MP} [2] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [3] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [4] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [5] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [6] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [7] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, [8] = {hp = 280, mp = 250, MinHP = 100, MinMP = 100}, } function onLogin(cid) if getCreatureMaxHealth(cid) < hp*voc.MinHP then setCreatureMaxMana(cid, hp*voc.MinHP) end if getCreatureMaxMana(cid) < MinMP then setCreatureMaxMana(cid, hp*voc.MinMP) end hp = getPlayerLevel(cid) local voc = config[getPlayerVocation(cid)] if (getPlayerLevel(cid) >= 1) then -- if (getPlayerLevel(cid) >= LvL Min Para Ativar) then setCreatureMaxHealth(cid, hp*voc.hp) setCreatureMaxMana(cid, hp*voc.mp) end return true end Segue o Pedido
  9. Como a AnnaFeeh mesmo disse esta funcional, o senhor esta fazendo algo errado :/
  10. [12/07/2014 08:37:07] data/creaturescripts/scripts/login.lua:223: attempt to call field 'query' (a nil value) Poxa Amigo com 250 Rep não sabe arruma isso :/ Segue anexo ja prontinho para você Substitua isso : if isPlayer(cid) then local guild = getPlayerGuildId(cid) playerid = getPlayerGUID(cid) if getPlayerGuildId(cid) ~= 0 then db.executeQuery("UPDATE `players` SET `guild_id` = "..guild.." WHERE `players`.`id` = "..playerid..";") else db.executeQuery("UPDATE `players` SET `guild_id` = 0 WHERE `players`.`id` = "..playerid..";") end end
  11. Você Criar Sistema HAHAHA. Como eu Disse o Script é meu caso discorde, não posso fazer nada !
  12. Repito o script que criou foi eu, caso v descorde problema é seu, por alguem fez algo parecido não quer dizer que eu tenha copiado. Poq eu não posso criar ? Desconhecia esse script de qualquer outro forum e por isso precisei criar o meu. Como eu disse, prove que foi uma copia com um site exatamente igual, claro que não irá achar, e se achar possivelmente a pessoa teve a mesma ideia que eu
  13. local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. "") A 1º Linha de comando mysql não é igual, não tenho culpa se algum pessoa teve a mesma ideia, lamento mais não vou colocar credito de uma coisa que não ele! Como eu Disse comando mysql são iguais. Obg PS: Me disculpe mais quem posta sistema copiado e modificados é você, oque eu posto foi eu que criei para meu servidor!
  14. Que fez foi eu. prove ao contrario
  15. Um Sistema Beem Util para mim, posso localizar qualquer Char que algum dia um Certo IP ou Char Logou, Porem cria varios arquivos por causa de Ips Dinamicos, mas a função é perfeita e Sempre que preciso localizar algum engraçadinho utilizo ela. lib/050-function.lua function RegistrarIP(cid) if isPlayer(cid) or isCreature(cid) then f = io.open("data/logs/IP/IpNumero/"..doConvertIntegerToIp(getPlayerIp(cid))..".txt", "a+") f:write("Player : "..getCreatureName(cid).." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n") f:close() end if isPlayer(cid) or isCreature(cid) then f = io.open("data/logs/IP/IpName/"..getCreatureName(cid)..".txt", "a+") f:write("Player : "..doConvertIntegerToIp(getPlayerIp(cid)).." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n") f:close() end if isPlayer(cid) or isCreature(cid) then f = io.open("data/logs/IP/IpAccount/"..getPlayerAccount(cid)..".txt", "a+") f:write("Player : "..getCreatureName(cid).." - "..doConvertIntegerToIp(getPlayerIp(cid)).." - " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n") f:close() end return true end em login.lua antes do Ultimo return true if isPlayer(cid) then RegistrarIP(cid) end Lembrando de Criar os Diretorios logs/IP/IpNumero/ logs/IP/IpName/ logs/IP/IpAccount/ Creditos? Emerson Henrique
  16. sim muito parecido, Porem não tinha visto que ja tinha algo postado sobre isso, se não nem postava, as funções são comandos mysql são todos iguais Mas Postei poq no Topico de ajuda tinha uma pessoa perguntando então fiz o post
  17. Meu TFS é 0.4 e 8.60 se não funcionou poq o senhor fez algo errado O Senhor verificou seu comando se é db.query ou db.executeQuery? Poste o Erro
  18. Ja segue como adc as funções em seu server, fique avontade de fazer o script http://www.tibiaking.com/forum/topic/37760-getvippoints-addvippoints-removevippoints/
  19. O Tipico ja diz tudo então vamos ao Trabalho. Em lib/050-function.lua function getPlayerVipPoints(cid) local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. "") if Info:getID() ~= LUA_ERROR then local Points= Info:getDataInt("premium_points") Info:free() return Points end return LUA_ERROR end function doPlayerAddVipPoints(cid, points) local dif = getPlayerVipPoints(cid) + points if dif >= 0 then db.query("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") return TRUE end return FALSE end function doPlayerRemoveVipPoints(cid, points) local dif = getPlayerVipPoints(cid) - points if dif >= 0 then db.query("UPDATE `accounts` SET `premium_points` = `premium_points` - " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") return TRUE end return FALSE end Comando SQL em sua DataBase: ALTER TABLE `accounts` ADD `premium_points` int(11) NOT NULL DEFAULT '0' Comando Talkactions getPlayerVipPoints(cid) -- Retorna o Valor atual de Points doPlayerAddVipPoints(cid, points) -- Adiciona Points doPlayerRemoveVipPoints(cid, points) -- Remove Points Creditos? Emerson Henrique
  20. Segue um Script Simples Mais muito bom '.' ArrumarHp.lua local config = { [1] = {hp = 280, mp = 250}, -- [ID Vocation] = {hp = Qt./LvL, mp = {Qt./LvL} [2] = {hp = 280, mp = 250}, [3] = {hp = 280, mp = 250}, [4] = {hp = 280, mp = 250}, [5] = {hp = 280, mp = 250}, [6] = {hp = 280, mp = 250}, [7] = {hp = 280, mp = 250}, [8] = {hp = 280, mp = 250}, } function onLogin(cid) hp = getPlayerLevel(cid) local voc = config[getPlayerVocation(cid)] if (getPlayerLevel(cid) >= 1) then -- if (getPlayerLevel(cid) >= LvL Min Para Ativar) then setCreatureMaxHealth(cid, hp*voc.hp) setCreatureMaxMana(cid, hp*voc.mp) end return true end Creaturescripts.xml <event type="login" name="ArrumarHp" event="script" value="ArrumarHp.lua"/> Login.lua registerCreatureEvent(cid,"ArrumarHp") Creditos? Emerson henrique
  21. &nbsp; &nbsp; Desculpe erro meu ALTER TABLE `players` ADD `guild_id` int(11) NOT NULL DEFAULT '0';

Informação Importante

Confirmação de Termo