Ir para conteúdo
  • 0

Script Para Quest Valendo 5 Rep+ Por Favor Ajudem


Pergunta

Seguinte Galera Do Xtibia Eu Tenho Um Systema De Reputaçao Meio Diferente Vou Postar Para Voces Verem .......

E Com Esse Systema De Reputaçao Eu Queria Criar Uma Quest Que Ex:

 

O Cara Tem 1000 Pontos De Reputaçao E Ai Ele Entra Na Sala E Completa A Quest Que Precisava De 1000 Pontos De Reputaçao Automaticamente Os 1000 Pontos De Reputaçao Dele Voltara Para 0 Pontos De Reputaçao E Que Ele Possa Fazer A Quest Quantas Veses Ele Quiser Basta Ele Conseguir Novamente Os 1000 Pontos De Reputaçao.

 

Meu Systema De Reputaçao É Por Mods

 

  Mostrar conteúdo oculto

 

 

Valendo 5 Rep+ Pra Quem Me Ajudar Por Favor Galera Ajudem Ai

Desde Ja Agradeço

 

Shadown Server

Link para o comentário
https://xtibia.com/forum/topic/187673-script-para-quest-valendo-5-rep-por-favor-ajudem/
Compartilhar em outros sites

Posts Recomendados

  • 0

va em quest.xml adione essa tag

<action uniqueid="89774" event="script" value="repquest.lua" />

 

va em actions/script crie um arquivo lua com nome repquest e coloque isto dentro

function getPoints(cid)
local Info = db.getResult("SELECT `rep` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")
local rep = Info:getDataInt("rep")
Info:free()
return rep
end

function remove(cid, amount)
db.executeQuery("UPDATE `players` SET `rep` = `rep` - " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
doPlayerSendCancel(cid,'You lost '.. amount ..' reputation points.')
end


quantidade = 1000 --quantidade nessesaria para faser a quest(quantidade que sera retirada)

premios = { {2160,100} , {2161,1} } --premios que o player ganhara --edite da seguite forma {id do item,quandidade}

function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPoints(cid) >= quantidade then
for i = 1, #premios do
doPlayerAddItem(cid, premios[i][1],premios[i][2])
end
remove(cid, quantidade)
else
doPlayerSendCancel(cid,'You need '.. amount ..' reputation points to do this quest.')
end
end

agora so abrir o remre e adicionar o unique id 89774 na quest e pronto.

Editado por lordbug99
  • 0

I MANO EU TESTEI E NAO FUNFO FIZ CERTIN QUINEM SE FALO MAIS NADA

SE O PLAYER NAO TEM REP NAO APARECE MSG FALANDO QUE ELE PRECISA

SE O PLAYER TEM REP NAO GANHA NADA

 

 

 

OBS: COLOQUEI UNIQUEID 60000 PQ O UNIQUEID VAI ATE 65000

 

OQ FAÇO ?

  • 0

ops erro na ora de digita

 

abra o aquivo do script

procure por "quatidade" (sem apas) e substitua por "quantidade" (sem apas tbm)

Editado por lordbug99
  • 0

CARA SEGUINTE MANO EU CRIEI UMA QUEST EM QUE QUEM TEM 1000 REP+ FAÇA E GANHEI ITEM FIZ COM ESSE SCRIPT Que Voce Me Passou

 

function getPoints(cid)
local Info = db.getResult("SELECT `rep` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")
local rep = Info:getDataInt("rep")
Info:free()
return rep
end
function remove(cid, amount)
db.executeQuery("UPDATE `players` SET `rep` = `rep` - " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
doPlayerSendCancel(cid,'Voce Perdeu '.. amount ..' Pontos De Reputaçao.')
end

quantidade = 1000 --quantidade nessesaria para faser a quest(quantidade que sera retirada)
premios = { {5097,1} } --premios que o player ganhara --edite da seguite forma {id do item,quandidade}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPoints(cid) >= quantidade then
for i = 1, #premios do
doPlayerAddItem(cid, premios[i][1])
end
remove(cid, quantidade)
else
doPlayerSendCancel(cid,'Voce Preçisa De '.. amount ..' Pontos De Reputaçao Para Completar A Quest.')
end
end

 

AI QUERIA UMA MSM QUEST MAIS EM QUE O PLAYER QUE TENHA 1000 REP- POSSA FAZER

 

Ta Mt Foda Pf Esta Valendo 5 Rep+

Editado por ADMTeuzinho
  • 0

usa esse

function getPoints(cid)
local Info = db.getResult("SELECT `rep` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")
local rep = Info:getDataInt("rep")
Info:free()
return -rep
end

function remove(cid, amount)
db.executeQuery("UPDATE `players` SET `rep` = `rep` + " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
doPlayerSendCancel(cid,'You lost '.. amount ..' reputation points.')
end


quantidade = 1000 --quantidade nessesaria para faser a quest(quantidade que sera retirada)

premios = { {2160,100} } --premios que o player ganhara --edite da seguite forma {id do item,quandidade}

function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPoints(cid) >= quantidade then
for i = 1, #premios do
doPlayerAddItem(cid, premios[i][1],premios[i][2])
end
remove(cid, quantidade)
else
doPlayerSendCancel(cid,'You need '.. amount ..' reputation points to do this quest.')
end
end


  • 0

CARA EU USEI O SCRIPT AI TIPO QUANDO O CARA TEM 1000 REP- ELE COMPLETA A QUEST DE REP- NORMALMENTE E NAO CONSEGUE COMPLETA A DO REP+ ATE AKI FICO OK DO JEITO QUE EU QUERO

 

MAIS AI SE ELE TEM 1000 REP+ ELE NAO CONSEGUE COMPLETA A QUEST DE REP+ E QUANDO SE CLICA NA QUEST PRA COMPLETA APARECE ESSE ERRO NO DISTRO

 

 

[10/06/2012 19:21:22] [Error - Action Interface]
[10/06/2012 19:21:22] data/actions/scripts/mangarepmais.lua:onUse
[10/06/2012 19:21:22] Description:
[10/06/2012 19:21:22] data/actions/scripts/mangarepmais.lua:21: attempt to concatenate global 'amount' (a nil value)
[10/06/2012 19:21:22] stack traceback:
[10/06/2012 19:21:22]  data/actions/scripts/mangarepmais.lua:21: in function <data/actions/scripts/mangarepmais.lua:14>

 

OQ FAZER ?

Editado por ADMTeuzinho
  • 0

INTAO MAIS TIPO CONFORME EU COLOCO OS 2 SCRIPT 1 AUTOMATICAMENTE PARA DE FUNCIONAR NAO SEI PQ

 

MAN SEGUINTE PRA FACILITAR TERIA COMO CRIA 1 SCRIPT QUE TANTO SE O PLAYER TIVER REP+ OU REP- ELE CONSEGUISSE COMPLETAR A QUEST E SE ELE TIVESSE 1000+ VOLTASSE PA 0 E SE TIVESSE 1000- VOLTASSE PA 0 TMB TEM COMO FAZER ISSO ?

Editado por ADMTeuzinho
  • 0

usa esse ele vai vou ta pra zero os rep e intrega os items,caso tenha mais de 1000 ou menos -1000

 

function getPoints(cid)
local Info = db.getResult("SELECT `rep` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")
local rep = Info:getDataInt("rep")
Info:free()
return rep
end

function reset(cid)
db.executeQuery("UPDATE `players` SET `rep` = 0 WHERE `id` = " .. getPlayerGUID(cid) .. ";")
doPlayerSendCancel(cid,'You lost '.. amount ..' reputation points.')
end


quantidade = 1000 --quantidade nessesaria para faser a quest(quantidade que sera retirada)

premios = { {2160,100} } --premios que o player ganhara --edite da seguite forma {id do item,quandidade}

function onUse(cid, item, fromPosition, itemEx, toPosition)
x = getPoints(cid)
if x >= quantidade or -(x) >= quantidade then
for i = 1, #premios do
doPlayerAddItem(cid, premios[i][1],premios[i][2])
end
reset(cid)
else
doPlayerSendCancel(cid,'You need '.. amount ..' reputation points to do this quest.')
end
end

  • 0

MAN A FICO CERTIN QUANDO O CARA TEM + OU - ELE COMPLETA FICO CERTINHO MAIS

TEVE UM PROBLEMINHA TIPO SE ELE TIVER 5000 DE PONTO E ELE COMPLETA ELE PERDE TD E NAO APENAS 1000 QUE SERIA OOQ A QUEST PEDE

 

Oq Devo Fazer ?

Editado por ADMTeuzinho
  • 0

ue se tinha faldo que era pra volta pra zero,n pra perde 1000 ¬¬

 

function getPoints(cid)
local Info = db.getResult("SELECT `rep` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")
local rep = Info:getDataInt("rep")
Info:free()
return rep
end

function reset(cid)
db.executeQuery("UPDATE `players` SET `rep` = `rep` - " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
doPlayerSendCancel(cid,'You lost '.. amount ..' reputation points.')
end


quantidade = 1000 --quantidade nessesaria para faser a quest(quantidade que sera retirada)

premios = { {2160,100} } --premios que o player ganhara --edite da seguite forma {id do item,quandidade}

function onUse(cid, item, fromPosition, itemEx, toPosition)
x = getPoints(cid)
if x >= quantidade then
for i = 1, #premios do
doPlayerAddItem(cid, premios[i][1],premios[i][2])
end
reset(cid, 1000)
elseif -(x) >= quantidade then
for i = 1, #premios do
doPlayerAddItem(cid, premios[i][1],premios[i][2])
end
reset(cid, -1000)
else
doPlayerSendCancel(cid,'You need '.. amount ..' reputation points to do this quest.')
end
end

  • 0

AI MANOLO SEGUINTE USEI ESSE SCRIPT QUE SE ME PASSO NAO TINHA FUNFADO CERTINHO MAIS DEI UMAS ARRUMADINHAS

 

  Mostrar conteúdo oculto

 

ONDE TA RESET SUBSTITUI PELA FUNÇAO DE REMOVE E AI FUNFO CERTINHO

VLW MSM MANO SE SALVO MY LIFE ^^ JA COMEÇEI A PAGAR OS REP+ JA PAGUEI 1 FALTA 4

 

OBS: Tem Como Voce Cria 1 Tile Onde So Player Que Tenha Qualquer Quantia De Rep+ Passe E Outro Tile Que Players Com Rep- Passe

 

Ai Inves De Dar 5 Rep+ Como Prometido Dou 7

 

Vlw Msm Mano Msm Se Nao Quiser Fazer O Tile Se Salvou Minha Vida ^^

 

Vlw

 

PRONTO MANOLO PAGUEI SEUS 5 REP+ TEM COMO AJUDAR NO TILE QUE EU PEDI NAO ? VAENDO +2 REP+

 

 

VLW

Editado por ADMTeuzinho
  • 0

va em moveevents.xml crie a tag

<movevent type="StepIn" actionid="12457;12457" event="script" value="reptile.lua"/>

 

va na pasta de script(do moveevents),crie um arquivo lua com nome reptile e coloque isso nele

function getPoints(cid)
local Info = db.getResult("SELECT `rep` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")
local rep = Info:getDataInt("rep")
Info:free()
return rep
end

quantidademais = 1000 --quantidade para passar no tile de rep+
quantidademenos = 1000 --quantidade para passar no tile de rep-

function onStepIn(cid, item, pos, fromPosition)
x = getPoints(cid)
if item.actionid  == 12457 then
if x < quantidemais then
 doPlayerSendCancel(cid,"Apenas jogadores com "..quantidademais.."  rep+ ou mais podem passar.")
 doTeleportThing(cid, pos)
 doSendMagicEffect(pos, 2)
end
elseif item.actionid  == 12458 then
if x > quantidemenos then
 doPlayerSendCancel(cid,"Apenas jogadores com "..quantidademenos.."  rep- ou mais podem passar.")
 doTeleportThing(cid, pos)
 doSendMagicEffect(pos, 2)
end
end
end

  • 0

AI MANO VLW MSM TU SEMPRE SALVANDO MINHA VIDA ^^ O SCRIPT FUNFO CERTIN

 

VOU TE DAR OS 2 REP+

 

POREM PRESTA MAIS ATENÇAO NA HORA DE ESCREVE MAN NOVAMENTE VC ERRO AO ESCREVER QUANTIDADE E NO COMEÇO NAO TAVA FUNFANO AI EU AXEI E CONCERTEI

 

REVEJA AI NO SCRIPT ESTA "QUANTIDE"

 

MAIS VLW MSM MANO SE SEMPRE SALVANDO MINHA VIDA ^^ TY

 

REP+

 

EDIT ~~~~~~~~~~~~

 

AI MANO TIPO CRIEI VARIAS QUEST DE REP

ENFIM CRIEI UMA QUEST QUE NECESITA DE 50K DE REP PRA CATAR O ITEM FUNFO CERTIN

 

POREM AS QUE PRECISA DE MENOS DE REP PRA SER COMPLETADAS

 

SO TEM COMO COMPLETA SE O PLAYER TIVER 50K DE REP

 

A QUEST RETIRA APENAS 1000 QUE É O CERTO MAIS NO CASO ELE TEM QUE TER 51K DE REP PRA PODER COMPLETAR A QUEST DE 1000 OQ ACONTECEU ?

Editado por ADMTeuzinho
×
×
  • Criar Novo...