-
Total de itens
113 -
Registro em
-
Última visita
-
Dias Ganhos
2
Tudo que TaaG postou
-
To com uns problemas ao instalar o Modern e não sei o motivo. Provável atualização de mysql pra mysqli porém quero consultar aos experientes no assunto Web. Download da versão: https://github.com/Avuenja/ModernAAC Por favor, não sei qual o motivo do problema mas me parece simples, me ajudem ahweuiae Grato desde já!
-
Vou logar. Gostei!
- 10 respostas
-
- avatar lostavatar online
- avatar server
- (e 2 mais)
-
Script do Vodkart, ele autorizou o post. O script consiste em quando comprar a pot ao invés de vir com 1 carga, irá vir com 5 cargas. potregenera.lua (data/actions/scripts) function onUse(cid, item, fromPos, itemEx, toPos) local function doRegeneration(cid, formula, count) doCreatureAddHealth(cid, formula.health) doCreatureAddMana(cid, formula.mana) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) if (count ~= 1) then addEvent(doRegeneration, 1000, cid, formula, count - 1) end return TRUE end local tempo = 30 -- tempo que a potion ira ficar healando (tempo em segundos) local storage = 11148 -- nao mexa aqui local exhaust = 30 -- Tempo para player poder usar o item novamente! (tempo em segundos) local form = {health = getCreatureMaxHealth(cid) * 0.2 + 50, mana = getCreatureMaxMana(cid) * 0.15 + 40} if (getPlayerStorageValue(cid, storage) <= os.time()) then doRegeneration(cid, form, tempo) doChangeTypeItem(item.uid, item.type - 1) setPlayerStorageValue(cid, storage, os.time()+exhaust) else doPlayerSendCancel(cid, "Desculpe, voce so vai poder usar novamente em "..exhaust.." segundos.") end return TRUE end actions.xml <action itemid="7443" event="script" value="potregenera.lua" override="yes"/> Em items.xml, substitua:
-
Serve pra derivados? Só colocar o id e o effect né? Obrigado pelo conteúdo
-
Essa spell já existe no fórum porém com alguns bugs. Tentei atualizar ela para versões mais recentes mas o TFS é o único que está aceitando ela. Caso dê algum erro, vá até a linha 57 do script e adicione dois "--". Ficando assim: Creio que não irá ter erro. Achei a spell bem bacana porém estou sem SS dela.
-
Grande Vodkart!! Belo script.
-
O script consiste em quando você der look no player irá aparecer se ele é VIP ou FREE e quantas pessoas ele já matou (frags). SS: lookplayer.lua (data/creaturescripts/scripts) 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 onLook(cid, thing, position, lookDistance) local string = 'You see yourself.' if isPlayer(thing.uid) and thing.uid ~= cid then if getPlayerPremiumDays(thing.uid) > 0 then doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..'][VIP]') else doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..'][FREE]') end elseif thing.uid == cid then if getPlayerPremiumDays(cid) > 0 then doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..'][VIP]') else doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..'][FREE]') end 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 return true end creaturescripts.xml <event type="look" name="LookPlayer" event="script" value="lookplayer.lua"/> login.lua (data/creaturescripts) registerCreatureEvent(cid, "LookPlayer") Créditos: Taag - Suicide
-
programação Nao Ta Aparecendo PVP PAra o Ot Todo Guando Mata Um pk
pergunta respondeu ao deivisonamorim de TaaG em Programação
Tente novamente: #ifdef __SKULLSYSTEM__ Skulls_t Player::getSkull() const { if(getAccessLevel() >= ACCESS_PROTECT) return SKULL_NONE; return skull; } Skulls_t Player::getSkullClient(const Player* player) const { if(!player){ return SKULL_NONE; } Skulls_t skull; skull = player->getSkull(); #ifdef __PARTYSYSTEM__ if(skull != SKULL_RED && player->party != NULL && player->party == this->party) return SKULL_GREEN; #endif if(skull == SKULL_NONE){ if(player->hasAttacked(this)){ skull = SKULL_YELLOW; } } return skull; } bool Player::hasAttacked(const Player* attacked) const { if(accessLevel >= ACCESS_PROTECT) return SKULL_YELLOW; if(!attacked) return SKULL_YELLOW; AttackedSet::const_iterator it; unsigned long attacked_id = attacked->getID(); it = attackedSet.find(attacked_id); if(it != attackedSet.end()){ return true; } else{ return SKULL_YELLOW; } } void Player::addAttacked(const Player* attacked) { if(accessLevel >= ACCESS_PROTECT) return; if(!attacked || attacked == this) return; AttackedSet::iterator it; unsigned long attacked_id = attacked->getID(); it = attackedSet.find(attacked_id); if(it == attackedSet.end()){ attackedSet.insert(attacked_id); } } void Player::clearAttacked() { attackedSet.clear(); } void Player::addUnjustifiedDead(const Player* attacked) { if(getAccessLevel() >= ACCESS_PROTECT || attacked == this) return; std::stringstream msg; msg << "PvP: " << getName() << " (Level: " << getLevel() << ") Matou " << attacked->getName() << " (Level:" << attacked->getLevel() << ")."; g_game.addAnimatedText(this->getPosition(), 129, "Drink!"); for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){ if(dynamic_cast<Player*>(it->second)) (*it).second->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, msg.str().c_str()); } -
Creio que spell não (se sim, não sei) porém Runa é mais fácil
-
programação Nao Ta Aparecendo PVP PAra o Ot Todo Guando Mata Um pk
pergunta respondeu ao deivisonamorim de TaaG em Programação
Tente agora: #ifdef __SKULLSYSTEM__ Skulls_t Player::getSkull() const { if(getAccessLevel() >= ACCESS_PROTECT) return SKULL_NONE; return skull; } Skulls_t Player::getSkullClient(const Player* player) const { if(!player){ return SKULL_NONE; } Skulls_t skull; skull = player->getSkull(); #ifdef __PARTYSYSTEM__ if(skull != SKULL_RED && player->party != NULL && player->party == this->party) return SKULL_GREEN; #endif if(skull == SKULL_NONE){ if(player->hasAttacked(this)){ skull = SKULL_YELLOW; } } return skull; } bool Player::hasAttacked(const Player* attacked) const { if(accessLevel >= ACCESS_PROTECT) return SKULL_YELLOW; if(!attacked) return SKULL_YELLOW; AttackedSet::const_iterator it; unsigned long attacked_id = attacked->getID(); it = attackedSet.find(attacked_id); if(it != attackedSet.end()){ return true; } else{ return false; } } void Player::addAttacked(const Player* attacked) { if(accessLevel >= ACCESS_PROTECT) return; if(!attacked || attacked == this) return; AttackedSet::iterator it; unsigned long attacked_id = attacked->getID(); it = attackedSet.find(attacked_id); if(it == attackedSet.end()){ attackedSet.insert(attacked_id); } } void Player::clearAttacked() { attackedSet.clear(); } void Player::addUnjustifiedDead(const Player* attacked) { if(getAccessLevel() >= ACCESS_PROTECT || attacked == this) return; std::stringstream msg; msg << "PvP: " << getName() << " (Level: " << getLevel() << ") Matou " << attacked->getName() << " (Level:" << attacked->getLevel() << ")."; g_game.addAnimatedText(this->getPosition(), 129, "Drink!"); for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){ if(dynamic_cast<Player*>(it->second)) (*it).second->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, msg.str().c_str()); } Se continuar dando erro, me desculpe, não mexo com 7.91. -
pedido Pcz ..De Ajuda Para Coloka Contagem De Frags NO Look Do Players!
pergunta respondeu ao deivisonamorim de TaaG em Programação
Não tinha visto isso. -
pedido Pcz ..De Ajuda Para Coloka Contagem De Frags NO Look Do Players!
pergunta respondeu ao deivisonamorim de TaaG em Programação
Removido. -
programação Nao Ta Aparecendo PVP PAra o Ot Todo Guando Mata Um pk
pergunta respondeu ao deivisonamorim de TaaG em Programação
Tente agora: #ifdef __SKULLSYSTEM__ Skulls_t Player::getSkull() const { if(getAccessLevel() >= ACCESS_PROTECT) return SKULL_NONE; return skull; } Skulls_t Player::getSkullClient(const Player* player) const { if(!player){ return SKULL_NONE; } Skulls_t skull; skull = player->getSkull(); #ifdef __PARTYSYSTEM__ if(skull != SKULL_RED && player->party != NULL && player->party == this->party) return SKULL_GREEN; #endif if(skull == SKULL_NONE){ if(player->hasAttacked(this)){ skull = SKULL_YELLOW; } } return skull; } bool Player::hasAttacked(const Player* attacked) const { if(accessLevel >= ACCESS_PROTECT) return true; if(!attacked) return true; AttackedSet::const_iterator it; unsigned long attacked_id = attacked->getID(); it = attackedSet.find(attacked_id); if(it != attackedSet.end()){ return true; } else{ return false; } } void Player::addAttacked(const Player* attacked) { if(accessLevel >= ACCESS_PROTECT) return; if(!attacked || attacked == this) return; AttackedSet::iterator it; unsigned long attacked_id = attacked->getID(); it = attackedSet.find(attacked_id); if(it == attackedSet.end()){ attackedSet.insert(attacked_id); } } void Player::clearAttacked() { attackedSet.clear(); } void Player::addUnjustifiedDead(const Player* attacked) { if(getAccessLevel() >= ACCESS_PROTECT || attacked == this) return; std::stringstream msg; msg << "PvP: " << getName() << " (Level: " << getLevel() << ") Matou " << attacked->getName() << " (Level:" << attacked->getLevel() << ")."; g_game.addAnimatedText(this->getPosition(), 129, "Drink!"); for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){ if(dynamic_cast<Player*>(it->second)) (*it).second->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, msg.str().c_str()); } -
Amigo, antes de postar outro tópico com a mesma dúvida, espere um tempo para os usuários responderem. Só não respondo porque sou um zero à esquerda em questão de website
-
Claro, aí vem da criatividade da pessoa!
-
Demonstração O script consiste em fazer um minigame da Snake (lá do nokia, heheh). Quanto mais a "cobra" pegar os bolos/comida irá acrescentar mais e mais caixas/blocos ao seu "corpo". Instalação: snakesys.lua (data/lib) [EDITE DE ACORDO COM SEU SERVIDOR] Edite essas linhas em sua lib para combinar com o mapa: itemid=1860, freeglobalstorage=28103, -- se nao souber mexer, nao mexa itemFood=6394, controlpos= {x = 28, y = 198, z = 6}, -- posiçao onde o player vai ficar exitpos = {x = 36, y = 190, z = 7}, -- posiçao que o player vai sair centerpos= {x = 27, y = 197, z = 7}, -- posiçao central wallID = 1486, -- id da parede ao redor da arena interval = 300, -- velocidade no qual a cobra ira se mover Quatro pisos ao redor da posição de controle: local generated = { {x = 28, y = 197, z = 6}, {x = 29, y = 198, z = 6}, {x = 28, y = 199, z = 6}, {x = 27, y = 198, z = 6} } Primeiro piso: Segundo piso: actions.xml (data/actions) <action actionid="200" script="snake.lua"/> snake.lua (data/actions/scripts) function onUse(player, item, fromPosition, itemEx, toPosition) if (Game.getStorageValue(SNAKE.freeglobalstorage)) ~= 1 then player:teleportTo(SNAKE.controlpos) SNAKE.timer(player.uid,1,nil,1000) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Segure o CTRL e use as setas para controlar a cobra.') SNAKE.generateFood() else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Aguarde, por favor.') end end PS: Peguei de um fórum que estava em inglês e traduzi. PS²: É um script antigo porém funcional. Créditos: Mock the bear
-
O script consiste em, ao clicar, lançar uma flecha que, ao chegar no target, dará certo dano. Sendo assim, um bom script para Paladino. SS: ballista.lua (data/actions/scripts) local config = { shootRange = 7, damage = {50, 100}, -- dano minimo/maximo shootEffect = CONST_ANI_HUNTINGSPEAR, impactEffect = CONST_ME_HITAREA, exhaustOnUse = 300, -- tempo de recarga em segundos direction = { [5692] = DIRECTION_NORTH, [5701] = DIRECTION_EAST, [5698] = DIRECTION_WEST, [5695] = DIRECTION_SOUTH } } local exhaust = Condition(CONDITION_EXHAUST_WEAPON) exhaust:setParameter(CONDITION_PARAM_TICKS, config.exhaustOnUse) function onUse(player, item, fromPosition, target, toPosition, isHotkey) if player:getCondition(CONDITION_EXHAUST_WEAPON) then player:sendTextMessage(MESSAGE_STATUS_SMALL, Game.getReturnMessage(RETURNVALUE_YOUAREEXHAUSTED)) return true end player:addCondition(exhaust) for i = 1, config.shootRange do local nextPosition = item:getPosition() nextPosition:getNextPosition(config.direction[item.itemid], i) local tile = Tile(nextPosition) if tile then local topCreature = tile:getTopCreature() if topCreature then toPosition:sendDistanceEffect(topCreature:getPosition(), config.shootEffect) doTargetCombatHealth(player, topCreature, COMBAT_PHYSICALDAMAGE, -config.damage[1] * i, -config.damage[2] * i, config.impactEffect) return true end end end local nextPosition = item:getPosition() nextPosition:getNextPosition(config.direction[item.itemid], config.shootRange) toPosition:sendDistanceEffect(nextPosition, config.shootEffect) return true end actions.xml (data/actions) <action itemid="id" event="script" value="ballista.lua"/> Créditos: Printer
-
Cara, não tem bug nisso. PZ tool Pra adicionar um script, você deve adicionar as tags do script no talkactions.xml e ter certeza que o seu script está escrito corretamente sem nenhum bug. E pra criar um arquivo .lua você deve abrir o bloco de notas e no final salvar com .lua e no campo abaixo (salvar o tipo) você colocar todos os tipos
-
spriting Script para dar experiencia exata
pergunta respondeu ao Chupacabradoesgoto de TaaG em Scripts
Cara, a função é pelo distro. O seu distro deve ser um antigo, creio eu. No talkactions tem que estar assim: <talkaction log="yes" words="/addskill" access="5" event="function" value="addSkill"/> E o jeito de usar é pegando um char de acesso level 5 (GOD) e: /addskill NOME DO PLAYER, tipo de skill, quantidade Se não funcionar você terá que trocar de distro, recomendo um tfs... -
VALEU MANO!! Tô tentando evoluir em Mapping, obrigado mesmo!
-
Poxa cara, queria saber como também, até porque é bem mais prático. Vou ficar de olho no post.
-
Acho que isso não é possível, nunca vi isso em nenhum pokétibia. Até mesmo os OTs "globais" de pokémon usam o sistema de baú/teleporte/tile.
-
creatureevent Hunger System - Sistema de fome
tópico respondeu ao Entus de TaaG em Globalevents e Spells
Parabéns pelo script, é bem útil. Obrigado por trazer ao fórum.- 1 resposta
-
- suicidehunger
- system
- (e 2 mais)
-
100.
-
Não entendo nada sobre website porém você fez algum backup antes da limpeza?
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.