
Tudo que Pedriinz postou
-
[AJUDA] MUDAR ONDE O PLAYER DA RESPAWN MYSQL
Poste o seu firstitems.lua localizado na pasta creaturescripts/scripts. Poste seu creaturescripts.xml
-
[AJUDA] MUDAR ONDE O PLAYER DA RESPAWN MYSQL
Você declarou errado Não existe possibilidade disso da errado, poste seu arquivo firstitems.lua e creaturescripts.xml
-
[AJUDA] MUDAR ONDE O PLAYER DA RESPAWN MYSQL
Uma opção é você utilizar esta função no mesmo script que entrega os primeiros items ao primeiro login do jogador no servidor, geralmente, firstitems.lua. Você pode adicionar isso (caso utilize 0.4 ou similar): doTeleportThing(cid, {x = 160, y = 54, z = 7}) Ou até mesmo (caso utilize 1.x+): player:teleportTo(Position(x,y,z)) Lembrando que isso é meio que uma "gambiarra", mas resolve o caso. Boa sorte
-
ANTI MC [EVENTOS]
@Fir3element, sua logica está correta, porém estou certo de que não seria o suficiente para barrar a entrada de novos jogadores caso seja um evento em uma sala ou algo do gênero. Precisamos de uma checagem mais "avançada" aqui. @Tópico Creio que uma das melhores formas de se realizar isso, é realizando uma checagem de quem está participando do evento em questão. Qual evento que é? Enfim, você pode setar em uma tabela o cid de cada personagem que entrar no evento, e junto com este CID o IP do mesmo. Ao tentar entrar outro personagem com o mesmo ip deverá ter uma checagem dentro desta tabela para verificar se já existe algum jogador com este IP dentro do evento. Como fazer: Primeiro você deve declarar uma tabela global onde ficará salvo os dados dos jogadores que entrarão no Evento. Aconselho fazer isso em uma lib. (Estarei assumindo aqui que você utiliza a versão 0.4 ou similar.) Crie ou coloque uma lib qualquer a seguinte declaração: CHECK_MC = { players_cache = { --[getPlayerGUID(cid)] = {ip = getPlayerIp(cid)} }, } Após feito isso, você deve adicionar nesta tabela todos os jogadores que entrarem no evento em questão. Entra no arquivo de entrada do evento e adicione o seguinte código: CHECK_MC.players_cache[getPlayerGUID(cid)] = {ip = getPlayerIp(cid)} PS: Caso o evento seja um teleport que vai aparecer para os jogadores entrar ou um tile, você pode adicionar esta linha no código do arquivo no movements, mas ou menos assim: function onStepIn(cid, item, position, fromPosition, toPosition) if not isPlayer(cid) then return true end doTeleportThing(cid, posiçãoDoEvento) CHECK_MC.players_cache[getPlayerGUID(cid)] = {ip = getPlayerIp(cid)} return true end Feito isso, nossa tabela já está adicionando o CID e o IP de cada jogador que entrou dentro do evento. Agora devemos adicionar no mesmo script da entrada do evento, uma checagem para ver se dentro da tabela, já não existe um jogador com o mesmo IP. faremos da seguinte forma: for k, v in pairs(CHECK_MC.players_cache) do if CHECK_MC.players_cache[k].ip == getPlayerIp(cid) then doPlayerSendCancel(cid, 'Você não pode entrar com MC neste evento!') return false end end Você deve adicionar esta checagem antes da ação de teleporta o jogador para dentro do evento. Em resumo o script de entrada para o evento ficaria mais ou menos assim: function onStepIn(cid, item, position, fromPosition, toPosition) if not isPlayer(cid) then return true end for k, v in pairs(CHECK_MC.players_cache) do if BATTLE_ENFORCE.players_cache[k].ip == getPlayerIp(cid) then doPlayerSendCancel(cid, 'Você não pode entrar com MC neste evento!') return false end end doTeleportThing(cid, posiçãoDoEvento) CHECK_MC.players_cache[getPlayerGUID(cid)] = {ip = getPlayerIp(cid)} return true end @Matk, arruma essa box code. Abraços e boa sorte!
-
vodkart coolzao
LKKKKKKKKKKKKKKK vodkart programando festa criança tb? opa ensina s2
-
vodkart coolzao
vai acreditar nessa? cai nao fi
-
vodkart coolzao
to calmu s2
-
vodkart coolzao
virgula de cu é rola mermao tu ta achando q aki é enem? vai toma no teu cu
-
vodkart coolzao
vodkart bloqueou o cara cuzao?
-
[GlobalEvents] Remover Pedras
local k = Tile(Position(x,x,x)):getItemById(item) if k then k:remove() end Adicione isso no script, assumindo que você utilizar versões 1.x
-
Ideia
mds guido tu é mt gay... me come?
-
[AJUDA] Itens da store para MailBox (Depot)
Substitua seu arquivo init.lua por este:
-
Problemas com Amulet of Loss
Qual versão do tfs? Poste o arquivo: creaturescripts/scripts/others/playerdeath.lua
-
[AJUDA] Char morre e não perde nada
Tente remover todas as linhas com o evento: death. E deixe apenas esta <event type="death" name="Playerdeath" event="script" value="playerdeath.lua"/> E teste.
-
Pedidos de Script
Fala @Pepeco, tudo bom, meu querido? Continue fazendo isso que você está fazendo! Isso vai lhe ajudar bastante na sua evolução, e não deixe que ninguém te desmotive ok!? Agora falando sobre o tópico, queria deixar umas dicas pra ti e espero que seja útil hehe. (Caso alguém saiba uma maneira melhor de fazer e possa explicar também seria uma ação humilde). No seu código em creaturescript você fez realizou a checagem utilizando um loop (for) pra alcançar o resultado... Não é legal utilizar o for dessa forma, então irei te mostrar aqui uma forma mais eficaz de realizar este tipo de checagem sem este loop. local exemple = { ["rotworm"] = exemple ["rat"] = exemple } function onKill(cid, target, lastHit) if not isPlayer(cid) and isPlayer(target) then -- 1 return true end if exemple[getCreatureName(target):lower()] then -- 2 --[[ O que o script irá fazer. aqui ]] end return true end Ou simplesmente: local exemple = { ["rotworm"] = exemple ["rat"] = exemple } function onKill(cid, target, lastHit) if not isMonster(target) then return true end if exemple[getCreatureName(target):lower()] then --[[ O que o script irá fazer. aqui ]] end return true end 1º Caso essas condições sejam saciadas, o script parará ali e irá retorna como "satisfeito", grosseiramente falando... ou seja, estará dizendo ao compilador que já teve seu retorno bem sucedido. 2º Realizei uma checagem procurando o nome da criatura que foi morta dentro da tabela, caso o nome seja o mesmo que está lá... então entrará dentro do if. Note que eu utilizei uma função para deixar a string em minusculo. getCreatureName(target):lower() Você pode realizar um teste com uma print: print(getCreatureName(target):lower()) Que irá sempre retorna o nome do monstro em minusculo. Então na tabela você pode colocar minusculo também. Gostaria de ressaltar também, que essa função é global da linguagem LUA como um todo. Exemplo: string.lower(string) print(string.lower("Hello, Lua user!")) >> hello, lua user! Fonte: http://lua-users.org/wiki/StringLibraryTutorial Lembrando que isso não é a melhor forma de realizar essa checagem, eu apenas te mostrei uma forma melhor de alcançar o mesmo resultado que você alcançou por meio de um LOOP (não recomendável.) A intenção deste post não é, e nunca foi tentar diminuir sua pessoa ou ofendê-lo! Eu apenas estou aqui tentando te ajudar a entender melhor LUA, assim como eu também estou estudando cada vez mais. Abraços, e continue assim! Reputado.
-
EXP Gain Rate
Isso não é o que ele pediu :p.
-
Procuro scripter!!
O que você precisa? Me adicione skype.
- GesiorACC COM TOP LVL+OUTFIT
- Ideia
-
[HELP] time.os()
O script está totalmente bagunçado e varias partes erradas. Irei corrigir boa parte e tentar informar o que estava errado e como poderia ficar melhor... daqui a pouco, edito. Edit: Eu nem li o que o script faz direito, apenas organizei e vi o que estava errado e partes que poderiam ser melhoradas e comentei. Teste, caso não funcione explique corretamente o que o script deve fazer. (detalhadamente) local config = { -- Não é preciso criar varias variaveis locais. Basta um em tabela. storage_guild = getGlobalStorageValue(123123), tempo = 5000, trono = {x=1003, y=1225, z=11, stackpos=1}, pos1 = getThingfromPos(trono), idtrono = 5915, cor = green, timenow = os.time(), temponotrono = timenow + tempo, } --[[ Função totalmente desnecessaria, já que ela só faz uma simples ação. function wait(trono) doCreateItem(idtrono,1,trono) end]] function onStepIn(cid, item, frompos, item2, pos, topos, words, param) if getPlayerGuildId(cid) ~= storage_guild then doSendMagicEffect(pos1,12) doBroadcastMessage("O Player [".. getCreatureName(cid) .."] está dominando o CastleWar! Se ele permanecer 5 minutos lá, sua guild será a nova dona do castelo!", cor) addEvent(function() doCreateItem(config.idtrono, 1, config.trono) end, config.tempo) end if os.time() == temponotrono and getPlayerGuildId(cid) ~= storage_guild then doBroadcastMessage("O Player [".. getCreatureName(cid) .."] dominou o castelo!", cor) end if getPlayerGuildId(cid) == storage_guild then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já é dono do castelo!") end end
-
[Spell] Quebra parede e item
Quando postar a spell também vejo possibilidade em ajudar.
-
Espada com dano em area
Não precisa cria variavel no .xml pra isso. Weapons ta aí pra isso
-
amuleto que aumenta o poder de cura
Nesse caso acho que teria que fazer uma checagem na spell... Qual versão? Manda o codigo aí da magia...
-
Erro no sistema de WAR!
O problema é que seu servidor não tem essa função: doGuildAddEnemy.
-
Erro no sistema de WAR!
Wtf... cadê o codigo? Cadê informações sobre qual versão de distro etc...???