-
Total de itens
1347 -
Registro em
-
Última visita
-
Dias Ganhos
36
Tudo que Oneshot postou
-
Consertei, desculpe. Agora esse negócio de não ser compatível com 64-bits. Meu computador é 64-bits e abre normal.
-
Open Tibia Data Cleaner Fala aí, pessoal. Sabe quando você baixa aquele servidor muito daora e vai dar uma olhada na pasta 'data' dele e está aquela baderna? Por exemplo, na pasta actions, milhares de scripts sem utilidade, que nem registrados no actions.xml estão, jogados por todas as pastas? Seus problemas acabaram. Este é um aplicativo desenvolvido para limpar a pasta 'data' do seu servidor, procurando por scripts .lua que não estão registrados nos XMLs de cada pasta. Essa é a versão Alpha do aplicativo e gostaria de receber um feedback dos usuários para saber como aprimorar ainda mais ele. Por enquanto ele ainda está limitado a limpeza de scripts .lua em arquivos XML principais, ou seja, ele não irá limpar as pastas npc e monster do seu servidor. Para utilizar, basta colocar o aplicativo e a dll na pasta raiz do seu servidor. Qualquer bug encontrado, por favor, poste aqui no tópico. Abraços Download otdc.tar.gz
-
dbholder? lol
- 16 respostas
-
- 724 linhas
- script
- (e 4 mais)
-
local outfits = { [136] = 137, [128] = 129, } function onAttack(cid, target) local tmp = getCreatureOutfit(cid) if outfits[tmp.lookType] then tmp.lookType = outfits[tmp.lookType] doSetCreatureOutfit(cid, tmp, 900) end return true end registerCreatureEvent(cid, "AttackAnimation") <event type="attack" name="AttackAnimation" event="script" value="attackanimation.lua"/> Testado e funcional. Coloquei como exemplo, se o jogador está com a outfit Citizen, muda para Hunter por 900 milissegundos, ficaria bem mais realista se mudasse conforme o attackspeed do jogador, mas não existe uma função que retorne o attackspeed. Abraços.
-
Nah, para explodir o PC é assim: repeat while true do for i = 1, math.huge do os.execute("ECHO " .. i) end end until false By: vulpes vulpes Skyen Hasus
-
[Arquivado]Porque Não Investem Em Server 9.6X?
tópico respondeu ao Daniel Bighouse de Oneshot em Noticias - Arquivo
Não, na boa, você chama os programadores de covardes e preguiçosos e quer ainda que alguém, de boa vontade, faça algo para você? Este tópico é ridículo, simplesmente porque vejo um leecher, ou "sugador", revoltado porque não tem o programinha dele para usar. Fico puto, pois não vejo um leecher sequer, pesquisar que em que linguagem tal aplicativo foi programado, estudar uma linguagem de programação para tentar desenvolver algo. Eu tenho nojo do seu tipo, que quer tudo na mão. Na boa, o covarde e preguiçoso aqui é você. Abraços. -
[Encerrado][SAO] Slayer Art Online - Inscreva-se!
tópico respondeu ao TheGODMaX de Oneshot em Formação de Equipes
Acho que vocês deviam se basear na proposta do anime, na sua história e mecânica de jogo, mas não a ponto de usar esse sistema de morte. Boa sorte. -
dúvida Como eu posso editar o combat da minha spell?
pergunta respondeu ao tonynamoral de Oneshot em Scripts
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 2) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 local item = getPlayerItemById(cid, true, 1211) local level, skill_axe = getItemAttribute(item.uid, "nivel"), getPlayerSkillLevel(cid, SKILL_AXE) local extra = (skill_axe + level) return -(skillTotal * 0.5 + levelTotal + extra), -(skillTotal * 1.5 + levelTotal + extra) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) doCombat(cid, combat, var) end -
Ah talvez eu faça isso sim em um próximo update, rsrs.
-
<?xml version="1.0" encoding="UTF-8"?> <npc name="NPC" script="default.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="128" head="0" body="74" legs="25" feet="107"/> <parameters> <parameter key="module_shop" value="1"/> <parameter key="message_greet" value="Hello |PLAYERNAME|. I buy and sell items, just say {trade}."/> <parameter key="shop_buyable" value="axe,2386,20;battle axe,2378,235;battle hammer,2417,350;bone sword,2450,75;brass armor,2465,450;brass helmet,2460,120;brass legs,2478,195;brass shield,2511,65;carlin sword,2395,473;chain armor,2464,200;chain helmet,2458,52;chain legs,2648,80;club,2382,5;coat,2651,8;crowbar,2416,260;dagger,2379,5;doublet,2485,16;dwarven shield,2525,500;hand axe,2380,8;iron helmet,2459,390;jacket,2650,12;leather armor,2467,35;leather boots,2643,10;leather helmet,2461,12;leather legs,2649,10;longsword,2397,160;mace,2398,90;morning star,2394,430;plate armor,2463,1200;plate shield,2510,125;rapier,2384,15;sabre,2385,35;scale armor,2483,260;short sword,2406,26;sickle,2405,7;soldier helmet,2481,110;spike sword,2383,8000;steel helmet,2457,580;steel shield,2509,240;studded armor,2484,90;studded helmet,2482,63;studded legs,2468,50;studded shield,2526,50;sword,2376,85;throwing knife,2410,25;two handed sword,2377,950;viking helmet,2473,265;viking shield,2531,260;war hammer,2391,10000;wooden shield,2512,15;" /> <parameter key="shop_sellable" value="axe,2386,7;battle axe,2378,80;battle hammer,2417,120;battle shield,2513,95;bone club,2449,5;bone sword,2450,20;brass armor,2465,150;brass helmet,2460,30;brass legs,2478,49;brass shield,2511,25;carlin sword,2395,118;chain armor,2464,70;chain helmet,2458,17;chain legs,2648,25;club,2382,1;coat,2651,1;copper shield,2530,50;crowbar,2416,50;dagger,2379,2;double axe,2387,260;doublet,2485,3;dwarven shield,2525,100;fire sword,2392,1000;halberd,2381,400;hand axe,2380,4;hatchet,2388,25;iron helmet,2459,150;jacket,2650,1;katana,2412,35;leather armor,2467,12;leather boots,2643,2;leather helmet,2461,4;leather legs,2649,9;legion helmet,2480,22;longsword,2397,51;mace,2398,30;magic plate armor,2472,6400;morning star,2394,100;orcish axe,2428,350;plate armor,2463,400;plate legs,2647,115;plate shield,2510,45;rapier,2384,5;sabre,2385,12;scale armor,2483,75;short sword,2406,10;sickle,2405,3;small axe,2559,5;soldier helmet,2481,16;spike sword,2383,240;steel helmet,2457,293;steel shield,2509,80;studded armor,2484,25;studded club,2448,10;studded helmet,2482,20;studded legs,2468,15;studded shield,2526,16;sword,2376,25;throwing knife,2410,2;two handed sword,2377,450;viking helmet,2473,66;viking shield,2531,85;war hammer,2391,470;wooden shield,2512,5;" /> </parameters> </npc>
-
Trade NPC Creator Este é um executável simples, criado por mim, que gera XMLs de NPCs feitos para vender ou comprar itens. Todas as instruções de uso estão no arquivo readme.txt da pasta do programa. trade npc creator.tar.gz
-
Falha minha, eu achei que existia um SLOT_SHIELD. Existe apenas para mãos SLOT_LEFT e SLOT_RIGHT. Tente um desses. Abraços.
-
Isso.
-
Sources. Item* Player::getWeapon(bool ignoreAmmo) { if(weapon) return weapon; Item* item = NULL; for(int32_t slot = SLOT_RIGHT; slot <= SLOT_LEFT; ++slot) { if(!(item = getEquippedItem((slots_t)slot)) || item->getWeaponType() != WEAPON_DIST) continue; if(!ignoreAmmo && item->getAmmoType() != AMMO_NONE) { Item* ammoItem = getInventoryItem(SLOT_AMMO); if(ammoItem && ammoItem->getAmmoType() == item->getAmmoType()) { if(g_weapons->getWeapon(ammoItem)) { shootRange = item->getShootRange(); return ammoItem; } } } else if(g_weapons->getWeapon(item)) { shootRange = item->getShootRange(); return item; } } return NULL; } Só editar essa linha. Item* ammoItem = getInventoryItem(SLOT_AMMO); Por essa: Item* ammoItem = (getInventoryItem(SLOT_AMMO) || getInventoryItem(SLOT_SHIELD)); Não testado. Abraços.
-
retireCharactersInArrayString(string, array)
tópico respondeu ao caotic de Oneshot em Mods, funções e outros
Legalzinha, mas dá pra fazer tudo isso com um string.gsub, caotic. function removeCharInString(str, pat) pat = table.concat(pat) str = str:gsub("[".. pat .."]", "") return str end Abração. -
Legalzinha a tua função, SmiX. Não vejo muita aplicações dela em scripts, mas é bom para aprendizado. Abraços. Obs: Teria como parar de usar a descrição do Mock no seu nick?
-
Cara, Barzinho do Éks. "Tudo que não é ligado ao Tibia ou ao OTServ pode ser postado aqui. Compre uma cerveja pelo preço de duas e ganhe a segunda de graça!" E depois quer ficar irritadinho porque está sendo zuado? Poste isso na Discussões, Matérias e Entrevistas que você terá um feedback melhor por lá.
-
Se a sua é funcional, não importa o tamanho. Eu fiz a minha meio gambiarra para só quebrar espaços de strings, ou seja uma string gigante de 30 caracteres sem espaços não quebraria.
-
string.skipline = function(s, l) if string.len(s) > l then local x = string.sub(s, 1, l) local y = string.sub(s, (l + 1), string.len(s)) if string.len(y) > l then y = string.skipline(y, l) end s = x .. string.gsub(y, "%s", "\n", 1) end return s end Vê se funciona legal aí. Abraços.
-
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -8100, 0, -8300, 0) function onCastSpell(cid, var) for i = 1, 2 do doCombat(cid, combat, var) end return true end
-
Olá, DoGoZ. As sources do OtClient vem com o parâmetro CMAKE_BUILD_TYPE configurado como Debug por padrão e é por isso que ele fica com um tamanho de cerca de 70MB. Para que seu cliente fique com um tamanho de 10MB, você precisa configurar como Release no CMake. Abraços.
-
Olá, XTibiano. Utilize com maior frequência a barra de pesquisa do fórum. http://www.xtibia.com/forum/topic/137748-tutorialadicionando-efeitos/ Um grande abraço.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.