Ir para conteúdo
  • Cadastre-se

[Ajuda] Quest Simples, não funciona HELK


Posts Recomendados

Eu tentei achar algo parecido no fórum, mas nada resolveu o meu problema. Eu não sei se eu que sou muito leigo no assunto, ou se estou fazendo algo de errado, pois quando tento criar uma quest simples por level em meu servidor PDA, ela não funciona e ainda da esse erro no distro:

 

[30/03/2014 16:51:38] [Error - LuaScriptInterface::loadFile] data/actions/scripts/box1.lua:7: ambiguous syntax (function call x new statement) near '('
[30/03/2014 16:51:38] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/box1.lua)
[30/03/2014 16:51:38] data/actions/scripts/box1.lua:7: ambiguous syntax (function call x new statement) near '('

 
Alguém sabe me dizer, ou me indicar um tópico funciona para que eu consiga criar essa quest? Eu só quero algo simples, tipo: O player de tal level, pega tantos itens ali dentro e pronto, mas eu não consigo ! :'(
 
Estou usando esse script:

function onUse(cid, item, frompos, item2, topos)
if item.uid == 10000 then
queststatus = getPlayerStorageValue(cid,9000)
if queststatus == -1 then
if GetPlayerLevel >= 20 then
doPlayerSendTextMessage(cid,22,"Você recebeu sua box 1!")
(0, 255, 255)"]doPlayerAddItem(cid,2149,10)
setPlayerStorageValue(cid,11638,1)
else
doPlayerSendTextMessage(cid,22,"Você já pegou a sua box 1.")
end
end 
end

 
Com essa tag no Actions.xml:

<action uniqueid="10000" event="script" value="box1.lua"/>

 
Por favor, se alguém puder me ajudar em que eu estou errando e me auxiliar para que eu faça certo, agradeço desde já. Muito obrigado!
 
Link para o post
Compartilhar em outros sites
function onUse(cid, item, frompos, item2, topos)
local queststatus = getPlayerStorageValue(cid,9000)

if item.uid == 10000 and queststatus == -1 then
if getPlayerLevel(cid) >= 20 then
doPlayerSendTextMessage(cid,22,"Você recebeu sua box 1!")
doPlayerAddItem(cid,2149,10)
setPlayerStorageValue(cid,11638,1)
end
else
doPlayerSendTextMessage(cid,22,"Você já pegou a sua box 1.")
end 
end

Tenta assim, se não der avise ;)

Link para o post
Compartilhar em outros sites

Opa Artur, agora funcinou, mas o player pode pegar quantas vezes quiser. Você poderia me dizer o que mais eu fiz de errado ? 

Link para o post
Compartilhar em outros sites

o problema desse script é que ele checa um storage e dá outro na hora de pegar o item, fazendo assim com que você sempre possa pegar o item
 

function onUse(cid, item, frompos, item2, topos)
local queststatus = getPlayerStorageValue(cid,11638)

if item.uid == 10000 and queststatus == -1 then
if getPlayerLevel(cid) >= 20 then
doPlayerSendTextMessage(cid,22,"Você recebeu sua box 1!")
doPlayerAddItem(cid,2149,10)
setPlayerStorageValue(cid,11638,1)
end
else
doPlayerSendTextMessage(cid,22,"Você já pegou a sua box 1.")
end 
end

Isso  tem que ter o mesmo storage que isso:

local queststatus = getPlayerStorageValue(cid,11638)
setPlayerStorageValue(cid,11638,1)

Explicando melhor: Quando o player vai abrir o baú ele checa o storage 11638.
Caso o queststatus == -1, prossegue o script que o cara faz a quest. Ao fazer a quest o storage passa a valer "1" então se o player tentar fazer de novo essa quest vai retornar o erro porque o questatus não tá mais valendo -1. Mas pra fazer isso os dois storages tem que ser iguais

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Como no caso o storage está com o ID do item que eu desejo usar, eu poderia trocar ela por 20000 por exemplo ?

No caso estou utilizando numeros grandes para que eu não me perca ou use algum repetido !

 

Mas o que estava de errado eu já entendi xWhitewolf, muito obrigado!

Link para o post
Compartilhar em outros sites

não.. storage não tem nada a ver com o item. É apenas um lugar que você salva um valor e utiliza pra controlar as quests e outras coisas do server. Fez a quest o storage de numero XXXXX passa a valer 1, se não fez a quest o storage de numero XXXXX tem valor -1.
O item que vai ganhar é esse daqui 

doPlayerAddItem(cid,2149,10)

esse comando adiciona 10 itens de ID 2149.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Obrigado a todos que ajudaram, consegui arrumar e entender como funciona. Reputados!

 

Dúvida sanada, podem fechar o tópico por favor.

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo