Ir para conteúdo

caotic

Infante
  • Total de itens

    1599
  • Registro em

  • Última visita

  • Dias Ganhos

    7

Histórico de Reputação

  1. Upvote
    caotic recebeu reputação de FireShok em PDA PWO v1   
    PDA World v1
     
    Eu tive um projeto pokemon que estava em desenvolvimento o servidor ja teve varias versões mais esta a v1 do PWO.
    O servidor usa apenas OTC(otclient) a troca de client vai diminuir drasticamente a qualidade do servidor.
     

     
    *Sistemas da versão v1 do PWO*
     
    +Bonus System(Alguns sistemas não foram corrigidos logo postarei um patch)
     
    Bugs Encontrados(Não listei todos/atenção os bugs foram corridos se houver algum um possivel patch será disponiblizado)
     
     
     
    Olds Prints
     
     
     
    News Prints
     
     
     
    Server V1: http://speedy.sh/NHrsr/Server.rar ou http://www.4shared.com/rar/im3XJWYo/Server.html?
    OtClient: http://www.mediafire.com/download/oxxtpbc42u3r7yp/World_Pokemon.rar ou http://speedy.sh/fGf4k/World-Pokemon.rar
    Scan(Este negocio de scan e uma chatisse ):https://www.virustotal.com/pt/file/874d9e4feee133f67bb1d375d93d95bdfb91beede4c0d261bb655bf52aef4283/analysis/1379170687
     
    Configurações
     
     
     
    Agradecimentos:
     
    Patch sqlite+account manager .rar
  2. Upvote
    caotic recebeu reputação de RigBy em Cooldown Bar   
    e so mandar um opcode.
     
    Basta colocar o system na sua source e enviar os packets com a vocação.
    Ainda existe a maneira mais "pogada" que seria pegar um sendcancel.
  3. Upvote
    caotic recebeu reputação de sethsan em Construa Games E Apps Mobile Com Varias Plataformas Como Android   
    Ja pensou desenvolver games e aplicativos para celular ultilizando Lua isto ja e possivel com a ferramentan ascamobile.
    Para realizaçao do games e ultilizado apenas uma engine muito poderosa e LUA apos a construçao voce pode gerar o games em Android,IOS,Noke e Kindle Fire.
     
    Alem destas opçoes
    voce ainda tem o Corona Simulator que simula jogos criado no Corona então assim voce não precisa ter um Celular com tais tecnologia.
     
    Voce pode escolher templantes para começar seu jogo de acordo como seu estilo.
    Alem de seus games serem de otima qualidade e de desempenho
    A empresa esta evoluindo e garanti muita qualidade.
    Mais não vai se animando tão rapido mesmo que saiba LUA tera que estudar
    um pouco ja que a plataforma e diferente de Opentibia e diferente do
    que estamos acostumados.
    No propio website e liberado scripts como se fosse a seçao de scrippting
    aki no xtibia e apenas clique na seçao share code.
     
    E uma otimo engine vale a pena conferir
    http://www.anscamobile.com/corona/
     

  4. Upvote
    caotic recebeu reputação de oktober15 em Sistema de TV Em Lua   
    Ola galera xtibiaaana!.
     
    Então meus amigos resolvi fazer um TV system aquele famoso sistema que o player cria uma channel(canal) e outros players poderão ver ele batalhando.
    Estou retirando o máximo de bugs possíveis se você viu um bug não deixe de falar.
     

    Vamos as explicações:
     
    Primeiro o player cria uma channel usando o comando /tv(nome da channel) depois outro player ve sua channel na lista usando o comando /channel(list) logo ele quer entrar em sua channel então ele fala /channel(nome da channel).
    Logo apos ele falar ele entra e começa a assistir mais depois ele quer sair então ele "desloga" e ele volta ao tempo.
     
     
    Vamos a instalação.
     

     
    Execute este comandos na sua database:
     

    CREATE TABLE "tv" ( "name" Text NOT NULL, "player" INT NOT NULL, "conec" INT NOT NULL )
     

     
    Vá em lib e crie um arquivo lua chamado de tv e coloque isto:

    function createTv(cid, name) db.executeQuery("INSERT INTO `tv` (`name`, `player`, `conec`, `watch`) VALUES ('" .. name .. "', " .. getPlayerGUID(cid) .. ", 1, 0);") setPlayerStorageValue(cid, 23423, 1) doPlayerSave(cid) end function isTv(name) local tv = db.getResult("SELECT * FROM `tv` WHERE `name` = '".. name .."';") return tv:getID() ~= -1 and true or false end function getChannelPlayer(cid) return getPlayerStorageValue(cid, 23423) == 1 and true or getPlayerStorageValue(cid, 23423) == -1 and false end function getWatchingNameChannel(cid) return getPlayerStorageValue(cid, 44670) end local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local conditi = createConditionObject(CONDITION_MUTED) setConditionParam(conditi, CONDITION_PARAM_TICKS, 10000*10000) local condition = createConditionObject(CONDITION_INVISIBLE) setConditionParam(condition, CONDITION_PARAM_TICKS, 200000) function enterInTv(cid, name) local function comparePos(pos, post) local pos = getThingPos(pos) local post = getThingPos(post) return pos.x == pos.x or pos.y == pos.y or pos.z == pos.z and false or true end local function fallowPlayer(cid, player) if not isPlayer(cid) or getPlayerStorageValue(cid, 44670) == -1 then return true end if comparePos(cid, player) then doTeleportThing(cid, getThingPos(player)) doAddCondition(cid, condition) doAddCondition(cid, conditi) setCombatCondition(combat, condition) end return addEvent(fallowPlayer, 1800, cid, player) and doPlayerSave(cid) end setPlayerStorageValue(cid, 44670, name) local tv = db.getResult("SELECT * FROM `tv` WHERE `name` = '".. name .."';") local guid = tv:getDataInt("player") local player = getPlayerByNameWildcard(getPlayerNameByGUID(guid)) return fallowPlayer(cid, player) end function exitChannel(cid) doRemoveCondition(cid, CONDITION_INVISIBLE) doRemoveCondition(cid, CONDITION_MUTED) doRemoveCondition(cid, COMBAT_PARAM_AGGRESSIVE) doTeleportThing(cid, getPlayerMasterPos(cid)) setPlayerStorageValue(cid, 44670, -1) doPlayerSave(cid) end function doShowListChannel(cid) local tv = db.getResult("SELECT * FROM `tv` WHERE `player` ORDER BY `conec`") str = "Channel Disponiveis:\n\n" if tv:getID() == -1 then doShowTextDialog(cid, 1387, "Não ha channel disponiveis") return true end while true do local conect = tv:getDataInt("conec") local player = tv:getDataInt("player") local channel = tv:getDataString("name") local players = getPlayerNameByGUID(player) str = str .. channel .. " -("..players..")\n\n" if not tv:next() then doShowTextDialog(cid, 1397, str) break end end end function getConectTv(name) local tv = db.getResult("SELECT * FROM `tv` WHERE `name` = '".. name .."';") return tv:getDataInt("conec") == 1 and true or tv:getDataInt("conec") == 0 and false end function setStatusTv(cid, on) if on == "on" then return db.executeQuery("UPDATE `tv` SET `conec` = 1 WHERE `player` = "..getPlayerGUID(cid)) end if on == "off" or on ~= "on" then local tv = db.getResult("SELECT * FROM `tv` WHERE `player` = '".. getPlayerGUID(cid) .."';") local channel = tv:getDataString("name") db.executeQuery("UPDATE `tv` SET `conec` = 0 WHERE `player` = "..getPlayerGUID(cid)) for i =1, #getPlayersOnline() do if getWatchingNameChannel(getPlayersOnline()[i]) == channel and getPlayersOnline()[i] ~= cid then exitChannel(getPlayersOnline()[i]) doPlayerSendTextMessage(getPlayersOnline()[i], MESSAGE_INFO_DESCR, "A channel foi desligada") end end end end
     

     
    Vá em talkactions crie um arquivo Lua chamado de tv coloque isto:

    function onSay(cid, words, param, channel) local item = 1949 ----Item que você precisa local bloqued = {"sair", "list", "on", "off"} ----- Nomes de channel que não pode ser usado if param == "" or param == " " then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga o nome da channel que você quer") and false end if param == "on" or param == "off" then return setStatusTv(cid, param) end for i = 1, #bloqued do str = "Nomes não podem ser ultlizados" str = ""..str.."\n"..bloqued[i].."" if param == bloqued[i] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este nome não pode ser ultilizado porque e um comando do sistema") and false end end if #param <= 4 and #param >= 10 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O nome da sua channel deve ser maior que 4 caracteres e menor que 10 caracters") and false end if getPlayerItemCount(cid, item) < 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de um "..getItemNameById(item).."") and false end if getChannelPlayer(cid) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ja tem uma channel") and false end createTv(cid, param) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns sua channel "..param.." foi criada") return true end
     

     
    Vá em talkactions e crie um arquivo lua chamado de channel e coloque isto:
     

    function onSay(cid, words, param, channel) if param == "" or param == " " then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga /channel(nome da channel para se conectar)\n/channel(list) Lista das channels\n/channel(sair para sair da channel)") and false end if param ~= "list" and param ~= "sair" then if not isTv(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não existe esta channel") and false end if not (getTilePzInfo(getCreaturePosition(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você so pode entrar em uma channel quando estiver em pz") return true end if getChannelPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode entrar uma tv porque você ja tem uma") return true end if getWatchingNameChannel(cid) ~= -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você esta conectado a uma channel") return true end if not getConectTv(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Esta channel esta desativada") and false end enterInTv(cid, param) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você esta assitindo a channel "..param.."") return true end if param == "list" then return doShowListChannel(cid) end if param == "sair" then if getChannelPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode sair de sua propria tv use o comando /tv off para desativar sua channel") return true end if getWatchingNameChannel(cid) == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não esta conectado a uma channel") return true end exitChannel(cid) return true end return true end
     

     
    Vá em talkactions.xml e coloque estas tags:
     
     
     
     

     
    Vá em creaturescripts e crie um arquivo lua chamado tv e coloque isto:

    function onLogout(cid) if getChannelPlayer(cid) then local tv = db.getResult("SELECT * FROM `tv` WHERE `player` = '".. getPlayerGUID(cid) .."';") local channel = tv:getDataString("name") db.executeQuery("UPDATE `tv` SET `conec` = 0 WHERE `player` = "..getPlayerGUID(cid)) for i =1, #getPlayersOnline() do if getWatchingNameChannel(getPlayersOnline()[i]) == channel and getPlayersOnline()[i] ~= cid then exitChannel(getPlayersOnline()[i]) doPlayerSendTextMessage(getPlayersOnline()[i], MESSAGE_INFO_DESCR, "A channel foi desligada") end end doPlayerSendTextMessage(getPlayersOnline()[i], MESSAGE_INFO_DESCR, "Sua channel foi desativado ao você logar religue dizendo /tv on") return true end if getWatchingNameChannel(cid) ~= -1 then exitChannel(cid) return true end return true end function onAttack(cid, target) if getWatchingNameChannel(cid) ~= 1 then return false end return true end
     
    Registre o evento colocando isto antes do ultimo return true:
     
     
     
     

     
    Coloque esta tags em creaturescripts.xml:
     
     
     
     


     
    Configurações
     
     

    Midia:

     
     
    Ajude o tv system dizendo ideias e bugs para o sistema.
    Estarei optimizando o sistema e retirandos bugs.
  5. Upvote
    caotic recebeu reputação de JonPiress em [FABRICA]Otclient   
    Como o pessoal resolveu fazer algumas fabricas resolvi trazer a #1 fabrica do otclient.
    Eu tentarei evitar o uso do opcode vou usar msg e talk para a comunicação do otc~servidor ou o contrario.
     
    Segue ai as regrinhas dos pedidos
     
  6. Upvote
    caotic recebeu reputação de JonPiress em [FABRICA]Otclient   
    Baixa o novo pokedex ja corrigi o problema:
    http://www.mediafire.com/download/yg0d1f2rur6dsa9/game_pokedex.rar
     
    E quem não conseguir baixar a healthinfo novo link:
    http://www.mediafire.com/?0ohf2ho118wj6cw
  7. Upvote
    caotic recebeu reputação de narazaky em Banimento System Beta   
    Ola pessoal do ekstibiana.
    Versões para cima de 9.x foi retirado o sistema de banimento que e muito necessario em ots.
    Então resolvi desenvolver uma versão "beta" para vocês
    O sistema ta bem limitadinho mais e funcional.
     
    Para banir uma pessoa diga /ban(nome da pessoa,dias,comentario) depois a personagem sera banida e seu ip sera banido.
    Para ver a lista de banidos fale /banidos
     
    Limitações do sistema
     
     
     
    Vamos a instalar o sistema.
    GO!
    Execute o seguinte comando na sua database:
     

    CREATE TABLE "ban" ( "player" INT NOT NULL, "ip" INT NOT NULL, "time" INT NOT NULL );
     
    Agora vá em lib e crie um arquivo lua chamado de ban e coloque isto:

    function doPlayerBan(cid, time, coment) exhaustion.set(cid, 24546, time*3600*24*1000) db.executeQuery("INSERT INTO `ban` VALUES (".. getPlayerGUID(cid) ..", ".. getPlayerIp(cid) ..", ".. time ..")") setPlayerStorageValue(cid, 42622, tostring(coment)) doBroadcastMessage(""..getPlayerName(cid).." foi banido em "..time.." dia(s) por "..coment.."") end function getPlayerBan(cid) return exhaustion.check(cid, 24546) end function getPlayerIPbyBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") return ban:getDataInt("ip") end function getBanTimeByIp(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `ip` = ".. getPlayerIp(cid) ..";") return ban:getDataInt("time") end function getPlayerBanDb(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") if ban:getID() == -1 then return true end return false end function getPlayerBanIpDb(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `ip` = ".. getPlayerIp(cid) ..";") if ban:getID() == -1 then return true end return false end function getPlayerTimeBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") return ban:getDataInt("time") end function getPlayerIpBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") if ban:getID() == -1 then return false end while true do local ips = ban:getDataInt("ip") if getPlayerIp(cid) == ips then return true end if not ban:next() then return false end end end function doShowTextBans(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") str = "Players Banidos:\n\n" if ban:getID() == -1 then doShowTextDialog(cid, 1387, "Não existe nenhum player Banido") return true end while true do local name = ban:getDataInt("player") local time = ban:getDataInt("time") local player = getPlayerNameByGUID(name) str = str .. player .. " - Banido por "..time.." dia(s) \n\n" if not ban:next() then doShowTextDialog(cid, 1397, str) break end end end function doShowTextBansForGroupUp(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") str = "Players Banidos:\n\n" if ban:getID() == -1 then doShowTextDialog(cid, 1387, "Não existe nenhum player Banido") return true end while true do local name = ban:getDataInt("player") local time = ban:getDataInt("time") local ip = ban:getDataInt("ip") local player = getPlayerNameByGUID(name) local ip = doConvertIntegerToIp(ip) str = str .. player .. " - Banido por "..time.." dia(s) Ip "..ip.." \n\n" if not ban:next() then doShowTextDialog(cid, 1397, str) break end end end
     
    Agora vá em talkactions e crie um arquivo lua chamado de ban e coloque este codigo:
     

    function onSay(cid, words, param, channel) local t = string.explode(param, ",") if param == " " or param == "" or not param or isNumeric(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end if t[2] == " " or t[2] == "" or not t[2] then return doPlayerSendCancel(cid, "Coloque os dias de ban para o player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end if t[3] == " " or t[3] == "" or not t[3] then return doPlayerSendCancel(cid, "Coloque os comentarios do player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end local player = getPlayerByNameWildcard(t[1], false) if not player then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player "..t[1].." não existe") end doPlayerBan(player, t[2], t[3]) doRemoveCreature(player) return true end
     
    Continue em talkactions e crie outra arquivo lua chamado de banidos:
     

    function onSay(cid, words, param, channel) if getPlayerGroupId(cid) >= 3 then return doShowTextBansForGroupUp(cid) end doShowTextBans(cid) return true end
     
    Coloque as seguintes tags em talkactions.xml:
     
     
     
     
    Agora vá em creaturescripts e crie um arquivo lua chamado de ban e coloque isto:
     

    function onLogin(cid) if getPlayerBan(cid) then doPlayerPopupFYI(cid, "Você esta banido") return addEvent(doRemoveCreature, 180, cid) end if getPlayerIpBan(cid) then doPlayerPopupFYI(cid, "Foi dectado um ip banido character banido") return addEvent(doRemoveCreature, 180, cid) end return true end
     
    Registre o evento em login.lua colocando isto antes do ultimo RETURN:
     

    registerCreatureEvent(cid, "ban")
     
    Terminado coloque esta tag em creaturescripts.xml:
     
     
     
  8. Upvote
    caotic recebeu reputação de u n d e r em Sobre a Administração   
    Ficou muito feliz que o under vai assumir a adminstração.
     
    Uma pena você não ficar conosco.
  9. Upvote
    caotic recebeu reputação de edu6279 em PDA PWO v1   
    O level system influencia na offense e defense.
    E outros atribbutos.
  10. Upvote
    caotic recebeu reputação de DjAlexandre02 em PDA PWO v1   
    PDA World v1
     
    Eu tive um projeto pokemon que estava em desenvolvimento o servidor ja teve varias versões mais esta a v1 do PWO.
    O servidor usa apenas OTC(otclient) a troca de client vai diminuir drasticamente a qualidade do servidor.
     

     
    *Sistemas da versão v1 do PWO*
     
    +Bonus System(Alguns sistemas não foram corrigidos logo postarei um patch)
     
    Bugs Encontrados(Não listei todos/atenção os bugs foram corridos se houver algum um possivel patch será disponiblizado)
     
     
     
    Olds Prints
     
     
     
    News Prints
     
     
     
    Server V1: http://speedy.sh/NHrsr/Server.rar ou http://www.4shared.com/rar/im3XJWYo/Server.html?
    OtClient: http://www.mediafire.com/download/oxxtpbc42u3r7yp/World_Pokemon.rar ou http://speedy.sh/fGf4k/World-Pokemon.rar
    Scan(Este negocio de scan e uma chatisse ):https://www.virustotal.com/pt/file/874d9e4feee133f67bb1d375d93d95bdfb91beede4c0d261bb655bf52aef4283/analysis/1379170687
     
    Configurações
     
     
     
    Agradecimentos:
     
    Patch sqlite+account manager .rar
  11. Upvote
    caotic recebeu reputação de totonho18 em Quest que add uma magia nova pro player!   
    Bem mais pratico e parabéns.
    So tomar cuidado que mesmo em learn se a vocação não estiver liberada na xml não irá funcionar.
  12. Upvote
    caotic recebeu reputação de Killua em Quest que add uma magia nova pro player!   
    Mais facil você setar para que ele possa aprendar a usar a spell.
  13. Upvote
    caotic recebeu reputação de Killua em Formula de Bhaskara   
    Bhaskara e um formula matematica capaz de resolver uma equação de segunda grau(ax^2+bx+c) ela é muito abordada no 6°~9° do ensino fundamental chegando também no ensino medio.
     
    Eu fiz uma versão com ultlização simples basta colocar a equação de 2 grau numa string que ele irá resolver a sua equação.
    function string.explode(e, sep) local result = {} e:gsub("[^".. sep .."]+", function(s) table.insert(result, s:match("^%s*(.-)%s*$")) end) return result[1] and result or 0 end function executeFormBashakara(bash) local function validateZero(x) local x = tostring(x) if string.sub(x, 1, 1) == "-" and string.sub(x, 2, 2) == "0" or not tonumber(x) then return 0 end return x end local function adptBhaskSing(bask) bask = string.gsub(bask, " ", "") bask = string.gsub(bask, "-", "+-") return bask end local function stringToNumber(str) for i =1, #str do local y = string.sub(str, 1, i) if y ~= "-" and y ~= "+" then if not tonumber(y) then return tonumber(x) end end x = y end return y end bash = adptBhaskSing(bash) a = string.explode(bash, "+")[1] b = string.explode(bash, "+")[2] c = string.explode(bash, "+")[3] delta = (stringToNumber(b)^2)+(-4*stringToNumber(a)*stringToNumber(c)) if delta < 0 then return false,delta end bhask1 = validateZero((stringToNumber(b)+math.sqrt(delta))/(2*stringToNumber(a))) bhash2 = validateZero((stringToNumber(b)-math.sqrt(delta))/(2*stringToNumber(a))) return bhask1,bhash2 end x,y = executeFormBashakara("4x2 = 0 ") print(x) print(y)
  14. Upvote
    caotic recebeu reputação de zipter98 em Formula de Bhaskara   
    Bhaskara e um formula matematica capaz de resolver uma equação de segunda grau(ax^2+bx+c) ela é muito abordada no 6°~9° do ensino fundamental chegando também no ensino medio.
     
    Eu fiz uma versão com ultlização simples basta colocar a equação de 2 grau numa string que ele irá resolver a sua equação.
    function string.explode(e, sep) local result = {} e:gsub("[^".. sep .."]+", function(s) table.insert(result, s:match("^%s*(.-)%s*$")) end) return result[1] and result or 0 end function executeFormBashakara(bash) local function validateZero(x) local x = tostring(x) if string.sub(x, 1, 1) == "-" and string.sub(x, 2, 2) == "0" or not tonumber(x) then return 0 end return x end local function adptBhaskSing(bask) bask = string.gsub(bask, " ", "") bask = string.gsub(bask, "-", "+-") return bask end local function stringToNumber(str) for i =1, #str do local y = string.sub(str, 1, i) if y ~= "-" and y ~= "+" then if not tonumber(y) then return tonumber(x) end end x = y end return y end bash = adptBhaskSing(bash) a = string.explode(bash, "+")[1] b = string.explode(bash, "+")[2] c = string.explode(bash, "+")[3] delta = (stringToNumber(b)^2)+(-4*stringToNumber(a)*stringToNumber(c)) if delta < 0 then return false,delta end bhask1 = validateZero((stringToNumber(b)+math.sqrt(delta))/(2*stringToNumber(a))) bhash2 = validateZero((stringToNumber(b)-math.sqrt(delta))/(2*stringToNumber(a))) return bhask1,bhash2 end x,y = executeFormBashakara("4x2 = 0 ") print(x) print(y)
  15. Upvote
    caotic recebeu reputação de Kluivert em Formula de Bhaskara   
    Bhaskara e um formula matematica capaz de resolver uma equação de segunda grau(ax^2+bx+c) ela é muito abordada no 6°~9° do ensino fundamental chegando também no ensino medio.
     
    Eu fiz uma versão com ultlização simples basta colocar a equação de 2 grau numa string que ele irá resolver a sua equação.
    function string.explode(e, sep) local result = {} e:gsub("[^".. sep .."]+", function(s) table.insert(result, s:match("^%s*(.-)%s*$")) end) return result[1] and result or 0 end function executeFormBashakara(bash) local function validateZero(x) local x = tostring(x) if string.sub(x, 1, 1) == "-" and string.sub(x, 2, 2) == "0" or not tonumber(x) then return 0 end return x end local function adptBhaskSing(bask) bask = string.gsub(bask, " ", "") bask = string.gsub(bask, "-", "+-") return bask end local function stringToNumber(str) for i =1, #str do local y = string.sub(str, 1, i) if y ~= "-" and y ~= "+" then if not tonumber(y) then return tonumber(x) end end x = y end return y end bash = adptBhaskSing(bash) a = string.explode(bash, "+")[1] b = string.explode(bash, "+")[2] c = string.explode(bash, "+")[3] delta = (stringToNumber(b)^2)+(-4*stringToNumber(a)*stringToNumber(c)) if delta < 0 then return false,delta end bhask1 = validateZero((stringToNumber(b)+math.sqrt(delta))/(2*stringToNumber(a))) bhash2 = validateZero((stringToNumber(b)-math.sqrt(delta))/(2*stringToNumber(a))) return bhask1,bhash2 end x,y = executeFormBashakara("4x2 = 0 ") print(x) print(y)
  16. Upvote
    caotic recebeu reputação de noturnokiremya em PDA PWO v1   
    PDA World v1
     
    Eu tive um projeto pokemon que estava em desenvolvimento o servidor ja teve varias versões mais esta a v1 do PWO.
    O servidor usa apenas OTC(otclient) a troca de client vai diminuir drasticamente a qualidade do servidor.
     

     
    *Sistemas da versão v1 do PWO*
     
    +Bonus System(Alguns sistemas não foram corrigidos logo postarei um patch)
     
    Bugs Encontrados(Não listei todos/atenção os bugs foram corridos se houver algum um possivel patch será disponiblizado)
     
     
     
    Olds Prints
     
     
     
    News Prints
     
     
     
    Server V1: http://speedy.sh/NHrsr/Server.rar ou http://www.4shared.com/rar/im3XJWYo/Server.html?
    OtClient: http://www.mediafire.com/download/oxxtpbc42u3r7yp/World_Pokemon.rar ou http://speedy.sh/fGf4k/World-Pokemon.rar
    Scan(Este negocio de scan e uma chatisse ):https://www.virustotal.com/pt/file/874d9e4feee133f67bb1d375d93d95bdfb91beede4c0d261bb655bf52aef4283/analysis/1379170687
     
    Configurações
     
     
     
    Agradecimentos:
     
    Patch sqlite+account manager .rar
  17. Upvote
    caotic recebeu reputação de roriscrave em Sound System [Injection]   
    Eae galera xtibiana hoje irei disponbilizar um novo sistema de audio.
    Ou melhor 2 sistemas de audios rs acho que alguns viram o sistema de som AFL que disponiblizei para o xtibia.
    Mais ele erá muito limitado e alem de alguns bugs.
     
    Então eu comecei um projeto pokemon(que ainda está em pé) e a primeira coisa que veio na cabeça e um sistema de som completo que não travesse e que funcione no client da cipsoft.
    Então vamos la:
    Vamos escolher qual sistema de som vamos usar primeiramente vou explicar cada ponto:
     
     
    Dll Audio - A dll e compacta e super eficiente mais tem uma instalação um pouco mais dificil e requer conhecimento
    *Junto vem um dll com o ip(127.0.0.1) mais não se preocupe coloquei o projeto do Visual C++ para você mudar o ip e recompilar.
     
    Ela está disponivel aki:
    Audio Dll+Project VC++.rar
     
     
     
    Prontinho agora vamos a instalação:
     
    Primeiro execute o server de audio junto ao seu otserv:
    Server Audio Dll or Vb Form.rar
     
    Instale a blibioteca lua socket no seu otserv:
    http://w3.impa.br/~diego/software/luasocket/
     
     
     
    Agora coloque está funcão na sua lib:
    function sendAudio(cid, audio)require('socket') local ip = "127.0.0.1" -- Seu ip Akilocal client = socket.connect(ip, 1234)local t = "Send,"..doConvertIntegerToIp(getPlayerIp(cid))..","..audio..""    client:send(t.."\n")    client:settimeout(0.1)client:close()end Pronto quando quiser executar um som basta usar a função sendAudio(cid, "id audio")
     
    Se tiver usando a dll todos o sons devem ser guardados junto a ela.
     
    Todos os formatos de audio devem ser ".wav" e todos precisam ser enumerados de 000 a 999 se não seguir tal regra terá varios problemas.
     
    Agora vou passar um codigo em vb que fiz para você injentar a dll antes que o seu client inicie:
    E NECESSARIO EXECUTAR DENTRO DE UM THEARED QUANDO FOR FAZER O SEU LAUNCHER.
     
     
     
    Audio Dll+Project VC++.rar
    Server Audio Dll or Vb Form.rar
  18. Upvote
    caotic recebeu reputação de felippepsa em PDA PWO v1   
    PDA World v1
     
    Eu tive um projeto pokemon que estava em desenvolvimento o servidor ja teve varias versões mais esta a v1 do PWO.
    O servidor usa apenas OTC(otclient) a troca de client vai diminuir drasticamente a qualidade do servidor.
     

     
    *Sistemas da versão v1 do PWO*
     
    +Bonus System(Alguns sistemas não foram corrigidos logo postarei um patch)
     
    Bugs Encontrados(Não listei todos/atenção os bugs foram corridos se houver algum um possivel patch será disponiblizado)
     
     
     
    Olds Prints
     
     
     
    News Prints
     
     
     
    Server V1: http://speedy.sh/NHrsr/Server.rar ou http://www.4shared.com/rar/im3XJWYo/Server.html?
    OtClient: http://www.mediafire.com/download/oxxtpbc42u3r7yp/World_Pokemon.rar ou http://speedy.sh/fGf4k/World-Pokemon.rar
    Scan(Este negocio de scan e uma chatisse ):https://www.virustotal.com/pt/file/874d9e4feee133f67bb1d375d93d95bdfb91beede4c0d261bb655bf52aef4283/analysis/1379170687
     
    Configurações
     
     
     
    Agradecimentos:
     
    Patch sqlite+account manager .rar
  19. Upvote
    caotic recebeu reputação de murluka em PDA PWO v1   
    A questão dos pokemons não evoluirem pode ser que eles so evoluem com stones.
    Como o gloom para vipuleme ou belossoum(apenas para stones)
    O lukas666 ja respondeu o resto a questão dos icones e so ativar.
    As stones por kill e so retirar em creaturescripts
    A pokedex e so retirar o gain items dela.
  20. Upvote
    caotic recebeu reputação de firegreen em PDA PWO v1   
    PDA World v1
     
    Eu tive um projeto pokemon que estava em desenvolvimento o servidor ja teve varias versões mais esta a v1 do PWO.
    O servidor usa apenas OTC(otclient) a troca de client vai diminuir drasticamente a qualidade do servidor.
     

     
    *Sistemas da versão v1 do PWO*
     
    +Bonus System(Alguns sistemas não foram corrigidos logo postarei um patch)
     
    Bugs Encontrados(Não listei todos/atenção os bugs foram corridos se houver algum um possivel patch será disponiblizado)
     
     
     
    Olds Prints
     
     
     
    News Prints
     
     
     
    Server V1: http://speedy.sh/NHrsr/Server.rar ou http://www.4shared.com/rar/im3XJWYo/Server.html?
    OtClient: http://www.mediafire.com/download/oxxtpbc42u3r7yp/World_Pokemon.rar ou http://speedy.sh/fGf4k/World-Pokemon.rar
    Scan(Este negocio de scan e uma chatisse ):https://www.virustotal.com/pt/file/874d9e4feee133f67bb1d375d93d95bdfb91beede4c0d261bb655bf52aef4283/analysis/1379170687
     
    Configurações
     
     
     
    Agradecimentos:
     
    Patch sqlite+account manager .rar
  21. Upvote
    caotic recebeu reputação de Rikutachimoto em Barra de Spells   
    Bar Spell
     
     
    Está me dando muita angustia ver o xtibia tão decaido e com pouco conteudo então resolvi dar a minha contribuição.
    Então resolvi posta a bar spell que desenvolvi num antigo projeto de naruto.
    A barra de spell e uma barrinha que lista todas as spells de um character ela não usa opcode.

     
    Vamos começar extraia na sua pasta modules do otclient o arquivo anexado no topico agora vamos a seu otserv e crie uma arquivo lua em data/lib chamado spell e coloque isto:
    function sendSpellsForBarSpell(cid) local dir = "data/spells/spells.xml" str = "ShowJutsu/" print("oi") local monster = io.open(dir, "r") for i in monster:read("*a"):gmatch('<instant(.-)</instant>') do local name = i:match('name="(.-)"') if string.find(i, '<vocation id="'..getPlayerVocation(cid)..'"/>') or string.find(i, 'needlearn="0"') and not string.find(i, '<vocation id') or getPlayerLearnedInstantSpell(cid, name) then local level = i:match('lvl="(.-)"') local word = i:match('words="(.-)"') if getPlayerLevel(cid) >= tonumber(level) then str = str..name.."-"..word.."/" end end end doPlayerSendCancel(cid, str) doPlayerSendCancel(cid, "Barra de moves atulizada") end Vá em creaturescripts e crie um arquivo lua chamado de bspell e coloque isto: function onAdvance(cid, skill, oldLevel, newLevel) if skill ~= 8 then return true end sendSpellsForBarSpell(cid) return true end Registre a tag em creaturescripts.xml:
    Registre o event em login.lua:  
     
    Coloque isto em login.lua depois de onLogin(cid)
    (Se quiser para você pode retirar a barra do account manager colocando isto depois da verificaço do account manager) :

    game_spells.zip
  22. Upvote
    caotic recebeu reputação de Aberos em Barra de Spells   
    Bar Spell
     
     
    Está me dando muita angustia ver o xtibia tão decaido e com pouco conteudo então resolvi dar a minha contribuição.
    Então resolvi posta a bar spell que desenvolvi num antigo projeto de naruto.
    A barra de spell e uma barrinha que lista todas as spells de um character ela não usa opcode.

     
    Vamos começar extraia na sua pasta modules do otclient o arquivo anexado no topico agora vamos a seu otserv e crie uma arquivo lua em data/lib chamado spell e coloque isto:
    function sendSpellsForBarSpell(cid) local dir = "data/spells/spells.xml" str = "ShowJutsu/" print("oi") local monster = io.open(dir, "r") for i in monster:read("*a"):gmatch('<instant(.-)</instant>') do local name = i:match('name="(.-)"') if string.find(i, '<vocation id="'..getPlayerVocation(cid)..'"/>') or string.find(i, 'needlearn="0"') and not string.find(i, '<vocation id') or getPlayerLearnedInstantSpell(cid, name) then local level = i:match('lvl="(.-)"') local word = i:match('words="(.-)"') if getPlayerLevel(cid) >= tonumber(level) then str = str..name.."-"..word.."/" end end end doPlayerSendCancel(cid, str) doPlayerSendCancel(cid, "Barra de moves atulizada") end Vá em creaturescripts e crie um arquivo lua chamado de bspell e coloque isto: function onAdvance(cid, skill, oldLevel, newLevel) if skill ~= 8 then return true end sendSpellsForBarSpell(cid) return true end Registre a tag em creaturescripts.xml:
    Registre o event em login.lua:  
     
    Coloque isto em login.lua depois de onLogin(cid)
    (Se quiser para você pode retirar a barra do account manager colocando isto depois da verificaço do account manager) :

    game_spells.zip
  23. Upvote
    caotic recebeu reputação de Alexclusive em Barra de Spells   
    Bar Spell
     
     
    Está me dando muita angustia ver o xtibia tão decaido e com pouco conteudo então resolvi dar a minha contribuição.
    Então resolvi posta a bar spell que desenvolvi num antigo projeto de naruto.
    A barra de spell e uma barrinha que lista todas as spells de um character ela não usa opcode.

     
    Vamos começar extraia na sua pasta modules do otclient o arquivo anexado no topico agora vamos a seu otserv e crie uma arquivo lua em data/lib chamado spell e coloque isto:
    function sendSpellsForBarSpell(cid) local dir = "data/spells/spells.xml" str = "ShowJutsu/" print("oi") local monster = io.open(dir, "r") for i in monster:read("*a"):gmatch('<instant(.-)</instant>') do local name = i:match('name="(.-)"') if string.find(i, '<vocation id="'..getPlayerVocation(cid)..'"/>') or string.find(i, 'needlearn="0"') and not string.find(i, '<vocation id') or getPlayerLearnedInstantSpell(cid, name) then local level = i:match('lvl="(.-)"') local word = i:match('words="(.-)"') if getPlayerLevel(cid) >= tonumber(level) then str = str..name.."-"..word.."/" end end end doPlayerSendCancel(cid, str) doPlayerSendCancel(cid, "Barra de moves atulizada") end Vá em creaturescripts e crie um arquivo lua chamado de bspell e coloque isto: function onAdvance(cid, skill, oldLevel, newLevel) if skill ~= 8 then return true end sendSpellsForBarSpell(cid) return true end Registre a tag em creaturescripts.xml:
    Registre o event em login.lua:  
     
    Coloque isto em login.lua depois de onLogin(cid)
    (Se quiser para você pode retirar a barra do account manager colocando isto depois da verificaço do account manager) :

    game_spells.zip
  24. Upvote
    caotic recebeu reputação de AlexandreKG em Opa   
    não imagino como o preioso acho esta foto.
  25. Upvote
    caotic recebeu reputação de Luucas07 em [FABRICA]Otclient   
    Pronto ta terminanda a instação e bem simples
     
    Extraia o arquivo na sua pasta do otc.
    Arquivo: http://www.mediafire.com/download/yg0d1f2rur6dsa9/game_pokedex.rar
     
    Vou ensinar a instalar o sistema no pda mais e simples:
     
    Vai em lib/pokedex system e substitua por isto:
     
     
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...