Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 01/11/14 em todas áreas
-
Olá, eu estarei trabalhando com novas Sprites pintando or enquanto...Estarei fazendo para o PokeStorm. Acompanhem ai as Sprites que pretendo levar ao Anime: Obs "Já aviso, as Sprites não estão dando para ser visualizadas muito bem, peço desculpas". | Flame Magmar | | Rage Charmeleon | | Terror Gengar | | Aquamarine Kingdra | | Chocolat Muk | | Elite Mantine | | Gold Sudowoodo | |Platinum Arbok | Estes São os Shinyes que já tem e que eu pretendo levar as Sprites ^^ Curtiu? Rep++ Cai dedo não ^^6 pontos
-
Informações: Tasks adquiridas ou canceladas em NPC As tasks podem ser feitas repetidas vezes, mas somente uma vez por dia e apenas uma de cada vez (tempo configurável) Comando para acompanhar o andamento da task Atualização (31/08/13) > agora é possível ganhar itens a cada vez que a task é terminada Atualização (05/09/13) > VÁRIOS bugs corrigidos e algumas novas opções adicionadas Agora você pode escolher se quer que as tasks sejam feitas por level ou na ordem Recomendo a todos os que baixaram alguma versão anterior que atualizem Códigos: Tags: Em creaturescripts.xml, adicione: <event type="kill" name="Tasks" script="taskkill.lua"/> Em talkactions.xml, adicione: <talkaction words="!countkills" event="script" value="countkills.lua"/> No arquivo creaturescripts/scripts/login.lua, adicione: registerCreatureEvent(cid, "Tasks") Scripts: Crie um arquivo tasklib.lua em lib Crie um arquivo countkills.lua e adicione em talkactions/scripts Crie um arquivo taskkill.lua em creaturescripts/scripts Crie um arquivo NomedoNPC.xml em npcs Crie um arquivo tasks.lua em npcs/scripts Configuração: É feita toda no tasklib.lua: Configuração dos monstros: taskmonsters ={[1] = {'rotworm', killstotal = 100},[2] = {'cyclop','cyclops','cyclops smith','cyclops drone', killstotal = 100},[3] = {'dragon','dragon lord','frost dragon', killstotal = 100}} - O [número] deve seguir a ordem - A primeira parte deve ser o nome dos monstros da task no singular. Por isso existem 'cyclop' (singular) e 'cyclops' (nome do monstro) - Os nomes de todos os monstros de cada task devem aparecer. Por exemplo, na task de cyclops, qualquer tipo deles servirá para completar a task. - killstotal é a quantidade de monstros que você deve matar para terminar a task. Configuração das recompensas: taskreward = -- em gps{[1] = {money = 5000,xp = 20000, points = 3}, -- nenhum item será adicionado e 3 pontos de task serão adicionados[2] = {money = 10000,xp = 50000, item = 2458}, -- 1 item(2458) será adicionado e nenhum ponto de task[3] = {money = 20000,xp = 75000,item = 2458,amount = 2, points = 5} -- aqui serão adicionados 2 itens com id 2458 (se ele for amontoável - stackable) e 5 pontos de task} - O [número] deve ter a mesma ordem dos monstros - money é a quantidade de dinheiro que cada um ganha ao terminar a task correspondente - xp é a quantidade de experiência ganha ao terminar a task correspondente - item é o ID do item que ganha ao terminar a task correspondente - points significa quantos pontos de task o personagem irá ganhar quando terminar a task correspondente Adicionando novos monstros: - Vou explicar com um exemplo de como adicionar uma task de hydra/serpent spawn No taskmonsters: (REPARE NA VÍRGULA QUANDO ADICIONEI UMA NOVA LINHA!) taskmonsters ={[1] = {'rotworm', killstotal = 100},[2] = {'cyclop','cyclops','cyclops smith','cyclops drone', killstotal = 100},[3] = {'dragon','dragon lord','frost dragon', killstotal = 100},[4] = {'hydras e serpent spawn','hydra','serpent spawn',killstotal = 200}} No taskrewards: taskreward = -- em gps{[1] = {money = 5000,xp = 20000, points = 3}, -- nenhum item será adicionado e 3 pontos de task serão adicionados[2] = {money = 10000,xp = 50000, item = 2458}, -- 1 item(2458) será adicionado e nenhum ponto de task[3] = {money = 20000,xp = 75000,item = 2458,amount = 2, points = 5}, -- aqui serão adicionados 2 itens com id 2458 (se ele for amontoável - stackable) e 5 pontos de task[4] = {money = 30000, xp = 5000, item = 2450, amount = 1, points = 3}} Agora na função doStartTask(cid) - somente se quiser que as tasks sejam feitas por level - O que aconteceu: - Antes até o lvl 20 o jogador recebia a task dos rotworms, até o lvl 50, a task dos cyclops e daí pra frente, task dos dragons. - As tasks iniciais são as mesmas, mas até o lvl 80 é a task dos dragons e daí pra frente, o jogador receberá a task das hydras e serpent spawns. Considerações finais: O sistema de pontos apenas adiciona e checa a quantidade de pontos: você deve escolher se quer adicionar alguma coisa a partir deles. Testei profundamente e corrigi todos os erros que encontrei, postem se encontrarem mais algum, enviem o log do erro que farei o possível para consertar.2 pontos
-
Vamos lá, vou comentar rapidamente todos os pontos primordiais que você deve prestar atenção para ter um resultado final de sua sprite aprimorado. Siga os seguintes passos:Procure achar uma imagem referencia bem dinâmica para tentar representar todos os pontos característicos da imagem na sprite. Busque cores vivas, tente fugir de cores acinzentadas. Comece a sprite fazendo um rascunho em um fundo escuro, faça isso utilizando o pincel, ferramenta padrão do paint, fundo preto apenas para o rascunho, quando achar que o rascunho tem o formato que você imagina, troque o fundo para um claro e faça as alterações necessárias para arrumar o outline e comece a sombrear a sua sprite.(outline é o contorno da sprite e é necessário para objetos móveis [que se movem no caso]) Não fique preso ao outline, crie a sprite e ao longo do trabalho você vai ajustando o contorno da maneira que mais o agradar, se preocupando logo de cara com o outline você só irá perder tempo e ficar frustrado, ainda mais se você o estiver fazendo pixel por pixel. Você tem que ter um conjunto de fatores previamente trabalhados para que possa investir no outline, você precisa ter uma luz e sombra correta para entender/visualizar o formato que você quer alcançar e a partir dai trabalhar em um contorno final. No rascunho você pode já jogar as cores básicas e montar um esquema primário de volume (volume é utilizado para dar a ideia de massa na sprite, volume é feito adicionando tons claros sobre os escuros) no rascunho você também pode tentar adicionar as características da imagem referencia, mas nada muito trabalhado, você tem que ter uma visão da sprite primeiro, antes de sair trabalhando a fundo nela. Feito tudo isso, busque dar forma à sprite, lembre-se que a luz vem do noroeste e que o AA (Anti-Aliasing) é seu amigo, ele está ai para deixar suas bordas mais suaves, afiadas e server para criar elementos dentro da sprite de forma suave. Texturas vocês irão aprender com o tempo, busque texturas na internet.. jogue no paint, aproxime a imagem e analise e tente representar na sprite. Não crie sprites lado a lado com uma que você admira, sua mente vai fazer você copiar a sprite alheia e você será acusado de ripping por nada. Espero que meu comentário tenha servido para alguma coisa Meu video exemplifica tudo o que eu disse a cima. Atenciosamente, Lucas Melo.2 pontos
-
minha primeira sprite :D
EdMignari e um outro reagiu a Maximaah por um tópico no fórum
minha primeira sprite :3 avaliem2 pontos -
Script meio complicado.
SamueLGuedes e um outro reagiu a zipter98 por uma questão
Substitua esta parte do order.lua de actions por essa: ----START FLY or RIDE or LEVITATE --------- if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then --alterado v1.8 >> if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7 end if #getCreatureSummons(cid) > 1 then --alterado v1.9 return doPlayerSendCancel(cid, "You can't do it right now!") end if getPlayerStorageValue(cid, 91831) >= 1 then return doPlayerSendCancel(cid, "Você não pode usar fly/ride agora.") end if getPlayerStorageValue(cid, 52480) >= 1 then return doPlayerSendCancel(cid, "You can't do it while a duel!") --alterado v1.6 end if getPlayerStorageValue(cid, 5700) >= 1 then --alterado v1.9 doPlayerSendCancel(cid, "You can't do that while is mount in a bike!") return true end if getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!") --alterado v1.8 end local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct) if isInArray(skills["fly"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1) addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid))) elseif isInArray(skills["levitate_fly"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate_fly"][math.random(1, #txt["levitate_fly"])].."", 1) --alterado v1.8 addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid))) else doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1) addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid))) end return true end E o movement: function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 91831) >= 1 then doPlayerSendTextMessage(cid, 27, "Agora você pode usar fly/ride.") setPlayerStorageValue(cid, 91831, -1) else doPlayerSendTextMessage(cid, 27, "Agora você não pode usar fly/ride.") setPlayerStorageValue(cid, 91831, 1) end return true end2 pontos -
Golden Survival Arena System (Atualizado 2.7) Introdução A Golden Survival Arena é um evento automático que ocorre a cada 5 horas, onde os players registrados são teleportados para uma arena e devem sobreviver a waves (rounds) com vários pokémons e cada vez mais fortes. Como participar do evento Para participar do evento é necessário se registrar possuindo o item Meowth Coin. Este item pode ser adquirido dropando de Meowth Hunter ou comprando no NPC Meowth Dealer por 1 diamond cada Coin. Obs: Ambos (monster e npc) estão localizados no salão do evento, para ir até o mesmo, teleporte-se utilizando um pokémon com essa habilidade (h "golden). Adicionando o Sistema Implantando a Arena no mapa Primeiramente faça o download do mapa com a Arena separada para implantar a seu mapa. Obs: Não contem nada no mapa além da Arena. Download via MediaFire: Clique aqui. Scan VirusTotal: Clique aqui. Continuando Após ter terminado o download, abra o mapa baixado e o mapa de seu servidor utilizando o RME (remere's map editor). Se não possui o RME, faça o download dele no site oficial clicando aqui. Agora com os dois mapas abertos, vá ao que foi baixado e siga as instruções. Clique no quadrado azul localizado na diagonal esquerda para baixo no RME. Ele será modificado para um lápis onde você poderá selecionar a área a ser copiada e transferida/copiada ao outro mapa. Agora com a função do lapís selecionador ativada, selecione a área a ser transferida/copiada ao outro mapa. Para isto, pressione Shift e selecione a área a ser copiada com o botão esquerdo do mouse. Após isto, solte os botões e a área será destacada. Agora copie o que foi selecionado (CTRL+C) e vá ao outro mapa (o que irá implantar a Arena). Cole a área selecionada (CTRL+V) e após isto, apenas escolha o local para colocá-la e pressione o botão esquerdo do mouse. Enfim este será o resultado da Arena implantada. Agora vamos aos scripts do sistema e acompanhamentos necessários. Actions Abra a pasta data/actions/scripts de seu servidor e crie/copie qualquer arquivo .lua e renomeie para Meowth Coin.lua Dentro do arquivo, apague tudo e adicione: Novamente crie/copie qualquer arquivo .lua na mesma pasta (data/actions/scripts) e renomeie para Quadro_Golden.lua Dentro do arquivo, apague tudo e adicione: Abra a pasta data/actions/scripts de seu servidor e crie/copie qualquer arquivo .lua e renomeie para Quadro_Golden_Rank.lua Dentro do arquivo, apague tudo e adicione: No mesmo local (data/actions/scripts) abra o arquivo catch.lua No seu, é provavel que esteja mais ou menos assim (só que com configurações de acordo com seu servidor): Após as linhas: Adicione abaixo: Resultando em (no caso, script configurado para o meu servidor): Agora abra a pasta data/actions e abra o arquivo actions.xml (abra como editar/bloco de notas). Adicione as tags: Em vermelho são os ID dos quadros da Golden Island, utilizado para ver a lista de participantes do próximo evento, o horário e o rank de waves (rounds). Em azul é o ID do Meowth Coin utilizado para se registrar ao evento. GlobalEvents Abra a pasta data/globalevents/scripts e crie/copie qualquer arquivo .lua e renomeie para Golden Arena.lua Dentro do arquivo, apague tudo e adicione: Em azul são as mensagens antes de começar o evento e quando começar o evento. Novamente na mesma pasta (data/globalevents/scripts) crie/copie qualquer arquivo .lua e renomeie para CleanGoldenArena.lua Dentro do arquivo, apague tudo e adicione: Agora abra a pasta data/globalevents e abra o arquivo globalevents.xml (abra como editar/bloco de notas). Adicione as tags: Em vermelho são os horários da Golden Survival Arena, porém eles tem que ser configurados 10 minutos antes de começar o evento, por causa das mensagens que informam quando irá começar. Sendo assim o evento for começar por exemplo as 14:00, terá de estar configurado time="13:50". Em azul são os horários dos cleans da Golden Survival Arena, porém eles tem que ser configurados 02:30 (2 horas e 30 minutos) após o evento ter começado. Sendo assim se o evento começar as 14:00 e as mensagens estiverem configuradas para 13:50, o evento irá começar somente as 14:00, portanto o Clean da Arena teria que estar configurado time="16:30" (14:00+02:30=16:30). Items Agora abra a pasta data/items e abra o arquivo items.xml (abra como editar/bloco de notas). Procure pelo ID 6527 (CTRL+F) e subistitua a tag dele por esta: Lib Agora abra a pasta data/lib e crie/copie qualquer arquivo .lua e renomeie para Golden Arena.lua Dentro do arquivo, apague tudo e adicione: Agora novamente na pasta data/lib, abra o arquivo configuration.lua Nele, dessa a barra até o fim do script/arquivo e então após o } do sistema anterior, pule uma linha e adicione: Em vermelho é a posição x y z da ponta superior da Golden Survival Arena e em azul é a posição da ponta inferior da mesma. Em verde é a posição x y z para onde os players registrados no evento seram teleportados quando ele começar. Em laranja é a posição x y z para onde os players no evento seram teleportados ao morrerem na Arena ou quando ela acabar. Em verde água é a posição x y z que os pokémons da parte em marrom seram teleportados. Como pode ver são 9 posições e 9 pokémons, apenas escolha as 9 diferentes posições da Arena que os pokémons iram aparecer, e sempre o número de posições terá de ser o mesmo número de pokémons; mesmo que ali esteja por exemplo apenas um pokémon que ira aparecer na wave {"", "Shiny Gyarados", "", "", "", "", "", "", ""}, as "" (aspas) são a mesma quantidade de posições. Em rosa são os horários em que a Golden Survival Arena irá iniciar executando a função de trazer todos os players registrados a posição escolhida. Diferente dos horários da globalevents.xml que são 10 minutos antes por serem horários das mensagens antes que o evento comece, estes horários são os que ela ira iniciar; portanto devem ser exatos, horas de inicialização. Em roxo é o número de waves (rounds) da Arena. Em salmão é o tempo em segundos para cada wave (round). Monster Agora abra a pasta data/monster e escolha uma pasta/local para criar os arquivos .xml Após ter escolhido o local, crie/copie qualquer arquivo .xml e renomeie para aHunter.xml Dentro do arquivo, apague tudo e adicione: O Meowth Hunter é o monster que dropa meowth coins. Novamente após ter escolhido o local, crie/copie qualquer arquivo .xml e renomeie para aHunterFemale.xml Dentro do arquivo, apague tudo e adicione: Em vermelho é o mesmo que o anterior, só que outfit female para ficar como no script do npc da Golden Island. Agora abra a pasta data/monster e abra o arquivo monsters.xml (abra como editar/bloco de notas). Adicione as tags: Em azul é a localização dos Meowth Hunter's, nesse tipo eu coloquei o aHunter.xml e aHunterFemale.xml na pasta data/monster/pokes/System, porém não precisei colocar a parte de data/monster, apenas o que está dentro da pokes em diante (pokes/System/.xml). Se você por exemplo coloca-se o aHunter.xml e aHunterFemale.xml na pasta data/monster/meowthmonster, as tags seriam: Npc Abra a pasta data/npc/scripts e crie/copie qualquer arquivo .lua e renomeie para .aHunter.lua Dentro do arquivo, apague tudo e adicione: Agora vá a pasta data/npc e crie/copie qualquer arquivo .xml e renomeie para .aHunter.xml Dentro do arquivo, apague tudo e adicione: O npc Hunter identifica o sexo do player e cria um Meowth Hunter do mesmo sexo que o player para lutarem. Lembrando que este monster dropa Meowth Coins. Abra a pasta data/npc/scripts e crie/copie qualquer arquivo .lua e renomeie para .aMeowthDealer.lua Dentro do arquivo, apague tudo e adicione: Em vermelho são os 2 diamonds sendo removidos e em azul os 2 Meowth Coins sendo adicionados ao player. Agora vá a pasta data/npc e crie/copie qualquer arquivo .xml e renomeie para aMeowth Dealer.xml Dentro do arquivo, apague tudo e adicione: Em laranja é o NPC que troca 2 diamonds por 2 Meowth Coins, utilizados para se registrar a Golden Survival Arena. Após concluir tudo isto, a Golden Survival System estará completamente instalada em seu servidor. Créditos Slicer pelo script 90%. PokeXGames por direitos autorais. Eu pelo tutorial e 10% do script editado. Creio que esse seja o primeiro System Tutorial de instalação completa da Golden Survival Arena. Obrigado.1 ponto
-
Killua Task System [Atualizado 16/04/2014]
williamserravalle reagiu a Killua por um tópico no fórum
Killua Task Sytem Versões testadas: tfs 0.3.6 e 0.4 Eu sei que já existem vários task systems, inclusive aqui no fórum, mas do jeitinho que eu queria, não consegui achar nenhum. Por isso, resolvi fazer um eu mesmo. O que ele tem de diferente? • É totalmente simplificado. • Não precisa "pegar" as tasks. Elas já são todas automáticas, ou seja, os monstros são contados desde sempre. • É tudo configurado em uma única tabela, de forma muito simples. • Tem um NPC que somente entra as recompensas. • Seu progresso pode ser visto pelo comando !task Atualização do sistema: Refiz os códigos pois existia uma possibilidade de bug. Otimizei eles, deixando o código mais limpo, eficiente e rápido. Aconselho a todos que usam o sistema que instalem a nova versão. Instalação: Tags: Em talkacions.xml adicione: <talkaction log="yes" words="!task" event="script" value="amoebaTask.lua"/> Em creaturescripts.xml adicione: <event type="kill" name="AmoebaTask" event="script" value="amoebaTaskCreature.lua"/> Em data/creaturescritps/scripts/login.lua adicione: registerCreatureEvent(cid, "AmoebaTask") Scripts: Lib: Crie amoebaTask.lua em data/lib e coloque Talkaction: Crie amoebaTask.lua em data/talkactions/scripts e coloque Creaturescripts: Crie amoebaTaskCreature.lua em data/creaturescripts/scripts e coloque NPC: Em data/npc crie Task Man.xml e coloque Configuração: A configuração é feita unicamente na tabela da lib: amoebaTask = { ["Jabuti"] = {creatures = {"Jabuti","Jabuti Hatchling"}, storage = 2312112, storagecount = 890120, count = 300, exp = 0, money = 0, premios = {{6527, 10},{10133, 1}}}, ["Thenebreus"] = {creatures = {"Thenebreus"}, storage = 2312113, storagecount = 890121, count = 250, exp = 0, money = 0, premios = {{6527, 4},{10134, 1}}}, ["Demon"] = {creatures = {"Demon"}, storage = 2312114, storagecount = 890122, count = 5, exp = 0, money = 0, premios = {{6527, 4},{10134, 1}}} } Em [""] vc coloca o nome que vai aparecer no !task e que também será usado para pega a recompensa no NPC. Em creatures vc coloca todos os monstros que vão contabilizar para tal task. Em storage vc coloca o storage de task completa, que garante que o premio só será pego uma vez. Esse storage nunca pode ser repetido! Em storagecount vc coloca o storage de contagem de monstros. Esse também nunca pode ser repetido! Em count vc coloca o número de monstros necessários pra completar a task. Em exp vc coloca a exp que ganha completando. Em money vc coloca o dinheiro que ganha completando. Em premios vc coloca os itens que ganham completando, seguido de sua quantidade. Ex: {6527, 4} o player vai receber 4 itens de id 6527. Espero que façam bom uso do sistema. Vou ficar feliz em atender qualquer tipo de dúvida e também aceito sugestões. Caso queira que as tasks possam ser feitas repetidas vezes, me peça que eu ponho aqui. Pois basta mudar duas linhas.1 ponto -
O que é FTP / Como usar o FTP?
Alexclusive reagiu a Stigal por um tópico no fórum
FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos (também conhecidos como ficheiros), sendo uma das mais usadas na internet. - Pode referir-se tanto ao protocolo quanto ao programa que implementa este protocolo (Servidor FTP, neste caso, tradicionalmente aparece em letras minúsculas, por influência do programa de transferência de arquivos do Unix). - A transferência de dados em redes de computadores envolve normalmente transferência de arquivos e acesso a sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais). O FTP (RFC 959) é baseado no TCP, mas é anterior à pilha de protocolos TCP/IP, sendo posteriormente adaptado para o TCP/IP. É o padrão da pilha TCP/IP para transferir arquivos, é um protocolo genérico independente de hardware e do sistema operacional e transfere arquivos por livre arbítrio, tendo em conta restrições de acesso e propriedades dos mesmos. - - Como ocorre a transferência de arquivos - A transferência de arquivos dá-se entre um computador chamado "cliente" (aquele que solicita a conexão para a transferência de dados) e um servidor (aquele que recebe a solicitação de transferência). O utilizador, através de software específico, pode selecionar quais arquivos enviar ao servidor. Para existir uma conexão ao servidor, o utilizador informa um nome de utilizador (ou username, em inglês) e uma senha (password), bem como o nome correcto do servidor ou seu endereço IP. Se os dados foram informados corretamente, a conexão pode ser estabelecida, utilizando-se um "canal" de comunicação, chamado de porta (port). Tais portas são conexões no qual é possível trocar dados. No caso da comunicação FTP, o padrão para porta é o número 21. - - Acesso aos servidores FTP - O acesso a servidores FTP pode ocorrer de dois modos: através de uma interface ou através da linha de comando, tanto usuários UNIX como usuários Windows podem acessar através dos dois modos. Embora um pouco complicado, o modo linha de comando está presente em qualquer distribuição UNIX-like e Windows, através do telnet. - A partir de qualquer browser credenciado(Internet Explorer, Firefox, ou mesmo no Windows Explorer) também é possível aceder a um servidor FTP. Basta, para isso, digitar na barra de endereço: - ftp:// [username] : [password] @ [servidor] -->ENTER - - Modos e interfaces - O protocolo subjacente ao FTP pode rodar nos modos interativo ou batch. O cliente FTP fornece uma interface interativa, enquanto que o MIME e o HTTP usam-no diretamente. O protocolo permite a gravação e obtenção de arquivos, a listagem da pasta e a alteração da pasta de trabalho. - - Comandos do cliente FTP - Os servidores de FTP raramente mudam, mas novos clientes FTP aparecem com bastante regularidade. Estes clientes variam no número de comandos que implementam, a maioria dos clientes FTP comerciais implementam apenas um pequeno subgrupo de comandos FTP. Mesmo que o FTP seja um protocolo orientado a linha de comandos, a nova geração dos clientes FTP esconde esta orientação num ambiente gráfico, muitas vezes, muito desenvolvido. - A interface cliente do FTP do BSD UNIX é um padrão por si mesma, possuindo muitos comandos arcaicos: tenex ou carriage control que hoje não têm uso. Os comandos mais usados são o cd, dir, ls, get e put. - O FTP tem particularidades que são hoje pouco comuns. Depois da ativação do ftp, é estabelecida uma conexão ao host remoto. Esta conexão envolve o uso da conta do usuário no host remoto, sendo que alguns servidores FTP disponibilizam anonymous FTP. - Certos comandos são os que fazem a transferência bidirecional de arquivos, são eles: get do servidor FTP para o host local (mget para mais que um arquivo) put para o servidor FTP a partir do host local (mput para mais que um arquivo) Nota: alguns comandos podem não funcionar com o usuário sendo anonymous, pois tal conta tem limitações de direitos a nível do sistema operacional. - - Tradução de nomes de arquivos - A sintaxe dos nomes dos arquivos pode ser incompatível entre diferentes Sistemas Operacionais. O UNIX usa 128 caracteres, maiúsculas e minúsculas, enquanto que o DOS usa 8 + 3 caracteres e apenas maiúsculas. Certos nomes não podem ser usados em alguns sistemas. Devido a isto tudo o BSD ftp define regras para a tradução de nomes. - - Mensagens FTP - O FTP permite dois modos de transferência de mensagens FTP: texto (com traduções apropriadas) ou binário (sem tradução). Cada mensagem do servidor inclui um identificador decimal de 3 dígitos (exemplo: 226 Transfer complete). Estas mensagens podem ser vistas ou não, usando para isso o modo verbose ou quiet, respectivamente. - - Modo cliente-servidor do FTP - O Servidor remoto aceita uma conexão de controle do cliente local. O cliente envia comandos para o servidor e a conexão persiste ao longo de toda a sessão (tratando-se assim de um protocolo que usa o TCP). - O servidor cria uma conexão de dados para a transferência de dados, sendo criada uma conexão para cada arquivo transferido. Estes dados são transferidos do servidor para o cliente e vice e versa. - Os comandos estão separados dos dados e o cliente pode enviar comandos durante a transferência de dados. O encerramento da conexão indica o fim do arquivo. - - Lista de Comandos FTPs - Os comandos abaixo podem ser executados no FTP através da linha de comando. Os comandos do FTP podem ser abreviados, desde que não formem expressões ambiguas. - Podemos ver a seguir um conjunto típico de comandos do FTP obtidos diretamente através do comando help. - ftp> help - - Lista de clientes FTP - Windows Filezilla SmartFTP Total Commander - Mac Cyberduck gFTP Transmit - Linux KFTPGrabber kasablanca - Outros Net2FTP FireFTP - - Fontes: Simple Machines, Wikipédia1 ponto -
Oi! Muito tempo ausente daqui, queria comunicar que estou sem PC e por isso não tenho postado nada do Khorem :\ Estou escrevendo bastante coisa nesse tempo, e por isso o teaser de hoje é apenas texto. Sei que muita gente não gosta de ler e provavelmente não vai ter paciência pra o texto inteiro, mas mesmo assim decidi postar. Aceito qualquer crítica, e principalmente listando os erros da história. Agradeeeço muito aos que lerem, ainda mais se comentarem <3 Blake 'Fasthands' Lauthern era a cidade mais rica de todo o continente de Khorem. Cercada por montanhas e cheia de cavernas com minérios, o garimpo rendia muito ouro e diamantes a cidade. Entretanto, essa riqueza também tinha seu lado negativo: atraia a atenção dos ladrões. O mais famoso - e procurado - ladrão da época se chamava Blake, ou Blake 'Fasthands' como era mas conhecido nas tabernas. Era um homem de meia idade, com a pele escura, sem barba, olhos fundos e um rosto fino com uma ou outra ruga e cicatriz. Ninguém sabia bem sobre o passado de Blake e nem sobre uma possível família: a história que fazia mais sentido é que sua mãe era uma meretriz e que ele havia nascido na região sul, próximo a floresta de Oakhem. Essa era a mesma região que mais sofria os seus ataques. Interessado pelos muitos boatos a respeito das joias das joias de Lauthern, decidiu tentar ataca-la. Montou acampamento em uma caverna mais ou menos nos arredores da cidade e passou uma semana reunindo o máximo de informações possíveis. Em troca de uma ou outra moeda de ouro, descobriu na taberna que era impossível invadir sozinho o castelo real. Entretanto, as minas de onde todos os dias saiam dezenas de pedras preciosas não eram tão protegidas durante a noite. Conseguiu um mapa de uma das minas e dicas dos pontos onde estavam encontrando joias mais frequentemente. Com tudo planejado, muniu-se de seu punhal e algumas ferramentas, esperou anoitecer e partiu em direção as minas. Não encontrou problemas para cruzar a cidade durante a noite: sabia bem como se locomover sem chamar atenção - e conseguiu chegar na entrada da caverna. Havia apenas um guarda de vigia fazendo ronda na entrada. Esperou ele dar uma volta e então esgueirou-se para dentro da mina sem dificuldade. Já dentro da mina, acendeu uma tocha curta - para não chamar atenção de possíveis guardas - e então começou a seguir os caminhos guiando-se pelo mapa. De tempo em tempo encontrava vãos maiores que se assemelhavam a salas. Durante o dia provavelmente eram utilizadas para o descanso dos trabalhadores. Também era possível ouvir ruídos na caverna, como se alguma coisa estivesse se movimentando nos andares inferiores. Ignorando esses barulhos, o velho Blake seguiu indo cada vez mais fundo, passando por descidas íngremes e notando como o aspecto da caverna começara a mudar: as paredes pareciam ter sido escavadas mais recentemente, mostrando que estava chegando nas áreas que ainda não tinham sido completamente exploradas. De tempo em tempo, via ao longe uma luz refletindo nas paredes, e rapidamente tomava o rumo contrário. Depois de aproximadamente meia hora dentro da caverna, finalmente chegou nas regiões marcadas no mapa. Picaretas, marretas e outros equipamentos espalhados no chão confirmavam que durante o dia alguns trabalhadores estavam trabalhando naquela área. Blake encostou a tocha próxima a parede e começou a analisar cuidadosamente a procura de alguma pedra preciosa. Não demorou muito até encontrar uma pequena pepita de ouro. Colocou sua sacola no chão, apanhou uma das picaretas jogadas e começou a escavar cuidadosamente ao redor da pedra, tentando não fazer muito barulho. Não se passaram mais do que dois minutos até que uma luz apareceu vinda da direção que o ladrão havia chegado. Seriam soldados? Blake apanhou seu punhal e tentou fugir na direção contrária, mas só então percebeu que estava quase no fundo da caverna, num beco sem saída. Sem ter pra onde ir, planejou esgueirar-se até um ponto cego na parede, mas antes que pudesse por em prática seu plano, percebeu que não era apenas um guarda - eram vários. Munidos de armaduras e escudos, pareciam já saber que alguém estava ali. A melhor opção para o ladrão seria lutar pra morrer com honra, mas antes de se decidir como fazer, recebeu uma flechada na coxa. Os soldados tinham parado de avançar, como se já estivessem satisfeitos com apenas uma flechada. Blake começou a se sentir fraco, sonolento. Então caiu. Acordou tempos depois na mesma caverna que estava. Ainda com dores na coxa e na cabeça, virou-se e percebeu que estava numa cela. Fora atingido por uma flecha envenenada, mas o corte já havia sido tratado. Não levou muito tempo até alguém vir verificar a cela. O carcereiro, um homem gordo de rosto inchado, olhos grandes e negros, idade avançada e uma barba bem rala veio verificar como o prisioneiro estava. Blake se recusou a falar, aborrecendo o velho homem. Tempos depois, ouviu novos passos vindo. Dessa vez o carcereiro não estava sozinho: trazia consigo o chefe da guarda da cidade de Lauthern, o temível General Karl. O ladrão e o general já se conheciam, já que ambos eram famosos nos seus respectivos cargos, mas nunca tinham se encontrado. O general explicou que o dono da taverna de Lauthern havia sido avisado de que poderia ser procurado por ladrões interessados em invadir a mina, e que caso isso ocorresse, deveria entregar o mapa falso e avisar tudo à guarda real. Tudo não passava de um plano para enganar o ladrão: o guarda solitário na entrada na verdade estava "incentivando" ladrões a entrar, e cada vez que saia pra fazer uma ronda, outro guarda vigiava tudo em uma guarita escondida. Os guardas que traziam as tochas que Blake via refletindo na parede na verdade estavam lá pra assustar o ladrão e evitar que ele tomasse um caminho errado, e serviram pra ter certeza de que ele estava indo pra um beco sem saída. Fora isso, não tiveram uma conversa muito longa. Apenas foi avisado a Blake que seu julgamento seria no pôr do sol do dia seguinte, em praça pública. O ladrão não conseguiu dormir direito naquela noite. Primeiro porque sabia que provavelmente iria morrer no dia seguinte, e segundo um barulho infernal vinha dos andares inferiores da caverna. No dia do julgamento, grande parte da população veio assistir ao famoso Blake Fasthands ser condenado. Alguns reclamavam de que ele tinha que pagar tudo que tinha roubado antes de morrer. Outros, brincavam que queriam ver se ele tinha mãos rápidas o suficiente pra escapar da morte. O prisioneiro foi trazido até a principal praça, no centro da cidade, onde havia um palanque específico pra julgamentos e pronunciamentos importantes. Lá estavam as famílias mais ricas da região, inclusive a família real, acompanhada do rei de Lauthern, Sciz, e a família do General Karl. Blake foi preso numa berlinda de madeira e lá ouviu todas as acusações calado. E, não eram poucas - o ladrão já havia aprontado em todas cidades de Khorem. Entre uma ou outra acusação, soltava um risinho ao lembrar-se de como tinha feito tal ato, e de como desfrutava do dinheiro. A cerimônia já durava mais de uma hora quando fora finalmente dada a sentença final: morte por degola. O carrasco - e todos presentes - pareciam já estar cientes que aquele seria o julgamento. O machado estava amolado, o que na visão de Blake, o pouparia de mais dor. Quando perguntado se queria dizer mais alguma coisa antes de morrer, o ladrão não foi educado: -Encontro todos vocês no inferno. Nesse momento, foram arremessadas pedras e frutas podres no ladrão. A população vaiava e pedia pro carrasco dar o golpe que encerraria aquele julgamento. O barulho feito pela multidão abafou temporariamente algo que viria a mudar toda a história de Khorem. Naquele momento, uma horda com milhares de orcs estavam invadindo a cidade vindos de dentro da mina. A população demorou até notar o que estava acontecendo, e isso fez com que poucos conseguissem fugir a tempo. Os guardas até tentaram salvar a cidade, mas muitos já estavam bêbados comemorando a morte do Blake, e não conseguiram derrotar aquelas temíveis criaturas verdes com dentes amolados. Mulheres, crianças, idosos... todos padeciam nos machados dos orcs. O condenado assistiu tudo de camarote. Sem poder fugir, se divertia vendo como uma cidade inteira era destruída em sua frente. Os orcs não paravam de brotar de dentro da mina, e agora ele entendia o que estava causando o barulho que ouvia enquanto descia a caverna e na noite anterior, que não conseguiu dormir. De canto de olho, viu o General Karl derrotando um orc atrás do outro usando sua espada de duas mãos. O general e o rei provavelmente conseguiriam fugir, mas não salvariam a cidade. Aquele foi o último dia que a cidade de Lauthern existiria. Antes de morrer, Blake descobriu duas coisas. Se divertiu com a primeira: não foi o único a receber o julgamento de morte aquele dia. A segunda ele descobriu da pior forma possível e não foi tão divertida: orcs gostavam de comer a carne de suas vítimas ainda vivas. E no caso dele, que não tinha como fugir, foi um banquete devorado sem pressa. ~1 ponto
-
Orbis - A New Adventure A New World
Nyco reagiu a ViitalStars por um tópico no fórum
Muito obrigado mesmo, críticas ajudam muito para o mapa ficar realmente bonito. Iremos rever esses locais que o senhor comentou e melhora-lo. Atualizações 10/01/2014 Servidor Atualizada da versão 9.83 para a versão 10.10. Adicionado Cast System Sistema de Icones ao lado dos jogadores dando mais informações a eles. Como por exemplo o War Guild System, Allied Icons, enemys Icon... Etc.. etc... Novas montarias/outfits/addons... Criado o Porto de Primum. Os Barcos de Primum estão esperando por vocês para zarpar... [21/01/2014] O Projeto terá uma pausa de divulgações por 30 dias aqui no XTibia afastamento particular. Espero poder voltar a postar após esses 30 dias. Que não fechem o tópico.1 ponto -
1 ponto
-
Galeria de Sprites JohannWittee
Zikaduh reagiu a Johannwittee por um tópico no fórum
<>Óbvio que não há permissão para uso das sprites<> E para abrir o tópico: Essas são antigas já...1 ponto -
[Encerrado] [PEDIDO] Tutorial - Instalação IP.Board na hospedagem
xXMythuszXx reagiu a SkyLigh por um tópico no fórum
Mythusz mesmo sendo um fórum de um server e necessário a licença ou você acha que a ips não vai tirar seu fórum do ar só por que é de um server ? ----------------------------//---------------------------- Vou explicar como instalar então let's go Na aba da instalação do ip.board na parte da db Preencha da seguinte maneira SQL HOST : link de onde o fórum vai localizar a db do seu fórum geralmente no painel de controle do site do host você procura por mysql vai ter la criar banco de dados mysql ai você criar que o link vai ser mysql.seudominio.com se você querer posso fazer a instalação pra você sem problemas . Database Name: geralmente o nome é seu domínio ex : meu domínio é xtibia.com o nome tenque ser xtibia SQL Username: também e o nome do seu dominio ex : xtibia SQL Password: a senha da db que você crio SQL Table Prefix: Não escreva nada MySQL Table Type: Recomendo você deixar como já esta MYISAM Use MyISAM if unsure Depois é so você configurar os dados da conta principal que vai ser a de administrador e depois esperar o fórum instalar e pronto .1 ponto -
flw ai galerinha!
Again reagiu a Piabeta Kun por um tópico no fórum
como sempre voce querendo dar um de cult, cara eu nao tenhu que dar um de escrever bonitinho em forum de otserv, o que importa eh o intendimento, isso auqi nao eh um concurso publico ou maratona de portugues, e na boa voce nao eh o cara que pode me tirar do forum, muito menos tem moral para isso! bjo me liga! eu o respeito como membro do forum mais nao como pessoa pra mim voce so nao consegue ser piro que alguns, porem quem semrpe fez birra comigo foi voce, ao invez de se preucupar com sua seção que era a mais zoniada do xtibia se ficava sempre arrumando argumentos cult pra falar que eu escrevo mal, mais ai so voce reparou isso? e o que o fato de eu escrever de qualquer jeito em um forum de otserv muda na sua life? na boa cara muda ai sua cabecinha que se ta se preucupando demais comigo, quer um autografo?1 ponto -
Assinatura (Bart Simpson)
Jakson Souza reagiu a Alexclusive por uma questão
Por favor, leia as Regras de nosso fórum: O título de um tópico deve conter uma breve descrição ou explicar o assunto do mesmo. Sendo assim, é expressamente proibido tópicos com títulos como "Socorro!!!" ou "Ajuda aqui plx". Mesmo o titulo de seu tópico estando errado, eu resolvi atender seu pedido. Mais atenção da próxima vez com titulo de seu tópico. Dessa vez fiz a alteração, espero não ter que te avisar novamente.1 ponto -
flw ai galerinha!
Again reagiu a Piabeta Kun por um tópico no fórum
facil alguem de fora falar do que nao sabe, eu nunca quiz nada nunca pedi nada cara, eu nao ficarei no mesmo espaço que o anyur so isso, eu nao faço amsi questão de ser da equipe diferente de muitos eu nao preciso de ser da equipe para pensar e desejar o bem da comunidade participo do xtibia a anos e sempre tenteo mudar, sugerir e aplicar algumas boas mudanças so fui da equipe uma vez que eu me dispuz a colaborar com a area de websites que na epoca nem o coordenador dava as caras, eu fui estagiario sem um coordenador, eu me impuz, eu sugeri e reinvidiquei as mudanças que eram nescessarias para a a area na epoca, eu fui o unico estagiario da epoca que tinha poderes moderativos de moderador e acesso a lixeira para ajudar com a limpeza e organização da area, tudo que mudou no xtibia de 2012 para cara na area de webs fui imposta ou sugerida por mim e eu nunca pedi pra ser mod, ou coordenador, fui um dos maiores geradores de conteudo da minha era colaborativa da area, sempre expuz minhas opnioes nas reunioes onde muitos so marcavam presensa para nao ser retirado da equipe e entrava mudo e saia calado, toda reuniao eu tinha um topico para abordar algo para sugerir ou cobrar! de pessoas como eu que o forum precisa, que se doa sem receber nada entroca, muitos tem o conceito muito errado de o que é ser um staff, staff é um caraque assumi um compromisso com o forum memso nao sendo obrigado ele se dispoz a fazer algo e tem que ser feito nao como ja vi muitos segurarem vagas sem nem logar no forum! pergunta pro alex ai se eu ja pedi pra ser algo na gestão dele, pergunta o lf seu eu pedi pra ser algo na gestão dele, unica vez que eu falei com o lf sobre ajudar foi quando eu me propuz a tomar conta da minha area e sempre pensando no forum em geral! 2 bjo um queijo e uma folha de alface!1 ponto -
Última Atualização: 14/03/2014 Aqui serão organizados os tutoriais da área, divididos por nível de conhecimento (básico, intermediário e avançado) e conteúdo (spells, monsters, ...). Também separei tópicos com material de consulta para scripters, as listas organizadas anteriormente e um adicional de alguns scripts de destaque. Recomendações: Para os que querem aprender e editar scripts e estão começando, não usem o bloco de notas, muitas vezes destrói a organização do código e torna o scripting muito mais trabalhoso. Para começar, usem o Notepad++. Outra boa ideia para aprender é sempre exercitar-se lendo e criando códigos. Tente procurar por códigos que você consiga entender na pasta do seu otserver e vá aumentando o nível de dificuldade, tentando reproduzi-los por conta própria, à sua maneira. Além disso, você deve criar códigos do zero para se exercitar devidamente. Leia o segundo tutorial (lógica, algoritmos e organização, por iuniX) e aprenda o que é identação antes mesmo de pensar em aprender o resto. 1. Módulo Geral - Tutoriais focados na linguagem LUA e nas bases do scripting Nível 0 - Tutoriais focados no desenvolvimento da lógica e contato inicial com a linguagem LUA Lua, o que é? - Por iuniX Lógica, algoritmos e organização - Por iuniX Variáveis e Tipos de Dados - Por iuniX Funções e Return - Por apocarai Aulas Iniciais da Escolinha de Scripting - Por Roksas Strings e Numbers em Lua - Por caotic Nível 1 - Tutoriais básicos sobre a linguagem e scripting Introdução e Convenções Léxicas - Por apocarai Tutorial de Action - Por BoppreH (postado aqui por Brabo) Editando o config.lua - Por buster287 Aulas da Escolinha de Scripting - Por Roksas Quer aprender a ser scripter? - Por Sir Picaralhos Tutoriais 1-4 da Enciclopédia da Pasta Data - Por tibiaa4e Como funcionam os scripts - por MaXwEllDeN Como Criar Seu Monstro - Por VitorHugoFerreira Como Adicionar Seu NPC no Mapa - Por megaplis Revisão de Monsters, NPCs e Spells - Por Lucas Rap Estruturas de Controle - Por apocarai Nível 2 - Tutoriais intermediários sobre a linguagem e scripting A Coisa Mais Importante em um Código - Por Skyen A Partir do Tutorial 5 da Enciclopédia da Pasta Data - Por tibiaa4e Tutorial Sobre Arrays (Tables) - Por Tprocheira Matemática e LUA - Por Demonbholder Como Editar Magias - Por MatheusMkalo Tutorial Creaturescripts - Por Jhon992 Utilização de Loops - Por caotic Loopings - Por Demonbholder Editando Itens - Por Fronick Escrevendo em um arquivo - Por SkyDangerous Lib - O Que É e Como Usar - Por caotic Como usar o AddEvent - Por Killua Nível 3 - Tutoriais avançados sobre a linguagem e scripting Tutorial sobre Patterns - por MaXwEllDeN LUA Orientado a Objetos I - Por SkyDangerous LUA Orientado a Objetos II - Por LuckOake Tutorial de Queries para OTServers - Por shutup Utilizando Arquivos XML - Por caotic Queries e SQL para OTServers - Por mim Simulando IF/ELSE com AND/OR - Por River Material de Consulta - Tópicos que podem ser de ajuda quando se está criando códigos (para relembrar como usar aquela funçãozinha que você esqueceu) Algumas Funções do TFS com Explicação - Por tibiaa4e Operadores e Bibliotecas - Por Roksas Mais Funções do TFS sem Explicação - Por sukx Manual LUA - Por Roberto Ierusalimschy et al Biblioteca de Funções LUA (poucas funções, mas bem explicadas) - Por Benefactor Lista de Atributos para Itens - Por Oneshot Lista de Efeitos 8.54 - Por antharaz Algumas Fórmulas Úteis para OTServers - Por Oneshot 2. Módulo Específico - Tutoriais variados separados por assunto Monsters Editando a aparência das criaturas - Por Nickelback Criando seu monstro - Por VictorHugoFerreira NPCs Criando Seu NPC - Por Eventide A Magia dos NPCs - Por tibiaa4e Como Adicionar NPC no seu Mapa - Por Megaplis Spells Criando Magias - Por Kimoszin Criando Magias Para Monstros - Por 139 Entendendo e Configurando a Área das Magias - Por Krhiegen Criando Runas Novas - Por mxlr14 Spells e suas Grandes Funções - Por tibaa4e Actions Criando Quests - Por tibiaa4e Como Fazer um Baú de Quest Simples - Por DarkAlvaro Editando Potions - Por RarTne Actions - Por tibiaa4e Movements Criando Pisos Especiais - Por FoDoX Movements - Por tibiaa4e Itens Criando Armas Especiais - Por theflammer Tornando Munição Infinita - Por TheSleeper Lista de Atributos para XML - Por amoeba13 Como Fazer um Item Se Tornar Stackable - Por notle2012 Criando Wands e Rods - Por Castiello XML Configurando o Quest Log - Por Luiz Vitor Editando Exp Por Stages - Por Schiavinato Tutorial Sobre Outfits - Por Oneshot Configurando as Vocações - Por Flash001 Adicionando Vocações ao Account Manager - Por profelezio Outros Criando Exhaustion Com Storage - Por Roksas Resolvendo o Problema de Anti-Idle - Por cs007 Como Usar LUA Para Editar o Quest Log - Por MaXwEllDeN Como Usar addEvent adequadamente - Por skymagnum Como Adicionar Level Máximo - Por McTyn Tutorial Sobre Storages - Por caotic Como usar o os.date - Por Demonbholder 3. Scripts de destaque Pacote de Actions Simples e Úteis - Por mim NPC Lutador - Por mim Weapon Hit Rank - Por Vodkart NPC Auction - Por Vodkart War Arena - Por MatheusMkalo Castle Guild War - Por DrakyLucas Barco Que Anda Por Uma Rota - Por MatheusMKalo Simple Task v3.0 - Por Vodkart Fly System - Por Mock Character Market System - Por LuckOake Autoloot - Por Mkalo e Vodkart 4. Listas antigas Os Melhores Tutoriais - Por Luckituz X-Find Scripting - Por HenriqueMoura 5. Pedidos de Tutoriais Aqui é a lista de tutoriais pedidos para complementar o acervo do XT. Quem fizer algum deles e este for aprovado, me avise e ganhará 3 rep+. Para pedir um tutorial aqui, basta comentar no tópico especificando o conteúdo. Tutorial detalhado sobre a criação de mods Tutorial sobre mounts Por fim, deixe sua sugestão de tutorial ou sobre o tópico, denuncie links quebrados e, se o conteúdo do fórum te ajudou, procure devolver contribuindo de volta.1 ponto
-
resolvi fazer uma collage, deu nisso ai haha1 ponto
-
Shop não entrega itens corretamente
VictorWEBMaster reagiu a Radiel por uma questão
Se for pra modern acc o erro não tá no PHP e sim faltando um script! Crie um arquivo chamado shop.lua no seu globalevents e coloque isso dentro: function onThink(interval, lastExecution, thinkInterval) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(true) do cid = getCreatureByName(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then local id = tonumber(itemr:getDataInt("item")) local tid = tonumber(result:getDataInt("id")) local count = tonumber(itemr:getDataInt("count")) local tipe = tonumber(itemr:getDataInt("type")) local productn = tostring(itemr:getDataString("name")) if isInArray({5,8},tipe) then if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then if isContainer(getPlayerSlotItem(cid, 3).uid) then received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "Você recebeu o item >> "..productn.." << do shop") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para recber o item >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." Capacidade)") end elseif isInArray({6,7},tipe) then if tipe == 6 then bcap = 8 bid = 1987 elseif tipe == 7 then bcap = 20 bid = 1988 end if isItemRune(id) then count = 1 end if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then local bag = doCreateItemEx(bid, 1) for i = 1,bcap do doAddContainerItem(bag, id, count) end received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "Você recebeu o item >> "..productn.." << do shop") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para receber o item >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." capacidade)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end Agora no globalevents.xml coloque essa linha: <globalevent name="shopModernAcc" interval="30" event="script" value="shop.lua"/>1 ponto -
Minha primeira sprite ficou feia mas ta aew1 ponto
-
[Tome Nota] Desenvolvendo a Sprite
Lucasmml reagiu a Alexclusive por um tópico no fórum
Ótimas dicas, vindas de uma excelente Spriter! Promovido p/ facebook Lucas. Abraço1 ponto -
Curta o Facebook XTibia.com!
Alexclusive reagiu a Gabriel Couto por um tópico no fórum
Curta o Facebook XTibia.com! Fala Galera, tudo bem? Estou hoje aqui novamente na nossa seção de Notícias XTibia pra convidá-los à acessar e curtir o FACEBOOK de nosso fórum! Começamos o ano de 2014 a todo vapor e estaremos postando conteúdo e tópicos TODOS OS DIAS na nossa página! Tudo isso é para entreter vocês, então esperamos que, em troca do nosso conteúdo, possam curtir nossa página, compartilhar nossas publicações e compartilhar o nosso fórum com os amigos de vocês! Mande nosso facebook para todos os seus amigos tibianos! Em breve nós deveremos ter novidades, então fique atento! Contamos com vocês, nossos usuários! Estamos interagindo mais com VOCÊ, então, junte-se a nós para fazermos o fórum crescer cada vez mais, seja dentro ou fora dele, pelas rede social Facebook! Ao clicar na imagem abaixo, você será redirecionado para nossa página. Link do nosso Facebook: https://www.facebook.com/XTibia Abraços, Gabriel Couto.1 ponto -
vc coloco a tag interval noo xml ?1 ponto
-
Como arrumar o Xampp
Soulviling reagiu a zipter98 por uma questão
Área incorreta, tópico movido. Mais cuidado da próxima vez.1 ponto -
Quase dois anos parado, tirei um tempinho pra upar: E também caguei uma paladin armor de uma rusty armor. Amanhã quero pegar 61 e domingo, 62.1 ponto
-
[PDA] Pegar HP do pokemon
gabrielbsales reagiu a Incur por uma questão
Em um mod... Sugiro que você leia alguns tutoriais.. Eu também estou tentando aprender a editar otc... Em fim.. Tenta assim no mod: ProtocolGame.registerExtendedOpcode(250, function (protocol, opcode, buffer) health = buffer (...) end ) Aqui tem uns posts que podem te ajudar com isso.1 ponto -
1 ponto
-
[Encerrado] Map editor 10.30
Duhisback reagiu a alissonfgp por um tópico no fórum
http://www.mediafire.com/download/gqf2i618dbwvnmo/RME-3.0-beta-6_for_1010-1031.rar1 ponto -
Tirando o fato do Piabeta querer ser diretor, você está certo, eu particularmente não gosto nem um pouco do Anyur, por isso dei o fora da equipe. '-'1 ponto
-
[Encerrado]Digimon BR
RodrigoYagami reagiu a LucaSAyreeS por um tópico no fórum
Acho a iniciativa legal, mais... você poderia já ter feito algumas coisinhas como alguns sistemas, sprites o mapa sei lá, só para mostrar que está realmente interessado acho que poucas pessoas vão sentir firmeza em seu projeto com apenas isso logo, quase nenhuma pessoa que realmente manja do assunto irá se candidatar (seja da área de mapper, scripter, programador etc...) PS: Não quero te ofender e nem desmerecer o seu projeto ou dizer que você não está interessado, só estou dizendo que se faze-se isso atrairia mais candidatos que são realmente experientes. BOA SORTE COM SEU PROJETO.1 ponto -
Skills iniciando 0
Zikaduh reagiu a craigmabbit por um tópico no fórum
vai em player.cpp procure pro FIRST_SKILL = 10 e altere la1 ponto -
BUG No Gesior ADM
Piabeta Kun reagiu a VictorWEBMaster por uma questão
Abra seu PHPMyAdmin e procure na table accounts sua conta. Verifique se o page_access está maior ou igual a 6. Caso não esteja, certifique-se de colocar.1 ponto -
[Arquivado]Que Tal Revolucionar?
Aberos reagiu a JoaozinhoNA por um tópico no fórum
Mds.... vou dar minha opinião quanto a isso. 1 - Servidor de Pokémon é uma merda. 2 - Se você quer um servidor perfeito faça sozinho, ninguém pensa igual, o "perfeito" tem um significado diferente para cada pessoa. 3 - Não acho que ninguém experiente vá entrar em um servidor de Pokémon, por que voltamos ao primeiro pensamento. 4 - O único que se salva dessa lista é o Slicer, resto é igual a você. 5 - Ninguém liga para o que você sabe fazer. [Rápais se te falar das coisas que sei fazer ] Obrigado.1 ponto -
[Encerrado]Digimon BR
RodrigoYagami reagiu a zipter98 por um tópico no fórum
Área incorreta, tópico movido. Mais cuidado da próxima vez.1 ponto -
Automatic Raids.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="xtibia.com" enabled="yes"> <config name="raids_func"><![CDATA[ days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 15}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 20} }, ["Sunday"] = { ["10:08"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} } } ]]></config> <globalevent name="AutomaticRaids" interval="60" event="script"><![CDATA[ domodlib('raids_func') function onThink(interval, lastExecution) if days[os.date("%A")] then hours = tostring(os.date("%X")):sub(1, 5) tb = days[os.date("%A")][hours] if tb then function removeCreature(tb) for x = ((tb.pos.fromPosition.x)-10), ((tb.pos.toPosition.x)+10) do for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid if m ~= 0 and isMonster(m) then doRemoveCreature(m) end end end end doBroadcastMessage("The invasion of " .. tb.nome .. " started") for _,x in pairs(tb.m) do for s = 1, tonumber(x:match("%d+")) do pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z} doSummonCreature(x:match("%s(.+)"), pos) end end addEvent(removeCreature, tb.Time*60*1000, tb) end end return true end ]]></globalevent> </mod> Configuração: days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 1}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 2} }, ["Tuesday"] = { ["10:44"] = {nome = "Demon", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}}, m = {"5 Demon", "8 Fire Devil"}, Time = 1}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 2} } } ["DIA"] = { ["HORA DA INVASÃO"] = {nome = "NOME DA INVASÃO", pos = {começo e final da área}, monster = {"MONSTROS"}, Time = para remover os monstro} } O dia da invasão é colocada entre " " e somente dia em inglês e a primeira letra maiúscula, exemplo: "Saturday" Depois são as hora da invasão, que é colocada entre " " e somente a hora e minuto, segundos não precisa exemplo: "15:00" As Posições estão entre { } adicionando as posições x, y e z, é o começo e final da área exemplo: pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}} fromPosition -- começo da área onde vai acontecer a raid toPosition -- final da área onde vai acontecer a raid Os monters tem um modo especial de configurar, vc coloca entre { }, e cada monstro entre " ", e entre as " " vc adiciona "QUANTIDADE MONSTRO", e para adicionar mais tipos de monstro se separa por virgulas, exemplo: {"40 Water Elemental", "5 Cyclops"} Time é uma função extra, é para caso ninguém participe do evento os monstros não fiquem pelo mapa, e é em minutos, exemplo: Time = 151 ponto
-
Bom Não sei se é a área correta para este tópico, peço que movam se for o caso... Bom vamos la vou por para vcs os icones da 1° e 2° geração + shinys completos do pxg... Download: Tópico que pode ajudar a adicionar os icones: Créditos:1 ponto
-
Global Map 9.83
Jackgoku reagiu a alissonfgp por um tópico no fórum
Como assim nao consegue logar?? da erro no distro algo do tipo? TFS é para 32 e 64 bits... Tente logar com o ip na config.lua assim 127.0.0.1 Pq aqui eu logo certim testei bem antes de postar no forum só esqueci msm daquele erro do map. e veja se a database tem o msm nome que esta na config.lua se tiver ja tem a senha do account manager 1/1.1 ponto -
Sign Monsters, Inc Nível: Ini Medium/High PREVIEW TUTORIAL Passo 1 Monte seu BG com as cores #122256; #c1d671 e #3a4330 Passo 2 Selecione a ferramenta Pincel, configure como na imagem abaixo E aplique nas laterais Cor #0e1a2b no azul e #5b684e no verde escuro Passo 3 Selecione a ferramenta Smudge Tool (Borrar), vá em Janela > Predefinições de Pincel > Pincel Procure pelo Sample Tip Brush, de 23 px e configure da seguinte forma: Passo 4 Aplique o smudge por toda sua sign, até ficar mais ou menos assim: Passo 5 Posicione sua render em sua sign Passo 6 Duplique sua render (CTRL + J) e aplique o smudge na render com as mesmas configurações do passo 3, como na imagem abaixo: Passo 7 Crie uma nova camada (SHIFT + CTRL + N) e escureça a parte azul da sign com um brush preto (Opacidade 20%), e clareie o lado direito da sign com brush branco (Opacidade 50%) Passo 8 Aplique C4D e Brush na sign para dar mais efeitos Passo 9 Aplique um tratamento na imagem, uma borda e a tipografia ENCERRANDO... É isso, espero que tenham gostado, desculpem-me a qualidade da imagem do passo 9, fiquei com pregui de mexer no ps hahaha Qualquer duvida só postar aqui =)1 ponto