Added script function hasquest.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12660 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Kevin 2008-04-26 23:11:15 +00:00
parent 2070c16a1b
commit 2eabb3d1f7
4 changed files with 25 additions and 0 deletions

View File

@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2008/04/26 2008/04/26
* Added script function hasquest. [Kevin]
* Fixed OnGuildBreak. [Kevin]
* Cleaned up auth system after change back to map server request. * Cleaned up auth system after change back to map server request.
- Created function set_char_charselect to get rid of some of the "special case" variables. - Created function set_char_charselect to get rid of some of the "special case" variables.
- Removed code that involved the char server sending auth data at char select. - Removed code that involved the char server sending auth data at char select.

View File

@ -185,6 +185,15 @@ int quest_update_objective(TBL_PC * sd, int quest_id, int objective_num, const c
} }
bool quest_has_quest(TBL_PC * sd, int quest_id)
{
int i;
ARR_FIND(0, MAX_QUEST, i, sd->quest_log[i].quest_id == quest_id);
return (i != MAX_QUEST);
}
int quest_update_status(TBL_PC * sd, int quest_id, bool status) int quest_update_status(TBL_PC * sd, int quest_id, bool status)
{ {

View File

@ -17,4 +17,6 @@ int quest_delete_ack(int char_id, int quest_id, int success);
int quest_update_objective(TBL_PC * sd, int quest_id, int objective_num, const char * name, int count); int quest_update_objective(TBL_PC * sd, int quest_id, int objective_num, const char * name, int count);
int quest_update_status(TBL_PC * sd, int quest_id, bool status); int quest_update_status(TBL_PC * sd, int quest_id, bool status);
bool quest_has_quest(TBL_PC * sd, int quest_id);
#endif #endif

View File

@ -13161,6 +13161,17 @@ BUILDIN_FUNC(setquestobjective)
return 0; return 0;
} }
BUILDIN_FUNC(hasquest)
{
TBL_PC * sd = script_rid2sd(st);
int qid = script_getnum(st, 2);
script_pushint(st, quest_has_quest(sd, qid)?1:0);
return 0;
}
BUILDIN_FUNC(setqueststatus) BUILDIN_FUNC(setqueststatus)
{ {
@ -13521,5 +13532,6 @@ struct script_function buildin_func[] = {
BUILDIN_DEF(deletequest, "i"), BUILDIN_DEF(deletequest, "i"),
BUILDIN_DEF(setquestobjective, "iisi"), BUILDIN_DEF(setquestobjective, "iisi"),
BUILDIN_DEF(setqueststatus, "ii"), BUILDIN_DEF(setqueststatus, "ii"),
BUILDIN_DEF(hasquest, "i"),
{NULL,NULL,NULL}, {NULL,NULL,NULL},
}; };