Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // PlayerInfo
- pQuizLoop[101]
- //OnGameModeInit
- for(new i=0; i<sizeof(OrderText); i++)
- {
- QuizSystem[i][quiz_id] = -1;
- }
- //
- // OnDialogResponse
- case DIALOG_ADMIN_SEARCHQUIZ:
- {
- if(!response) return 0;
- if(IsNumeric(inputtext))
- {
- new qid = strval(inputtext);
- if(!IsValidQuiz(qid)) return ShowPlayerDialog(playerid,DIALOG_ADMIN_SEARCHQUIZ,DIALOG_STYLE_INPUT,"{FFFFFF}.::Quiz not found!::.","{FFFFFF}Please Insert the exact: [NAME, ID OR KEYWORD] for the {04B431}Quiz you're looking for.","{58D3F7}Search...","Exit");
- }
- else
- {
- new count,string[120];
- for(new i = 0; i<sizeof(QuizSystem);i++)
- {
- if(IsValidQuiz(i))
- {
- new loop = GetFreeQuizLoop(playerid),getIt,stopIt;
- //if(loop == -1) return ShowPlayerDialog(playerid,DIALOG_ADMIN_SEARCHQUIZ,DIALOG_STYLE_INPUT,"{FFFFFF}.::Invalid LOOP-ID::.","{FFFFFF}Please Insert the exact: [NAME, ID OR KEYWORD] for the {04B431}Quiz you're looking for.","{58D3F7}Search...","Exit");
- loop_start:
- if(loop == -1)
- {
- loop = GetFreeQuizLoop(playerid);
- stopIt++;
- goto loop_start;
- }
- if(stopIt > 30)
- {
- ResetPlayerLoop(playerid);
- SCM(playerid,COOLRED,"[Search for Quiz] The server rejected your request because of too many results, use /quizzes");
- break;
- }
- if(strfind(QuizSystem[i][quiz_question], inputtext,true) != -1)
- {
- PlayerInfo[playerid][pQuizLoop][loop] = i;
- count++;
- getIt++;
- continue;
- }
- else if(strfind(QuizSystem[i][quiz_name], inputtext,true) != -1)
- {
- PlayerInfo[playerid][pQuizLoop][loop] = i;
- count++;
- getIt++;
- continue;
- }
- else if(strfind(QuizSystem[i][quiz_answer], inputtext,true) != -1)
- {
- PlayerInfo[playerid][pQuizLoop][loop] = i;
- count++;
- getIt++;
- }
- printf("Loopid: %d",loop);
- }
- }
- printf("Count: %d",count);
- format(string,sizeof(string),"{FFFFFF}A total of {01DF01}%d{FFFFFF} Quizzes have been found!",count);
- ShowPlayerDialog(playerid,DIALOG_ADMIN_SEARCHQUIZ_2,DIALOG_STYLE_MSGBOX,"{FFFFFF}.::Quizzes found: ::.",string,"{58D3F7}Okay","");
- }
- }
- case DIALOG_ADMIN_SEARCHQUIZ_2:
- {
- new string2[256],count;
- for(new i=0;i<100;i++)
- {
- printf("QUIZ_LOOP: %d, %d, %d",PlayerInfo[playerid][pQuizLoop][i],i,QuizSystem[i][quiz_active]);
- if(PlayerInfo[playerid][pQuizLoop][i] != -1 && IsValidQuiz(PlayerInfo[playerid][pQuizLoop][i]))
- {
- printf("Abgerufen, da! %s %s",QuizSystem[i][quiz_name],QuizSystem[i][quiz_creator]);
- format(string2,sizeof(string2),"%s %s, Made by: %s\n",string2,QuizSystem[i][quiz_name],QuizSystem[i][quiz_creator]); // Need to put string itself before it OR it will just get reformatted all the time
- count++;
- }
- }
- if(count == 0) return ShowPlayerDialog(playerid,DIALOG_ADMIN_SEARCHQUIZ_3, DIALOG_STYLE_LIST, "{FFFFFF}.::Quizzes result: ::.", "Nothing found...", "{58D3F7}Oh.Okay", "");
- ShowPlayerDialog(playerid,DIALOG_ADMIN_SEARCHQUIZ_3, DIALOG_STYLE_LIST, "{FFFFFF}.::Quizzes result: ::.", string2, "{58D3F7}Select", "Exit");
- ResetPlayerLoop(playerid);
- }
- case DIALOG_ADMIN_SEARCHQUIZ_2:
- {
- new string2[256],count;
- for(new i=0;i<100;i++)
- {
- printf("QUIZ_LOOP: %d, %d, %d",PlayerInfo[playerid][pQuizLoop][i],i,QuizSystem[i][quiz_active]);
- if(PlayerInfo[playerid][pQuizLoop][i] != -1 && IsValidQuiz(PlayerInfo[playerid][pQuizLoop][i]))
- {
- printf("Abgerufen, da! %s %s",QuizSystem[i][quiz_name],QuizSystem[i][quiz_creator]);
- format(string2,sizeof(string2),"%s %s, Made by: %s\n",string2,QuizSystem[i][quiz_name],QuizSystem[i][quiz_creator]); // Need to put string itself before it OR it will just get reformatted all the time
- count++;
- }
- }
- if(count == 0) return ShowPlayerDialog(playerid,DIALOG_ADMIN_SEARCHQUIZ_3, DIALOG_STYLE_LIST, "{FFFFFF}.::Quizzes result: ::.", "Nothing found...", "{58D3F7}Oh.Okay", "");
- ShowPlayerDialog(playerid,DIALOG_ADMIN_SEARCHQUIZ_3, DIALOG_STYLE_LIST, "{FFFFFF}.::Quizzes result: ::.", string2, "{58D3F7}Select", "Exit");
- ResetPlayerLoop(playerid);
- }
- //Public
- stock ResetPlayerLoop(playerid)
- {
- for(new i=0;i<100;i++)
- {
- PlayerInfo[playerid][pQuizLoop][i] = -1;
- }
- return 1;
- }
- ocmd:startquiz(playerid,params[]) // find by STRFIND
- {
- if(!IsPlayerAdminEx(playerid,2))return SCM(playerid,COLOR_RED,"You are not permitted.");
- ShowPlayerDialog(playerid,DIALOG_ADMIN_SEARCHQUIZ,DIALOG_STYLE_INPUT,"{FFFFFF}.::Choose a Quiz::.","{FFFFFF}Please Insert the exact: [NAME, ID] or a KEYWORD for the {04B431}Quiz {FFFFFF}you're looking for.","{58D3F7}Search...","Exit");
- return 1;
- }
- stock GetFreeQuizLoop(playerid)
- {
- for(new i=0; i<100;i++)
- {
- if(PlayerInfo[playerid][pQuizLoop][i] == -1) return i;
- }
- return -1;
- }
- stock IsValidQuiz(quizid)
- {
- if(QuizSystem[quizid][quiz_id] == -1 || QuizSystem[quizid][quiz_active] == 0)return 0;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement