-
Total de itens
89 -
Registro em
-
Última visita
Tudo que Muvuka postou
-
-=[TFS]=- 0.3.6 - 8.60 - NPC Promotion ta Dando Erro no Console e Não Salva Vocação Fica de Primeira Com a Vocação Depois Quando Desloga e Loga Some local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local vocation = { [2] = 6, [3] = 7, [4] = 8 } 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 creatureSayCallback(cid, type, msg) if (not npcHandler:isFocused(cid)) then return false end local talkUser = cid msg = string.lower(msg) local level = 717217 if isInArray({"promotion", "promot", "promo"}, msg) then selfSay('Voce precisa ter 100 [VIP COINS] e estar no level 717217!', cid) talkState[talkUser] = 1 elseif msg == "yes" and talkState[talkUser] == 1 then local playerVocation = getPlayerVocation(cid) if vocation[playerVocation] then if getPlayerLevel(cid) >= level then if getPlayerItemCount(cid, 11192) >= 100 then doPlayerRemoveItem(cid, 11192, 100) local newVocationId = vocation[playerVocation] doPlayerSetVocation(cid, newVocationId) doSendMagicEffect(getPlayerPosition(cid), 12) selfSay("Parabens, voce foi promovido!", cid) else selfSay("Voce nao tem 100 [VIP COINS] suficientes para ser promovido.", cid) end else selfSay("Desculpe, voce precisa estar no level " .. level .. " ou acima para ser promovido!", cid) end else selfSay("Desculpe, voce não pode receber promocao.", cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) data/npc/scripts/promotion.lua:15: in function <data/npc/scripts/promotion.lua:15> [20/07/2024 08:57:34] [Error - Npc interface] [20/07/2024 08:57:34] data/npc/scripts/promotion.lua:onThink [20/07/2024 08:57:34] Description: [20/07/2024 08:57:34] (luaGetNpcDistanceTo) Thing not found [20/07/2024 08:57:34] [Error - Npc interface] [20/07/2024 08:57:35] data/npc/scripts/promotion.lua:onThink [20/07/2024 08:57:35] Description: [20/07/2024 08:57:35] (luaGetCreatureName) Creature not found [20/07/2024 08:57:35] [Error - Npc interface] [20/07/2024 08:57:35] data/npc/scripts/promotion.lua:onThink [20/07/2024 08:57:35] Description: [20/07/2024 08:57:35] data/npc/lib/npcsystem/npchandler.lua:301: bad argument #3 to 'gsub' (string/function/table expected) [20/07/2024 08:57:35] stack traceback: [20/07/2024 08:57:35] [C]: in function 'gsub' [20/07/2024 08:57:35] data/npc/lib/npcsystem/npchandler.lua:301: in function 'parseMessage' [20/07/2024 08:57:35] data/npc/lib/npcsystem/npchandler.lua:538: in function 'onWalkAway' [20/07/2024 08:57:35] data/npc/lib/npcsystem/npchandler.lua:473: in function 'onThink' [20/07/2024 08:57:35] data/npc/scripts/promotion.lua:15: in function <data/npc/scripts/promotion.lua:15>
-
-=[TFS]=- 0.3.6 - 8.60 - Alguém Sabe o ID do Channel NPCs @Holograma
-
<talkaction words="!guildrank" event="script" value="guildrank.lua"/> TA DANDO ESSE ERRO OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such column: guild_id (SELECT level, guild_id FROM players WHERE guild_id > 0 AND level > 10 ORDER BY level DESC) function onSay(cid, words, param) local guilds = {} local guild_rank = {} -- Seleciona o level e a guild de cada jogador com guild e com level maior que 10, ordenados pelo level local query = db.getResult("SELECT level, guild_id FROM players WHERE guild_id > 0 AND level > 10 ORDER BY level DESC") -- Caso nenhum jogador seja selecionado, retorna verdadeiro if query:getID() == -1 then return true end repeat local level = query:getDataInt("level") local guild_id = query:getDataInt("guild_id") -- Cria uma tabela dentro da tabela guilds para cada guilda if not guilds[guild_id] then guilds[guild_id] = {level = level, members = 1} -- Se a tabela já existir e o número de membros for menor que 10, soma o level e +1 ao número de membros elseif guilds[guild_id].members < 10 then guilds[guild_id].level = guilds[guild_id].level + level guilds[guild_id].members = guilds[guild_id].members + 1 end -- Termina se não existirem mais resultados until not query:next() query:free() -- Passa os resultados obtidos para a tabela guild_rank, para ordená-la com table.sort for i, k in pairs(guilds) do table.insert(guild_rank, {id = i, level = k.level}) end -- Ordena a tabela guild_rank de acordo com a soma dos levels table.sort(guild_rank, function(a, b) return a.level > b.level end) local i = 0 local str = ' Guild Rank\n' -- Crie uma string com o nome das guildas em um ranking for _, info in pairs(guild_rank) do i = i + 1 str = str .. i .. ' - '.. getGuildNameById(info.id) .. ' - ' .. info.level .. '\n' if i == 10 then break end end -- Se algum erro ocorrer e o ranking não tiver informações, manda a mensagem "No Guild Information..." local ret = str ~= ' Guild Rank\n' and str or "No guild information to be displayed." doPlayerPopupFYI(cid, ret) return true end
-
bool Player::canWalkthrough(const Creature* creature) const { if(creature == this || hasCustomFlag(PlayerCustomFlag_CanWalkthrough) || creature->isWalkable() || (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster()))) return true; const Player* player = creature->getPlayer(); if(!player) return false; if((((g_game.getWorldType() == WORLD_TYPE_NO_PVP && player->getVocation()->isAttackable()) || player->getTile()->hasFlag(TILESTATE_PROTECTIONZONE) || (player->getVocation()->isAttackable() && player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL))) && player->getTile()->ground) && (!player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges) || player->getAccess() <= getAccess())) return true; return (player->isGhost() && getGhostAccess() < player->getGhostAccess()) || (isGhost() && getGhostAccess() > player->getGhostAccess()); }
-
24 Anos Online! 2000-2024 Copy-Right ---> ! Dedicado 24/7 Sem Site Cria Conta Pelo Account Manager ! <--- So Tem 3 Vocacao de Escolha: 'Mage' 'Knight' 'Paladin' Promotion: [VIP] Mage [VIP] Knight [VIP] Paladin + Bonus +P.A +[VIP] +Fast Attack +Fast Speed Feet +[Promotion] e +%XP: 100000 Patch [2024]: Varias Atualizacoes Feitas. Desde 2000 ate 2024 Nao Tem Cast System Bonus Pra First Itens no Templo. Pra Comeca So Pega Bonus e Digita 'shor' Pras Criaturas Principais. - !spellsall Todas Magias Free. IP: dexsoft.zapto.org Porta: 7171 Versao do Client: 8.60 [PVP]-[4FUN] Fast Attack Comeca Sem Set e BP. De (USE) no Bau Digite !bp e Compre os Itens Pro Set no NPC: [Bem/Barato] no TP ou Indo Pro NPC Completamente Seguro.(a) Nao Entre Com os Mesmo Dados do Servidor Que Voce Tava Jogando Nesse Pra Evita Pessoas Mal-intencionadas. Protocolo do Jogo. / Nivel de Jogabilidade (Very-Expert) Servidor [4FUN] / Endereco de IP Dinamico. Aqui Voce Nao Gasta Nada Pra Obter Algo Seja VIP/DONATE - Se Usa a Moeda do Jogo. Moeda Externa REAL R$ e Untilizavel Aqui Se Gasta Se Quiser. Stamina Nao e Infinita. Servidor Serio Dedicado 24/7 IP: dexsoft.zapto.org / Port: 7171 / Version: 8.60 / Ping: Brazil. Proibido USO de 'MC Client.' Permitido o Uso de 'Fast Attack + BOT Fast Attack' Somente Com [PRMOTION]. Cria a Conta Pelo Client Account Manager (ACCM) Nao Tem Site. Dedicado 24/7 Servidor Serio Online! Info do Host: - https://bit.ly/45LgMIR - Contato ao ADM Dono do Servidor: - https://bit.ly/3Zc0KFn - ZAP do GRUPO Para Admin Privado [UPDATES] Etc: - https://bit.ly/3UaRZcB - ZAP do GRUPO de Players: - https://bit.ly/3WcOZ2c - Discord: - https://discord.gg/wjzmgKku - E-Mail do HOST: - po-ca@hotmail.com - Chat do Servidor: - https://chat.whatsapp.com/KZSO6N3PbbkFn9N5g4tPx0 - Anuncie Seu Servidor: - https://chat.whatsapp.com/DrsxUXDEEah9veM7WLP2Kb - Staff Nao Joga, E Não Tem Vaga. Staff Sempre Online e Dando Suporte. Att ADM. _________________________________________________________________ Download do Client Proprio [FULL-LIGHT]+[MC]+[IP-FIXO]+[OTClientV8]+APK: Pra Celular Android Iphone e Todos Sistemas Operacionais e IOS. 100% Funcional. Tibia 8.60 Para Linux: - https://bit.ly/3QlTK5I - Tibia 8.60 Para MAC So Compila Pra Sua Autoria. Tibia IP Changer 8.60 Para Linux/MAC Pra Sua Autoria Compila. Tibia MC 8.60 Caso Voce Tenha Mais Provedor e Operadora Com 2+ Conexoes de Internet Endereco de IP-Duplo ou Dados Moveis no Celular Só Podera Jogar Com 1 Devido Sistema Proibicao de IPS MC's Mais no Caso se Pode Jogar Com Dados Moveis Celular + IP Maquina-PC+Mobile - https://bit.ly/4bgAG0C - Tibia Client Classico Proprio: - https://bit.ly/3ELouXs - Instalador do Tibia 8.60: - https://bit.ly/3Ufvx2d - OTClientV8 Mini-Map -=[FULL]=- Customizado o Laucher do OTClientV8 Nao Esqueca de Ler o read me. NEW: - OTClientV8: - https://bit.ly/3UGnFYM - -apk- do Servidor: - https://bit.ly/45Kcl14 - Click no Another e Digita IP:PORTA -apk- do Servidor 2_#Editado: - https://bit.ly/3Glffy1 - Click no Another e Digita IP:PORTA - BOT pra -apk- na Demanda do Player ele que Escolhe Pesquisando na Internet - Utilitario: Tibia MULTI-IP CHANGER: - https://bit.ly/3sWCGL1 - BOTS - MageBot + ElfBot NG Link: - https://bit.ly/3QrD3pq - _________________________________________________________________ Servidor Gratis e Sempre Sera. *Reset System [VIP] ate 100 Reset Maximo *Anti-DDos System *Task System *Dodge system e Critical System *Refinamento System *VIP System *Reflect System *Offline Trainer System *Castle War 24Hr/48Hr *Dodge System e Critical System *+BOOSTER Attack System *Salao de BOSS *Lottery System *Minimg System *System Auto-Loot [VIP] *Anti-Push *Anti-Crash *Life Leech *Mana Leech *Promotion System Fast Attack Com BOT *[VIP] System *[DONATE] System *Vocacao Balanceadas *Imortalidade System *Labia System *Infinity System *Casino System - [Personalizado] *Hunted System *Scruptinon System [NPC] *Vocation [VIP] System *Server [MODE] Very Expert E muito mais venha conferi... Nunca Reseto e Nunca Resetara/DexSoft é Gratis e Sempre Sera. Servidor Dedicado 24/7 Info Host: https://cutt.ly/MMwHISZ XP é Rate '99999' Facil Obstencao Pro Level 717217, Sem STAGE. + de 21 Quet's Rate: rateExperience = 99999 rateSkill = 1 rateMagic = 1 rateLoot = 1 rateSpawn = 1 *Sistema de Reset e Outros Sistemas Sem Bugs... Itens Donate Obtido In-Game. Para Suporte Mande E-Mail Para: po-ca@hotmail.com ou Entao Adicione o Telefone Comercial Celular +55 (11) 91230-8360 Operadora: (VIVO) GERENTE DE CONTAS CAPUT: ADM Em Breve AutoMap 100% Completo. OTCLIENT Esta 100% So Segui o Procedimento. Mapa-Principal: Baiak 21 Com Outros Mapa Importados. !spells !spells2 !spells3 !spells4 !magicdnt !spellsall Spells Baiak-Fusion: E Muito Mais Pura Magia. EULA: Nao Esqueca de Digitar Esses Comandos !regras !cookies !notice !privacy policy !terms of service Welcome to World Tibia.
-
TEM COMO MUDA ID DA MOEDA DE COMPRA PARA ID DE MOEDA 6535 E A QUANTIDADE QUE PLAYER QUISER VENDE CHAR??? <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Characters Market System" version="1.0" author="LuckOake" contact="none" enabled="yes"> ------------------------------------------------------------------------------------ <config name="market"><![CDATA[ price = 27112 owner = 27113 level = 717217 -- Level min of character.-- min_price = 10000000000000 -- Price min of character-- max_price = 10000000000000 -- Price maximum of character-- function doTransferCharacter(cid, accId) local playerGuid = getPlayerGUIDByName(cid) if not playerGuid then return false, "Player GUID not found." end return db.executeQuery("UPDATE `players` SET `account_id` = "..accId.." WHERE `id` = "..playerGuid.."") end function doOfflinePlayerAddMoney(guid, money) local playerGuid = getPlayerGUIDByName(guid) if not playerGuid then return false, "Player GUID not found." end return db.executeQuery("UPDATE `players` SET `balance` = `balance` + '"..money.."' WHERE `id` = '"..playerGuid.."';") end function setOfflinePlayerStorageValue(name, key, value) local playerGuid = getPlayerGUIDByName(name) if not playerGuid then return false, "Player GUID not found." end local result = db.getResult("SELECT * FROM `player_storage` WHERE `player_id` = ".. playerGuid .." AND `key` = ".. key ..";") if result:getID() == -1 then return db.executeQuery("INSERT INTO `player_storage` (`player_id`, `key`, `value`) VALUES (".. playerGuid ..", ".. key ..", ".. value ..");") else result:free() return db.executeQuery("UPDATE `player_storage` SET `value` = ".. value .." WHERE `player_id` = ".. playerGuid .." AND `key` = ".. key ..";") end end function getOfflinePlayerStorageValue(name, key) local playerGuid = getPlayerGUIDByName(name) if not playerGuid then return nil end local result = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = '".. playerGuid .."' AND `key` = ".. key ..";") if result:getID() == -1 then return nil end local ret = result:getDataInt("value") result:free() return ret end function getOfflinePlayerValue(name, value) local playerGuid = getPlayerGUIDByName(name) if not playerGuid then return nil end local result = db.getResult("SELECT `"..value.."` FROM `players` WHERE `id` = "..playerGuid..";") if result:getID() == -1 then return nil end local ret = result:getDataInt(value) result:free() return ret end function isCharacterForSale(name) local charPrice = getOfflinePlayerStorageValue(name, price) if not charPrice or charPrice < 1 then return false else return true end end ]]></config> ------------------------------------------------------------------------------------ <talkaction words="!character" event="buffer"><![CDATA[ domodlib('market') local t = string.explode(param, ",") if t[1] == "sell" then if not t[3] or not tonumber(t[3]) or t[4] or tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Incorrect Params. Specify the character name and the price.") return true elseif getPlayerAccountId(cid) ~= getAccountIdByName(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This is not your character.") return true elseif isCharacterForSale(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This character is already for sale.") return true elseif getPlayerGUIDByName(t[2]) == getPlayerGUID(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You cannot sell yourself.") return true elseif getPlayerByName(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "The character must be offline to be sold.") return true elseif getOfflinePlayerValue(t[2], "level") < level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your character can't be sold until it has level "..level..".") return true elseif tonumber(t[3]) < min_price then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sorry, but the minimum price for selling a character is "..min_price..".") return true elseif tonumber(t[3]) > max_price then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sorry, but the maximum price for selling a character is "..max_price..".") return true end setOfflinePlayerStorageValue(t[2], price, t[3]) setOfflinePlayerStorageValue(t[2], owner, getPlayerGUID(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Your character "'..t[2]..'" is now for sale for the price of "'..t[3]..'" gold coins.') elseif t[1] == "buy" then if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Incorrect Params. Specify the character name.") return true elseif not playerExists(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This character doesn't exist.") return true elseif getPlayerAccountId(cid) == getAccountIdByName(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You can't buy your own character.") return true elseif not isCharacterForSale(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This character is not for sale.") return true elseif not doPlayerRemoveMoney(cid, getOfflinePlayerStorageValue(t[2], price)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Not enough money. This character's price is "..getOfflinePlayerStorageValue(t[2], price).." gold coins.") return true end if not getPlayerByGUID(getOfflinePlayerStorageValue(t[2], owner)) then doOfflinePlayerAddMoney(getPlayerNameByGUID(getOfflinePlayerStorageValue(t[2], owner)), getOfflinePlayerStorageValue(t[2], price)) setOfflinePlayerStorageValue(getPlayerNameByGUID(getOfflinePlayerStorageValue(t[2], owner)), 41792, getPlayerGUIDByName(t[2])) else doPlayerAddMoney(getPlayerByGUID(getOfflinePlayerStorageValue(t[2], owner)), getOfflinePlayerStorageValue(t[2], price)) doPlayerSendTextMessage(getPlayerByGUID(getOfflinePlayerStorageValue(t[2], owner)), MESSAGE_STATUS_CONSOLE_BLUE, 'Your character "'..t[2]..'" has been sold for the price of '..getOfflinePlayerStorageValue(t[2], price)..' gold coins.') end doTransferCharacter(t[2], getPlayerAccountId(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'You bought the character "'..t[2]..'" for the price of '..getOfflinePlayerStorageValue(t[2], price)..' gold coins.') setOfflinePlayerStorageValue(t[2], owner, -1) setOfflinePlayerStorageValue(t[2], price, -1) return true elseif t[1] == "remove" then if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Incorrect Params. Specify the character name.") return true elseif getPlayerAccountId(cid) ~= getAccountIdByName(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This is not your character.") return true elseif not isCharacterForSale(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This character is not for sale.") return true end setOfflinePlayerStorageValue(t[2], price, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'You removed the character "'..t[2]..'" from the Characters Market.') return true elseif t[1] == "list" then local result = db.getResult("SELECT `name` FROM `players`") if result:getID() == -1 then return true end local msg = "Characters For Sale Price 10000000000000:\n\n" while true do local name = result:getDataString("name") if isCharacterForSale(name) then local sex = getOfflinePlayerValue(name, "sex") == 1 and "Male" or "Female" msg = ""..msg.." - ".. name .." (Level: "..getOfflinePlayerValue(name, "level").." / Vocation: "..getVocationInfo(getOfflinePlayerValue(name, "vocation")).name.." / Sex: "..sex.." / Owner: "..getPlayerNameByGUID(getOfflinePlayerStorageValue(name, owner))..") [Price: "..getOfflinePlayerStorageValue(name, price).."] \n" end if not result:next() then break end end doPlayerPopupFYI(cid, msg) return true elseif not t[1] or t[1] ~= "buy" or t[1] ~= "sell" or t[1] ~= "remove" or t[1] ~= "list" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Incorrect params. You can only 'buy' or 'sell' a character, 'remove' it from the Characters Market or see the 'list' of characters for sale.") return true end return true ]]></talkaction> ------------------------------------------------------------------------------------ <event type="login" name="MarketLogin" event="script"><![CDATA[ function onLogin(cid) domodlib('market') if getPlayerStorageValue(cid, price) > 0 then return false elseif getPlayerStorageValue(cid, 41792) ~= -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You sold the character "..getPlayerNameByGUID(getPlayerStorageValue(cid, 41792))..". The money is in your bank account.") setPlayerStorageValue(cid, 41792, -1) end return true end ]]></event> </mod>
-
EU USEI PRINT NO CODIDO UM POR CADA UM E APARECEU ISSO NO CONSOLE [01/07/2024 06:17:50] Error: Could not get player GUID for character Harkaricus [01/07/2024 06:17:51] Error: Could not get player GUID for character Chera Xana [01/07/2024 06:17:51] Error: Could not get player GUID for character Avalost [01/07/2024 06:17:51] Error: Could not get player GUID for character Mirkwin Aki [01/07/2024 06:17:51] Error: Could not get player GUID for character Menezinho foda [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude ate esquentar [01/07/2024 06:17:51] Error: Could not get player GUID for character Fuder ate respawnar [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude falando [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude opeitorosado [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude os Nascimento [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude ate raiar [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude ate criar [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude bugando [01/07/2024 06:17:51] Error: Could not get player GUID for character Yrapuru [01/07/2024 06:17:51] Error: Could not get player GUID for character Xxt'zaao [01/07/2024 06:17:51] Error: Could not get player GUID for character Mc Donalds [01/07/2024 06:17:51] Error: Could not get player GUID for character Otome [01/07/2024 06:17:51] Error: Could not get player GUID for character Linkin Har [01/07/2024 06:17:51] Error: Could not get player GUID for character Morte Pala Pes [01/07/2024 06:17:51] Error: Could not get player GUID for character Rozinx [01/07/2024 06:17:51] Error: Could not get player GUID for character Vibud [01/07/2024 06:17:51] Error: Could not get player GUID for character Maurolkit [01/07/2024 06:17:52] Error: Could not get player GUID for character Lucifer [01/07/2024 06:17:52] Error: Could not get player GUID for character Hammer [01/07/2024 06:17:52] Error: Could not get player GUID for character Aeropostale [01/07/2024 06:17:52] Error: Could not get player GUID for character Vladimir [01/07/2024 06:17:53] Error: Could not get player GUID for character Jivelin'o [01/07/2024 06:17:53] Error: Could not get player GUID for character Queen Of Darkness [01/07/2024 06:17:53] Error: Could not get player GUID for character Female [01/07/2024 06:17:53] Error: Could not get player GUID for character Born [01/07/2024 06:17:54] Error: Could not get player GUID for character Druidzinha [01/07/2024 06:17:54] Error: Could not get player GUID for character Hill [01/07/2024 06:17:54] Error: Could not get player GUID for character Shazam [01/07/2024 06:17:54] Error: Could not get player GUID for character Mage The Hell [01/07/2024 06:17:54] Error: Could not get player GUID for character Lirmex [01/07/2024 06:17:55] Error: Could not get player GUID for character Madrugah [01/07/2024 06:17:55] Error: Could not get player GUID for character Luan [01/07/2024 06:17:55] Error: Could not get player GUID for character Killer Druid [01/07/2024 06:17:55] Error: Could not get player GUID for character Lord'pala [01/07/2024 06:17:56] Error: Could not get player GUID for character Mahogannyy [01/07/2024 06:17:56] Error: Could not get player GUID for character Vickk [01/07/2024 06:17:57] Error: Could not get player GUID for character Jockbk [01/07/2024 06:17:57] Error: Could not get player GUID for character Jocksm [01/07/2024 06:17:58] Error: Could not get player GUID for character Holy [01/07/2024 06:17:59] Error: Could not get player GUID for character Geen Arrow [01/07/2024 06:18:01] Error: Could not get player GUID for character Lerdo [01/07/2024 06:18:01] Error: Could not get player GUID for character Doldorn [01/07/2024 06:18:01] Error: Could not get player GUID for character Nyarix [01/07/2024 06:18:01] Error: Could not get player GUID for character Kirigaya Kazuto [01/07/2024 06:18:01] Error: Could not get player GUID for character Paladin Dislexico [01/07/2024 06:18:01] Error: Could not get player GUID for character Arranha Ceu [01/07/2024 06:18:02] Error: Could not get player GUID for character Pancheri [01/07/2024 06:18:02] Error: Could not get player GUID for character Dieghoul [01/07/2024 06:18:05] Error: Could not get player GUID for character Mage Crrupt [01/07/2024 06:18:05] Error: Could not get player GUID for character Gostoza [01/07/2024 06:18:06] Error: Could not get player GUID for character Home Viu [01/07/2024 06:18:07] Error: Could not get player GUID for character Pepinto function doTransferCharacter(cid, accId) local playerGUID = getPlayerGUIDByName(cid) print("doTransferCharacter - Player GUID for", cid, "is", playerGUID) if playerGUID then return db.executeQuery("UPDATE `players` SET `account_id` = " .. accId .. " WHERE `id` = " .. playerGUID) else print("Error: Player GUID for " .. cid .. " is nil.") return false end end function doOfflinePlayerAddMoney(guid, money) local playerGUID = getPlayerGUIDByName(guid) print("doOfflinePlayerAddMoney - Player GUID for", guid, "is", playerGUID) if playerGUID then return db.executeQuery("UPDATE `players` SET `balance` = `balance` + " .. money .. " WHERE `id` = " .. playerGUID .. ";") else print("Error: Player GUID for " .. guid .. " is nil.") return false end end function setOfflinePlayerStorageValue(name, key, value) local playerGUID = getPlayerGUIDByName(name) print("setOfflinePlayerStorageValue - Player GUID for", name, "is", playerGUID) if playerGUID then local result = db.getResult("SELECT * FROM `player_storage` WHERE `player_id` = " .. playerGUID .. " AND `key` = " .. key .. ";") if result:getID() == -1 then print("setOfflinePlayerStorageValue - No existing storage value found, inserting new value") return db.executeQuery("INSERT INTO `player_storage` (`player_id`, `key`, `value`) VALUES (" .. playerGUID .. ", " .. key .. ", " .. value .. ");") else result:free() print("setOfflinePlayerStorageValue - Existing storage value found, updating value") return db.executeQuery("UPDATE `player_storage` SET `value` = " .. value .. " WHERE `player_id` = " .. playerGUID .. " AND `key` = " .. key .. ";") end else print("Error: Player GUID for " .. name .. " is nil.") return false end end function getOfflinePlayerStorageValue(name, key) local playerGUID = getPlayerGUIDByName(name) print("getOfflinePlayerStorageValue - Player GUID for", name, "is", playerGUID) if playerGUID then local result = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = " .. playerGUID .. " AND `key` = " .. key .. ";") if result:getID() == -1 then print("getOfflinePlayerStorageValue - No storage value found for", name, "with key", key) return nil end local ret = result:getDataInt("value") print("getOfflinePlayerStorageValue - Retrieved storage value for", name, "with key", key, "is", ret) result:free() return ret else print("Error: Player GUID for " .. name .. " is nil.") return nil end end function getOfflinePlayerValue(name, value) local playerGUID = getPlayerGUIDByName(name) print("getOfflinePlayerValue - Player GUID for", name, "is", playerGUID) if playerGUID then local result = db.getResult("SELECT `" .. value .. "` FROM `players` WHERE `id` = " .. playerGUID .. ";") if result:getID() == -1 then print("getOfflinePlayerValue - No value found for", name, "with field", value) return nil end local ret = result:getDataInt(value) print("getOfflinePlayerValue - Retrieved value for", name, "with field", value, "is", ret) result:free() return ret else print("Error: Player GUID for " .. name .. " is nil.") return nil end end ai pega market sale
-
SÓ FUNCIONO QUANDO RESETEI A DATABASE AGORA QUANDO EU VOLTEI COM A MESMA NÃO PEGA APARECE ESSE ERRO AI EU USEI PRINT NO CODIDO UM POR CADA UM E APARECEU ISSO NO CONSOLE [01/07/2024 06:17:50] Error: Could not get player GUID for character Harkaricus [01/07/2024 06:17:51] Error: Could not get player GUID for character Chera Xana [01/07/2024 06:17:51] Error: Could not get player GUID for character Avalost [01/07/2024 06:17:51] Error: Could not get player GUID for character Mirkwin Aki [01/07/2024 06:17:51] Error: Could not get player GUID for character Menezinho foda [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude ate esquentar [01/07/2024 06:17:51] Error: Could not get player GUID for character Fuder ate respawnar [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude falando [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude opeitorosado [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude os Nascimento [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude ate raiar [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude ate criar [01/07/2024 06:17:51] Error: Could not get player GUID for character Fude bugando [01/07/2024 06:17:51] Error: Could not get player GUID for character Yrapuru [01/07/2024 06:17:51] Error: Could not get player GUID for character Xxt'zaao [01/07/2024 06:17:51] Error: Could not get player GUID for character Mc Donalds [01/07/2024 06:17:51] Error: Could not get player GUID for character Otome [01/07/2024 06:17:51] Error: Could not get player GUID for character Linkin Har [01/07/2024 06:17:51] Error: Could not get player GUID for character Morte Pala Pes [01/07/2024 06:17:51] Error: Could not get player GUID for character Rozinx [01/07/2024 06:17:51] Error: Could not get player GUID for character Vibud [01/07/2024 06:17:51] Error: Could not get player GUID for character Maurolkit [01/07/2024 06:17:52] Error: Could not get player GUID for character Lucifer [01/07/2024 06:17:52] Error: Could not get player GUID for character Hammer [01/07/2024 06:17:52] Error: Could not get player GUID for character Aeropostale [01/07/2024 06:17:52] Error: Could not get player GUID for character Vladimir [01/07/2024 06:17:53] Error: Could not get player GUID for character Jivelin'o [01/07/2024 06:17:53] Error: Could not get player GUID for character Queen Of Darkness [01/07/2024 06:17:53] Error: Could not get player GUID for character Female [01/07/2024 06:17:53] Error: Could not get player GUID for character Born [01/07/2024 06:17:54] Error: Could not get player GUID for character Druidzinha [01/07/2024 06:17:54] Error: Could not get player GUID for character Hill [01/07/2024 06:17:54] Error: Could not get player GUID for character Shazam [01/07/2024 06:17:54] Error: Could not get player GUID for character Mage The Hell [01/07/2024 06:17:54] Error: Could not get player GUID for character Lirmex [01/07/2024 06:17:55] Error: Could not get player GUID for character Madrugah [01/07/2024 06:17:55] Error: Could not get player GUID for character Luan [01/07/2024 06:17:55] Error: Could not get player GUID for character Killer Druid [01/07/2024 06:17:55] Error: Could not get player GUID for character Lord'pala [01/07/2024 06:17:56] Error: Could not get player GUID for character Mahogannyy [01/07/2024 06:17:56] Error: Could not get player GUID for character Vickk [01/07/2024 06:17:57] Error: Could not get player GUID for character Jockbk [01/07/2024 06:17:57] Error: Could not get player GUID for character Jocksm [01/07/2024 06:17:58] Error: Could not get player GUID for character Holy [01/07/2024 06:17:59] Error: Could not get player GUID for character Geen Arrow [01/07/2024 06:18:01] Error: Could not get player GUID for character Lerdo [01/07/2024 06:18:01] Error: Could not get player GUID for character Doldorn [01/07/2024 06:18:01] Error: Could not get player GUID for character Nyarix [01/07/2024 06:18:01] Error: Could not get player GUID for character Kirigaya Kazuto [01/07/2024 06:18:01] Error: Could not get player GUID for character Paladin Dislexico [01/07/2024 06:18:01] Error: Could not get player GUID for character Arranha Ceu [01/07/2024 06:18:02] Error: Could not get player GUID for character Pancheri [01/07/2024 06:18:02] Error: Could not get player GUID for character Dieghoul [01/07/2024 06:18:05] Error: Could not get player GUID for character Mage Crrupt [01/07/2024 06:18:05] Error: Could not get player GUID for character Gostoza [01/07/2024 06:18:06] Error: Could not get player GUID for character Home Viu [01/07/2024 06:18:07] Error: Could not get player GUID for character Pepinto
-
TO COM PROBLEMA NESSE SCRIPT MOD [01/07/2024 04:46:40] [Error - TalkAction Interface] [01/07/2024 04:46:40] buffer [01/07/2024 04:46:40] Description: [01/07/2024 04:46:40] [string "price = 27112..."]:26: attempt to concatenate a nil value <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Characters Market System" version="1.0" author="LuckOake" contact="none" enabled="yes"> ------------------------------------------------------------------------------------ <config name="market"><![CDATA[ price = 27112 owner = 27113 level = 717217 -- Level min of character.-- min_price = 10000000000000 -- Price min of character-- max_price = 10000000000000 -- Price maximum of character-- function doTransferCharacter(cid, accId) return db.executeQuery("UPDATE `players` SET `account_id` = "..accId.." WHERE `id` = "..getPlayerGUIDByName(cid).."") end function doOfflinePlayerAddMoney(guid, money) return db.executeQuery("UPDATE `players` SET `balance` = `balance` + '"..money.."' WHERE `id` = '"..getPlayerGUIDByName(guid).."';") end function setOfflinePlayerStorageValue(name, key, value) local result = db.getResult("SELECT * FROM `player_storage` WHERE `player_id` = ".. getPlayerGUIDByName(name) .." AND `key` = ".. key ..";") if result:getID() == -1 then return db.executeQuery("INSERT INTO `player_storage` (`player_id`, `key`, `value`) VALUES (".. getPlayerGUIDByName(name) ..", ".. key ..", ".. value ..");") else result:free() return db.executeQuery("UPDATE `player_storage` SET `value` = ".. value .." WHERE `player_id` = ".. getPlayerGUIDByName(name) .." AND `key` = ".. key ..";") end end function getOfflinePlayerStorageValue(name, key) local result, ret = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = '".. getPlayerGUIDByName(name) .."' AND `key` = ".. key ..";") if result:getID() == -1 then return nil end ret = result:getDataInt("value") result:free() return ret end function getOfflinePlayerValue(name, value) local result, ret = db.getResult("SELECT `"..value.."` FROM `players` WHERE `id` = "..getPlayerGUIDByName(name)..";") ret = result:getDataInt(value) result:free() return ret end function isCharacterForSale(name) if not getOfflinePlayerStorageValue(name, price) or getOfflinePlayerStorageValue(name, price) < 1 then return false else return true end end ]]></config> ------------------------------------------------------------------------------------ <talkaction words="!character" event="buffer"><![CDATA[ domodlib('market') local t = string.explode(param, ",") if t[1] == "sell" then if not t[3] or not tonumber(t[3]) or t[4] or tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Incorrect Params. Specify the character name and the price.") return true elseif getPlayerAccountId(cid) ~= getAccountIdByName(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This is not your character.") return true elseif isCharacterForSale(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This character is already for sale.") return true elseif getPlayerGUIDByName(t[2]) == getPlayerGUID(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You cannot sell yourself.") return true elseif getPlayerByName(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "The character must be offline to be sold.") return true elseif getOfflinePlayerValue(t[2], "level") < level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your character can't be sold until it has level "..level..".") return true elseif tonumber(t[3]) < min_price then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sorry, but the minimum price for selling a character is "..min_price..".") return true elseif tonumber(t[3]) > max_price then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sorry, but the maximum price for selling a character is "..max_price..".") return true end setOfflinePlayerStorageValue(t[2], price, t[3]) setOfflinePlayerStorageValue(t[2], owner, getPlayerGUID(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Your character "'..t[2]..'" is now for sale for the price of "'..t[3]..'" gold coins.') elseif t[1] == "buy" then if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Incorrect Params. Specify the character name.") return true elseif not playerExists(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This character doesn't exist.") return true elseif getPlayerAccountId(cid) == getAccountIdByName(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You can't buy your own character.") return true elseif not isCharacterForSale(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This character is not for sale.") return true elseif not doPlayerRemoveMoney(cid, getOfflinePlayerStorageValue(t[2], price)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Not enough money. This character's price is "..getOfflinePlayerStorageValue(t[2], price).." gold coins.") return true end if not getPlayerByGUID(getOfflinePlayerStorageValue(t[2], owner)) then doOfflinePlayerAddMoney(getPlayerNameByGUID(getOfflinePlayerStorageValue(t[2], owner)), getOfflinePlayerStorageValue(t[2], price)) setOfflinePlayerStorageValue(getPlayerNameByGUID(getOfflinePlayerStorageValue(t[2], owner)), 41792, getPlayerGUIDByName(t[2])) else doPlayerAddMoney(getPlayerByGUID(getOfflinePlayerStorageValue(t[2], owner)), getOfflinePlayerStorageValue(t[2], price)) doPlayerSendTextMessage(getPlayerByGUID(getOfflinePlayerStorageValue(t[2], owner)), MESSAGE_STATUS_CONSOLE_BLUE, 'Your character "'..t[2]..'" has been sold for the price of '..getOfflinePlayerStorageValue(t[2], price)..' gold coins.') end doTransferCharacter(t[2], getPlayerAccountId(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'You bought the character "'..t[2]..'" for the price of '..getOfflinePlayerStorageValue(t[2], price)..' gold coins.') setOfflinePlayerStorageValue(t[2], owner, -1) setOfflinePlayerStorageValue(t[2], price, -1) return true elseif t[1] == "remove" then if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Incorrect Params. Specify the character name.") return true elseif getPlayerAccountId(cid) ~= getAccountIdByName(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This is not your character.") return true elseif not isCharacterForSale(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "This character is not for sale.") return true end setOfflinePlayerStorageValue(t[2], price, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'You removed the character "'..t[2]..'" from the Characters Market.') return true elseif t[1] == "list" then local result = db.getResult("SELECT `name` FROM `players`") if result:getID() == -1 then return true end local msg = "Characters for Sale:\n\n" while true do local name = result:getDataString("name") if isCharacterForSale(name) then local sex = getOfflinePlayerValue(name, "sex") == 1 and "Male" or "Female" msg = ""..msg.." - ".. name .." (Level: "..getOfflinePlayerValue(name, "level").." / Vocation: "..getVocationInfo(getOfflinePlayerValue(name, "vocation")).name.." / Sex: "..sex.." / Owner: "..getPlayerNameByGUID(getOfflinePlayerStorageValue(name, owner))..") [Price: "..getOfflinePlayerStorageValue(name, price).."] \n" end if not result:next() then break end end doPlayerPopupFYI(cid, msg) return true elseif not t[1] or t[1] ~= "buy" or t[1] ~= "sell" or t[1] ~= "remove" or t[1] ~= "list" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Incorrect params. You can only 'buy' or 'sell' a character, 'remove' it from the Characters Market or see the 'list' of characters for sale.") return true end return true ]]></talkaction> ------------------------------------------------------------------------------------ <event type="login" name="MarketLogin" event="script"><![CDATA[ function onLogin(cid) domodlib('market') if getPlayerStorageValue(cid, price) > 0 then return false elseif getPlayerStorageValue(cid, 41792) ~= -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You sold the character "..getPlayerNameByGUID(getPlayerStorageValue(cid, 41792))..". The money is in your bank account.") setPlayerStorageValue(cid, 41792, -1) end return true end ]]></event> </mod>
-
OK @Holograma SE NÃO APARECE ERRO NO CONSOLE EU APROVO!
-
EU NÃO SEI SE É REFLECT STONE OU SE ALGO DODGE CRITICAL BOOSTER ATTACK STONE MAIS TA DANDO ERRO NO REVIVE SOMENTE [10/06/2024 00:46:08] [Error - Npc interface] [10/06/2024 00:46:08] data/npc/scripts/reviver.lua:onThink [10/06/2024 00:46:08] Description: [10/06/2024 00:46:08] (luaGetCreatureName) Creature not found [10/06/2024 00:46:08] [Error - Npc interface] [10/06/2024 00:46:08] data/npc/scripts/reviver.lua:onThink [10/06/2024 00:46:08] Description: [10/06/2024 00:46:08] data/npc/lib/npcsystem/npchandler.lua:301: bad argument #3 to 'gsub' (string/function/table expected) [10/06/2024 00:46:08] stack traceback: [10/06/2024 00:46:08] [C]: in function 'gsub' [10/06/2024 00:46:08] data/npc/lib/npcsystem/npchandler.lua:301: in function 'parseMessage' [10/06/2024 00:46:08] data/npc/lib/npcsystem/npchandler.lua:538: in function 'onWalkAway' [10/06/2024 00:46:08] data/npc/lib/npcsystem/npchandler.lua:473: in function 'onThink' [10/06/2024 00:46:08] data/npc/scripts/reviver.lua:16: in function <data/npc/scripts/reviver.lua:16> local MONEY_AMOUNT = 1000000 --Quantidade de dinheiro (em gold coins) que o player necessitará para reviver local MAGIC_EFFECT_TELEPORT = 65 -- Efeito que aparecerá quando o player for teleportado local PLAYER_REBORN_POSITION_X = 66541 local PLAYER_REBORN_POSITION_Y = 66542 local PLAYER_REBORN_POSITION_Z = 66543 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'reviver') or msgcontains(msg, 'revive')) then selfSay('Voce precisa de ' .. MONEY_AMOUNT .. ' gold(s) para ressuscitar no local aonde voce morreu recentemente', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerMoney(cid) >= MONEY_AMOUNT) then doPlayerRemoveMoney(cid, MONEY_AMOUNT) if teleportPlayerToPositionReborn(cid) then doTeleportThing(cid, { x=playerRebornPositionX, y=playerRebornPositionY, z=playerRebornPositionZ }) doSendMagicEffect(getThingPos(cid), MAGIC_EFFECT_TELEPORT) selfSay('Ok, voce foi ressuscitado', cid) end else selfSay('Desculpe, mais voce nao possui o dinheiro suficiente.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok, ate mais.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function teleportPlayerToPositionReborn(cid) local playerRebornPositionX = getPlayerStorageValue(cid, PLAYER_REBORN_POSITION_X) local playerRebornPositionY = getPlayerStorageValue(cid, PLAYER_REBORN_POSITION_Y) local playerRebornPositionZ = getPlayerStorageValue(cid, PLAYER_REBORN_POSITION_Z) if (playerRebornPositionX <= -1 or playerRebornPositionY <= -1 or playerRebornPositionZ <= -1) then selfSay('Voce nao morreu nenhuma vez ainda.', cid) return false end doTeleportThing(cid, { x=playerRebornPositionX, y=playerRebornPositionY, z=playerRebornPositionZ }) return true end
-
local lvlcrit = 48913 -- storage para criticos normais local lvlcritDanger = 48904 -- storage para criticos perigosos local multiplier = 1.5 -- multiplicador de dano function onCombat(cid, target) if isPlayer(cid) and isCreature(target) then local criticalChance = getPlayerStorageValue(cid, lvlcrit) or 0 local criticalDangerChance = getPlayerStorageValue(cid, lvlcritDanger) or 0 local chance = math.random(1, 1000) -- Mantém um intervalo razoável -- Verifica se a chance de crítico BOOSTER é atingida if chance <= (criticalChance * 3) then local damage = 100 -- Valor do dano crítico BOOSTER (ajuste conforme necessário) doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -damage, -damage, 255) doSendAnimatedText(getCreaturePosition(target), "+BOOSTER!", 31) doSendMagicEffect(getCreaturePosition(cid), 54) return true end -- Verifica se a chance de crítico DANGER é atingida if chance <= (criticalDangerChance * 3) then ---> Ja tentei por 4 e não resolveu. local damage = 100 -- Valor do dano crítico DANGER (ajuste conforme necessário) doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -damage, -damage, 255) doSendAnimatedText(getCreaturePosition(target), "DANGER!", 190) doSendMagicEffect(getCreaturePosition(cid), 52) return true end end return true end @Holograma
-
-
NAO APARECE DANGER! ACTION: local config = { effectonuse = 65, -- efeito que sai levelscrit = 100, --- leveis que terão storagecrit = 48904 -- storage que será verificado } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"You've Leveled your Critical Skill to ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/"..config.levelscrit.."].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"You've already reached the MAX level of Critical Skill.\nCongratulations!!!!") return 0 end return 1 end local config = { effectonuse = 65, -- efeito que sai levelscrit = 100, --- leveis que terão lvlcritDanger = 48913 -- storage que será verificado } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.lvlcritDanger) < config.levelscrit then doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"You've Leveled your Critical Skill to ["..(getPlayerStorageValue(cid, config.lvlcritDanger)+1).."/"..config.levelscrit.."].") setPlayerStorageValue(cid, config.lvlcritDanger, getPlayerStorageValue(cid, config.lvlcritDanger)+1) elseif getPlayerStorageValue(cid, config.lvlcritDanger) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"You've already reached the MAX level of Critical Skill.\nCongratulations!!!!") return 0 end return 1 end CREATURESCRIPT: local lvlcrit = 48904 local lvlcritDanger = 48913 local multiplier = 1.5 function onCombat(cid, target) if isPlayer(cid) and isCreature(target) then local criticalChance = getPlayerStorageValue(cid, lvlcrit) or 0 local criticalDangerChance = getPlayerStorageValue(cid, lvlcritDanger) or 0 local chance = math.random(1, 1000) -- Mantém um intervalo razoável if chance <= (criticalChance * 3) then local damage = 100 -- Valor do dano crítico BOOSTER (ajuste conforme necessário) doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -damage, -damage, 255) doSendAnimatedText(getCreaturePos(target), "+BOOSTER!", 31) doSendMagicEffect(getCreaturePosition(cid), 54) elseif chance <= (criticalDangerChance * 3) then local damage = 100 -- Valor do dano crítico DANGER (ajuste conforme necessário) doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -damage, -damage, 255) doSendAnimatedText(getCreaturePos(target), "DANGER!", 190) doSendMagicEffect(getCreaturePosition(cid), 52) end end return true end
-
TA DANDO ESSE ERRO ATKBOOST Lua: local lvlcrit = 48904 local multiplier = 1.5 function onCombat(cid, target) if isPlayer(cid) and isCreature(target) then local criticalChance = getPlayerStorageValue(cid, lvlcrit) or 0 local chance = math.random(1, 1000) -- Alterei para um intervalo mais razoável if chance <= (criticalChance * 3) then local damage = 100 -- Valor do dano crítico (ajuste conforme necessário) doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -damage, -damage, 255) doSendAnimatedText(getCreaturePos(target), "+BOOSTER!", 31) doSendMagicEffect(getCreaturePosition(cid), 54) return true end end return true end CRITICAL Lua: local lvlcrit = 48913 local multiplier = 1.5 function onCombat(cid, target) if isPlayer(cid) and isCreature(target) then local criticalChance = getPlayerStorageValue(cid, lvlcrit) or 0 local chance = math.random(1, 1000) -- Alterei para um intervalo mais razoável if chance <= (criticalChance * 3) then local damage = 100 -- Valor do dano crítico (ajuste conforme necessário) doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -damage, -damage, 255) doSendAnimatedText(getCreaturePos(target), "DANGER!", 190) doSendMagicEffect(getCreaturePosition(cid), 52) return true end end return true end
-
local colorMsg = "orange" local tableBoss = { ["[EXP] Statue"] = {seconds = 3600, newBoss = "[EXP] Statue"} } local function timer(position, duration, color) for i = 0, (duration - 1) do addEvent(function() doSendAnimatedText(position, tostring(duration - i), color) end, i * 1000) end end local lastTarget = nil function onKill(cid, target, damage, flags) if lastTarget and lastTarget == target then return true end lastTarget = target if isPlayer(target) then return true end local boss = tableBoss[getCreatureName(target)] if not boss then return true end local position = getThingPos(target) doPlayerSendTextMessage(cid, MESSAGE_TYPES[colorMsg], "The boss will be born in " .. boss.seconds .. " seconds.") timer(position, boss.seconds, COLOR_WHITE) addEvent(doCreateMonster, boss.seconds * 1000, boss.newBoss, position) return true end <?xml version="1.0" encoding="UTF-8"?> <monster name="[EXP] Statue" nameDescription="[EXP] Statue" race="blood" experience="100000000000000" speed="0" manacost="0"> <health now="1000000000" max="1000000000"/> <look typeex="9791" corpse="6364"/> <targetchange interval="60000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="0"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="0"/> <flag staticattack="100"/> <flag lightlevel="0"/> <flag lightcolor="0"/> <flag targetdistance="0"/> <flag runonhealth="0"/> <flag skull="5"/> </flags> <attacks> <attack name="melee" interval="" min="" max=""/> </attacks> <defenses armor="1000000000" defense="1000000000"> <defense name="healing" interval="" chance="1000000000" min="1000000000" max="1000000000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <immunities> <immunity physical="0"/> <immunity energy="0"/> <immunity fire="0"/> <immunity poison="0"/> <immunity lifedrain="0"/> <immunity paralyze="0"/> <immunity outfit="0"/> <immunity drunk="0"/> <immunity invisible="0"/> </immunities> <voices interval="5000" chance="2000"> <voice sentence="Bonús-EXP!"/> </voices> <loot> </loot> </monster>
-
local config = { itemIds = {2445, 2550, 2436, 6101, 2408, 7435, 7429, 5803}, position = {x = 156, y = 58, z = 7} } local currentIndex = 1 function onThink(cid, interval) local tile = getThingfromPos(config.position) local item = nil for _, id in ipairs(config.itemIds) do item = getTileItemById(config.position, id) if item.uid ~= 0 then doTransformItem(item.uid, config.itemIds[currentIndex]) doSendMagicEffect(config.position, CONST_ME_MAGIC_GREEN) currentIndex = (currentIndex % #config.itemIds) + 1 break end end return true end EU QUERIA QUE FICASSE ASSIM
-
<?xml version="1.0" encoding="UTF-8"?> <monster name="[EXP] Statue" nameDescription="[EXP] Statue" race="blood" experience="100000000000000" speed="0" manacost="0"> <health now="1000000000" max="1000000000"/> <look typeex="9791" corpse="6364"/> <targetchange interval="60000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="0"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="0"/> <flag staticattack="100"/> <flag lightlevel="0"/> <flag lightcolor="0"/> <flag targetdistance="0"/> <flag runonhealth="0"/> <flag skull="5"/> </flags> <attacks> <attack name="melee" interval="" min="" max=""/> </attacks> <defenses armor="1000000000" defense="1000000000"> <defense name="healing" interval="" chance="1000000000" min="1000000000" max="1000000000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <immunities> <immunity physical="0"/> <immunity energy="0"/> <immunity fire="0"/> <immunity poison="0"/> <immunity lifedrain="0"/> <immunity paralyze="0"/> <immunity outfit="0"/> <immunity drunk="0"/> <immunity invisible="0"/> </immunities> <voices interval="5000" chance="2000"> <voice sentence="Bonús-EXP!"/> </voices> <loot> </loot> </monster> local colorMsg = "orange" local tableBoss = { ["[EXP] Statue"] = {seconds = 3600, newBoss = "[EXP] Statue"} } local function timer(position, duration, color) for i = 0, (duration - 1) do addEvent(function() doSendAnimatedText(position, tostring(duration - i), color) end, i * 1000) end end function onKill(cid, target, damage, flags) if isPlayer(target) then return true end local boss = tableBoss[getCreatureName(target)] if not boss then return true end local position = getThingPos(target) doPlayerSendTextMessage(cid, MESSAGE_TYPES[colorMsg], "The boss will be born in " .. boss.seconds .. " seconds.") timer(position, boss.seconds, COLOR_WHITE) addEvent(doCreateMonster, boss.seconds * 1000, boss.newBoss, position) return true end
-
function onUse(cid, item, fromPosition, itemEx, toPosition) local petName = "[PET] NIVEL MAXIMO" local requiredStorage1 = 91811 local requiredStorage2 = 13546 local storageValue = 83712 local playerPets = getCreatureSummons(cid) -- Check if the player has the required immortality storages if getPlayerStorageValue(cid, requiredStorage1) == 1 and getPlayerStorageValue(cid, requiredStorage2) == 1 then -- Check if the player already has a summoned pet if #playerPets <= 0 then -- If no pet is summoned, summon a new one local newPet = doSummonMonster(cid, petName) if newPet then setPlayerStorageValue(cid, storageValue, 1) end else -- If a pet is summoned, check if it's the correct one and remove it for _, pet in ipairs(playerPets) do if getCreatureName(pet) == petName then doRemoveCreature(pet) end end end else -- If the player doesn't have the required storages, send a message doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need the immortality storage to use this item.") end return true end
-
-=[TFS]=- 0.3.6 8.60 - PET HIT COM MAGIA NO PLAYER QUE O SUMONO OU SEJA NO DOMADOR ELE ATACA A CRITATURA PLAYER OU MONSTER MAIS MAGIA EM AREA AFETA O DOMADOR Item que sumona pet <action itemid="4864" event="script" value="simple_pet.lua"/> SCRIPT QUE USO ESTA FALTANDO PRA O PET NÃO ATACA COM MAGIA NO DOMADOR OU SEJA QUEM SUMONO O PET function onUse(cid, item, fromPosition, itemEx, toPosition) local petName = "[PET] NIVEL MAXIMO" local storageValue = 83712 local playerPets = getCreatureSummons(cid) -- Verifica se o jogador já tem um pet invocado if #playerPets <= 0 then -- Se não houver pet invocado, invoca um novo local newPet = doSummonMonster(cid, petName) if newPet then setPlayerStorageValue(cid, storageValue, 1) end else -- Se houver pet invocado, verifica se é o pet correto e remove-o for _, pet in ipairs(playerPets) do if getCreatureName(pet) == petName then doRemoveCreature(pet) end end end return true end <?xml version="1.0" encoding="UTF-8"?> <monster name="[PET] NIVEL MAXIMO" nameDescription="[PET] NIVEL MAXIMO" race="fire" experience="" speed="999" manacost="0"> <health now="950000000" max="950000000"/> <look type="35" corpse="3058"/> <targetchange interval="" chance="1000000000"/> <strategy attack="1000000000" defense="1000000000"/> <flags> <flag skull="4"/> <flag summonable="0"/> <flag attackable="0"/> <flag hostile="0"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="0"/> <flag staticattack="0"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="" min="-9584571530" max="-95845715300"/> <attack name="firecondition" interval="1000" chance="1000000" range="100" min="-1000000" max="-1000000"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="yellowspark"/> </attack> <attack name="death" interval="1000" chance="1000000" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="mortarea"/> </attack> <attack name="speed" interval="1000" chance="1000000" radius="100" target="100" speedchange="-1000000" duration="100000"> <attribute key="areaEffect" value="poison"/> </attack> <attack name="strength" interval="1000" chance="1000000" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="blackspark"/> </attack> <attack name="firefield" interval="1000" chance="1000000" radius="100" target="100"> <attribute key="areaEffect" value="explosion"/> </attack> <attack name="fire" interval="1000" chance="1000000" range="100" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="shootEffect" value="explosion"/> <attribute key="areaEffect" value="YELLOWENERGY"/> </attack> <attack name="fire" interval="1000" chance="1000000" range="100" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="shootEffect" value="ENERGYBALL"/> <attribute key="areaEffect" value="assassin"/> </attack> <attack name="fire" interval="1000" chance="1000000" range="100" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="shootEffect" value="ICE"/> <attribute key="areaEffect" value="WATERCREATURE"/> </attack> <attack name="fire" interval="1000" chance="1000000" range="100" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="fire" interval="" chance="1000000" range="100" radius="100" target="1" min="-1000000000" max="-1000000000"> <attribute key="shootEffect" value="DEATH"/> <attribute key="areaEffect" value="EXPLOSION"/> </attack> <attack name="manadrain" interval="1000" chance="1000000" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="energyarea"/> </attack> <attack name="energy" interval="1000" chance="1000000" length="100" spread="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="redshimmer"/> </attack> <attack name="poisoncondition" interval="1000" chance="1000000" length="100" spread="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="greenspark"/> </attack> <attack name="lifedrain" interval="1000" chance="1000000" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="greenshimmer"/> </attack> <attack name="death" interval="1000" chance="1000000" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="mortarea"/> </attack> <attack name="speed" interval="1000" chance="1000000" radius="100" target="100" speedchange="-1000000" duration="100000"> <attribute key="areaEffect" value="poison"/> </attack> <attack name="strength" interval="1000" chance="1000000" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="blackspark"/> </attack> <attack name="firefield" interval="1000" chance="1000000" radius="100" target="100"> <attribute key="areaEffect" value="explosion"/> </attack> <attack name="fire" interval="1000" chance="1000000" range="100" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="fire" interval="1000" chance="1000000" range="100" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="fire" interval="" chance="1000000" range="100" radius="100" target="1" min="-1000000000" max="-1000000000"> <attribute key="shootEffect" value="HOLY"/> <attribute key="areaEffect" value="EXPLOSION"/> </attack> <attack name="manadrain" interval="1000" chance="1000000" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="energyarea"/> </attack> <attack name="energy" interval="1000" chance="1000000" length="100" spread="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="redshimmer"/> </attack> <attack name="poisoncondition" interval="1000" chance="1000000" length="100" spread="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="greenspark"/> </attack> <attack name="lifedrain" interval="1000" chance="1000000" radius="100" target="100" min="-1000000" max="-1000000"> <attribute key="areaEffect" value="greenshimmer"/> </attack> <attack name="fire" interval="" chance="1000000" range="100" radius="100" target="100" min="-150" max="-250"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="fire" interval="" chance="1000000" range="100" radius="100" target="1" min="-1000000000" max="-1000000000"> <attribute key="shootEffect" value="HOLY"/> <attribute key="areaEffect" value="EXPLOSION"/> </attack> <attack name="manadrain" interval="" chance="1000000" radius="100" target="100" min="-1000000000" max="-10000000000"> <attribute key="areaEffect" value="energyarea"/> </attack> <attack name="lifedrain" interval="" chance="1000000" radius="100" target="100" min="-1000000000" max="-10000000000"> <attribute key="areaEffect" value="greenshimmer"/> </attack> </attacks> <defenses armor="999" defense="999"> <defense name="healing" interval="100" chance="100000" min="950000000" max="950000000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="2000" chance="100000" speedchange="900" duration="9000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <immunities> <immunity physical="100"/> <immunity energy="100"/> <immunity fire="100"/> <immunity poison="100"/> <immunity lifedrain="100"/> <immunity paralyze="100"/> <immunity outfit="100"/> <immunity drunk="100"/> <immunity invisible="100"/> <immunity ice="100"/> <immunity death="100"/> <immunity holy="100"/> </immunities> <voices interval="1000" chance="1000000"> <voice sentence="INVENCIVEL!" yell="1"/> </voices> <loot> <item id="1988" chance="1000000"> <inside> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> <item id="2159" countmax="1000000" chance1="1000000000" chancemax="1000000000"/> </inside> </item> </loot> </monster>
-
function onUse(cid, item, fromPosition, itemEx, toPosition) local petName = "[PET] NIVEL MAXIMO" local storageValue = 83712 local playerPets = getCreatureSummons(cid) -- Verifica se o jogador já tem um pet invocado if #playerPets <= 0 then -- Se não houver pet invocado, invoca um novo local newPet = doSummonMonster(cid, petName) if newPet then setPlayerStorageValue(cid, storageValue, 1) end else -- Se houver pet invocado, verifica se é o pet correto e remove-o for _, pet in ipairs(playerPets) do if getCreatureName(pet) == petName then doRemoveCreature(pet) end end end return true end function onCreatureAttack(creature, target) if isPlayer(target) and isSummon(creature) then local master = getCreatureMaster(creature) if master == target then return false -- Impede que o pet cause dano ao jogador que o invocou end elseif isPlayer(creature) and isSummon(target) then local master = getCreatureMaster(target) if master == creature then return false -- Impede que o pet cause dano ao jogador que o invocou end end return true end COMO AGEITO ISSO
-
tem como faze com que player que sumono o pet nao sofra nenhum dano do pet? eu to usando script e o pet mata o player que sumono ele com magia por favor me ajude
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.