Jump to content

Olá Tibiano! Notamos que você está com um adblocker ligado... 

Nós promovemos servidores dentro da comunidade, para que eles tenham visibilidade.

Por favor, nos ajude a continuar promovendo esses servidores. Adicione nosso domínio na whitelist de seu adblocker, ok? :)

Search the Community

Showing results for tags 'criar'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Recursos
    • Suporte
    • Pedidos
    • Downloads
  • OFF-Topic

Categories

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Sou

Found 19 results

  1. Olá, eu vim trazer um script que eu produzi para absolutamente nada além de treino, eu estou postando pois talvez seja útil para alguém em algum momento do espaçotempo. E também vou ceder todos os créditos ao @Woox, afinal eu não ia conseguir sem ele, então meu muito obrigado. local configuration = { positionParedinso1 = {x=1067, y=1071, z=7, stackpos=1}, -- Posição do objeto que ira sumir time = 1*15*1000, -- tempo para o objeto voltar para o seu lugar devido monstrosTime = 1*10*1000, -- tempo até os monstros despertarem guardioes = { [1] = {name = "Hellfire Fighter", pos = {x = 1065, y = 1071, z = 7}}, -- Todas posições onde os monstros seram criados [2] = {name = "Massive Fire Elemental", pos = {x = 1061, y = 1069, z = 7}}, -- Bem como seus nomes e quantidade [3] = {name = "Fury", pos = {x = 1069, y = 1074, z = 7}}, [4] = {name = "Demon", pos = {x = 1069, y = 1071, z = 7}}, [5] = {name = "Diabolic Imp", pos = {x = 1066, y = 1074, z = 7}}, [6] = {name = "Fire Devil", pos = {x = 1064, y = 1075, z = 7}}, [7] = {name = "Fire Elemental", pos = {x = 1062, y = 1069, z = 7}}, [8] = {name = "Massive Fire Elemental", pos = {x = 1067, y = 1068, z = 7}} } } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 1945 then -- alavanca doTransformItem(item.uid, 1946) positionParedinso = getThingFromPos(configuration.positionParedinso1) if positionParedinso.itemid ~= 0 then doRemoveItem(positionParedinso.uid, 1) doCreatureSay(cid, "Um som terrível de engrenagens antigas se movendo pode ser ouvido imediatamente após você puxar a alavanca. \z Estrondos, chamas e vozes demoniacas estão vindo na sua direção, são ouvidos cada vez mais altos, corra por sua vida, \z você acaba fezer um mal antigo despertar.", TALKTYPE_ORANGE_1) -- Mensagem que será exibida após você puxar a alavanca addEvent(function() for k, v in pairs(configuration.guardioes) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) addEvent(doCreateItem, configuration.time, 12794, configuration.positionParedinso1) -- "12794" é o ID da parede que você quer criar após puxar a alavanca end else doTransformItem(item.uid, 1945) end end
  2. Opa! Eu participo da comunidade de OTS há cerca de 10 anos e tenho bastante experiência com servidores e resolvi então criar meu servidor para contribuir com a cena. Hoje em dia não tenho como dedicar 100% do meu tempo ao servidor e é por este motivo que venho aqui procurar interessados em participar desse projeto: O projeto: - Poucas coisas já estão definidas de fato, nem um nome ainda foi escolhido (aceitamos sugestão). - A versão do OT será 8.6. - Mapa Custom baseado no Baiak. - XP média~alta. - Criaturas Custom. - Spells e Itens Custom. - Sistema de donation (ou algo do gênero) como forma de remuneração da equipe. - Jogabilidade Balanceada. Idéia central: Atingir um alto número de jogadores; implementar novas dinâmicas de jogo e conceitos, sendo um servidor com jogabilidade justa e balanceada, sem perder a essência do bom e velho Tibia Baiak. Inicialmente o servidor teria o funcionamento bem proximo a um baiak e conforme o jogador evolui dentro do jogo ele ganha acesso a ferramentas e funcionalidades de jogo totalmente novas e personalizadas. Já temos: - Host - Programador --------------------------------------- Temos vagas para: - Gerência: Alguém capaz de coordenar o projeto, obter feedbacks, reportar bugs e defeitos, sugerir melhorias e entre outros... > Precisa-se que o gerente tenha criatividade, contato direto e experiência com a comunidade de OTS. - Mapper: Alguém com experiência em criação de mapas para implementarmos nosso projeto. - Artista: Alguém com experiência em criação de sprites e relacionados para customização do servidor. Vale lembrar que mais necessidades de vaga surgirão ao decorrer do crescimento do projeto e não existe remuneração garantida, por enquanto. Se você se interessou pela proposta, está disposto a dedicar uma parte do seu tempo e acredita no futuro da comunidade OTS entre em contato conosco!
  3. gente, é o seguinte, eu baixei um ot e ele não veio com o acc manager, ele é versão 7.6 mysql e eu não faço a minima ideia de como criar uma conta nesse server...alguém pode me ajudar? OBS: esse ot é o Avesta 063
  4. boa noite, eu estou tendo um pequeno problema... no meu site a conta esta sendo criada, porem o password ta sendo enviado para o banco como um md5, ate ai tudo bem... porem o meu cliente (8.54) quando eu passo a senha ela da invalida... não sei se é exatamente algum problema no site ou no meu cliente, mais acredito que não fui o primeiro a passar por isso e que isso é algo simples de se resolver... obs : preferia manter o md5 do site consegui resolver... pode fechar o topico, se alguem veio aqui com o mesmo problema que o meu segue a solução, vai na config.lua do seu servidor e procura por encryptionType , vai ta como "plain" vc bota como "sha1" erro meu foi em pensar que o qesior acc trabalha com md5.. na verdade ele usa sha1, espero ter resolvido
  5. Olá galera do Xtibia! Hoje vim trazer um tutorial em video de como criar novos moves no seu server de PDA. Então, vamos lá, espero que gostem! *Desculpa pela má qualidade, não consegui deixar 720p. Script usada:
  6. Olá, venho aqui tirar uma dúvida de um bug que está ocorrendo quando tento adicionar uma stone. Nº dela no OTB: 2303 Foi adicionado ela no configuration.xml swampertite = 2303 Foi adicionado no action.xml <action itemid="11444;11448;11445;11450;11449;11452;11443;11446;12417;12419;12244;12242;12245;12232;11453;11441;11451;11447;11442;11454;12401;12414;1820;1821;2037;2038;2396;2397;2398;2399;2303;2304" event="script" value="evolution.lua" allowfaruse="1"/> Foi adicionado no Itens.xml de ambas as formas <item id="2303" article="a" name="Swampertite"> <attribute key="description" value="Um objeto muito raro que pode fazer seu swampert mega evoluir." /> </item> <item id="2303" article="a" name="Swampertite" plural="Swampertite"> <attribute key="description" value="Stone nessesaria para mega evoluir o Swampert." /> </item> E mesmo assim ela não se torna uma pedra de evolução. No jogo não tem a opção "Usar Com" quando clico sobre ela. Além de que quando tento criar o item, a conta Buga e tem que recriar o personagem. OBS: a stone foi criada a partir de um outro item, eu substituí um item pelo outro no item editor, e sim eu deletei o antigo no items.xml. Segue a Imagem da configuração da stone no otb.
  7. Alguém poderia criar uma tag para este script: function onThink() if (tonumber(os.date("%d")) ~= getGlobalStorageValue(23456)) then setGlobalStorageValue(23456, (tonumber(os.date("%d")))) db.executeQuery("UPDATE `players` SET `onlinetime7`=`onlinetime6`, `onlinetime6`=`onlinetime5`, `onlinetime5`=`onlinetime4`, `onlinetime4`=`onlinetime3`, `onlinetime3`=`onlinetime2`, `onlinetime2`=`onlinetime1`, `onlinetime1`=`onlinetimetoday`, `onlinetimetoday`=0;") db.executeQuery("UPDATE `players` SET `exphist7`=`exphist6`, `exphist6`=`exphist5`, `exphist5`=`exphist4`, `exphist4`=`exphist3`, `exphist3`=`exphist2`, `exphist2`=`exphist1`, `exphist1`=`experience`-`exphist_lastexp`, `exphist_lastexp`=`experience`;") end db.executeQuery("UPDATE `players` SET `onlinetimetoday`=`onlinetimetoday`+60, `onlinetimeall`=`onlinetimeall`+60 WHERE `online` = 1;") end Já tentei varias vezes e ainda não funcionou.
  8. Algúem poderia criar sprite igual essa ? Só que com o nome Dream e a fonte: http://www.netfontes.com.br/view.php/blazed.htm
  9. Olá, bom dia a todos. Venho neste tutorial, mostrar para vocês como criar sua primeira aplicação em Java. Primeiramente, o que você vai precisar: JDK (Pacote da Oracle com todas as bibliotecas que precisamos para executar o código em Java) IDE (Onde vamos criar nossas classes, escrever nossos códigos e executar nossa aplicação) Você pode fazer o download da última versão do JDK diretamente no site da Oracle: http://http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html A instalação é simples, basta apenas seguir o passo-a-passo. Só preste atenção no local de instalação. Sistemas 64 bits recomendo que instale na pasta Arquivos de Programas, e não em Arquivos de Programas (x86) - no caso de Windows. Para o nosso tutorial, usarei o Eclipse como IDE, mas você pode optar por outros, como NetBeans ou BlueJ. Acesse o site: https://eclipse.org/downloads/?osType=win32 Você verá 2 opções: Eclipse IDE for Java EE Developers Eclipse IDE for Java Developers A primeira contem recursos adicionais para o desenvolvimento de java para web (webservices, sessões, etc), e não será necessária para nosso tutorial, mas fiquem à vontade para baixa-la, pois ela complementa a segunda. A instalação é simples, e não requer muita explicação também. Após a instalação, abra o Eclipse. Lhe será pedido para informar onde o eclipse deve salvar automaticamente as configurações do seu perfil. Após, você verá a tela de Boas Vindas. Vá em File -> New - > Java Project (caso não exiba essa opção, vá em Project e depois sim em Java Project) Dê um nome para nosso Projeto e clique em Finish Você verá que foi criado o projeto, e ele está disponível no seu Project Explorer OBS: As janelas do Eclipse são totalmente customizáveis, isto é, você pode esconde-las, move-las de lugar, dentre outros. Caso não esteja vendo a janela com o projeto, vá em Window -> Show View -> Project Explorer Feito isso, vamos criar nossa primeira classe. Clique com o botão direito sobre a pasta src e vá em New -> Class Dê um nome à classe, e clique em Finish. Você verá nossa classe, que é onde iniciaremos o nosso código. No Java SE, para executarmos algum projeto, precisamos de um método estático main, que é o ponto de partida para nosso código. Sendo assim, vamos criar nosso método, que nada mais é do que uma função. public static void main(String args[]){} Um método público, visível para todo o projeto. Estático, para ser chamado sem a necessidade de instanciar a classe. Não retorna nada(void). E que pode receber uma string como argumento pelo compilador. Nosso código ficou assim então Muito bem. Entretanto, ao rodarmos ele, veremos que nada (supostamente) acontece. Para executar o código, clique com o botão direito sobre a pasta do projeto, vá em Run As -> Java Application. Você deverá estar com a janela do Console aberto para visualizar (Windows -> Show View -> Console) Isso se deve ao fato de que, claro, não inserimos nada no código. Vamos exibir uma mensagem na tela ? A sintaxe no java para exibir no console é: System.out.println(); Lembrando que java é CaSe sEnSiTiVe. Para isto, vamos adicionar alguma mensagem. E agora, vamos rodar novamente. Bem pessoal, espero que eu tenha ajudado alguém com esse tutorial. Bem simples como eu disse. Se possível, gostaria que postassem o resultado de vocês também. Abraços, e até a próxima
  10. Segue a lista com as constantes (enum) do TFS, útil especialmente na criação, edição e personalização de scripts em geral. Você encontra essas informações no luascript.cpp da sua distro, porém preferi resumi-las em um local para facilitar o acesso. Lembrando que pode haver pequenas variações entre as versões. Espero que seja útil para alguém. Tipos de Contas ACCOUNT_TYPE_NORMAL ACCOUNT_TYPE_TUTOR ACCOUNT_TYPE_SENIORTUTOR ACCOUNT_TYPE_GAMEMASTER ACCOUNT_TYPE_GOD Callback(base para o dano) CALLBACK_PARAM_LEVELMAGICVALUE CALLBACK_PARAM_SKILLVALUE CALLBACK_PARAM_TARGETTILE CALLBACK_PARAM_TARGETCREATURE Fórmulas COMBAT_FORMULA_UNDEFINED COMBAT_FORMULA_LEVELMAGIC COMBAT_FORMULA_SKILL COMBAT_FORMULA_DAMAGE Direções NORTH EAST SOUTH WEST SOUTHWEST SOUTHEAST NORTHWEST NORTHEAST Tipos de Dano COMBAT_NONE COMBAT_PHYSICALDAMAGE COMBAT_ENERGYDAMAGE COMBAT_EARTHDAMAGE COMBAT_FIREDAMAGE COMBAT_UNDEFINEDDAMAGE COMBAT_LIFEDRAIN COMBAT_MANADRAIN COMBAT_HEALING COMBAT_DROWNDAMAGE COMBAT_ICEDAMAGE COMBAT_HOLYDAMAGE COMBAT_DEATHDAMAGE Tipos de Animação (geral) COMBAT_PARAM_TYPE COMBAT_PARAM_EFFECT COMBAT_PARAM_DISTANCEEFFECT COMBAT_PARAM_BLOCKSHIELD COMBAT_PARAM_BLOCKARMOR COMBAT_PARAM_TARGETCASTERORTOPMOST COMBAT_PARAM_CREATEITEM COMBAT_PARAM_AGGRESSIVE COMBAT_PARAM_DISPEL COMBAT_PARAM_USECHARGES Condições (estados mutáveis) CONDITION_NONE CONDITION_POISON CONDITION_FIRE CONDITION_ENERGY CONDITION_BLEEDING CONDITION_HASTE CONDITION_PARALYZE CONDITION_OUTFIT CONDITION_INVISIBLE CONDITION_LIGHT CONDITION_MANASHIELD CONDITION_INFIGHT CONDITION_DRUNK CONDITION_EXHAUST_WEAPON CONDITION_REGENERATION CONDITION_SOUL CONDITION_DROWN CONDITION_MUTED CONDITION_CHANNELMUTEDTICKS CONDITION_YELLTICKS CONDITION_ATTRIBUTES CONDITION_FREEZING CONDITION_DAZZLED CONDITION_CURSED CONDITION_EXHAUST_COMBAT CONDITION_EXHAUST_HEAL CONDITION_PACIFIED CONDITION_SPELLCOOLDOWN CONDITION_SPELLGROUPCOOLDOWN Estado do Slot CONDITIONID_DEFAULT CONDITIONID_COMBAT CONDITIONID_HEAD CONDITIONID_NECKLACE CONDITIONID_BACKPACK CONDITIONID_ARMOR CONDITIONID_RIGHT CONDITIONID_LEFT CONDITIONID_LEGS CONDITIONID_FEET CONDITIONID_RING CONDITIONID_AMMO Condições (atributos) CONDITION_PARAM_OWNER CONDITION_PARAM_TICKS CONDITION_PARAM_HEALTHGAIN CONDITION_PARAM_HEALTHTICKS CONDITION_PARAM_MANAGAIN CONDITION_PARAM_MANATICKS CONDITION_PARAM_DELAYED CONDITION_PARAM_SPEED CONDITION_PARAM_LIGHT_LEVEL CONDITION_PARAM_LIGHT_COLOR CONDITION_PARAM_SOULGAIN CONDITION_PARAM_SOULTICKS CONDITION_PARAM_MINVALUE CONDITION_PARAM_MAXVALUE CONDITION_PARAM_STARTVALUE CONDITION_PARAM_TICKINTERVAL CONDITION_PARAM_FORCEUPDATE CONDITION_PARAM_SKILL_MELEE CONDITION_PARAM_SKILL_FIST CONDITION_PARAM_SKILL_CLUB CONDITION_PARAM_SKILL_SWORD CONDITION_PARAM_SKILL_AXE CONDITION_PARAM_SKILL_DISTANCE CONDITION_PARAM_SKILL_SHIELD CONDITION_PARAM_SKILL_FISHING CONDITION_PARAM_STAT_MAXHITPOINTS CONDITION_PARAM_STAT_MAXMANAPOINTS CONDITION_PARAM_STAT_SOULPOINTS CONDITION_PARAM_STAT_MAGICPOINTS CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT CONDITION_PARAM_STAT_SOULPOINTSPERCENT CONDITION_PARAM_STAT_MAGICPOINTSPERCENT CONDITION_PARAM_PERIODICDAMAGE CONDITION_PARAM_SKILL_MELEEPERCENT CONDITION_PARAM_SKILL_FISTPERCENT CONDITION_PARAM_SKILL_CLUBPERCENT CONDITION_PARAM_SKILL_SWORDPERCENT CONDITION_PARAM_SKILL_AXEPERCENT CONDITION_PARAM_SKILL_DISTANCEPERCENT CONDITION_PARAM_SKILL_SHIELDPERCENT CONDITION_PARAM_SKILL_FISHINGPERCENT CONDITION_PARAM_BUFF_SPELL CONDITION_PARAM_SUBID CONDITION_PARAM_FIELD Animações de Magias CONST_ME_DRAWBLOOD CONST_ME_LOSEENERGY CONST_ME_POFF CONST_ME_BLOCKHIT CONST_ME_EXPLOSIONAREA CONST_ME_EXPLOSIONHIT CONST_ME_FIREAREA CONST_ME_YELLOW_RINGS CONST_ME_GREEN_RINGS CONST_ME_HITAREA CONST_ME_TELEPORT CONST_ME_ENERGYHIT CONST_ME_MAGIC_BLUE CONST_ME_MAGIC_RED CONST_ME_MAGIC_GREEN CONST_ME_HITBYFIRE CONST_ME_HITBYPOISON CONST_ME_MORTAREA CONST_ME_SOUND_GREEN CONST_ME_SOUND_RED CONST_ME_POISONAREA CONST_ME_SOUND_YELLOW CONST_ME_SOUND_PURPLE CONST_ME_SOUND_BLUE CONST_ME_SOUND_WHITE CONST_ME_BUBBLES CONST_ME_CRAPS CONST_ME_GIFT_WRAPS CONST_ME_FIREWORK_YELLOW CONST_ME_FIREWORK_RED CONST_ME_FIREWORK_BLUE CONST_ME_STUN CONST_ME_SLEEP CONST_ME_WATERCREATURE CONST_ME_GROUNDSHAKER CONST_ME_HEARTS CONST_ME_FIREATTACK CONST_ME_ENERGYAREA CONST_ME_SMALLCLOUDS CONST_ME_HOLYDAMAGE CONST_ME_BIGCLOUDS CONST_ME_ICEAREA CONST_ME_ICETORNADO CONST_ME_ICEATTACK CONST_ME_STONES CONST_ME_SMALLPLANTS CONST_ME_CARNIPHILA CONST_ME_PURPLEENERGY CONST_ME_YELLOWENERGY CONST_ME_HOLYAREA CONST_ME_BIGPLANTS CONST_ME_CAKE CONST_ME_GIANTICE CONST_ME_WATERSPLASH CONST_ME_PLANTATTACK CONST_ME_TUTORIALARROW CONST_ME_TUTORIALSQUARE CONST_ME_MIRRORHORIZONTAL CONST_ME_MIRRORVERTICAL CONST_ME_SKULLHORIZONTAL CONST_ME_SKULLVERTICAL CONST_ME_ASSASSIN CONST_ME_STEPSHORIZONTAL CONST_ME_BLOODYSTEPS CONST_ME_STEPSVERTICAL CONST_ME_YALAHARIGHOST CONST_ME_BATS CONST_ME_SMOKE CONST_ME_INSECTS CONST_ME_DRAGONHEAD CONST_ME_ORCSHAMAN CONST_ME_ORCSHAMAN_FIRE CONST_ME_THUNDER CONST_ME_FERUMBRAS CONST_ME_CONFETTI_HORIZONTAL CONST_ME_CONFETTI_VERTICAL CONST_ME_BLACKSMOKE CONST_ME_NONE Animações de ataque à distância CONST_ANI_SPEAR CONST_ANI_BOLT CONST_ANI_ARROW CONST_ANI_FIRE CONST_ANI_ENERGY CONST_ANI_POISONARROW CONST_ANI_BURSTARROW CONST_ANI_THROWINGSTAR CONST_ANI_THROWINGKNIFE CONST_ANI_SMALLSTONE CONST_ANI_DEATH CONST_ANI_LARGEROCK CONST_ANI_SNOWBALL CONST_ANI_POWERBOLT CONST_ANI_POISON CONST_ANI_INFERNALBOLT CONST_ANI_HUNTINGSPEAR CONST_ANI_ENCHANTEDSPEAR CONST_ANI_REDSTAR CONST_ANI_GREENSTAR CONST_ANI_ROYALSPEAR CONST_ANI_SNIPERARROW CONST_ANI_ONYXARROW CONST_ANI_PIERCINGBOLT CONST_ANI_WHIRLWINDSWORD CONST_ANI_WHIRLWINDAXE CONST_ANI_WHIRLWINDCLUB CONST_ANI_ETHEREALSPEAR CONST_ANI_ICE CONST_ANI_EARTH CONST_ANI_HOLY CONST_ANI_SUDDENDEATH CONST_ANI_FLASHARROW CONST_ANI_FLAMMINGARROW CONST_ANI_SHIVERARROW CONST_ANI_ENERGYBALL CONST_ANI_SMALLICE CONST_ANI_SMALLHOLY CONST_ANI_SMALLEARTH CONST_ANI_EARTHARROW CONST_ANI_EXPLOSION CONST_ANI_CAKE CONST_ANI_TARSALARROW CONST_ANI_VORTEXBOLT CONST_ANI_PRISMATICBOLT CONST_ANI_CRYSTALLINEARROW CONST_ANI_DRILLBOLT CONST_ANI_ENVENOMEDARROW CONST_ANI_WEAPONTYPE CONST_ANI_NONE Propiedade de Objetos CONST_PROP_BLOCKSOLID CONST_PROP_HASHEIGHT CONST_PROP_BLOCKPROJECTILE CONST_PROP_BLOCKPATH CONST_PROP_ISVERTICAL CONST_PROP_ISHORIZONTAL CONST_PROP_MOVEABLE CONST_PROP_IMMOVABLEBLOCKSOLID CONST_PROP_IMMOVABLEBLOCKPATH CONST_PROP_IMMOVABLENOFIELDBLOCKPATH CONST_PROP_NOFIELDBLOCKPATH CONST_PROP_SUPPORTHANGABLE Slots CONST_SLOT_HEAD CONST_SLOT_NECKLACE CONST_SLOT_BACKPACK CONST_SLOT_ARMOR CONST_SLOT_RIGHT CONST_SLOT_LEFT CONST_SLOT_LEGS CONST_SLOT_FEET CONST_SLOT_RING CONST_SLOT_AMMO Estado do Servidor GAME_STATE_STARTUP GAME_STATE_INIT GAME_STATE_NORMAL GAME_STATE_CLOSED GAME_STATE_SHUTDOWN GAME_STATE_CLOSING GAME_STATE_MAINTAIN Tipos de Texto (eventos) MESSAGE_STATUS_CONSOLE_BLUE MESSAGE_STATUS_CONSOLE_RED MESSAGE_STATUS_DEFAULT MESSAGE_STATUS_WARNING MESSAGE_EVENT_ADVANCE MESSAGE_STATUS_SMALL MESSAGE_INFO_DESCR MESSAGE_DAMAGE_DEALT MESSAGE_DAMAGE_RECEIVED MESSAGE_HEALED MESSAGE_EXPERIENCE MESSAGE_DAMAGE_OTHERS MESSAGE_HEALED_OTHERS MESSAGE_EXPERIENCE_OTHERS MESSAGE_EVENT_DEFAULT MESSAGE_EVENT_ORANGE MESSAGE_STATUS_CONSOLE_ORANGE Sistema Operacional do Cliente CLIENTOS_LINUX CLIENTOS_WINDOWS CLIENTOS_FLASH CLIENTOS_OTCLIENT_LINUX CLIENTOS_OTCLIENT_WINDOWS CLIENTOS_OTCLIENT_MAC Atributo de Itens ITEM_ATTRIBUTE_NONE ITEM_ATTRIBUTE_ACTIONID ITEM_ATTRIBUTE_UNIQUEID ITEM_ATTRIBUTE_DESCRIPTION ITEM_ATTRIBUTE_TEXT ITEM_ATTRIBUTE_DATE ITEM_ATTRIBUTE_WRITER ITEM_ATTRIBUTE_NAME ITEM_ATTRIBUTE_ARTICLE ITEM_ATTRIBUTE_PLURALNAME ITEM_ATTRIBUTE_WEIGHT ITEM_ATTRIBUTE_ATTACK ITEM_ATTRIBUTE_DEFENSE ITEM_ATTRIBUTE_EXTRADEFENSE ITEM_ATTRIBUTE_ARMOR ITEM_ATTRIBUTE_HITCHANCE ITEM_ATTRIBUTE_SHOOTRANGE ITEM_ATTRIBUTE_OWNER ITEM_ATTRIBUTE_DURATION ITEM_ATTRIBUTE_DECAYSTATE ITEM_ATTRIBUTE_CORPSEOWNER ITEM_ATTRIBUTE_CHARGES ITEM_ATTRIBUTE_FLUIDTYPE ITEM_ATTRIBUTE_DOORID Tipo do Item ITEM_TYPE_DEPOT ITEM_TYPE_MAILBOX ITEM_TYPE_TRASHHOLDER ITEM_TYPE_CONTAINER ITEM_TYPE_DOOR ITEM_TYPE_MAGICFIELD ITEM_TYPE_TELEPORT ITEM_TYPE_BED ITEM_TYPE_KEY ITEM_TYPE_RUNE Constante do item (geralmente itens imutáveis) ITEM_GOLD_COIN ITEM_PLATINUM_COIN ITEM_CRYSTAL_COIN ITEM_PARCEL ITEM_LABEL ITEM_FIREFIELD_PVP_FULL ITEM_FIREFIELD_PVP_MEDIUM ITEM_FIREFIELD_PVP_SMALL ITEM_FIREFIELD_PERSISTENT_FULL ITEM_FIREFIELD_PERSISTENT_MEDIUM ITEM_FIREFIELD_PERSISTENT_SMALL ITEM_FIREFIELD_NOPVP ITEM_POISONFIELD_PVP ITEM_POISONFIELD_PERSISTENT ITEM_POISONFIELD_NOPVP ITEM_ENERGYFIELD_PVP ITEM_ENERGYFIELD_PERSISTENT ITEM_ENERGYFIELD_NOPVP ITEM_MAGICWALL ITEM_MAGICWALL_PERSISTENT ITEM_MAGICWALL_SAFE ITEM_WILDGROWTH ITEM_WILDGROWTH_PERSISTENT ITEM_WILDGROWTH_SAFE Flags do jogador PlayerFlag_CannotUseCombat PlayerFlag_CannotAttackPlayer PlayerFlag_CannotAttackMonster PlayerFlag_CannotBeAttacked PlayerFlag_CanConvinceAll PlayerFlag_CanSummonAll PlayerFlag_CanIllusionAll PlayerFlag_CanSenseInvisibility PlayerFlag_IgnoredByMonsters PlayerFlag_NotGainInFight PlayerFlag_HasInfiniteMana PlayerFlag_HasInfiniteSoul PlayerFlag_HasNoExhaustion PlayerFlag_CannotUseSpells PlayerFlag_CannotPickupItem PlayerFlag_CanAlwaysLogin PlayerFlag_CanBroadcast PlayerFlag_CanEditHouses PlayerFlag_CannotBeBanned PlayerFlag_CannotBePushed PlayerFlag_HasInfiniteCapacity PlayerFlag_CanPushAllCreatures PlayerFlag_CanTalkRedPrivate PlayerFlag_CanTalkRedChannel PlayerFlag_TalkOrangeHelpChannel PlayerFlag_NotGainExperience PlayerFlag_NotGainMana PlayerFlag_NotGainHealth PlayerFlag_NotGainSkill PlayerFlag_SetMaxSpeed PlayerFlag_SpecialVIP PlayerFlag_NotGenerateLoot PlayerFlag_CanTalkRedChannelAnonymous PlayerFlag_IgnoreProtectionZone PlayerFlag_IgnoreSpellCheck PlayerFlag_IgnoreWeaponCheck PlayerFlag_CannotBeMuted PlayerFlag_IsAlwaysPremium Sexo PLAYERSEX_FEMALE PLAYERSEX_MALE Skills SKILL_FIST SKILL_CLUB SKILL_SWORD SKILL_AXE SKILL_DISTANCE SKILL_SHIELD SKILL_FISHING SKILL_MAGLEVEL SKILLVALUE_LEVEL Skulls SKULL_NONE SKULL_YELLOW SKULL_GREEN SKULL_WHITE SKULL_RED SKULL_BLACK SKULL_ORANGE Tipo da Mensagem TALKTYPE_SAY TALKTYPE_WHISPER TALKTYPE_YELL TALKTYPE_PRIVATE_FROM TALKTYPE_PRIVATE_TO TALKTYPE_CHANNEL_Y TALKTYPE_CHANNEL_O TALKTYPE_PRIVATE_NP TALKTYPE_PRIVATE_PN TALKTYPE_BROADCAST TALKTYPE_CHANNEL_R1 TALKTYPE_PRIVATE_RED_FROM TALKTYPE_PRIVATE_RED_TO TALKTYPE_MONSTER_SAY TALKTYPE_MONSTER_YELL TALKTYPE_CHANNEL_R2 TALKTYPE_CHANNEL_W Cor da Mensagem TEXTCOLOR_BLUE TEXTCOLOR_LIGHTGREEN TEXTCOLOR_LIGHTBLUE TEXTCOLOR_MAYABLUE TEXTCOLOR_DARKRED TEXTCOLOR_LIGHTGREY TEXTCOLOR_SKYBLUE TEXTCOLOR_PURPLE TEXTCOLOR_RED TEXTCOLOR_ORANGE TEXTCOLOR_YELLOW TEXTCOLOR_WHITE_EXP TEXTCOLOR_NONE Atributo do tile (chão) TILESTATE_NONE TILESTATE_PROTECTIONZONE TILESTATE_DEPRECATED_HOUSE TILESTATE_NOPVPZONE TILESTATE_NOLOGOUT TILESTATE_PVPZONE TILESTATE_REFRESH TILESTATE_HOUSE TILESTATE_FLOORCHANGE TILESTATE_FLOORCHANGE_DOWN TILESTATE_FLOORCHANGE_NORTH TILESTATE_FLOORCHANGE_SOUTH TILESTATE_FLOORCHANGE_EAST TILESTATE_FLOORCHANGE_WEST TILESTATE_TELEPORT TILESTATE_MAGICFIELD TILESTATE_MAILBOX TILESTATE_TRASHHOLDER TILESTATE_BED TILESTATE_DEPOT TILESTATE_BLOCKSOLID TILESTATE_BLOCKPATH TILESTATE_IMMOVABLEBLOCKSOLID TILESTATE_IMMOVABLEBLOCKPATH TILESTATE_IMMOVABLENOFIELDBLOCKPATH TILESTATE_NOFIELDBLOCKPATH TILESTATE_DYNAMIC_TILE TILESTATE_FLOORCHANGE_SOUTH_ALT TILESTATE_FLOORCHANGE_EAST_ALT TILESTATE_SUPPORTS_HANGABLE Tipo de Armas WEAPON_NONE WEAPON_SWORD WEAPON_CLUB WEAPON_AXE WEAPON_SHIELD WEAPON_DISTANCE WEAPON_WAND WEAPON_AMMO Modo PVP WORLD_TYPE_NO_PVP WORLD_TYPE_PVP WORLD_TYPE_PVP_ENFORCED Outras Flags FLAG_NOLIMIT FLAG_IGNOREBLOCKITEM FLAG_IGNOREBLOCKCREATURE FLAG_CHILDISOWNER FLAG_PATHFINDING FLAG_IGNOREFIELDDAMAGE FLAG_IGNORENOTMOVEABLE FLAG_IGNOREAUTOSTACK Posição Slot (slot position) SLOTP_WHEREEVER SLOTP_HEAD SLOTP_NECKLACE SLOTP_BACKPACK SLOTP_ARMOR SLOTP_RIGHT SLOTP_LEFT SLOTP_LEGS SLOTP_FEET SLOTP_RING SLOTP_AMMO SLOTP_DEPOT SLOTP_TWO_HAND Origem do Combate ORIGIN_NONE ORIGIN_CONDITION ORIGIN_SPELL ORIGIN_MELEE ORIGIN_RANGED Acesso à House GUEST_LIST SUBOWNER_LIST Janelas (trade, etc) SPEECHBUBBLE_NONE SPEECHBUBBLE_NORMAL SPEECHBUBBLE_TRADE SPEECHBUBBLE_QUEST SPEECHBUBBLE_QUESTTRADER Marcadores (mapa) MAPMARK_TICK MAPMARK_QUESTION MAPMARK_EXCLAMATION MAPMARK_STAR MAPMARK_CROSS MAPMARK_TEMPLE MAPMARK_KISS MAPMARK_SHOVEL MAPMARK_SWORD MAPMARK_FLAG MAPMARK_LOCK MAPMARK_BAG MAPMARK_SKULL MAPMARK_DOLLAR MAPMARK_REDNORTH MAPMARK_REDSOUTH MAPMARK_REDEAST MAPMARK_REDWEST MAPMARK_GREENNORTH MAPMARK_GREENSOUTH Condições de Retorno (mensagens do sistema) RETURNVALUE_NOERROR RETURNVALUE_NOTPOSSIBLE RETURNVALUE_NOTENOUGHROOM RETURNVALUE_PLAYERISPZLOCKED RETURNVALUE_PLAYERISNOTINVITED RETURNVALUE_CANNOTTHROW RETURNVALUE_THEREISNOWAY RETURNVALUE_DESTINATIONOUTOFREACH RETURNVALUE_CREATUREBLOCK RETURNVALUE_NOTMOVEABLE RETURNVALUE_DROPTWOHANDEDITEM RETURNVALUE_BOTHHANDSNEEDTOBEFREE RETURNVALUE_CANONLYUSEONEWEAPON RETURNVALUE_NEEDEXCHANGE RETURNVALUE_CANNOTBEDRESSED RETURNVALUE_PUTTHISOBJECTINYOURHAND RETURNVALUE_PUTTHISOBJECTINBOTHHANDS RETURNVALUE_TOOFARAWAY RETURNVALUE_FIRSTGODOWNSTAIRS RETURNVALUE_FIRSTGOUPSTAIRS RETURNVALUE_CONTAINERNOTENOUGHROOM RETURNVALUE_NOTENOUGHCAPACITY RETURNVALUE_CANNOTPICKUP RETURNVALUE_THISISIMPOSSIBLE RETURNVALUE_DEPOTISFULL RETURNVALUE_CREATUREDOESNOTEXIST RETURNVALUE_CANNOTUSETHISOBJECT RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE RETURNVALUE_NOTREQUIREDLEVELTOUSERUNE RETURNVALUE_YOUAREALREADYTRADING RETURNVALUE_THISPLAYERISALREADYTRADING RETURNVALUE_YOUMAYNOTLOGOUTDURINGAFIGHT RETURNVALUE_DIRECTPLAYERSHOOT RETURNVALUE_NOTENOUGHLEVEL RETURNVALUE_NOTENOUGHMAGICLEVEL RETURNVALUE_NOTENOUGHMANA RETURNVALUE_NOTENOUGHSOUL RETURNVALUE_YOUAREEXHAUSTED RETURNVALUE_PLAYERISNOTREACHABLE RETURNVALUE_CANONLYUSETHISRUNEONCREATURES RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER RETURNVALUE_YOUMAYNOTATTACKAPERSONINPROTECTIONZONE RETURNVALUE_YOUMAYNOTATTACKAPERSONWHILEINPROTECTIONZONE RETURNVALUE_YOUMAYNOTATTACKTHISCREATURE RETURNVALUE_YOUCANONLYUSEITONCREATURES RETURNVALUE_CREATUREISNOTREACHABLE RETURNVALUE_TURNSECUREMODETOATTACKUNMARKEDPLAYERS RETURNVALUE_YOUNEEDPREMIUMACCOUNT RETURNVALUE_YOUNEEDTOLEARNTHISSPELL RETURNVALUE_YOURVOCATIONCANNOTUSETHISSPELL RETURNVALUE_YOUNEEDAWEAPONTOUSETHISSPELL RETURNVALUE_PLAYERISPZLOCKEDLEAVEPVPZONE RETURNVALUE_PLAYERISPZLOCKEDENTERPVPZONE RETURNVALUE_ACTIONNOTPERMITTEDINANOPVPZONE RETURNVALUE_YOUCANNOTLOGOUTHERE RETURNVALUE_YOUNEEDAMAGICITEMTOCASTSPELL RETURNVALUE_CANNOTCONJUREITEMHERE RETURNVALUE_YOUNEEDTOSPLITYOURSPEARS RETURNVALUE_NAMEISTOOAMBIGIOUS RETURNVALUE_CANONLYUSEONESHIELD RETURNVALUE_NOPARTYMEMBERSINRANGE RETURNVALUE_YOUARENOTTHEOWNER Variáveis config.lua ALLOW_CHANGEOUTFIT CANNOT_ATTACK_SAME_LOOKFEET ONE_PLAYER_ON_ACCOUNT AIMBOT_HOTKEY_ENABLED REMOVE_AMMO REMOVE_RUNE_CHARGES EXPERIENCE_FROM_PLAYERS FREE_PREMIUM REPLACE_KICK_ON_LOGIN ALLOW_CLONES BIND_ONLY_GLOBAL_ADDRESS OPTIMIZE_DATABASE MARKET_PREMIUM EMOTE_SPELLS STAMINA_SYSTEM WARN_UNSAFE_SCRIPTS CONVERT_UNSAFE_SCRIPTS MAP_NAME HOUSE_RENT_PERIOD SERVER_NAME OWNER_NAME OWNER_EMAIL URL LOCATION IP MOTD WORLD_TYPE MYSQL_HOST MYSQL_USER MYSQL_PASS MYSQL_DB MYSQL_SOCK DEFAULT_PRIORITY MAP_AUTHOR SQL_PORT MAX_PLAYERS PZ_LOCKED DEFAULT_DESPAWNRANGE DEFAULT_DESPAWNRADIUS RATE_EXPERIENCE RATE_SKILL RATE_LOOT RATE_MAGIC RATE_SPAWN HOUSE_PRICE KILLS_TO_RED KILLS_TO_BLACK MAX_MESSAGEBUFFER ACTIONS_DELAY_INTERVAL EX_ACTIONS_DELAY_INTERVAL KICK_AFTER_MINUTES PROTECTION_LEVEL DEATH_LOSE_PERCENT STATUSQUERY_TIMEOUT FRAG_TIME WHITE_SKULL_TIME GAME_PORT LOGIN_PORT STATUS_PORT STAIRHOP_DELAY MARKET_OFFER_DURATION CHECK_EXPIRED_MARKET_OFFERS_EACH_MINUTES MAX_MARKET_OFFERS_AT_A_TIME_PER_PLAYER EXP_FROM_PLAYERS_LEVEL_RANGE MAX_PACKETS_PER_SECOND
  11. Olá pessoal do Xtibia, eu preciso que essa script de Raid sumone um NPC ao invés de um monstro... Nome do npc: Dexter Itens A script está 100% funcionando para sumonar monster.. porém se eu colocar o nome do npc no lugar de "demon" o npc não é sumonado. Alguém ajuda? versão 8.60, otx server 2. local raids = { ["Tuesday"] = { ["03:11"] = { name= "Demon", -- Nome do monstro a ser sumonado pos = {toPos= {x = 164, y = 53, z = 7}, fromPos= {x = 165, y = 53, z = 7}}, --Vai ser sumonado de toPos e até fromPos quantidade = 1, -- Quantidade a ser sumonada time = 2, -- Se no tempo determinado em time= x, os monstros não forem mortos eles são removidos automaticamente }, } } function doRemoveMonster(toPos, fromPos) for x = toPos.x, fromPos.x do for y = toPos.y , fromPos.y do local creature = getTopCreature({x=x, y= y, z= fromPos.z}).uid; if creature ~= 0 and isMonster(creature) then doRemoveCreature(creature) end end end return true end function onThink(interval, lastExecution) local hours = tostring(os.date("%X")):sub(1, 5); local days = raids[os.date("%A")][hours]; local raids_storage = 99997; if days then if getGlobalStorageValue(raids_storage) <= os.time() then doBroadcastMessage("The invasion of " .. days.name .. " started") pos = {x= math.random(days.pos.toPos.x, days.pos.fromPos.x), y= math.random(days.pos.toPos.y, days.pos.fromPos.y), z= days.pos.fromPos.z}; monster = 0; repeat doSummonCreature(days.name, pos) monster = monster + 1; until monster == days.quantidade; addEvent(function() doRemoveMonster(days.pos.toPos, days.pos.fromPos) end, days.time*1000*60) setGlobalStorageValue(raids_storage, os.time()+60) end end return true end
  12. Olá pessoal do Xtibia, eu preciso que essa script de Raid sumone um NPC ao invés de um monstro... Nome do npc: Dexter Itens A script está 100% funcionando para sumonar monster.. porém se eu colocar o nome do npc no lugar de "demon" o npc não é sumonado. Alguém ajuda? versão 8.60, otx server 2. local raids = { ["Tuesday"] = { ["03:11"] = { name= "Demon", -- Nome do monstro a ser sumonado pos = {toPos= {x = 164, y = 53, z = 7}, fromPos= {x = 165, y = 53, z = 7}}, --Vai ser sumonado de toPos e até fromPos quantidade = 1, -- Quantidade a ser sumonada time = 2, -- Se no tempo determinado em time= x, os monstros não forem mortos eles são removidos automaticamente }, } } function doRemoveMonster(toPos, fromPos) for x = toPos.x, fromPos.x do for y = toPos.y , fromPos.y do local creature = getTopCreature({x=x, y= y, z= fromPos.z}).uid; if creature ~= 0 and isMonster(creature) then doRemoveCreature(creature) end end end return true end function onThink(interval, lastExecution) local hours = tostring(os.date("%X")):sub(1, 5); local days = raids[os.date("%A")][hours]; local raids_storage = 99997; if days then if getGlobalStorageValue(raids_storage) <= os.time() then doBroadcastMessage("The invasion of " .. days.name .. " started") pos = {x= math.random(days.pos.toPos.x, days.pos.fromPos.x), y= math.random(days.pos.toPos.y, days.pos.fromPos.y), z= days.pos.fromPos.z}; monster = 0; repeat doSummonCreature(days.name, pos) monster = monster + 1; until monster == days.quantidade; addEvent(function() doRemoveMonster(days.pos.toPos, days.pos.fromPos) end, days.time*1000*60) setGlobalStorageValue(raids_storage, os.time()+60) end end return true end
  13. Opa Fala Xtibia ! Vinho Trazer Um Tutorial Ensinando A Criar Spells !! Entao Vamos La !! Para Criar Uma Spell Primeira Coisa Para Criar Uma Spell Para Sua Spell Sempre Fica Sem Nenhum Erro Basta Escrever No Final Da Msg "return true" E dps adicione end embaixo do return 2 coisa numa spells sempre adicione isso no inicio 3 Coisa Dps Pule 2 Linhas E Adicione Akilo Tudo Embaixo Dakilo Que Postei Emcima Para Escolher O Efeito Da Magia E por essa tag abaixo Para Saber Como Escolher a msg que vai sair ao player soltar a magia Porem So Isso !! So Aceito Que Copiem O Topico Se Postar Os Creditos Se For Fora Do Xtibia ! Creditos ! Smartbox 100 % Por Criar O Tutorial E Postar Aki No Xtibia
  14. Ola Xtibia resolvi criar esse tutorial. Para os iniciantes aprederem sozinhos. Organizei em Spoiler os Tipos de Magia. Spell De Attack: Spoiler #O Corpo da Spell: #Simples: 1 Efeito Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_HITAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, 1.6, -600) arr = { {0, 1, 0}, {1, 3, 1}, {0, 1, 0} } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end #Simples: 2 Efeitos Spoiler local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 21) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -6.0, -100, -3.0, -250) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 20) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, -1.3, -680) arr1 = { {0, 1, 0}, {1, 3, 1}, {0, 1, 0} } arr2 = { {1, 0, 1}, {0, 3, 0}, {1, 0, 1} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 100, parameters) return TRUE end #Contruindo a Spell #Fazendo Sua Magia: Simples 1 Efeito Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_HITAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, 1.6, -600) setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE) -> Tipo De Dano setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_HITAREA) -> Efeito da magia setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, 1.0, -600) -> Formula do HIT da Spell arr = { {0, 1, 0}, {1, 2, 1}, {0, 1, 0} } Local em que a Spell vai sair ou seja, aonde esta o 2 sera o player. Obs: Botando 2 o efeito da magia nao sai no player, botando 3 o efeito sai encima do player tb local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Nao mecheremos aqui, pois é uma spell simples. #Fazendo Sua Magia: 2 Efeitos Spoiler local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 21) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -6.0, -100, -3.0, -250) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 20) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, -1.3, -680) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE) -> Tipo de Dano do primeiro efeito setCombatParam(combat1, COMBAT_PARAM_EFFECT, 21) -> Primeiro Efeito setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -6.0, -100, -3.0, -250) -> Formula do HIT do primeiro efeito setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) -> Tipo de dano do segundo efeito setCombatParam(combat2, COMBAT_PARAM_EFFECT, 20) -> Segundo Efeito setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, -1.3, -680) -> Formula do Hit do segundo efeito arr1 = { {0, 1, 0}, {1, 3, 1}, {0, 1, 0} } arr2 = { {1, 0, 1}, {0, 3, 0}, {1, 0, 1} } arr1 = Onde a spell vai se 'criar' o primeiro efeito arr2 = onde a spell vai se 'criar' o segundo efeito addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell1, 100, parameters) -> Quantos segundos apos a fala da magia ira criar o primeiro efeito addEvent(onCastSpell2, 100, parameters) -> Quantos segundos apos a fala da magia ira criar o segundo efeito Obs: 100= 1 segundo, 300= 3 segundos, 1000= 10 segundos Spell De Cura: Spoiler #Corpo da Spell: Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, 36) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 11, 15) function onCastSpell(cid, var) return doCombat(cid, combat, var) end #Criando Sua Spell: #Fazendo Sua Magia: Spoiler setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) Esse Sera o a spell ira fazer setCombatParam(combat, COMBAT_PARAM_EFFECT, 36) Esse sera o efeito dela setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) Aqui e que essa spell nao é agressiva, entao pode ser usada em protect zone setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) Essa magia vai curar paralyze setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 11, 15) Formula da magia, o quanto ela vai healar. function onCastSpell(cid, var) return doCombat(cid, combat, var) end Nao precisamos mecher. Spell de Suport: Spoiler #Corpo da Spell: #Correr: Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 33000) setConditionFormula(condition, 0.3, -24, 0.3, -24) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end #Luz Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_LIGHT) setConditionParam(condition, CONDITION_PARAM_LIGHT_LEVEL, 6) setConditionParam(condition, CONDITION_PARAM_LIGHT_COLOR, 215) setConditionParam(condition, CONDITION_PARAM_TICKS, (6 * 60 + 10) * 1000) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end #Uma magia qualquer de trap Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 2) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) local arr = { {0, 0, 0, 1, 0, 0 ,0}, {0, 0, 1, 1, 1, 0 ,0}, {0, 1, 0, 0, 0, 1 ,0}, {1, 0, 0, 2, 0, 0 ,1}, {0, 1, 0, 0, 0, 1 ,0}, {0, 0, 1, 1, 1, 0 ,0}, {0, 0, 0, 1, 0, 0 ,0} } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end #Contruindo a Spell #Correr Spoiler setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) Efeito da Magia setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) Magia nao Agressiva, pode ser usada em Portect Zone local condition = createConditionObject(CONDITION_HASTE) Condição de Correr setConditionParam(condition, CONDITION_PARAM_TICKS, 33000) Tempo que vai durar, nesse caso 33 segundos setConditionFormula(condition, 0.3, -24, 0.3, -24) Formula da velocidade setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Nao Mechemos aqui #Luz: Spoiler setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) Efeito da Magia setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) Magia nao agressiva, para ser usada em protect zone local condition = createConditionObject(CONDITION_LIGHT) Condição de criar Luz setConditionParam(condition, CONDITION_PARAM_LIGHT_LEVEL, 6) Tamanho da Luz setConditionParam(condition, CONDITION_PARAM_LIGHT_COLOR, 215) Cor da Luz setConditionParam(condition, CONDITION_PARAM_TICKS, (6 * 60 + 10) * 1000) Tempo que vai durar setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Nao Mechemos aqui #Uma Magia qualquer de Trap: Spoiler setCombatParam(combat, COMBAT_PARAM_EFFECT, 2) Efeito que soltara, nesse caso "poff" local arr = { {0, 0, 0, 1, 0, 0 ,0}, {0, 0, 1, 1, 1, 0 ,0}, {0, 1, 0, 0, 0, 1 ,0}, {1, 0, 0, 2, 0, 0 ,1}, {0, 1, 0, 0, 0, 1 ,0}, {0, 0, 1, 1, 1, 0 ,0}, {0, 0, 0, 1, 0, 0 ,0} } Local em que as magic wall serao criadas local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Aqui nao mecheremos. Bom é isso Pessoal. Espero que tenham Gostado! Obs: Quando eu tiver tempo, mostrarei todos os effects
  15. Olá querido pessoal do XTibia! Sou marcynhow e provavelmente poucos ja ouviram falar de mim. Sou o administrador do Darien Era e curso administração em São Paulo há três anos e hoje gostaria de começar uma série de tópicos que, caso venham a ser aprovados por vocês serão continuados até cobrir a maior parte de administração de uma Equipe. Esta é apenas a parte 1 e irá cobrir o básico de uma formação. ___________________________________________________________________________________________ Você provavelmente já teve a idéia de montar um servidor de OtServ ou iniciar um novo jogo com uma nova Engine. Surpreendentemente, diferentemente do que pensam, o processo para montar qualquer um dos dois é basicamente o mesmo. Com certeza, todos que ja tiveram esta vontade pensaram nas seguintes perguntas: Como iniciar? Onde encontrar pessoas? Como organizar tarefas? Como se portar? Estas são as mais frequentes. Daqui pra frente iriei tentar clarear estas dúvidas que aparecem inevitavelmente. Como Iniciar? Vou criar o maior jogo do mundo! É só eu... eu... fazer... o que mesmo? Você sempre teve vontade de ter o seu próprio jogo mas não sabe por onde começar. Antes de qualquer coisa você tem de decidir: Terei um jogo pequeno para os amigos ou quero me tornar algo grande? Se você deseja algo pequeno com amigos leia apenas os tutoriais de como abrir um OtServ e abra um para jogar com os amigos. Caso você tenha optado por algo grande, pare para pensar. O que seria essa algo grande? Seria um OtServ bem editado? Seria um jogo novo com uma nova Engine? Seria algo em 3D? Faça essas perguntas a si mesmo e responda-as, assim você terá uma boa definição do que você deseja para o seu jogo. Perceba que ao responder para si mesmo estas perguntas, você terá uma definição clara do básico. Após isso, você deve inevitavelmente lapidar um pouco as idéias definindo o tema do mesmo e pensando em uma estória bem básica para o jogo. Onde se passará o mesmo? Qual o nome? Qual será o tema ou ano em que meu jogo se passa? Pronto, você basicamente definiu os aspectos iniciais do seu jogo. Já sabe como ele irá ser feito, seu tema e uma breve estória do mesmo. Hora de partir para o próximo passo. Onde encontrar pessoas? Agora eu já sei o que fazer! Só falta eu terminar a parte de programação, a gráfica, os scripts, mas ein? Esta pergunta é crucial. Pessoas hoje em dia geralmente não se comprometem com os trabalhos. Quem é que nunca veio ao Forum atrás de uma equipe e teve problemas com os membros? Antes de corrermos direto ao forum atrás destes devemos pensar. Será que vale mais a pena eu montar uma equipe la no forum rapidamente com um tópico ou vale mais a pena eu elaborar um tópico decente com um diferencial grande? Obviamente, se você quer algo de sucesso não poderá montar uma equipe de qualquer jeito. Sabendo disso você deve pensar novamente então em como o fazer. Perca um pouco de tempo elaborando um tópico decente. Pense nos aspectos que deseja mostrar para atrair bons candidatos. Mostre um pouco da estória. Mostre idéias inovadoras. Descreva-as. Monte um tópico Organizado! Finalmente, após isso você terá um tópico digno de aplausos que irá atrair pessoas mais habilidosas e ainda assim encontrará gente preguiçosa ou sem compromisso. Um bom exemplo de tópico é o do próprio Darien Era. Para visualisá-lo (clique aqui) Para evitar o mesmo nunca coloque no seu tópico aquele formulário imbecil. Pense comigo, o que é mais fácil para um membro preguiçoso? Postar um formulário que ele precisa dar ctrl+c ctrl+v e editar alguns campos ou elaborar um e-mail se apresentando, mostrando trabalhos do mesmo e mostrando que é capaz e está interessado uma vez que este vai ter de abrir uma nova aba, entrar em seu e-mail e elaborá-lo? Isso mesmo, você acertou em cheio! O membro que não está interessado realmente na sua equipe, aquele que vai lhe abandonar não irá mandar o e-mail simplesmente porque "dá muito trabalho" ou "não vale a pena". Perfeito! Se você seguiu o que leu até agora provavelmente você já tem um projeto com um bom nome no meio de tantos outros e, com certeza ja possui uma equipe digna embora com certeza pequena. Mas não de preocupe, quem foi que disse que tamanho é documento? Uma equipe menor é mais unida e mais facilmente você irá conseguir administrá-la. Como organizar tarefas? Tudo pronto para iniciar Capitão! Capitão? Se você pensou que após ter uma equipe as coisas iam fluir naturalmente você errou feio. Mesmo encontrando membros dedicados e interessados você não terá bons resultados se não souber gerenciá-los. Ao contrário do que todos dizem, uma equipe tem de ser dada tarefas e prazos, ninguém pode ficar sem o que fazer, entre outras besteiras que se ouve por ai, uma equipe deve ser gerenciada de forma humana de modo a criar um laço entre "empregador" e "empregado" A idéia de que todos da equipe devem possuir uma tarefa a todo instante de modo a não paralisar as atividades também está errada. Uma equipe é feita de pessoas e pessoas tem seus problemas pessoais. Não pressionar os membros e fazê-los se sentir confortáveis tem seus méritos, obviamente moderadamente uma vez que também não devemos deixar um membro sempre na zona de conforto. Delegue tarefas sem prazos muito curtos afinal, mas vale um trabalho bem feito do que um que terá de ser refeito em pouco tempo. Mostre sim a cada membro seu lugar na equipe e o que cada um deve fazer. Na minha opinião, o mais fácil de iniciar em uma equipe é a parte gráfica e o planejamento deixando para depois o recrutamento de um programador. Gráficos são apelo visual e são de alta visibilidade dentro do projeto. Apresentar cenas teaser do seu jogo são um ótimo meio de atrair novos membros. Como se portar? Faça isso! Você, faça aquilo! Mas, porque ninguém me escuta? Como se portar dentro da equipe é crucial. Não se pode ser completamente relaxado e tranquilo com seus colaboradores nem completamente autoritário com os mesmo. O jeito é encontrar um balanço. Há hora para tudo. Se você precisa que alguém na equipe execute uma tarefa, não pressione mas também não o deixe pensar que pode fazer de tudo. Dê as ordens mas não seja autoritário. Membros que se sentem pressionados não conseguem executar suas tarefas de modo correto. Lembre-se de sempre entender seus colaboradores. Eles tem problemas pessoais e uma vida também, mesmo que estejam te ajudando eles não tem tal obrigação e podem muito bem deixar sua equipe. Entenda estes problemas e não se preocupe, se o membro está engajado, não é um problema pessoal que o afastará efetivamente de sua equipe. Finalmente! Agora você ja fez o básico e está pronto para desenvolver, lançar teasers, planejar, criar seu site, convocar novos membros, anunciar testar, lançar updates, investir, e fazer todas as outras atividades envolvidas no desenvolvimento de um jogo. Mas, Como fazer isso? Não perca as próximas partes do tópico "Administrando uma Equipe" Abraços, Marc~ Darien Era Administrator
  16. Estou olhando este tutorial -> http://www.xtibia.com/forum/topic/157897-tutorialcriando-website-com-xampp/ e to na parte 19.5) Set Admin Account Coloque uma senha SEGURA pois esse será o password do administrador do site e servidor. porem quando eu troco aparece STEP 5 Set Admin Account Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'vip_time' in 'field list'' in C:\xampp\htdocs\pot\OTS_Account.php:237 Stack trace: #0 C:\xampp\htdocs\pot\OTS_Account.php(237): PDO->query('SELECT `id`, `n...') #1 C:\xampp\htdocs\install.php(572): OTS_Account->load(1) #2 {main} thrown in C:\xampp\htdocs\pot\OTS_Account.php on line 237 RESPONDA O QUANTO ANTES VALE REP + r
  17. Primeiramente, boa tarde a todos. Quero alertar que procurei bastante antes de criar o tópico e realmente não encontrei. Gostaria de um scrip ou mesmo uma linha de comando, que apenas players VIPS possam criar e ter na account 2 vocações novas que eu criei. (ID: 13,14 e 15,16). A versão é 8.60. O otserv foi baixado aqui: [PROIBIDO POSTA LINKS DE OUTRO FORUMS DE TIBIA E/OU OTSERV.] [retirado por pess0a] Desdes já agradeço e espero que não tenha feito nada errado. Forte abraço!
  18. Quando eu crio um site para o ot os personagens antigos somem? Quero criar um site para meu ot mais estou com medo dissu acontecer porque tem lá que você cria uma nova database sei lá! "sou iniciante nisso"
  19. Assim... o player fala !createguild xTibia dai aparece ali embaixo certinho que a guild foi criada mais dai qdo da look no player q criou nao aparece q ele eh o leader e tambem nao da para abrir o guild chat para ivitar alguem.... E eu vou criar uma outra guild e fala q ja tou em uma. LoL Alguns disseram q era para ver na database se tinha a tal coluna.. mais eu n entendo disso.. como faço ???
×
×
  • Create New...