
Tudo que Skydangerous postou
-
[Pedido] Spell
Sou ruim de spell. Tentei fazer aqui, não sei se está funcionando local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.366, 0, -0.641, 0) local combat2 = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.366, 0, -0.641, 0) local combat3 = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.366, 0, -0.641, 0) local combat4 = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.366, 0, -0.641, 0) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) setCombatArea(combat2, area) setCombatArea(combat3, area) setCombatArea(combat4, area) function onCastSpell(cid, var) if getPlayerVocation(cid) == 1 then return doCombat(cid, combat, var) elseif getPlayerVocation(cid) == 2 then return doCombat(cid, combat2, var) elseif getPlayerVocation(cid) == 3 then return doCombat(cid, combat3, var) elseif getPlayerVocation(cid) == 4 then return doCombat(cid, combat4, var) end end Testa ai... lembra de mudar os efeitos .. pq todos estão repetidos :>
- Web Siteer
-
(Resolvido) Horario de Verão
eu também. mas queria saber como faz hauh'.
-
Novo Avatar[+Fotos e Enquete]
@ferlations Mais respeito gafanhoto. uHAUHa'
-
Novo Avatar[+Fotos e Enquete]
e agora?
-
Novo Avatar[+Fotos e Enquete]
Troquei meu avatar como podem perceber ao lado .. O que vocês acharam? Aprovado?
-
Lyan ...
é 2 estourou a corda mizinha do meu violão
-
[Pedido] Distro 8.6 estável
ok. thanks reputado !
-
Amldiçoado de novooooo
uHUAH'. Músiquinha irritante
-
[Pedido] Distro 8.6 estável
Iae Alguém pode me passar um distro bom para versão 8.6.. Eu preferia se tivesse com escudos , ou se não existir um 8.7 com escudos estou criando um servidor :>
-
(Resolvido) [Pedido] Lua - Aprender ! Scripters ajudem !
Oque é lower case? Transforma strings em strings minusculas. Ex: "SKYDANGEROUS" - "skydangerous"
-
(Resolvido) [Pedido] Lua - Aprender ! Scripters ajudem !
Ochi.. Em vez de fazer em 2 linhas faz em 1. Ex: Local a = 1 local b = 2 ------ Local a,b = 1,2 Viu ..
-
(Resolvido) [Pedido] Lua - Aprender ! Scripters ajudem !
Local = definir uma variavel. Dpa eu posto o resto, ..
-
Poblema a ligar meu OT.
A porta ta diferente. E 3306 .. Deve ser isso
-
skydangerous
vou começar a postar denovo. uhahua, tava tudo aqui guardada meus tutoriais e scripts :>
-
Truques de Mapping
Bom sobre a denuncia. Os tópicos estão semelhantes, mas isso não é considerado ripping. Mesmo assim parabéns.. ficaria melhor centralizar as imagens
-
skydangerous
uhahu'. e que eu tinha vários tópicos montadas , mas ainda não postei, tem mais uns 12 ainda .. fica tranquilo
- skydangerous
-
[Talkaction] Salvar Posição No Mapa E Voltando
O script é bem simples, ele salva a sua posição no mapa para que você possa retornar no lugar quando quiser. Salvando a posição(waypoint) no mapa Voltando novamente na posição Se tentar novamente não irá conseguir Crie um arquivo chamado funtele.lua na pasta talkaction/scripts function doMarkPos(cid, posx, posy, posz) setPlayerStorageValue(cid, 19000, posx) setPlayerStorageValue(cid, 19001, posy) setPlayerStorageValue(cid, 19002, posz) end function getMarkPos(cid) return {x=getPlayerStorageValue(cid, 19000), y=getPlayerStorageValue(cid, 19001), z=getPlayerStorageValue(cid, 19002)} end function onSay(cid, words, param) local pos = getCreaturePosition(cid) if words == "!salvar" then if getMarkPos(cid).x < 1 then doSendMagicEffect(pos,15) doMarkPos(cid, pos.x, pos.y, pos.z) doPlayerSendTextMessage(cid, 4, "Você salvou posicao no mapa.") else doPlayerSendCancel(cid, "Você já gravou posição.") end elseif words == "!voltar" then if getMarkPos(cid).x > 0 then doTeleportThing(cid, getMarkPos(cid)) doMarkPos(cid, 0, 0, 0) doPlayerSendTextMessage(cid, 21,"Você foi teleportado para o waypoint") doSendMagicEffect(pos,11) else doPlayerSendCancel(cid, "Você não gravou uma posição.") end end return TRUE end agora em talkaction.xml cole essa tag <talkaction words="!salvar;!voltar" event="script" value="funtele.lua"> Agradecimentos: DemonBholder & Apocarai(jaohd) </talkaction>
-
[Talkaction] Freakout
crie um arquivo chamado crazy.lua na pasta talkaction/script. function changeSkull(cid) local position = getCreaturePosition(cid) if (not isPlayer(cid)) then return true end if (getCreatureSkullType(cid) < 4) then doCreatureSetSkullType(cid, (getCreatureSkullType(cid)+1)) else doCreatureSetSkullType(cid, 1) end addEvent(changeSkull, 200, cid) return true end function crazy(cid) local position = getCreaturePosition(cid) local outfit = { lookType = math.random(137,160), lookHead = math.random(1,130), lookBody = math.random(1,130), lookLegs = math.random(1,130), lookFeet = math.random(1,130), lookAddons = 3 } doSendDistanceShoot(getCreaturePosition(cid), {x = position.x + math.random(-7, 7), y = position.y + math.random(-5, 5), z = position.z}, math.random(1,41)) doSendMagicEffect({x = position.x + math.random(-7, 7), y = position.y + math.random(-5, 5), z = position.z}, math.random(1,32)) doCreatureChangeOutfit(cid, outfit) doCreatureSetLookDirection(cid, math.random(1,8)) doCreatureSetSpeakType(cid, 19) doSetCreatureLight(cid, math.random(1,200), math.random(1,10), 1000) addEvent(crazy, 200, cid) return true end function onSay(cid, words, param, channel) local time = 1 local storage = 100 local outfit = { lookType = 128, lookHead = math.random(1,130), lookBody = math.random(1,130), lookLegs = math.random(1,130), lookFeet = math.random(1,130), lookAddons = 0 } if param == "on" and getPlayerStorageValue(cid, storage) == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Its Crazy Time.") addEvent(changeSkull, time * 200, cid) addEvent(crazy, time * 200, cid) setPlayerStorageValue(cid, storage, 1) elseif param == "off" then doCreatureChangeOutfit(cid, outfit) setPlayerStorageValue(cid, storage, -1) addEvent(doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"GoodBye"), 4000, cid) addEvent(doRemoveCreature, time * 2000, cid) end return true end </talkaction> agora em talkaction.xml cole a tag. <talkaction words="/crazy" hide="yes" event="script" value="crazy.lua"> Sync Assista o Video http://www.youtube.com/watch?v=H_Ex0G-sj1E Créditos
-
[Talkaction] Dando Mount Para O Player
Bom, essa talkaction é bem simples, você consegue dar mount para qualquer player do servidor, com uma talkaction. Crie um arquivo chamada mount.lua na pasta talkaction/scripts function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") t[1] = tonumber(t[1]) if(not t[1]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.") return true end local pid = cid if(t[2]) then pid = getPlayerByNameWildcard(t[2]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.") return true end end doPlayerAddMount(pid, t[1]) doSendMagicEffect(getThingPosition(pid), CONST_ME_MAGIC_BLUE) return true end agora na talkaction.xml cola a tag Alehopper a <talkaction log="yes" words="/mount" access="5" event="script" value="mount.lua"/> Créditos:
-
[Spell] Criar Items Novos
Bom , como meu servidor não foi pra frente , por alguns motivos , vou disponibilizar o script que o "Big Vamp" da vapus fez para mim. local config = { fromItem = 0, -- Item que precissa. toItem = 0 -- Item que vai transformar. } function onCastSpell(cid, var) if (getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == config.fromItem or getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == config.fromItem) then doPlayerRemoveItem(cid, config.fromItem, 1) doPlayerAddItem(cid, config.toItem, 1) else doPlayerSendCancel(cid, "You must have a " .. getItemNameById(config.fromItem) .. " in your hand to cast this spell.") end return true end em spells.xml <instant name="Potion" words="make potion" lvl="1" mana="20" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="spell.lua"> Como Funciona: é uma spells , onde você coloca o item que necessário na mão esquerda ou direita , e quando escrever o nome da spell , transformará em outro item. Esse script era do alquimista do meu servidor.</instant>
-
[Programação] Quando morre , corpo some [Poketibia]
Título: Quando existe um summon , após morrer não aparece o corpo Autor: KylerXX(OTLAND) & Skydangerous Nivél: Avançado Função: Quando seu pokemon morre não aparece o corpo dele no chão. Testado: TFS 0.3.6 é um simples código , porém você vai precissar da source do seu servidor e depois terá que compilar. Abra o arquivo na source chamado monster.cpp. Abaixo dessa tag Item* corpse = Creature::createCorpse(deathList) Cole essa tag uint8_t effect = 36; if(isSummon()) { const Position& tmp = getPosition(); g_game.addMagicEffect(tmp, effect); return NULL; } Pronto , salve e compile
-
[Programação] Magias Requerindo Skill
Tutorial: Soltando magia se tiver tanto de skill. Nivél: Expert Avançado. Esse sistema é perfeito para quem gosta de Dragon Ball, Naruto, Bleach e etc. Aplicação após a implementação do sistema na spells.xml: instant name="XXX" words="xxxx" clubpoints="XX" lvl="XX" mana="XX" aggressive=XX" selftarget="XX" exhaustion="XXX" event="script" value="XXX.lua"/> 1) Procure por player.cpp case RET_TILEISFULL: sendCancel("You cannot add more items on this tile."); break; e cola em cima do código case RET_NOTENOUGHSKILL: sendCancel("You do not have enough club fighting."); break; 2) Declare na linha (o qual será vericado) no spells.xml Procure por spells.cpp if(readXMLInteger(p, "maglv", intValue) || readXMLInteger(p, "magiclevel", intValue)) magLevel = intValue; e cola em cima do código if(readXMLInteger(p, "club", intValue) || readXMLInteger(p, "clubpoints", intValue)) clubpoints = intValue; 3) Adiciona na função principal Procure novamente spells.cpp if((int32_t)player->getMagicLevel() < magLevel) { player->sendCancelMessage(RET_NOTENOUGHMAGICLEVEL); g_game.addMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF); return false; } e cola em cima if((int32_t)player->getSkill(SKILL_CLUB, SKILL_LEVEL) < clubpoints) { player->sendCancelMessage(RET_NOTENOUGHSKILL); g_game.addMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF); return false; } 4) Procure spells.h Procure essa linha int32_t getMagicLevel() const {return magLevel;} cola em cima uint32_t getSkill() const {return clubpoints;} Procure novamente essa linha int32_t magLevel; cola em cima int32_t clubpoints; 5) Procure things.h E procure essa linha RET_TILEISFULL = 64, e cola em cima RET_NOTENOUGHTRAINPOINTS = 65 Para Configurar: Formula do spells: (ex. level*2 + clubpoints*2) Créditos SkyDangerous Fresh
-
[Npc] Banco De Guild
Esse npc é utizado pela guild , um npc de banco para todos membros. 1- Você deve ir na sua database é adicionar esse comando alter table guilds add balance int(11) not null default 0; 2- Agora crie um arquivo na pasta npc e coloque isso dentro. <!--?xml version="1.0" encoding="UTF-8"?--> <npc name="Jhon" script="guildbank.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"> <look type="129" head="114" body="119" legs="114" feet="114" corpse="2212"> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. If you wan't to see your guild's balance, say {balance}."> </parameter></parameters> </look></health></npc> Em seguida abra pasta scripts que está dentro da pasta npcs , crie um arquivo chamado guildbank e cole isto. function getGuildBalance(id) local query = db.getResult("select balance from guilds where id = " .. id .. ";") if query:getID() ~= -1 then return query:getDataInt("balance") end return LUA_ERROR end local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local money = 0 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if msgcontains(msg, "balance") then if getPlayerGuildId(cid) < 1 then selfSay("You don't have any guild.", cid) else selfSay("The balance for the guild " .. getPlayerGuildName(cid) .. " is " .. getGuildBalance(getPlayerGuildId(cid)) .. " gold coins.", cid) talkState[talkUser] = 0 end elseif msgcontains(msg, "deposit") then if getPlayerGuildId(cid) < 1 then selfSay("You don't have any guild.", cid) else selfSay("How much money do you want deposit to your guild balance?", cid) talkState[talkUser] = 1 end elseif talkState[talkUser] == 1 then if not tonumber(msg) or tonumber(msg) < 1 then selfSay("Please tell me how much do you want to deposit to your guild's balance?", cid) end money = math.abs(tonumber(msg)) selfSay("Are you sure that do you want to deposit " .. money .. " gold coins to your guild's balance?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then if getPlayerGuildId(cid) < 1 then selfSay("You don't have any guild.", cid) else if getPlayerMoney(cid) >= money then local query = db.executeQuery("update guilds set balance = balance + " .. money .. " where id = " .. getPlayerGuildId(cid) .. ";") if query ~= LUA_ERROR then selfSay("You have deposited " .. money .. " gold coins to your guild's balance.", cid) doPlayerRemoveMoney(cid, money) talkState[talkUser] = 0 else selfSay("Money can not be deposited, please contact a gamemaster.", cid) error("[Error::Query] " .. query .. ", error while trying to add a value into balance.") talkState[talkUser] = 0 end else selfSay("Sorry, you don't have the money.", cid) talkState[talkUser] = 0 end end elseif msgcontains(msg, "withdraw") then if getPlayerGuildId(cid) < 1 then selfSay("You don't have any guild.", cid) else selfSay("How much money do you want to withdraw from your guild's balance?", cid) talkState[talkUser] = 3 end elseif talkState[talkUser] == 3 then if not tonumber(msg) or tonumber(msg) < 1 then selfSay("Please tell me how much do you want to withdraw from your guild's balance?", cid) end money = math.abs(tonumber(msg)) selfSay("Are you sure that do you want to withdraw " .. money .. " gold coins from your guild's balance?", cid) talkState[talkUser] = 4 elseif msgcontains(msg, "yes") and talkState[talkUser] == 4 then if getPlayerGuildId(cid) < 1 then selfSay("You don't have any guild.", cid) else if getGuildBalance(getPlayerGuildId(cid)) >= money then local query = db.executeQuery("update guilds set balance = (balance - " .. money.. ") where id = " .. getPlayerGuildId(cid) .. ";") if query then selfSay("You withdraw " .. money .. " gold coins from your guild's balance.", cid) doPlayerAddMoney(cid, money) talkState[talkUser] = 0 else selfSay("Money can not be retired, please contact a gamemaster.", cid) error("[Error::Query] " .. query .. ", error while trying to remove a value from balance.") talkState[talkUser] = 0 end else selfSay("Sorry, your guild don't have the money in the balance.", cid) talkState[talkUser] = 0 end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Pronto , bom divertimento. Créditos: darkhaos