Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 08/14/12 em todas áreas
-
Tibia Harry Potter - By Beddy
irandasilvaalve reagiu a beddy por um tópico no fórum
HARRY POTTER ONLINE - by BEDDY Servidor TIBIA HARRY POTTER Alguma vez voce pensou que poderia ser um aluno de HOGWARTS? Agora é sua chance! Venha para o Harry Potter Online e fassa amigos, pegue varinhas, voe de vassoura e muito mais! Estou disponibilizando o servidor pois meu projeto do Harry Potter Online foi por agua abaixo, por causa de um cara que conseguiu rippar as sprites do quilante... Meu projeto já estava 90% andado, mas agora ferrou-se tudo. Então estou mandando a parte do meu projeto que está pronta, porem com sprites do quilante (Já ESTA TUDO ADAPTADO) - O QUE VOCE VAI TER QUE FAZER: Ajustar o servidor... Já estou te dando quase tudo de mao beijada, agora é só fazer alguns ajustes. Como: adicionar NPC, fazer action de compra de TOGA, e coisas simples! Bem.. é isso aproveitem! Distro Totalmente Estavel Sem bugs Sem virus Sem motherfuckingthings! Apenas alegria! -O QUE TEM NO SERVIDOR: •1 Classes: Aluno •O player ao upar um level, ganha "POINTS" para trocar por LIFE OU MANA assim torna o jogo mais sensivel •Mapa Proprio •JA EXISTE VIP E DONATES - AJUSTE PARA O NESCESSARIO -O QUE FALTA NO SERVIDOR: •AJUSTAR LIFE/HIT/LOOT DE MONSTROS - AJUSTAR OS SPRITES DAS HORCRUX (MAS O SISTEMA JA ESTA FUNCIONANDO CORRETAMENTE) -SISTEMAS: • Vassoura • Preparar poçoes (voce pega o axe [iD:2386], usa-o naqueles crystais que estaão espalhados pelo servidor, e com o crystal na backpack, use a magia "preparar", isso vai fazer com que seu caldeirão tenha carga,dai voce poderá dar USE no vial em cima do caldeirão para terminar sua poção!) -SITE HTML INCLUSO! DOWNLOAD: http://depositfiles....files/csh0uuxil http://depositfiles....files/csh0uuxil (INCLUSO: SERVIDOR, CLIENTE, SITE) SCREENS: REP+ PRA MIM POW! SCAN: Por Kaspersky PRO https://www.virustotal.com/file/c5b9fb7a023599d3be295eff034717e55d6e428753164d8377bc79777e34f722/analysis/1342184200/ Por Virus Total CREDITOS: Beddy Erickrusha - fez a parte do mapa do entorno de HOGWARTS,obrigado man!1 ponto -
Explicação: É o sistema de casamento conhecido, porém foi reformulado para funcionar em versões mais recentes. Descrição: O sistema conta com: Item: Os jogadores que se casar receberão um Wedding ring com seus nomes e data do casamento. Outfit: jogadores que se casam recebem outfit, caso se divorciem, perder as outfits. Look: o look mostra com quem é casado Combate: Os jogador não pode atacar seu patner Comandos: /marriage info -- mostra em uma janela o preço do casamento/divórcio e o level minimo para casar. /marriage status -- mostra com quem é casado e a data do casamento Outra coisa bem importante é que os dois jogadores NÃO precisam estar online para se divorciarem, exemplo: JOÃO e casado com MARIA, JOÃO vai até o npc e paga um preço para de divorciar, só quem pede o divorcio que paga a taxa, logo MARIA não precisa pagar nada pois seu Ex-Patner JOÃO já pagou. O que ela precisa fazer é "assinar" com o npc o seu divorcio também. Como casar? Player1: Player2: Na sua db execute: CREATE TABLE marriage_system ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, partner VARCHAR( 255 ) NOT NULL, marriage_date INTEGER NOT NULL, PRIMARY KEY ( id ) ); Caso você ter a outfit Husband e Wife(de casamento) no seu servidor abra o spoiler: Mods: Npc: Configuração:1 ponto
-
[ ~> Fazendo Seu Próprio Client <~ ] Fala Tibianos , Pokemianos , WODBOianos do Xtibia, Hoje estou aqui com o meu primeiro tutorial , com o objetivo de explicar tim tim por tim tim como fazer um Client.. Como eh meu primeiro tutorial estou começando com algo facil , espero que todos gostem: 1° passo , criando o executar do seu client com ip proprio : 2° passo , mudando a Pic do Client: 3° passo , mudando o icone do seu client: 4° passo , traduzindo seu client: 5° passo , criando um instalador para seu client: Link dos Programas usados: Então eh isso pessoal , espero ajudar alguem com esse Tutorial. Fico Devendo Imagens , + logo colocarei para facilitar Thx Edit: Imagens Adicionadas , espero que fique + facil de compreender.1 ponto
-
VENHO TRAZER O MEU SERVER ARRUMADO E SEM BUGS NAO QUIS MAIS ABRIR MEU SV ENTAO VO POSTA OQ TEM NELE: Kame Vocation Raditz Vocation C16 Vocation & Muito Mais... Shenron Novas Transforms Novas Spells Fusoes melhoradas (Todos, Escrever: fusion) Escreva "Transform" Ou Escrever: transformar. Taxa de equilibrio (Aproximadamente 90% dos Skill) Monstros Dividido com "nivel" Armas Melhoradas e Com porcentagem de leveL ARRUMEI TODOS OS BUGS MENOS DO BOL (AOL) QUE EU N CONSEGUI E TAMBEM TODOS OS BUGS DO SITE. SS DO SITE : DEPOIS EU COLOCO SS's DO SERVER ! DOWNLOAD's : Cliente: https://www.mediafire.com/?gob4q7ksfj0w39h Server : http://www.mediafire...klkkxzgbwl9am0n Site : http://www.mediafire...b6f4eks2qlf8bsi Creditos : CRAZZY (PELO MAPA) EU (POR ARRUMAR OS BUGS MAPA E SITE) MEU IRMAO (POR ME AJUDAR NO SERVIDOR) MATHEUSVIDALOKA (PELO CLINTE) TE AJUDEI ME DA 1 REP++ AEW CUSTA NADA! * 11/02/2014 - CLIENTE RE-UPADO. NEM SABIA QUE TINHA QUEBRADO O LINK MALS.1 ponto
-
Server usado: The Forgotten Server, version 0.3.6 Função usada: doCreateCustomMonster(name, pos, outfit, health, spells, corpse, distance, experience ) Autor: MeNi (OTLand) Fala ai amigos do XTibia, vim aqui hoje pra trazer uma função muito maneira que é a: doCreateCustomMonster, ela é muito usada para fazer clones do proprio player (Que eu saiba). Foto como exemplo: Bom vamos lá: Abra o arquivo: luascript.cpp E abaixo do código: Adicione: No mesmo arquivo, abaixo do código: //doCreateMonster(name, pos) lua_register(m_luaState, "doCreateMonster", LuaScriptInterface::luaDoCreateMonster); Adicione: //doCreateCustomMonster(name, pos, outfit, health, spells, corpse, distance, experience ) lua_register(m_luaState, "doCreateCustomMonster", LuaScriptInterface::luaDoCreateCustomMonster); Agora abra o arquivo: luascript.h Nesse aquivo, abaixo da linha: static int32_t luaDoCreateMonster(lua_State* L); Adicione: static int32_t luaDoCreateCustomMonster(lua_State* L); E pra finalizar, abra o arquivo: monsters.h E procure a palavra: private E coloque ela para: public ATENÇÃO: Não exclua NENHUM código já existente, só adiciona como ja explicado acima. OBS: A cada modificação nos arquivos que você editou, você devera salva, se não você corre o risco de perde o que você adicionou. PS: Qualquer ERRO na hora de compilar, podem ser dos seguinte motivos: - Você excluiu algo. - Você copio e colo errado. - Não soube compilar direito. - Ou seu server não é compativel com o código. Exemplo de uso: 1º Crie um arquivo na pasta talkactions/scripts com o nome de clone.lua e coloque em seu conteúdo: Explicando: doCreateCustomMonster(nome, posição, outfit, health, attacks, corpo quando morto, distancia do player, experiencia) 2º Abra o arquivo talkactions.xml e adicione em qualquer lugar: <talkaction words="!clone" event="script" value="clone.lua"/> Créditos: MeNi (OTLand) 95%, pelo script C++. NogareD 2% (XTibia) pela talkaction. Eu o Flaah 3% (XTibia) pela pesquisa na net pelo sistema. Bom é isso ai pessoal, tomara que vocês tenham gostado. AJUDEI?! +REP1 ponto
-
Server Centurion V2 Super Editado
HenrikDiamond reagiu a tubercuculo por um tópico no fórum
Novos pokémons da 1ª até 4ª Geração. Todos pokémons Lendários da 1ª a 4ª Geração Novas sprites de Outfits e Veículos. Adicionados comandos como !buyvip, luz, correr. Adicionadas mais quest's total de 55 quest's 32 Free's 23 novas quest's vip's Novas cidade VIP com várias houses. Saffron e Cerulean unidas adicionando mais 34 houses no servidor. Os Pokemons da 1° a 4° Geração totalmente já distribuidos no mapa. Cliente Própio do Pokémon Centurion Editado , Com algumas Palavras em português. Rain System Bike System Car System Motocycle System +110 Pokes Adicionados Novos pokes espalhados no novo continente Pokes Johto espalhados Creditos:Cacaiu Permissão De Cacaiu Server V2 Editado: http://www.4shared.c...l?cau2=403tNull Client: http://www.4shared.c...l?cau2=403tNull Em Breve Postarei a V3.2 Credito Pel Server Cacaiu Pela Postagem Eu1 ponto -
[9.54, 9.6] Remere's Map Editor (3.0 Beta)
Mighty Duck reagiu a beddy por um tópico no fórum
Retirado da OTLAND Remere's postou um link de um BETA em seu twitter para baixar-mos. Ele suporta 9.4, 9.5 e tambem suporta o 9.6. A new feature in this BETA is the find and replace dialog. Download link: remeresmapeditor.com/rmedl.php?file=RME-win-3.0-beta-8.zip Importante: Nao tente converter um mapa antigo (version < 8.1) com essa versão. Twitter do Remere's: (pra quem quiser seguir e ficar de olho nas novidades) https://twitter.com/leRemere1 ponto -
Olá galera, hoje vou postar mais um script para pokemon dash advanced. Bem legal e acho que também é um dos mais procurados... Vamos a ele. Nome: Duel System por Action O que faz? Faz com que dois players duelem com limites de pokemons, escolhido no inicio das configurações da batalha. Primeiro vamos à actions/scripts e criaremos um arquivo chamado duelSystem.lua e dentro vamos colar o código abaixo: Agora vamos a tag, em actions.XML cole a seguinte tag: <action itemid="id do item que vai o player vai usar para o duel" event="script" value="duelSystem.lua"/> Pronto. Vamos a pasta xml/channels.xml e crie as seguintes janelas: <channel id="id decorrente da sua channel" name="1 Pokemon"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="2 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="3 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="4 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="5 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="6 Pokemons"> <vocation id="51"/> </channel> Depois disso, não mude mais nada. Vamos agora em vocations.xml e vamos colar a seguinte tag dentro: <vocation id="51" name="Duel" description="pokemon trainer" needpremium="0" gaincap="0" gainhp="55" gainmana="0" gainhpticks="0" gainhpamount="0" gainmanaticks="0" gainmanaamount="0" manamultiplier="1.1" attackspeed="-1" soulmax="251" gainsoulticks="-1" fromvoc="1" lessloss="0"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="2" club="2" sword="2" axe="2" distance="2" shielding="2" fishing="2" experience="1.1"/> </vocation> Obs: Não mude nada nela... Feito isso, vamos a pasta creaturescripts/scripts e vamos criar um arquivo chamado duelSystemChannel.lua e colaremos o código a seguir dentro: Agora vamos colocar duas tags, uma em login.lua e a outra em creaturescripts.xml: CreatureScript.xml: <event type="joinchannel" name="DuelSystemChannel" event="script" value="duelSystemChannel.lua"/> Login.lua registerCreatureEvent(cid, "DuelSystemChannel") Feito isso, vamos a talkactions/scripts e criaremos um arquivo chamado acceptDuel.lua e dentro cole o código abaixo: Agora vamos á talkactions.XML e colaremos as tag a seguir: <talkaction words="yes" event="script" value="duel.lua"/> <talkaction words="sim" event="script" value="duel.lua"/> Agora vamos em lib/ e criaremos um arquivo chamado duelLibSystem.lua e colaremos o seguinte código dentro: Vamos para actions/scripts/goback.lua e vamos procurar por está linha: if item.itemid == usando then Abaixo disso cole isso: doBackPokeballsInDuel(cid) Aindan no mesmo script procure por: elseif item.itemid == pokeballs[btype].on then E abaixo dele cole isso: checkPokeballsInDuel(cid) Vamos agora em creaturescripts/scripts/goback.lua e antes do utimo apague tudo e cole isto dentro: Obs: O script falta duas funções para funcionar perfeitamente. A primeira é para não deixar o player usar o item em cima dele mesmo. A segunda e para não deixar o player deslogar enquanto está no duel. Tentei e tentei mas não consegui... Caso alguém possa ajudar fico muito grato. Como funciona? Você da use em cima do player que quer batalhar, escolhe quantos pokemons querem usar. O outro player fala (“yes” ou “sim”) e começam a duelar. Eu deixei uma função para deixar um player attackar o outro se ele estiver sem pokemon. Porem não perdera nada se morrer. É isso galera espero que gostem. Lembrando vou atualizar este sistema para melhora-lo. Só deixei ele para teste. Caso gostem termino ele.1 ponto
-
Kings-Baiak Galera como esta na moda este servidor resolvi trabalhar emcima de um baiak. Vamos ao Servidor: Protocolo: 8.6 Distro: Kingsworld-ats rev 036 ( TFS Editado ) Mapa: Yorots editado com vip 8 Aconselho usar em MYSQL por causa dos systemas adicionados ( sqlite nao tera as tabelas devidas voce prescisa importar elas caso for usar mysql ) para usar em sqlyte importe a database kingsbaiak.sql para seu sqlyte. O Que eu adicionei no Servidor: Sistema de refinamento 100% funcional refinando ate+25 Sistema de Lotery 100% Sistema de Surpresinha ( Uma pedra que voce ganha na lotery que da items randoms ) Sistema de P_Points ( Pontos que podem ser usado no shopping free do webSite ) Sistema de Desgugar Char ( usando comando /desbugar ou /tp ) Sistema de Guild war com Bandeiras 100% Adicionado novos items sendo eles: Kingsworld-arrow,kingsworld-sword,kingsworld axe,kingsworld bow,brave set,magician set,ultimate set,ultimat set,ultimate staff, ultimate star, ultimate axe, ultimate sword,experince ring,addon doll,pedras de refinamentos IDs: 8301,8302,8303,8304. Entre muitas outras Novidades. Magias Novas: eletrick = lvl 1k kings baiak = lvl 1k meteoro = lvl 500 ( target ) Servidor esta muito bom distro e website estaveis. Bugs do Servidor: Nem um bug critico foi econtrado em 10 dias online. Ao iniciar o Servidor da alguns erros no distro porem sao erros de respaw e uma casa que esta com defeito. Nada critico que comprometa a integridade do Servidor. Todos os defeitos citados a cima podem ser facilmente resolvidos com paciencia em ler o erro e excluir o respaw do servidor. website: Sistema de trade offline Sistema de Guild war Rank de Guilds Sistema de Signatures ( 50% ) Sistema de Shopping free ( 100% ) Sistema de Shopping vip ( basta adicionar um shop novo de outro Gersior e renomear o novo shopping ) Instalaçao do Servidor: Primeiro edite o config.lua do servidor Segundo importe a database pasta otserver/database/kingsbaiak.sql Instale o website. (nao tem o arquivo install.php recomendo usar de outro website ou configurar o site manualmente ) Edite os char samples para a possition 155/52/7 town-ID 1 Pronto galera =P. Sem+ Usem para saber. O que contem nos Downloads: Servidor+dlls+WebSite+ItemEditor compativel Downloads: Kings-Baiak.dll.rar Kings-baiak Server.rar htdocs.rar Scann: Nao fis porque internet e pouca e estou rodando um servidor ( a moderaçao sempre costuma fazer um scann ) Creditos: Sistemas novos( varios scripts nao vou lembrar nome de todos entao caso tenha um script seu favor dizer que sera adicionado seus creditos ) Sistema P_Points = LSM PERFECT REFINE SYSTEM = LPZ ,Edicoes e Adicionais Oroshroz e Blumaster Surpresinha = Newtonnotwen Edicoes do webSite: BLuMasteR/ base do website [Gersior acc+ edicoes [ADM] Danger ] Distro,dlls: Fireelement Mapa: Yorots Nao sei quem foi o autor das edicoes Incluir todos os adicionais e items: BLuMasTeR1 ponto
-
[Encerrado] Sources Ajude Me Rep+
vidalokkka reagiu a jhon992 por um tópico no fórum
Todas as sources free da OtLand: http://otland.net/subversion.php?svn=public&file=listing.php&repname=forgottenserver&path=%2Ftags%2F#a2752a4ad0822c5acbda0ff9fd26a5c261 ponto -
Vodka Help Aki
GuuhMaster reagiu a Vodkart por uma questão
cara, não sei se vc percebeu mas ele está fazendo o contrário, e o motivo é obvio, é porque não tinha portão criado lá! você tinha que ter deixado os portões fechados, ai o script ia funcionar normal, desse jeito: IMG 1 IMG 2 IMG 3 entendeu?1 ponto -
data/creaturescripts/scripts/nome_do_arquivo.lua function onAreaCombat(cid, ground, position, aggressive) if aggressive == true and getWorldType() == 1 then return false end return true end data/creaturescripts/scripts/login.lua registerCreatureEvent(cid, "BloquearMagia") data/creaturescripts/creaturescripts.xml <event type="areacombat" name="BloquearMagia" event="script" value="nome_do_arquivo.lua"/>1 ponto
-
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local parameters = {} local teleports = { ["Random Void"] = {price = 100, position = {x = 0, y = 0, z = 7}} } 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 function onCreatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid for name, info in pairs(teleports) do if msgcontains(msg, name) then selfSay("Você quer ir para {".. name .."}?", cid) talkState[talkUser] = 1 parameters[talkUser] = info break end end if talkState[talkUser] == 1 then if msgcontains(msg, "yes") then if doPlayerRemoveMoney(cid, parameters[talkUser].price) then doTeleportThing(cid, parameters[talkUser].position) selfSay("Boa viagem!", cid) else selfSay("Desculpe, você não possui ".. parameters[talkUser].price .." gp para viajar.", cid) talkState[talkUser] = 0 end elseif msgcontains(msg, "no") then selfSay("Tudo bem, volte quando mudar de ideia.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end end return true end local msg = "Olá, |PLAYERNAME|. Gostaria de viajar? Posso te levar para: " local i = 1 for name, info in pairs(teleports) do msg = msg .." {".. name .."}" .. (i == 1 and "" or ", ") i = i + 1 end npcHandler:setMessage(MESSAGE_GREET, msg) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback) npcHandler:addModule(FocusModule:new()) Configure novos locais aqui: local teleports = { ["Random Void"] = {price = 100, position = {x = 0, y = 0, z = 7}} } Sempre colocando vírgula no final da linha, com exceção da última linha. local teleports = { ["Random Void"] = {price = 100, position = {x = 0, y = 0, z = 7}}, ["Terra do Exemplo"] = {price = 777, position = {x = 160, y = 54, z = 7}} }1 ponto
-
hmm entendi xD que bom amigo! qualquer dúvida só postar1 ponto
-
Ajuda Com Esse Script De Ausente
KennyConrad reagiu a Oneshot por uma questão
local config = { messages = {"AUSENTE!", "VOLTO JÁ!"}, delay = 10 } local function automessage(cid) if isCreature(cid) then if getCreatureStorage(cid, 101010) == 1 then doCreatureSay(cid, config.messages[math.random(1, #config.messages)], TALKTYPE_ORANGE_1) addEvent(automessage, config.delay * 1000, cid) end end return end function onSay(cid, words, param, channel) if getCreatureStorage(cid, 101010) == -1 then doCreatureSay(cid, config.messages[math.random(1, #config.messages)], TALKTYPE_ORANGE_1) addEvent(automessage, config.delay * 1000, cid) doPlayerSendCancel(cid, "Ausente Ativado") doCreatureSetStorage(cid, 101010, 1) else doPlayerSendCancel(cid, "Ausente Desativado") doCreatureSetStorage(cid, 101010, -1) end return true end1 ponto -
Comando De Stamina Só Para Vips
\Mattheus ~* reagiu a Oneshot por uma questão
function onSay(cid, words, param) if getCreatureStorage(cid, 15967) < os.time() then return doPlayerPopupFYI(cid, "Apenas VIPs podem recuperar stamina.") end if not doPlayerRemoveItem(cid, 5468, 1) then return doPlayerSendCancel(cid, "Você não possui ".. getItemNameById(5468) ..".") end doPlayerAddStamina(cid, 100000000) doSendMagicEffect(getThingPosition(cd), CONST_ME_HOLYAREA) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você será kickado em 10 segundos para regenerar sua stamina.") addEvent(doRemoveCreature, 10 * 1000, cid, true) return true end1 ponto -
É o seguinte abiguinho. Abre o seu "Config.lua" E acha a linha deathListEnabled = true Ela deve estar "True" ou "yes" Dependendo do Open Tibia. Se não funcionar posta aqui denovo.1 ponto
-
Alguem Me Arruma Um Script De Alavanca De Monstros?
Bolinhoo28 reagiu a LuckOake por uma questão
Tó.1 ponto -
1 ponto
-
Muito Bom Esse Server REP+1 ponto
-
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid 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 function greetCallback(cid) talkState[talkUser] = 0 return true end function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false end local vocationsNameId = { {name = "Elder Druid", id = 5}, -- nome da vocação, id {name = "Master Sorcerer", id = 6} } local startstorageid = 30031 local msg = string.lower(msg) if getPlayerLevel(cid) < 20 then selfSay("You need level 20 to change vocation.", cid) npcHandler:onCreatureDisappear(cid) end if getPlayerStorageValue(cid, startstorageid) == 3 then selfSay("You has changed your vocation!", cid) npcHandler:onCreatureDisappear(cid) end if msgcontains(msg, 'yes') and talkState[talkUser] == nil or talkState[talkUser] == 0 then selfSay("You want to change your vocation?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, 'no') and talkState[talkUser] == nil or talkState[talkUser] == 0 then talkState[talkUser] = 0 npcHandler:onCreatureDisappear(cid) elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then selfSay("Ok, you change to {"..(vocationsNameId[1].name).."} or {"..(vocationsNameId[2].name).."}?", cid) talkState[talkUser] = 3 elseif msgcontains(msg, 'no') and talkState[talkUser] == 2 then talkState[talkUser] = 0 npcHandler:onCreatureDisappear(cid) elseif msgcontains(msg, string.lower(vocationsNameId[1].name)) and talkState[talkUser] == 3 then selfSay("You want to change your vocation to {"..(vocationsNameId[1].name).."}?", cid) setPlayerStorageValue(cid, startstorageid, 1) talkState[talkUser] = 4 elseif msgcontains(msg, string.lower(vocationsNameId[2].name)) and talkState[talkUser] == 3 then selfSay("You want to change your vocation to {"..(vocationsNameId[2].name).."}?", cid) setPlayerStorageValue(cid, startstorageid, 2) talkState[talkUser] = 4 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 4 then doPlayerSetVocation(cid, vocationsNameId[getPlayerStorageValue(cid, startstorageid)].id) doSendMagicEffect(getCreaturePosition(cid), 29) setPlayerStorageValue(cid, startstorageid, 3) selfSay("Ok, you have changed this vocation to vocation {"..(vocationsNameId[getPlayerStorageValue(cid, startstorageid)].name).."}.", cid) talkState[talkUser] = 0 npcHandler:onCreatureDisappear(cid) elseif msgcontains(msg, 'no') and talkState[talkUser] == 4 then talkState[talkUser] = 0 npcHandler:onCreatureDisappear(cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())1 ponto
-
Erimyth Manow pf continua o Projeto e O melhor que javi Esses ot de Vip 100000 sao chatos esse e simples e bom melhor que ja vi ate agora1 ponto
-
Nome: onWriteToChannel(cid, channelId, text) Tipo: Código C++ Autor: Colandus, Oneshot (Adaptação 0.4 + Default Channel) Fala, galera. Esse é um código C++ que serve como add-on para o seu servidor, ele adiciona um novo tipo de função para os creaturescripts, que é executado toda vez que um jogador envia uma mensagem ao servidor. Foi criado por Colandus e estou trazendo ao XTibia por ser um código muito útil e interessante de se usar nos servidores. Lembrando que os passos abaixo devem ser seguidos em um IDE de sua preferência para posterior compilação. Em creatureevent.h, procure por: CREATURE_EVENT_CHANNEL_LEAVE, Adicione logo abaixo: CREATURE_EVENT_CHANNEL_WRITE, Ainda em creatureevent.h, procure por: uint32_t executeChannelLeave(Player* player, uint16_t channelId, UsersMap usersMap); Adicione abaixo: uint32_t executeChannelWrite(Player* player, uint16_t channelId, std::string text); Agora em creaturescripts.cpp, logo abaixo de: else if(tmpStr == "joinchannel") m_type = CREATURE_EVENT_CHANNEL_JOIN; Adicione: else if(tmpStr == "writechannel") m_type = CREATURE_EVENT_CHANNEL_WRITE; Abaixo de: case CREATURE_EVENT_CHANNEL_LEAVE: return "onLeaveChannel"; Adicione: case CREATURE_EVENT_CHANNEL_WRITE: return "onWriteToChannel"; Abaixo de: case CREATURE_EVENT_CHANNEL_LEAVE: return "cid, channel, users"; Adicione: case CREATURE_EVENT_CHANNEL_WRITE: return "cid, channel, text"; Logo após o fim da função: uint32_t CreatureEvent::executeChannelLeave(Player* player, uint16_t channelId, UsersMap usersMap) Adicione: uint32_t CreatureEvent::executeChannelWrite(Player* player, uint16_t channelId, std::string text) { //onWriteToChannel(cid, channel, text) if(m_scriptInterface->reserveScriptEnv()) { ScriptEnviroment* env = m_scriptInterface->getScriptEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(player->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(player) << std::endl; scriptstream << "local channel = " << channelId << std::endl; scriptstream << "local text = " << text << std::endl; scriptstream << m_scriptData; bool result = true; if(m_scriptInterface->loadBuffer(scriptstream.str()) != -1) { lua_State* L = m_scriptInterface->getLuaState(); result = m_scriptInterface->getGlobalBool(L, "_result", true); } m_scriptInterface->releaseScriptEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ char desc[35]; sprintf(desc, "%s", player->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_scriptInterface); env->setRealPos(player->getPosition()); lua_State* L = m_scriptInterface->getLuaState(); m_scriptInterface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); lua_pushnumber(L, channelId); lua_pushstring(L, text.c_str()); bool result = m_scriptInterface->callFunction(3); m_scriptInterface->releaseScriptEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeChannelWrite] Call stack overflow." << std::endl; return 0; } } 0.4 Em game.cpp, procure pela função: Game::playerSay Acima de: if(player->isAccountManager()) { if(mute) player->removeMessageBuffer(); return internalCreatureSay(player, SPEAK_SAY, text, false); } Adicione: CreatureEventList writeEvents = player->getCreatureEvents(CREATURE_EVENT_CHANNEL_WRITE); for(CreatureEventList::iterator it = writeEvents.begin(); it != writeEvents.end(); ++it) if(!(*it)->executeChannelWrite(player, channelId, text)) return true; Finalmente no chat.cpp, procure pela função: Chat::talkToChannel Acima de: if(channelId != CHANNEL_GUILD || !g_config.getBool(ConfigManager::INGAME_GUILD_MANAGEMENT) || (text[0] != '!' && text[0] != '/')) Adicione: CreatureEventList writeEvents = player->getCreatureEvents(CREATURE_EVENT_CHANNEL_WRITE); for(CreatureEventList::iterator it = writeEvents.begin(); it != writeEvents.end(); ++it) if(!(*it)->executeChannelWrite(player, channelId, text)) return true; Exemplo de Uso: function onWriteToChannel(cid, channelId, text) if text:lower():find(".servegame.com") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "É proibido divulgar servidores aqui.") return false end return true end <event type="writechannel" name="WriteToChannel" event="script" value="writetochannel.lua"/> São várias as possibilidades de uso. Abraços.1 ponto
-
Aprendendo Criar Npcs De Compra
evolutionsky reagiu a grigacuin por um tópico no fórum
Cara, 2 coisas voce eskeceu, esse tipo de script é de servidor com protocolo -8.3 os novos NPC's sao mais ou menos assim, e ai o 1º [MEGA] Stone é o que o player fala pra compra XD o segundo é o nome do item q talvez apareça para que ele compre, más tambem o seu ot pod pega o nome pelo itemID XD Más os antigos script's sao assim mesmo XD. Parabéns! XD1 ponto -
Gesior Acc Maker 0.3.8 Modificado E Customizado
corujinha11 reagiu a walefxavier por um tópico no fórum
Apague os samples que ja existem e re-instale o site...1 ponto -
é o meu ta dando essee erro oq fasso? Notice: Undefined index: page in C:\xampp\htdocs\install.php on line 40 Notice: Undefined index: page in C:\xampp\htdocs\install.php on line 52 Notice: Undefined index: page in C:\xampp\htdocs\install.php on line 631 ponto
-
Como Criar Quest
866664 reagiu a Demonbholder por uma questão
Põe uma actionid no baú pelo mapeditor. Depois adiciona isso em actions.xml <action actionid="AID" event="script" value="NomeDoArquivo.lua"/> É isso, até.1 ponto -
------------------------------------------------------------------------------------------------------------------------------------ Cara estou impressionado com esse seu script, ja sabia que existia esse tipo de script mais, esse como no propio topico diz esta aperfeiçoado, espero ver o mesmo acima da perfeição. REP ++ ------------------------------------------------------------------------------------------------------------------------------------ - Att. Saymon, Abraços.1 ponto
-
Aprovado Organizado e Util. Att, Luan121 ponto