Ir para conteúdo

Projeto Tutores de Scripting


Killua

Posts Recomendados

Galera poderiam min dizer:

 

1. Como faço para um NPC para de falar com um player?

Ex:

Player: Hi
NPC: Olá player
Player: Npc noob
NPC: Noob é você

após falar isso ele para de falar com o player.

2. Como saber a posição de um npc que o player estiver falando?

3. Como faço para converter um numero real para inteiro em .lua?

4. Como que faço para que um player red ou black skull tenha a mesma porcentagem de perda, ao morrer, tanto de loot como de skill de um player sem skull?

Link para o comentário
Compartilhar em outros sites

 

 

Galera to com um problema poderiam min ajudar?

É o seguinte estou usando a função onCombat(cid, target) nela eu coloquei uma condição retornar false caso o cid e o target tenham a mesma storage, está funcionado, porém se o cid estiver em party com um player X que não tem essa storage, mas um player Y que tem essa storage estiver perto e o cid usar uma magia de área ele pega pk devido o player Y.

A callback onCombat não engloba ataques em area, para ataques em area use:

onAreaCombat(cid, tileItem, tilePosition, isAggressive)

como faço uma comparação entre o cid e quem a magia pegou com essa função que você disse?

 

 

Com a função getTopCreature.

 

Por exemplo, quero comparar o level do jogador que executou a magia e, o level de quem foi atingido, se for jogador:

 

 

local target = getTopCreature(tilePosition) if isPlayer(target) and getPlayerLevel(cid) == getPlayerLevel(target) then

 

É isso aí.

Editado por Garou
Link para o comentário
Compartilhar em outros sites

O que disse no post anterior, sobre esse assunto...

 

 

 

cid e o target tenham a mesma storage, está funcionado, porém se o cid estiver em party com um player X que não tem essa storage, mas um player Y que tem essa storage estiver perto e o cid usar uma magia de área ele pega pk devido o player Y.

 

...eu consegui fazer com que ele não pegue pk, nem battle, porem agora estou com outro problema.

 

Um player X, da party em um player Y, que não possuem a storage, algum desses dois sumona um bicho que possui ataque de area, fire devil por exemplo, e se aproximar-se um player Z desses dois player e, o fire devil, por exemplo, atacar com um ataque de área e esse mesmo ataque atinja o player Z, o dono do summon irá pegar pk e battle, no caso player X ou Y.

 

Tem alguma função que posso impedir isso?


Alguém sabe alguma função que verifique se o player já possui o addon 1 e o 2 de um lookType?

 

Ex: Female Citizen: lookType = 136

 

getAddonOfLookType(cid, 136, 2) -- Algo que fizesse mais ou menos isso, verificar se o cid, possui o addon 2 do lookType 136

 

 

Outra coisa onde que é salvo os addons dos outfits do player na data base?

Link para o comentário
Compartilhar em outros sites

...eu consegui fazer com que ele não pegue pk, nem battle, porem agora estou com outro problema.

 

Um player X, da party em um player Y, que não possuem a storage, algum desses dois sumona um bicho que possui ataque de area, fire devil por exemplo, e se aproximar-se um player Z desses dois player e, o fire devil, por exemplo, atacar com um ataque de área e esse mesmo ataque atinja o player Z, o dono do summon irá pegar pk e battle, no caso player X ou Y.

 

Tem alguma função que posso impedir isso?

Alguém sabe alguma função que verifique se o player já possui o addon 1 e o 2 de um lookType?

 

Ex: Female Citizen: lookType = 136

 

getAddonOfLookType(cid, 136, 2) -- Algo que fizesse mais ou menos isso, verificar se o cid, possui o addon 2 do lookType 136

 

 

Outra coisa onde que é salvo os addons dos outfits do player na data base?

 

Pra pegar os addons da outfit que a pessoa tá usando você usa (não lembro se é .addons ou .addon)

getCreatureOutfit(cid).addons

Pra ver se o jogador possui um addon de tal outfit, você pode usar:

canPlayerWearOutfit(cid, lookType, addons)

Se eu não me engano, cada outfit tem uma storage key, então ficam armazenadas lá em storages mesmo.

Link para o comentário
Compartilhar em outros sites

 

...eu consegui fazer com que ele não pegue pk, nem battle, porem agora estou com outro problema.

 

Um player X, da party em um player Y, que não possuem a storage, algum desses dois sumona um bicho que possui ataque de area, fire devil por exemplo, e se aproximar-se um player Z desses dois player e, o fire devil, por exemplo, atacar com um ataque de área e esse mesmo ataque atinja o player Z, o dono do summon irá pegar pk e battle, no caso player X ou Y.

 

Tem alguma função que posso impedir isso?

Alguém sabe alguma função que verifique se o player já possui o addon 1 e o 2 de um lookType?

 

Ex: Female Citizen: lookType = 136

 

getAddonOfLookType(cid, 136, 2) -- Algo que fizesse mais ou menos isso, verificar se o cid, possui o addon 2 do lookType 136

 

 

Outra coisa onde que é salvo os addons dos outfits do player na data base?

 

Pra pegar os addons da outfit que a pessoa tá usando você usa (não lembro se é .addons ou .addon)

getCreatureOutfit(cid).addons

Pra ver se o jogador possui um addon de tal outfit, você pode usar:

canPlayerWearOutfit(cid, lookType, addons)

Se eu não me engano, cada outfit tem uma storage key, então ficam armazenadas lá em storages mesmo.

 

 

Obrigado Omega, mas poderia min dizer qual o retorno desta função: canPlayerWearOutfit(cid, lookType, addons)?

 

E acho que os addons so salvos em storage, quando voce utiliza um npc addoner, que te da uma storage, mas utilizando apenas a função:

doPlayerAddOutfit(cid, lookType, Addons), não sei se ele atribui uma storage ao player, se estiver errado, poderia min dizer quais storages cada outfit utiliza?

Editado por Mazynho
Link para o comentário
Compartilhar em outros sites

 

Obrigado Omega, mas poderia min dizer qual o retorno desta função: canPlayerWearOutfit(cid, lookType, addons)?

 

E acho que os addons so salvos em storage, quando voce utiliza um npc addoner, que te da uma storage, mas utilizando apenas a função:

doPlayerAddOutfit(cid, lookType, Addons), não sei se ele atribui uma storage ao player, se estiver errado, poderia min dizer quais storages cada outfit utiliza?

Os addons são salvos na database, não em storages.

players.lookAddons

 

Porem como são 3 addons possiveis, ele usa um metodo onde um valor só pode dar a informaçao para os 3, por soma.

Se não me engano atribui-se o valor 1 ao addon 1, 2 ao addon 2 e 4 ao addon 3

Se voce tiver os 3, o valor sera 7, se tiver o 1 e o 3, o valor sera 5, e assim por diante ...

Link para o comentário
Compartilhar em outros sites

Os addons são salvos na database, não em storages.

players.lookAddons

 

Porem como são 3 addons possiveis, ele usa um metodo onde um valor só pode dar a informaçao para os 3, por soma.

Se não me engano atribui-se o valor 1 ao addon 1, 2 ao addon 2 e 4 ao addon 3

Se voce tiver os 3, o valor sera 7, se tiver o 1 e o 3, o valor sera 5, e assim por diante ...

 

Mas isso ai num é para verificar qual ele está usando? eu quero uma função que verifique se o player possui addons de um lookType X, seja o que ele esteja usando ou não.

Link para o comentário
Compartilhar em outros sites

Os addons são salvos na database, não em storages.

players.lookAddons

 

Porem como são 3 addons possiveis, ele usa um metodo onde um valor só pode dar a informaçao para os 3, por soma.

Se não me engano atribui-se o valor 1 ao addon 1, 2 ao addon 2 e 4 ao addon 3

Se voce tiver os 3, o valor sera 7, se tiver o 1 e o 3, o valor sera 5, e assim por diante ...

 

Você se enganou.

 

Outfits são salvas em storages, e a range reservada de storages é de 1000 a 1500.

 

 

 

Mas isso ai num é para verificar qual ele está usando? eu quero uma função que verifique se o player possui addons de um lookType X, seja o que ele esteja usando ou não.

 

Qual a sua dificuldade em usar a função hasPlayerOutfit(cid, lookType[, addon = 0])? Ele retorna um valor booleano, ou é verdadeiro ou é falso.

if canPlayerWearOutfit(cid, 136, 3) then

Exemplo acima, verifico se o jogador pode usar a outfit Citizen do sexo Male com full addons.

 

1 = Primeiro Addon

2 = Segundo Addon

3 = Primeiro e Segundo Addons

Link para o comentário
Compartilhar em outros sites

 

Você se enganou.

 

Outfits são salvas em storages, e a range reservada de storages é de 1000 a 1500.

 

 

 

Qual a sua dificuldade em usar a função hasPlayerOutfit(cid, lookType[, addon = 0])? Ele retorna um valor booleano, ou é verdadeiro ou é falso.

if canPlayerWearOutfit(cid, 136, 3) then

Exemplo acima, verifico se o jogador pode usar a outfit Citizen do sexo Male com full addons.

 

1 = Primeiro Addon

2 = Segundo Addon

3 = Primeiro e Segundo Addons

 

Fiz um teste com essa função:

if canPlayerWearOutfit(cid, 136, 3) == true then

doPlayerSendTextMessage(cid, 22, "Possui os tres addons")

end

 

E não acontece nada, lembrando eu estava com o outfit 136 e com os addons. Vou testar esta outra que você disse: hasPlayerOutfit(cid, lookType[, addon = 0])

Link para o comentário
Compartilhar em outros sites

Boa noite,
Otima ideia(muito melhor ensinar a pescar do que dar o peixe)! Estou adorando o seu trabalho e do Zipter! Sem contar os incriveis scripts do Omega né?!
Estou com um projeto simples e bem unico. A minha duvida atualmente é; Vou descrever a situação para passar uma imagem melhor:
Uso um item no chão e ele modifica o TILE do chão(isso dentro da house do player). Porem quando o server é fechado e aberto novamente, o chão volta a ser o que era antes. O que eu gostaria de saber é: Como fechar o server e o TILE(o chão do mapa) não ser resetado quando o servidor for resetado.
Obrigado desde já! E um grande abraço a todos!
Boa noite.


@off
Outras pessoas tambem podem ajudar algumas duvidas daqui? Obrigado desde já.

Editado por Mateusoo
Link para o comentário
Compartilhar em outros sites

Boa noite,

Otima ideia(muito melhor ensinar a pescar do que dar o peixe)! Estou adorando o seu trabalho e do Zipter! Sem contar os incriveis scripts do Omega né?!

Estou com um projeto simples e bem unico. A minha duvida atualmente é; Vou descrever a situação para passar uma imagem melhor:

Uso um item no chão e ele modifica o TILE do chão(isso dentro da house do player). Porem quando o server é fechado e aberto novamente, o chão volta a ser o que era antes. O que eu gostaria de saber é: Como fechar o server e o TILE(o chão do mapa) não ser resetado quando o servidor for resetado.

Obrigado desde já! E um grande abraço a todos!

Boa noite.

 

 

@off

Outras pessoas tambem podem ajudar algumas duvidas daqui? Obrigado desde já.

O tile da house e salvo junto com o serverSave, antes de fechar de um save e pronto

Link para o comentário
Compartilhar em outros sites

O tile da house e salvo junto com o serverSave, antes de fechar de um save e pronto

Bom dia,

Negativo, os itens são salvos porem o TILE volta a ser o qual está programado no mapa.

 

Tenho essa casa que é do Player: Mateuso

Qualquer item que eu jogue dentro ela salva normalmente.

wcix4x.png

 

 

Eu tenho um script que ao utilizar certo item no chão, o TILE se modifica e vira outro.

O que eu sei é que, quando o server é fechado e aberto novamente são salvos os ITENS que estão acima do TILE, porem o TILE retorna a ser o que está feito no MAPA.

O que eu quero fazer é alterar a função de SAVE do server, para salvar o TILE no chão.

Quando eu uso o item no chão, o TILE se transforma em outro, como na imagem abaixo:

 

bfrqfl.png

 

Acho que agora consegui expressar o pedido em si.

Aguardando respostas.

Grande abraço a todos!

 

 

Link para o comentário
Compartilhar em outros sites

Bom dia,

Negativo, os itens são salvos porem o TILE volta a ser o qual está programado no mapa.

 

Tenho essa casa que é do Player: Mateuso

Qualquer item que eu jogue dentro ela salva normalmente.

wcix4x.png

 

 

Eu tenho um script que ao utilizar certo item no chão, o TILE se modifica e vira outro.

O que eu sei é que, quando o server é fechado e aberto novamente são salvos os ITENS que estão acima do TILE, porem o TILE retorna a ser o que está feito no MAPA.

O que eu quero fazer é alterar a função de SAVE do server, para salvar o TILE no chão.

Quando eu uso o item no chão, o TILE se transforma em outro, como na imagem abaixo:

 

bfrqfl.png

 

Acho que agora consegui expressar o pedido em si.

Aguardando respostas.

Grande abraço a todos!

 

 

Ahh sim, entendi, o ground em si continua o mesmo, poxa provavelmente voce vai ter que alterar o otbm mesmo, acredito que seja umas das formas mais faceis, e ainda assim e complicado

Mas acho que ja vi algo semelhante, do capa verde um script que ele fez baseado nas sources do rme

Porem não foi postado nesse forum

http://forums.#####/showthread.php?190780-Salvar-Mapa-In-Game-cria-um-novo-otbm

Link para o comentário
Compartilhar em outros sites

Ahh sim, entendi, o ground em si continua o mesmo, poxa provavelmente voce vai ter que alterar o otbm mesmo, acredito que seja umas das formas mais faceis, e ainda assim e complicado

Mas acho que ja vi algo semelhante, do capa verde um script que ele fez baseado nas sources do rme

Porem não foi postado nesse forum

http://forums.#####/showthread.php?190780-Salvar-Mapa-In-Game-cria-um-novo-otbm

Boa tarde,

SIMPLESMENTE MUITO IMPRESSIONANTE!

Como todos falaram lá no topico essa função consome muita memoria, vou tentar fazer meu codigo de outro modo.

Muito obrigado pela ajuda e um grande abraço!

REP +

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...