Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 07/06/12 em todas áreas
-
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
-
[8.60] Dark Baiak By: Lukaszg 0.0.1
kriookinha reagiu a LukaszG por um tópico no fórum
Dark Baiak 8.60 By: LukaszG. Templo renovado,city toda renovada,muitas novidades. Npc que vende set vip, pra mage,pali,kina FAST ATACK ROX OT 100% PRA WAR. BALANCEADO Templo Dark City. City Of War DP. Futebol. !BuyVip. Vip City. Quests. Teleport Vip. Welcome. Teleport Free. Dark City Full. Espero Que Gostem!! :button_ok: DOWNLOAD AQUI Scan. :star: Creditos :star: (Death Core). (Baiak). (LukaszG). Senha Do GOD: god/god SEMPRE INOVANDO SEMPRE TEREMOS UPDATE FIQUE DE OLHO. Se Gostou Da Um REP + Nao Vai Cair A Mão Update. City Of War atualizada agora as houses 100%. SERVER REVIZADO E AGORA ESTA 100% Update para nova verção até o dia 15/08/2011 Update V2 pronto Daki auguns dias estara ai pra download VLW Galerinhaa1 ponto -
Esse sistema serve para que você possa usar duas weapons ao mesmo tempo uma em cada slot correspondente as mãos do personagem. Com ele você pode utilizar duas sword's, dois axe's, dois club's ou etc... Esse sistema simplismente soma o attack do item que estiver no slot esquerdo com o attack do item que estiver no slot esquerdo. Aew vai os code para inserir nas sources! Vá em player.ccp e procure por: ret = RET_CANONLYUSEONEWEAPON; Você ira encontrar dois "ret = RET_CANONLYUSEONEWEAPON;", substitua por: ret = RET_NOERROR; Após, localize weapons.h e procure por: const Weapon* getWeapon(const Item* item) const; Embaixo você coloca: static int32_t getAttackLeft; static int32_t getAttackRigth; static int32_t getLeftExtraAttack; static int32_t getRigthExtraAttack; Depois, localize weapons.ccp e procure por: int32_t WeaponMelee::getWeaponDamage(const Player* player, const Creature* target, const Item* item, bool maxDamage /*= false*/) const { int32_t attackSkill = player->getWeaponSkill(item); int32_t attackValue = std::max((int32_t)0, (int32_t(item->getAttack() + item->getExtraAttack()) - elementDamage)); float attackFactor = player->getAttackFactor(); Substitua por: int32_t WeaponMelee::getWeaponDamage(const Player* player, const Creature* target, const Item* item, bool maxDamage /*= false*/) const { int32_t getAttackLeft; int32_t getAttackRigth; int32_t getLeftExtraAttack; int32_t getRigthExtraAttack; getAttackLeft = 0; getAttackRigth = 0; getLeftExtraAttack = 0; getRigthExtraAttack = 0; if (getAttackLeft == 0) { if (player->getInventoryItem(SLOT_LEFT) != NULL) { getAttackLeft = player->getInventoryItem(SLOT_LEFT)->getAttack(); getLeftExtraAttack = player->getInventoryItem(SLOT_LEFT)->getExtraAttack(); } else if (player->getInventoryItem(SLOT_LEFT) == NULL) { getAttackLeft = 0; getLeftExtraAttack = 0; } } if (getAttackRigth == 0) { if (player->getInventoryItem(SLOT_RIGHT) != NULL) { getAttackRigth = player->getInventoryItem(SLOT_RIGHT)->getAttack(); getRigthExtraAttack = player->getInventoryItem(SLOT_RIGHT)->getExtraAttack(); } else if (player->getInventoryItem(SLOT_RIGHT) == NULL) { getAttackRigth = 0; getRigthExtraAttack = 0; } } int32_t attackValue = std::max((int32_t)0, (int32_t)((getAttackLeft + getLeftExtraAttack + getAttackRigth + getRigthExtraAttack) - elementDamage)); int32_t attackSkill = player->getWeaponSkill(item); float attackFactor = player->getAttackFactor(); Compile e pronto!1 ponto
-
http://www.4shared.com/rar/7blZxvH-/spr_e_dat_do_otpokemon.html ai esta1 ponto
-
[Encerrado] Mapa Rozinx .
boladoxer reagiu a apocalypse02 por um tópico no fórum
Sou Novato Aqui Gostaria de Pedir Um Mapa Acho que todos devem saber do mapa rozinx , queria esse mapa , se voces puder, me ajuda , darei REP+ Todo Dia Para Quem Me Ajudar Se estiver na seçao errada , gostaria de pedir para que movam . Se nao conseguirem arrumar esse mapa Poderia me passa um tutorial explicando como usar mapa tracker 8.6 Obrigado , qual quer coisa msn : gbr_155@hotmail.com | ip do servidor : raiva.servegame.com Se nao for , pedir muito gostaria do mapa completo , por exemplo , spells , talkactions , vocations , se nao conseguirem pode ser so o mapa . Obrigado .1 ponto -
Em actions/scripts crie um arquivo.lua e cole isto dentro: pedra = {x=1,y=1,z=1, stackpos = 1} --- a posição da pedra // nao mexa no stackpos idpedra = 1111 -- coloque o id da pedra time = 20 -- tempo em segundos para a pedra aparecer function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(getThingfromPos(pedra).uid, 1) doPlayerSendTextMessage(cid, 18, "Você tem ".. time .." segundos para passar antes que a pedra volte!") addEvent(createPedra, time*1000) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end function createPedra(pos) pos = {x=1,y=1,z=1,stackpos=1} --- posicao da pedra idpedra = 1111 --- id da pedra doCreateItem(idpedra, 1, pos) end O script é autoexplicativo, é só editar as posições e o id da pedra. Em actions.xml cole a tag: <action actionid="XXXX" script="NOMEDOSEUARQUIVO.lua"/> Você deve trocar o XXXX pelo actionid da a alavanca que você colocou pelo seu map editor. Vlw, espero ter ajudado, abraços!</action>1 ponto
-
Precisa ativar o autoborder se quiser fazer por essa paleta. Para ativar o autoborder, pressione A.1 ponto
-
usa o novo script que eu te passei cara function onLogin(cid) local thais_town = 2 -- town da cidade de thais if vip.hasVip(cid) == TRUE then setPlayerStorageValue(cid, 9898, 1) elseif getPlayerStorageValue(cid, 9898) == 1 and vip.hasVip(cid) == FALSE and vip.getVip(cid) == 0 then doPlayerSetTown(cid, thais_town) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) end return true end aqui nessa parte vc muda local thais_town = 2 -- town da cidade de thais coloca a id da town de thais porque depois tem uma função que troca a town do player doPlayerSetTown(cid, thais_town) difícil hein?1 ponto
-
opa.. va em movements e add isso: <!-- Exp ring --> <movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"> <movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"> <movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"> agora va em scrips, copie qualquer um e renomeia para expring e cole: local rate = 1.5 function onEquip(cid, item, slot) if(item.itemid ~= 7697) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your exp rate + "..((rate - 1)*100).."%.") doPlayerSetExperienceRate(cid, rate) doTransformItem(item.uid, 7708 ) return true end return true end function onDeEquip(cid, item, slot) if(item.itemid ~= 7708 ) then return true end doPlayerSetExperienceRate(cid, 1.0) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your extra experience rate has ended.") doTransformItem(item.uid, 7697) return true end ae vc so muda o ID do ring se quiser, apenas va testando, a materia prima ja esta ae, esta configurado para 50% a mais de exp quando usado o ring, so é configurar.. e para fazer outro anel de exp s aplicar o mesmo script mudando a ID do ring.. va testando! qualquer duvida tb podera ver com atençao esse tutorial nesse topico: http://www.xtibia.com/forum/topic/162054-exp-ring-anel-de-experiencia/ -- Ajudei? +REP1 ponto
-
Duvida Em Funções De Scripts.
eduardo190696 reagiu a Vinc por uma questão
1 use o exemplo nesse link http://www.xtibia.com/forum/topic/189268-tabletostring-e-loadtablestring/ a tag da talk fica <talkaction words="savepos;returnpos" event="script" value="nomedoarquivo.lua"/> n esquece de trocar o value pelo nome do arquivo que tu coloca, e é nessesario copiar as funções na lib 2 vc precisa de uma função setcreatureName, caso seu server n tenha,vc vai precisa das sourcers dele pois so é posivel fasela em c++,essa função esta disponivel na area de codigos prontos 3 mude oncastspell(cid,var) para onSay(cid,words,param) e use funções como doAddCondition(cid, condition) doRemoveCondition(cid, type[, subId]) doRemoveConditions(cid[, onlyPersistent]) doAreaCombatHealth(cid, type, pos, area, min, max, effect) doTargetCombatHealth(cid, target, type, min, max, effect) doAreaCombatMana(cid, pos, area, min, max, effect) doTargetCombatMana(cid, target, min, max, effect) doAreaCombatCondition(cid, pos, area, condition, effect) doTargetCombatCondition(cid, target, condition, effect) doAreaCombatDispel(cid, pos, area, type, effect) doTargetCombatDispel(cid, target, type, effect) 4 use um creturescript onTarget(cid,target) e use doTeleportThing(cid, getCreaturePos(target)),para n teleporta em tile que n dão para andar vose vai presisar de uma função getFreetile que pode ser encontrada nas lib de qualquer serve de pokemon1 ponto -
Você Pode Pagar um Host Particular , ou Pode Hostear de graça no seu PC (ou de um amigo) Host Particular Depende .. Pode Custar Barato , mas pode haver muito lag , mapa tem de ser pequeno , poucos players ... Mas o Caro , Pode no caso um mapa gigante , muitos players e Pouco Lag . (No Caso Porai Seria um Assalto) Mas eu Recomendo a primeiramente Hostear ou na sua casa ou na casa do seu amigo . Pois se o OT fizer sucesso , você pode pagar um HOST Particular ou Dedicado (quem sabe um VPS) ^^1 ponto
-
function onLogin(cid) local storage,days = (getPlayerAccountId(cid)+550),1 if getGlobalStorageValue(storage) <= 0 then setGlobalStorageValue(storage, 1) addVipDays(cid, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu um "..days.." dias de vip, bom jogo!") end return true end1 ponto
-
Tradução Tibia 8.7
renanalexandre reagiu a Vinc por uma questão
you see a pode ser muda o creaturescript onLook,o you are exhausted tem que ser pelas sourcers(conjunto de arquivos que quando compilados formão o ".exe"),nas sourcers da pra edita tbm o you see a(do outro modo é uma ganbiarra,mas tambem serve muito bem)1 ponto -
Alavanca De Quest Estilo Anihi Rep+
moisesd2 reagiu a athermillard por um tópico no fórum
Ta vamos lá (espero que funcione :S): Adicione essa tag em seu actions.xml: Crie um arquivo chamado alavanca.lua em actions/scripts e coloque isso dentro: Legenda: Verde: Local onde os players se encontram Vermelho: Local onde os players vão parar Azul: Storage de action id que você terá que colocar na alavanca Azul Claro: Mensagem que irá aparecer aparecer quando o jogador usar a alavanca e não tiver o nº de players suficientes para continuar Amarelo: Level que você precisa para puxar a alavanca Verde Escuro: Mensagem que aparecerá se os players não tiverem o level necessário ----------------------------------------------------------------------------------------------------------------------------- Ajudei? REP+1 ponto -
[Weapon]Nova Wand Estilo Inovador[Com Imagens]
Luissergio reagiu a meubk por um tópico no fórum
hehehe, meu script1 ponto