Nister_Just
Умник
Помогите перевести викторину на YSI\y_ini сохранения и перевести в мод и сделайте ,чтобы за правильный вопрос приз давало pDollar += 5. Если , что у меня zcmd стоит! Спасибо тем кто поможет!
PHP:
#include <a_samp>
#include <mxINI>
#define Cvet 0x00FFFAFF
new Quest=0;
enum QInfo
{
qQuestion[512],
qAnswer[40],
};
new string[512];
new QuizTimer;
new QuizNow;
new QuestInfo[104][QInfo];
forward LoadViktorina();
public LoadViktorina()
{
new stringi[512];
new delim;
new File = iniOpen("Quest.ini");
if(File < 0) return 1;
else
{
for(new x =0;x < INI_MAX_KEYS_IN_FILE;x++)
{
format(string,sizeof(string),"q%d",x);
new z = iniGet(File,string,stringi);
if(z < 0) {}
else
{
delim = strfind(stringi,"|",true,0);
new l[512];
new s[40];
strmid(l,stringi,0,delim);
strmid(s,stringi,delim+1,sizeof(stringi));
format(QuestInfo[x][qQuestion],strlen(l)+1,"%s",l);
format(QuestInfo[x][qAnswer],strlen(s)+1,"%s",s);
/*strmid(QuestInfo[x][qQuestion],stringi,0,delim);
strmid(QuestInfo[x][qAnswer],stringi,delim+1,sizeof(stringi));*/
Quest++;
}
}
}
QuizTimer = 305;
QuizNow = random(Quest);
SetTimer("QuizTime",1000,1);
return 1;
}
forward QuizTime();
public QuizTime()
{
QuizTimer --;
if(QuizTimer <=0)
{
format(string,sizeof(string),"{FFD700}[Викторина]: {FFFFE0}Никто не ответил на вопрос. Правильный ответ был: %s",QuestInfo[QuizNow][qAnswer]);
SendClientMessageToAll(Cvet,string);
QuizNow = random(Quest);
format(string,sizeof(string),"{FFD700}[Викторина]: {FFFFE0}Новый вопрос: %s. Время пошло.",QuestInfo[QuizNow][qQuestion]);
SendClientMessageToAll(Cvet,string);
QuizTimer = 305;
}
if(QuizTimer == 100||QuizTimer == 60||QuizTimer == 140||QuizTimer == 200)
{
format(string,sizeof(string),"{FFD700}[Викторина]: {FFFFE0}Ответа еще нет. А я напоминаю что вопрос у нас %s",QuestInfo[QuizNow][qQuestion]);
SendClientMessageToAll(Cvet,string);
}
}
public OnFilterScriptInit()
{
LoadViktorina();
format(string,sizeof(string),"{FFD700}[Викторина]: Первый вопрос {FFFFE0}%s",QuestInfo[QuizNow][qQuestion]);
SendClientMessageToAll(Cvet,string);
return 1;
}
public OnPlayerText(playerid,text[])
{
if(strfind(text,QuestInfo[QuizNow][qAnswer],true) != -1)
{
GivePlayerMoney(playerid,150);
format(string,sizeof(string),"{FFD700}[Викторина]: {FFFFE0}%s {FFD700} правильно отвечает на вопрос. Ответ: %s",Name(playerid),QuestInfo[QuizNow][qAnswer]);
SendClientMessageToAll(Cvet,string);
QuizNow = random(Quest);
format(string,sizeof(string),"{FFD700}[Викторина]: {FFFFE0}Новый вопрос: {FFD700}%s. {FFFFE0}Время пошло.",QuestInfo[QuizNow][qQuestion]);
SendClientMessageToAll(Cvet,string);
return 0;
}
return 1;
}
public OnPlayerConnect(playerid)
{
format(string,sizeof(string),"{FFD700}[Викторина]: {FFFFE0}%s",QuestInfo[QuizNow][qQuestion]);
SendClientMessage(playerid,Cvet,string);
return 1;
}
forward split(const strsrc[], strdest[][], delimiter);
public split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc)){
if(strsrc[i]==delimiter || i==strlen(strsrc)){
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
stock Name(playerid) { new pl[24]; GetPlayerName(playerid,pl,24); return pl; }
Последнее редактирование:
