@Topico
Os storages estão certos?
@Pergunta
Alteracão nas sources.
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

@Topico
Os storages estão certos?
@Pergunta
Alteracão nas sources.
info
Grupo: Visconde
Registrado: 17/01/11
Posts: 343
Reputação: +46
Char no Tibia: Zodriac

Essa quest era para o player dropar sua primeira Bag para resolver o problema do meu outro pedido do first items. kkkk
quando o player entra no jogo pela primeira vez ele já ganha o storage:
local storage = 23045
local storagequest = 23046
function onLogin(cid)
if getPlayerStorageValue(cid, storage) == -1 then
setPlayerStorageValue(cid, storage, 1)
setPlayerStorageValue(cid, storagequest, 1)
end
return true
end
Ta certinho aparece até o nome da missão mas a descrição não... =/
E quanto as sources eu tenho algumas alterações:
autostack
Sumom não ganha xp
todos os players caminham sempre na mesma speed.
Mas oque isso importa?
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

Mas oque isso importa?
@Pergunta
Alteracão nas sources.
Isso era a resposta para a sua pergunta .-.
@Topic
Porque voce não remove a bag no onLogin()?
info
Grupo: Herói
Registrado: 12/03/11
Posts: 1.9k
Reputação: +284
Gênero: Masculino
Char no Tibia: Nokte

Para que a função do Quest Log funcione você precisa ter essa Função adicionada em seu Distro,
Vai em quests.cpp e procura por isso aki
std::string Mission::getDescription(Player* player)
Depois substitua por isso aqui
std::string Mission::getDescription(Player* player)
{
std::string value;
int32_t find_storage;
player->getStorage(storageId, value);
if(state.size())
{
std::string ret = state;
while((find_storage=ret.find("|STORAGE:"))>-1)
{
int32_t parsing_storage = find_storage+9;
std::string temp;
while((int) ret[parsing_storage] != (int)'|')
{
temp += ret[parsing_storage];
parsing_storage++;
}
parsing_storage -=find_storage-1;
player->getStorage(atoi(temp.c_str()), temp);
ret.replace(find_storage, parsing_storage, temp);
}
replaceString(ret, "|STATE|", value);
return ret;
}
if(atoi(value.c_str()) >= endValue)
{
std::string ret = states.rbegin()->second;
while((find_storage=ret.find("|STORAGE:"))>-1)
{
int32_t parsing_storage = find_storage+9;
std::string temp;
while((int) ret[parsing_storage] != (int)'|')
{
temp += ret[parsing_storage];
parsing_storage++;
}
parsing_storage -=find_storage-1;
player->getStorage(atoi(temp.c_str()), temp);
ret.replace(find_storage, parsing_storage, temp);
}
replaceString(ret, "|STATE|", value);
return ret;
}
for(int32_t i = endValue; i >= startValue; --i)
{
player->getStorage(storageId, value);
if(atoi(value.c_str()) != i)
continue;
std::string ret = states[i - startValue];
while((find_storage=ret.find("|STORAGE:"))>-1)
{
int32_t parsing_storage = find_storage+9;
std::string temp;
while((int) ret[parsing_storage] != (int)'|')
{
temp += ret[parsing_storage];
parsing_storage++;
}
parsing_storage -=find_storage-1;
player->getStorage(atoi(temp.c_str()), temp);
ret.replace(find_storage, parsing_storage, temp);
}
replaceString(ret, "|STATE|", value);
return ret;
}
return "Couldn't retrieve any mission description, please report to a gamemaster.";
}
No quests.xml fica mais ou menos assim
<mission name="The head of Kiper" storageid="1001" startvalue="1" endvalue="3"> <missionstate id="0" description="Kill Rotworms to summon a Kiper!! You've killed already |STORAGE:1002|/50 Rotworms and |STORAGE:1500|/2 Carrion Rotworms."/> <missionstate id="1" description="Give his head to Talaturen!"/> <missionstate id="2" description="Take the medal you got from Talaturen to Ruly!"/> </mission>
info
Grupo: Campones
Registrado: 16/02/11
Posts: 45
Reputação: 0
Char no Tibia: todos

Tente isso
<?xml version="1.0" encoding="UTF-8"?>
<quests>
<quest name="Lost stone of Soya" startstorageid="23046" startstoragevalue="1">
<mission name="Pegue uma bag" storageid="23046" startvalue="0" endvalue="1">
</mission>
<missionstate id="1" description="Find the stone."/>
</mission>
<missionstate id="2" description="you have found the stone."/>
</mission>
</quest>
</quests>
info
Grupo: Visconde
Registrado: 17/01/11
Posts: 343
Reputação: +46
Char no Tibia: Zodriac

Pensei em outro muamba pra arrumar isso, quando o player morre ele nasce com uma bag, eu poderia fazer o player morrer quando escolhe vocation e ai ele já nascer com a bag.
Mas isso e muito é chinelo, só se não der outro modo.
-----------------------------------------------------------
Porque voce não remove a bag no onLogin()?
Como assim remover onLogin() ?
Se o player nem começa com uma.
-----------------------------------------------------------
Para que a função do Quest Log funcione você precisa ter essa Função adicionada em seu Distro,
é claro que eu já tenho isso no distro,
se não a quest nem apareceria né?
-----------------------------------------------------------
Tente isso
Cara se ta loco?
fechando mission que nem abriu ai..
kkkk
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

Qual o problema da sua bag, não entendi então ...
info
Grupo: Visconde
Registrado: 17/01/11
Posts: 343
Reputação: +46
Char no Tibia: Zodriac

Quando player começa o jogo a bag do first items cai no chão.
Eu tentei fazer um quest bem onde o player começa que essa uma bag mas cai no chão também.
Então eu pensei em fazer uma quest de questlog que o objetivo fosse matar um Orc pegar uma bag e eu criei um movements OnEquip da Bag que seta a storage 23046 em 2 pra terminar a quest.
Mas tive problemas nas duas tentativas.
EDIT:
Galera eu tava jogando no OT e resolvi terminar a quest mesmo sem aparecer a descrição, então percebi que a aparece a descrição da segunda parte normalmente.
dai tentei substituir
startvalue="1"
por
startvalue="0"
E as duas descrições apareceram!
Resolvido podem fechar o tópico.
Editado Fevereiro 10 por OtheReality
info
Grupo: Visconde
Registrado: 17/01/11
Posts: 343
Reputação: +46
Char no Tibia: Zodriac
Galera eu sei mexer no quest.xml mas por algum motivo a descrição que eu coloco nos níveis das missões não estão aparecendo.
Olhem meu quests.xml:
edit:
Aproveitando o mesmo tópico, alguém sabe se é script ou edição de source pro GOD mexer os items de longe?
Editado Fevereiro 9 por OtheReality