NI

[Pedido]: Script De Teleport

Por NightmareRullesz, 27 de nov. de 2011 em Archived

script
8
1.1k
27 de novembro de 2011 às 20:28

Olá, eu queria lhes pedir um scritpt, quem puder ajudar eu agradeço!

 

É um script simples, porém não estou conseguindo fazer s;

 

É uma placa que teleporta o jogador para dentro da quest x, porém se ele já tiver feito a quest ele não entrar novamente.

As storages da quest é 2455 e 2456 (se o jogador tiver uma delas ou as duas ele não entra).

 

 

Exemplo: Em uma quest 'x' tem dois baús; z e y. Se o jogador pegar apenas o baú z ele não entra na quest, se ele pega apenas o baú y ele também não entra na quest. Se ele pegar os dois baús ele também não entra na quest.

 

Grato;

Desde-já!

SkyDangerousS
27 de novembro de 2011 às 22:11

function onUse(cid, item, frompos, item2, topos) 
local pos = {x=139,y=58,z=7}
local storage = {2455,2456}

if item.uid == 7001 then
if getPlayerStorageValue(cid, storage[1]) and getPlayerStorageValue(cid, storage[2])  == -1 then
doPlayerSendTextMessage(cid, 21, "Voce entrou na quest")
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid, 21, "Vc nao pode entrar")
end
  end
  return TRUE
end

 

Seria isso?

28 de novembro de 2011 às 08:53

function onUse(cid, item, frompos, item2, topos)
local pos = {x=139,y=58,z=7}
local storage = {2455,2456}

if item.uid == 7001 then
if getPlayerStorageValue(cid, storage[1]) and getPlayerStorageValue(cid, storage[2])  == -1 then
doPlayerSendTextMessage(cid, 21, "Voce entrou na quest")
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid, 21, "Vc nao pode entrar")
end
  end
  return TRUE
end

 

Seria isso?

 

Seria, porém não funcionou /;

Editado Novembro 28 por NightmareRullesz

MulizeuM
28 de novembro de 2011 às 11:35

Ai

 

function onUse(cid, item, frompos, item2, topos)
local pos = {x=139,y=58,z=7}
local storage = {2455,2456}

if isInArray(storage,getPlayerStorageValue(cid)) == -1 then
doPlayerSendTextMessage(cid, 21, "Voce entrou na quest")
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid, 21, "Vc nao pode entrar")
end
return TRUE
end

28 de novembro de 2011 às 18:26

Ai

 

function onUse(cid, item, frompos, item2, topos)
local pos = {x=139,y=58,z=7}
local storage = {2455,2456}

if isInArray(storage,getPlayerStorageValue(cid)) == -1 then
doPlayerSendTextMessage(cid, 21, "Voce entrou na quest")
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid, 21, "Vc nao pode entrar")
end
return TRUE
end

 

Não sei por que, mas mesmo sem as storages aparece a mensagem 'Vc nao pode entrar'..

Editado Novembro 28 por NightmareRullesz

SkyDangerousS
28 de novembro de 2011 às 23:22

Aqui funcionou certo.

Creio que o problema esta ai..

01 de dezembro de 2011 às 09:47

Tipo, não da erro nenhum, porém quando eu faço as quests que dá as storages eu só não entro se eu fizer a segunda, caso eu pegue só o primeiro baú ainda sim consigo entrar '.'

MatheusGladM
01 de dezembro de 2011 às 10:17

Hmm creio que foi pelos seguintes erros:

 

No script do SkyDangerouas:

if getPlayerStorageValue(cid, storage[1]) and getPlayerStorageValue(cid, storage[2])  == -1 then

 

Voce tem que checar o valor das duas storages:

if getPlayerStorageValue(cid, storage[1]) == -1 and getPlayerStorageValue(cid, storage[2])  == -1 then

 

Ja no script do mulizeu, nao tem como usar isInArray para esse script.