-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
script alguém pode me ajudar nessa spells aqui, queira que colocassem pro meu personagem ficar inatingível por 6 segundos e podendo atacar livremente
Por lazaroszz,
- 0 respostas
- 1052 visualizações
-
- 0 respostas
- 3169 visualizações
-
- 3 respostas
- 4346 visualizações
-
- 2 respostas
- 1959 visualizações
-
- 1 resposta
- 1650 visualizações
-

Pergunta
lucas502 18
Fala galera blz?
Então, to usando um talkaction que funciona assim:
o lider da guild usa o comando !guildpoints, quando ele utiliza esse comando, todos os players da guild que atenderem o requisito de Level 150+ e não terem o mesmo Ip (até um limite), sendo eles 10+ players. Todos esses 10+ que atenderem a esses requisitos, ganharão 10 premium points, porém, fiz o teste e me deparei com 1 problema ao digitar !guildpoints:
O Script parece funcionar normalmente, porém, na parte de getPlayerIp acho que tem algum problema que não consigo resolver, parece que o script não consegue "achar" os ips dos membros da guild pra verificar se existem mc's. (Desses 10 players, 6 ips no minimo diferentes é necessário para que o script dê os points, mas o script não está detectando os ips, e retornando um valor zero)
Preciso de ajuda pra resolver esse problema.
vlw galera, aguardo!
Script:
local playersNeeded = 10 local ipsNeeded = 6 local minimumLevel = 150 local storageId = 47578 local pointsForPlayer = 10 local function sendPlayersList(cid, list) for i, pid in ipairs(list) do local level = getPlayerLevel(pid) < minimumLevel and " - " .. getPlayerLevel(cid) .. " level " or "" local valid = getCreatureStorage(pid, storageId) > 1 and " - already received!" or "" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(pid) .. level) end end function onSay(cid, words, param, channel) if(getPlayerGuildLevel(cid) == 3) then local leaderGuild = getPlayerGuildId(cid) local players = getPlayersOnline() local guildMembersValid = {} local guildMembersInvalid = {} for i, pid in ipairs(players) do if(leaderGuild == getPlayerGuildId(pid)) then if(getPlayerLevel(pid) >= minimumLevel and tonumber(getCreatureStorage(pid, storageId)) < 2) then table.insert(guildMembersValid, pid) else table.insert(guildMembersInvalid, pid) end end end if(#guildMembersValid >= playersNeeded) then local IPs = {} for i, pid in ipairs(guildMembersValid) do local ip = getPlayerIp(pid) if(IPs[ip] == nil) then IPs[ip] = ip end end if(#IPs >= ipsNeeded) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players that received points:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players that did not receive points:") sendPlayersList(cid, guildMembersInvalid) local accounts = {} for i, pid in ipairs(guildMembersValid) do table.insert(accounts, getPlayerAccountId(pid)) doCreatureSetStorage(pid, storageId, os.time()) end db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points`+" .. pointsForPlayer .. " WHERE `id` IN (" .. table.concat(accounts, ',') .. ");") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, #guildMembersValid .. " players from your guild are valid (" .. playersNeeded .. " required), but you have together only " .. #IPs .. " IPs (" .. ipsNeeded .. " required)") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Valid players:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid players:") sendPlayersList(cid, guildMembersInvalid) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, #guildMembersValid .. " players from your guild are valid, " .. playersNeeded .. " required. Minimum level required is " .. minimumLevel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Valid players:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid players:") sendPlayersList(cid, guildMembersInvalid) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only guild leader can request points.") end return true endEditado por Lucas502Link para o comentário
https://xtibia.com/forum/topic/188358-probleminha-em-talkaction/Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados