-
Total de itens
926 -
Registro em
-
Última visita
-
Dias Ganhos
18
Tudo que Danihcv postou
-
dúvida [Encerrado] Skills com level maximo
tópico respondeu ao Tiagone de Danihcv em Tópicos Sem Resposta
Isso eh configuração feita nas sources, porém n sei em qual arquivo... Caso ngm te responda com eficiência, fuça aí pelos arquivos da source p ver se tu acha... -
local config = { loginMessage = getConfigValue('loginMessage') } function onLogin(cid) if(getPlayerPremiumDays(cid) > 0) then doPlayerPopupFYI(cid, "Voce e premium!\n e Ganha 30% mais \n de Exp") else doPlayerPopupFYI(cid, "Voce nao e premium!\n Compre e ganhe 30% a mais \n de Exp") end local loss = getConfigValue('deathLostPercent') if(loss ~= nil) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10) end local accountManager = getPlayerAccountManager(cid) if(accountManager == MANAGER_NONE) then local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage if(lastLogin > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "." else str = str .. " Please choose your outfit." doPlayerSendOutfitWindow(cid) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.") end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "killer") registerCreatureEvent(cid, "TiraBattle") registerCreatureEvent(cid, "tkexp") registerCreatureEvent(cid, "castleexp") registerCreatureEvent(cid, "CombatDodge") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "attackguild") registerCreatureEvent(cid, "advance") registerCreatureEvent(cid, "FimVip") registerCreatureEvent(cid, "forever amulet") registerCreatureEvent(cid, "SkullCheck") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, VipReceive) registerCreatureEvent(cid, "PlayerKill") registerCreatureEvent(cid, "VipReceive") registerCreatureEvent(cid, "DeathBroadCast") registerCreatureEvent(cid, "sendEffect") registerCreatureEvent(cid, "zombieevent") registerCreatureEvent(cid, "checkBless") registerCreatureEvent(cid, "vipeffects") if (InitArenaScript ~= 0) then InitArenaScript = 1 -- make arena rooms free for i = 42300, 42309 do setGlobalStorageValue(i, 0) setGlobalStorageValue(i+100, 0) end end registerCreatureEvent(cid, "critical") if getPlayerStorageValue(cid, 48903) == -1 then setPlayerStorageValue(cid, 48903, 0) end -- if he did not make full arena 1 he must start from zero if getPlayerStorageValue(cid, 42309) < 1 then for i = 42300, 42309 do setPlayerStorageValue(cid, i, 0) end end -- if he did not make full arena 2 he must start from zero if getPlayerStorageValue(cid, 42319) < 1 then for i = 42310, 42319 do setPlayerStorageValue(cid, i, 0) end end -- if he did not make full arena 3 he must start from zero if getPlayerStorageValue(cid, 42329) < 1 then for i = 42320, 42329 do setPlayerStorageValue(cid, i, 0) end end if getPlayerStorageValue(cid, 42355) == -1 then setPlayerStorageValue(cid, 42355, 0) -- did not arena level end setPlayerStorageValue(cid, 42350, 0) -- time to kick 0 setPlayerStorageValue(cid, 42352, 0) -- is not in arena if getPlayerStorageValue(cid, 11548) == -1 then setPlayerStorageValue(cid, 11548, 1) end return true end
-
[TFS 1.x] Message types - Tipos de mensagem
tópico respondeu ao Danihcv de Danihcv em Tutoriais de Scripting
@, vlww man. -
@@narutomaniacos, opa, então, o forum está passando por uma atualização essa semana. Ao final da atualização vc mesmo poderá alterar seu nick. Então, apenas aguarde mais um pouco. sahsauhsauhsa ^^
-
[TFS 1.x] Message types - Tipos de mensagem
tópico respondeu ao Danihcv de Danihcv em Tutoriais de Scripting
@@Mudrock, vlw mô véi! -
[TFS 1.x] Message types - Tipos de mensagem
tópico respondeu ao Danihcv de Danihcv em Tutoriais de Scripting
@@Daniel, vlw Dani. ^^ @@Marco Oliveira, é nois, bro. ^^ -
Tópico movido para dúvidas / pedidos resolvidos.
-
erro [Encerrado] Erro de compilação Linux
tópico respondeu ao jvcasarin de Danihcv em Tópicos Sem Resposta
Tópico movido para dúvidas / pedidos resolvidos. -
Ok... Vamos tentar isolar o problema... Troque o seu script do sistema, por esse: *ou seja, troque o ultimo script que vc me mandou por pm, por esse: function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } return size.day + size.week + size.month end function onLogin(cid) registerCreatureEvent(cid, "fraglook") return true end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..']') return true elseif thing.uid == cid then doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..']') local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'' if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end local online = getOnlinePlayers() local winner = online[1] for l, pid in pairs(online) do if getPlayerFrags(online[l]) > getPlayerFrags(winner) then local winner = online[l] end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, tostring(getCreatureName(winner))) return true end
-
[TFS 0.3/0.4] Messages types - Tipos de mensagens
tópico respondeu ao Danihcv de Danihcv em Tutoriais de Scripting
@@felzan, geraram sim. Eu testei todos. Todos estão geraram o que é mostrado nas respectivas prints... Que estranho... #edit: estou me referindo aos testes feitos em 0.3 -
[TFS 0.3/0.4] Messages types - Tipos de mensagens
tópico respondeu ao Danihcv de Danihcv em Tutoriais de Scripting
Vlww @@felzan. Eu ja tava preparando o topico do 1.x ^^ @@Caronte vlw bro. -
[TFS 0.3/0.4] Messages types - Tipos de mensagens
tópico respondeu ao Danihcv de Danihcv em Tutoriais de Scripting
@@Daniel, vlw Dani!! -
@@viniciusd, amigo, vc baixou as sources do programa... sahusahu Pra baixar o programa executavel clique aqui. Porém, para a instalação e uso do mesmo, vc precisa ter o adobe air instalado.
- 38 respostas
-
- dat editor
- sprites
-
(e 2 mais)
Tags:
-
[Arquivado]O Servidor Global mais completo!
tópico respondeu ao Administrador de Danihcv em Noticias - Arquivo
Aí eu boto fé! -
@@Vasto Lord X, amigo, vc soh pode dar 1 UP a cada 24 horas.
-
Acho q descolo um note hj a tarde. Então, acho q comparecerei.
-
action Talkaction para retirar premium points do Site
pergunta respondeu ao Dennyz Dias de Danihcv em Scripts
Disponha. ^^ <p>Tópico movido para dúvidas / pedidos resolvidos.</p> -
*Apenas a titulo de testes... Vá em data\talkactions e adicione essa tag ao arquivo talkactions.xml: <talkaction words="!teste" event="script" value="teste.lua"/> Agora vá em data\talkactions\scripts e crie um arquivo chamado teste.lua e adicione isso dentro: local function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } return size.day + size.week + size.month end function onSay(cid, words, param) local online = getOnlinePlayers() local winner = online[1] for l, pid in pairs(online) do if getPlayerFrags(online[l]) > getPlayerFrags(winner) then local winner = online[l] end end print(getCreatureName(winner)) return true end Agora, dentro do jogo utilize o comando !teste e então confira no console (distro) se apareceu algum nome de player avulso na ultima linha.
-
[TFS 1.x] Message types - Tipos de mensagem
um tópico no fórum postou Danihcv Tutoriais de Scripting
Olá, xTibianos. Hoje venho lhes trazer outra lista de tipos de mensagens que podem ser mandadas aos players (por meio de scripts, óbvio). Os seguintes tipos de mensagens são os usados nas versões 1.x do The Forgotten Server (TFS para os íntimos). Segue a lista dos tipos de mensagens e uma breve descrição de como cada tipo de mensagem se apresenta in-game: MESSAGE_STATUS_CONSOLE_BLUE = 4, /*Mensagem azul no console*/ MESSAGE_STATUS_CONSOLE_RED = 13, /*Mensagem vermelha no console*/ MESSAGE_STATUS_DEFAULT = 17, /*Mensagem branca na parte inferior da tela do jogo e no console*/ MESSAGE_STATUS_WARNING = 18, /*Mensagem vermelha no centro da tela do jogo e no console*/ MESSAGE_EVENT_ADVANCE = 19, /*Mensagem branca no centro da tela do jogo e no console*/ MESSAGE_STATUS_SMALL = 21, /*Mensagem branca na parte inferior da tela do jogo"*/ MESSAGE_INFO_DESCR = 22, /*Mensagem verde no centro da tela do jogo e no console*/ MESSAGE_DAMAGE_DEALT = 23, /*Mensagem branca no console*/ MESSAGE_DAMAGE_RECEIVED = 24, MESSAGE_HEALED = 25, MESSAGE_EXPERIENCE = 26, MESSAGE_DAMAGE_OTHERS = 27, MESSAGE_HEALED_OTHERS = 28, MESSAGE_EXPERIENCE_OTHERS = 29, MESSAGE_EVENT_DEFAULT = 30, MESSAGE_LOOT = 31, MESSAGE_EVENT_ORANGE = 36, /*Mensagem laranja no console*/ MESSAGE_STATUS_CONSOLE_ORANGE = 37 lembrando que no script pode ser usado tanto a "parte escrita" quanto o numero correspondente! Agora segue uma sequencia de prints da execução de cada tipo de mensagem in-game: as divisórias "//" indicam que todas os tipos de mensagens presentes antes/depois delas surtem os mesmos efeitos (representados nas prints) MESSAGE_STATUS_CONSOLE_BLUE MESSAGE_STATUS_CONSOLE_RED MESSAGE_STATUS_DEFAULT // MESSAGE_EVENT_DEFAULT MESSAGE_STATUS_WARNING MESSAGE_EVENT_ADVANCE MESSAGE_STATUS_SMALL MESSAGE_INFO_DESCR // MESSAGE_LOOT MESSAGE_DAMAGE_DEALT // MESSAGE_DAMAGE_RECEIVED // MESSAGE_HEALED // MESSAGE_EXPERIENCE // MESSAGE_DAMAGE_OTHERS // MESSAGE_HEALED_OTHERS // MESSAGE_EXPERIENCE_OTHERS MESSAGE_EVENT_ORANGE // MESSAGE_STATUS_CONSOLE_ORANGE Por hoje é isso, galera. Espero que tenha sido útil. ^^ Créditos: @Danihcv -
[TFS 0.3/0.4] Messages types - Tipos de mensagens
um tópico no fórum postou Danihcv Tutoriais de Scripting
Olá, xTibianos. Hoje venho lhes trazer algo simples mas bem prático: os tipos de mensagens que podem ser mandadas aos players (por meio de scripts, óbvio). Esses tipos de mensagens são os usados nas versões 0.3/0.4 do The Forgotten Server (TFS para os íntimos). Segue a lista dos tipos de mensagens: MESSAGE_STATUS_CONSOLE_BLUE = 4 MESSAGE_STATUS_CONSOLE_RED = 12 MESSAGE_STATUS_DEFAULT = 16 MESSAGE_STATUS_WARNING = 17 MESSAGE_EVENT_ADVANCE = 18 MESSAGE_STATUS_SMALL = 19 MESSAGE_INFO_DESCR = 20 MESSAGE_DAMAGE_DEALT = 21 MESSAGE_DAMAGE_RECEIVED = 22 MESSAGE_HEALED = 23 MESSAGE_EXPERIENCE = 24 MESSAGE_DAMAGE_OTHERS = 25 MESSAGE_HEALED_OTHERS = 26 MESSAGE_EXPERIENCE_OTHERS = 27 MESSAGE_EVENT_DEFAULT = 28 MESSAGE_LOOT = 29 MESSAGE_TRADE_NPC = 30 MESSAGE_EVENT_GUILD = 31 MESSAGE_PARTY_MANAGEMENT = 32 MESSAGE_PARTY = 33 MESSAGE_EVENT_ORANGE = 34 MESSAGE_STATUS_CONSOLE_ORANGE = 35 MESSAGE_REPORT = 36 MESSAGE_HOTKEY_USE = 37 lembrando que no script pode ser usado tanto a "parte escrita" quanto o numero correspondente! Agora segue uma sequencia de prints da execução de cada tipo de mensagem in-game: as divisórias "//" indicam que todas os tipos de mensagens presentes antes/depois delas surtem os mesmos efeitos (representados nas prints) MESSAGE_STATUS_CONSOLE_BLUE MESSAGE_STATUS_CONSOLE_RED MESSAGE_STATUS_DEFAULT // MESSAGE_EVENT_DEFAULT MESSAGE_STATUS_WARNING MESSAGE_EVENT_ADVANCE // MESSAGE_REPORT MESSAGE_STATUS_SMALL MESSAGE_INFO_DESCR // MESSAGE_LOOT // MESSAGE_TRADE_NPC // MESSAGE_EVENT_GUILD // MESSAGE_PARTY_MANAGEMENT // MESSAGE_PARTY // MESSAGE_HOTKEY_USE MESSAGE_DAMAGE_DEALT // MESSAGE_DAMAGE_RECEIVED // MESSAGE_HEALED // MESSAGE_EXPERIENCE // MESSAGE_DAMAGE_OTHERS // MESSAGE_HEALED_OTHERS // MESSAGE_EXPERIENCE_OTHERS MESSAGE_EVENT_ORANGE // MESSAGE_STATUS_CONSOLE_ORANGE Por hoje é isso, galera. Espero que tenha sido útil. ^^ Créditos: @Danihcv -
action Talkaction para retirar premium points do Site
pergunta respondeu ao Dennyz Dias de Danihcv em Scripts
@, shauashuash vlw bro! ^^ -
action Registrar 1 item com 2 tags no action.xml sem da duplicate
pergunta respondeu ao Developer Berg de Danihcv em Scripts
Tópico movido para dúvidas / pedidos resolvidos. -
FINALMENTEE!!!!! shuahsuauhas Consegui! Eis o .lua: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 -------------------------- ----PARTE CONFIGURAVEL---- -------------------------- local gatilhos={"informacoes", "mysterious island", "second promotion"} local msgs = { ["informacoes"] = "Sobre o que você quer saber? Sobre a {mysterious island} ou sobre a {second promotion}?", ["mysterious island"] = 'É uma ilha que antigos diziam ficar ao sudoeste de Carlin. Há um teleport que dizem aparecer nos pântanos de Venore, talvez, ele leve a essa ilha.', ["second promotion"] = 'Há um NPC que vem de muito longe e fica a caminhas pelos campos de Thais, dizem que ele pode dar a segunda vocação para os aventureiros.', } local vocs = {1,2,5} ----------------------------- --FIM DA PARTE CONFIGURAVEL-- ----------------------------- function greetCallback(cid) if isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Olá, '..getCreatureName(cid)..'. O que você procura? {Informacoes}?', cid) npcHandler:addFocus(cid) else npcHandler:say('Eu não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:resetNpc(cid) return false end return false end function creatureSayCallback(cid, type, msg) for k, v in pairs(gatilhos) do if isInArray(vocs, getPlayerVocation(cid)) then if msgcontains(msg, v) then if msgcontains(msg, v) then npcHandler:say(msgs[v], cid) end elseif msgcontains(msg, 'bye') or msgcontains(msg, 'goodbye') then npcHandler:resetNpc(cid) return false end else npcHandler:say('Eu ja disse que nao falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) .xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Ezequiel" script="data/npc/scripts/Ezequiel.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"> <health max="100" now="100"/> <look type="130" head="0" body="64" legs="67" feet="114" addons="1" mount="0"/> </npc> Funciona assim: Essa tabela: Tem que estar em sincronia com essa: Ou seja, o primeiro gatilho da tabela gatilhos tem que ser o primeiro elemento da tabela msgs. E assim por diante.? Bom, a espera valeu a pena, caro amigo. sahusauhsauh Eu mesmo testei e está td certo. ^^ Tópico movido para dúvidas / pedidos resolvidos.
-
Tópico movido para dúvidas / pedidos resolvidos.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.