Ir para conteúdo

TaaG

Artesão
  • Total de itens

    113
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que TaaG postou

  1. 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á!
  2. 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:
  3. Serve pra derivados? Só colocar o id e o effect né? Obrigado pelo conteúdo
  4. 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.
  5. 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
  6. 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()); }
  7. Creio que spell não (se sim, não sei) porém Runa é mais fácil
  8. 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.
  9. 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()); }
  10. TaaG

    Erro no Xampp

    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
  11. Claro, aí vem da criatividade da pessoa!
  12. 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
  13. 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
  14. 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
  15. 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...
  16. VALEU MANO!! Tô tentando evoluir em Mapping, obrigado mesmo!
  17. Poxa cara, queria saber como também, até porque é bem mais prático. Vou ficar de olho no post.
  18. 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.
  19. Parabéns pelo script, é bem útil. Obrigado por trazer ao fórum.
  20. 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.
×
×
  • Criar Novo...