Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <EasyDialog>
- #include <foreach>
- #include <sscanf>
- #include <zcmd>
- //by Y_LESS and Missiur on topic (https://forum.sa-mp.com/showthread.php?t=583472)
- #define FLOAT_INFINITY (Float:0x7F800000)
- #define FLOAT_NEG_INFINITY (Float:0xFF800000)
- #define FLOAT_NAN (Float:0xFFFFFFFF)
- #define PlayerSay(%0, %1) !strcmp(%0,%1,false) && strlen(%0) == strlen(%1)
- #define CONTROL->%0(%1) forward%0(%1); public%0(%1);
- #define IsNull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
- enum FormList
- {
- //FormName[32]
- FormType,
- FormFill1,
- FormFill2,
- FormFill3,
- FormFill4,
- FormFill5,
- FormFill6,
- Bool:FormReceiving,
- Bool:FormFilled
- };
- new Formulir[MAX_PLAYERS][FormList];
- public OnFilterScriptInit()
- {
- print("Bot Administrative Chatter!");
- print("By: Your Hated Scripter | 0x1E4");
- print("");
- print("Loaded Successfully!");
- }
- public OnFilterScriptExit()
- {
- print("Bot Administrative Chatter!");
- print("By: Your Hated Scripter | 0x1E4");
- print("");
- print("See you later!");
- }
- stock GetClosestBOT(obj)
- {
- new
- x,
- Float:dis = FLOAT_INFINITY,
- Float:dis2,
- person = -1;
- for (x = 0; x < MAX_PLAYERS; x++)
- {
- if(IsPlayerConnected(x) && IsPlayerNPC(x))
- {
- if(x != obj)
- {
- dis2 = GetDistanceBetweenPlayers(x, obj);
- if(dis2 < dis && dis2 != -1.00)
- {
- dis = dis2;
- person = x;
- }
- }
- }
- }
- return person;
- }
- stock IsFormFilled(playerid)
- {
- if(!IsNull(Formulir[playerid][FormFill1]) && !IsNull(Formulir[playerid][FormFill2]) && !IsNull(Formulir[playerid][FormFill3])
- !IsNull(Formulir[playerid][FormFill4]) && !IsNull(Formulir[playerid][FormFill5]) && !IsNull(Formulir[playerid][FormFill6])) return 1;
- return 0;
- }
- stock GetName(obj, con=0) //1 = underscore, and 0 = not underscore
- {
- new
- asynk[MAX_PLAYER_NAME+2];
- switch(con)
- {
- case 0:
- {
- GetPlayerName(obj, asynk, sizeof(asynk));
- for(new i; i < MAX_PLAYER_NAME; i++) if (asynk[i] == '_') asynk[i] = ' ';
- }
- case 1: GetPlayerName(obj, asynk, sizeof(asynk));
- }
- return asynk;
- }
- public OnPlayerConnect(playerid)
- {
- ClearFormulir(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- ClearFormulir(playerid);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- new BOT = GetClosestBOT(playerid);
- if(PlayerSay(text, "Tolong buatkan saya SIM"));
- {
- BotReply(playerid, "Baiklah tunggu sebentar...");
- BotReply(playerid, "Oh iya tolong isikan data lengkap anda disini ya.");
- BotRP(playerid, "%s mengambil kertas formulir ID Card untuk %s", GetName(BOT), GetName(playerid));
- Formulir[playerid][FormReceiving] = 1;
- Formulir[playerid][FormType] = 1; //ID Card
- }
- }
- CONTROL->ProcessingFormulir(playerid)
- {
- new contain[128];
- format(contain, sizeof(contain),
- "Name\t%s\n \
- Age\t%s\n \
- Address\t%s\n \
- Sex\t%s\n \
- Religion\t%s\n \
- Status\t%s\n \
- \n \
- with the formation of this ID Card I promise to \n \
- be a good citizen for the future \n \
- \n \
- %s, %s",
- Formulir[playerid][FormFill1],
- Formulir[playerid][FormFill2],
- Formulir[playerid][FormFill3],
- Formulir[playerid][FormFill4],
- Formulir[playerid][FormFill5],
- Formulir[playerid][FormFill6]
- );
- Dialog_Show(playerid, ShowToPlayer, DIALOG_STYLE_MSGBOX, "Your ID Card", contain, "Save (Comming Soon)", "Close");
- return 1;
- }
- CONTROL->ResetFormulir(playerid)
- {
- Formulir[playerid][FormFill1][0] = '\0';
- Formulir[playerid][FormFill2][0] = '\0';
- Formulir[playerid][FormFill3][0] = '\0';
- Formulir[playerid][FormFill4][0] = '\0';
- Formulir[playerid][FormFill5][0] = '\0';
- Formulir[playerid][FormFill6][0] = '\0';
- return 1;
- }
- CMD:fillformulir(playerid, params[])
- {
- new contain[128];
- format(contain, sizeof(contain),
- "Nama\t%s\n \
- Umur\t%s\n \
- Tempat Tinggal\t%s\n \
- Jenis Kelamin\t%s\n \
- Agama\t%s\n \
- Status\t%s\n",
- Formulir[playerid][FormFill1],
- Formulir[playerid][FormFill2],
- Formulir[playerid][FormFill3],
- Formulir[playerid][FormFill4],
- Formulir[playerid][FormFill5],
- Formulir[playerid][FormFill6]
- );
- if(Formulir[playerid][Receiving] == 1 && Formulir[playerid][Type] == 1)
- Dialog_Show(playerid, FormIDCardMenu, DIALOG_STYLE_TABLIST, "Formulir Menu", contain, "Done", "Exit");
- //Dialog_Show(playerid, FormIDCardMenu, DIALOG_STYLE_LIST, "Formulir Menu", "Nama\nUmur\nTempat Tinggal\nJenis Kelamin\nAgama\nStatus");
- return 1;
- }
- CMD:giveformulir(playerid, params[])
- {
- new BOT = GetClonew BOT = GetClosestBOT(playerid);
- if(Formulir[playerid][FormFilled] != 1)
- return OutputError(playerid, "Kamu belum mengisi semua datanya, tolong diisi segera!");
- SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "* %s memberikan sebuah formulir kepada %s", GetName(playerid), GetName(BOT));
- SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "* %s menerima formulir tersebut lalu mendatanya", GetName(BOT), GetName(playerid));
- ProcessingFormulir(playerid);
- return 1;
- }
- Dialog:FormIDCardMenu(playerid, response, listitem, inputtext[])
- {
- if(!response) return 0;
- if(IsFormFilled(playerid)) return Formulir[playerid][FormFilled] == 1;
- switch(listitem)
- {
- //wiki tells me to start from 0
- case 0: Dialog_Show(playerid, FormIDCardName, DIALOG_STYLE_INPUT, "Isilah Nama anda dibawah ini!", "Sudah", "");
- case 1: Dialog_Show(playerid, FormIDCardAge, DIALOG_STYLE_INPUT, "Isilah Umur anda dibawah ini!", "Sudah", "");
- case 2: Dialog_Show(playerid, FormIDCardAddr, DIALOG_STYLE_INPUT, "Isilah Tempat Tinggal anda yang sekarang dibawah ini!", "Sudah", "");
- case 3: Dialog_Show(playerid, FormIDCardSex, DIALOG_STYLE_INPUT, "Isilah Jenis Kelamin anda dibawah ini!", "Sudah", "");
- case 4: Dialog_Show(playerid, FormIDCardReli, DIALOG_STYLE_INPUT, "Isilah Agama yang anda ikuti dibawah ini!", "Sudah", "");
- case 5: Dialog_Show(playerid, FormIDCardStat, DIALOG_STYLE_INPUT, "Isilah Status Pekerjaan anda dibawah ini!", "Sudah", "");
- }
- return 1;
- }
- Dialog:FormIDCardName(playerid, response, listitem, inputtext[])
- {
- new contain[128];
- if(!response) return 0;
- if(IsNull(Inputtext))
- {
- OutputError(playerid, "Kamu belum mengisi datanya, tolong diisi segera!");
- return Dialog_Show(playerid, FormIDCardName, DIALOG_STYLE_INPUT, "Isilah Nama anda dibawah ini!", "Sudah", "");
- }
- Formulir[playerid][FormFill1] = inputtext;
- format(contain, sizeof(contain),
- "Nama\t%s\n \
- Umur\t%s\n \
- Tempat Tinggal\t%s\n \
- Jenis Kelamin\t%s\n \
- Agama\t%s\n \
- Status\t%s\n",
- Formulir[playerid][FormFill1],
- Formulir[playerid][FormFill2],
- Formulir[playerid][FormFill3],
- Formulir[playerid][FormFill4],
- Formulir[playerid][FormFill5],
- Formulir[playerid][FormFill6]
- );
- if(Formulir[playerid][Receiving] == 1 && Formulir[playerid][Type] == 1)
- Dialog_Show(playerid, FormIDCardMenu, DIALOG_STYLE_TABLIST, "Formulir Menu", contain, "Done", "Exit");
- return 1;
- }
- Dialog:FormIDCardAge(playerid, response, listitem, inputtext[])
- {
- new contain[128];
- if(!response) return 0;
- if(IsNull(Inputtext))
- {
- OutputError(playerid, "Kamu belum mengisi datanya, tolong diisi segera!");
- return Dialog_Show(playerid, FormIDCardAge, DIALOG_STYLE_INPUT, "Isilah Umur anda dibawah ini!", "Sudah", "");
- }
- Formulir[playerid][FormFill2] = inputtext;
- format(contain, sizeof(contain),
- "Nama\t%s\n \
- Umur\t%s\n \
- Tempat Tinggal\t%s\n \
- Jenis Kelamin\t%s\n \
- Agama\t%s\n \
- Status\t%s\n",
- Formulir[playerid][FormFill1],
- Formulir[playerid][FormFill2],
- Formulir[playerid][FormFill3],
- Formulir[playerid][FormFill4],
- Formulir[playerid][FormFill5],
- Formulir[playerid][FormFill6]
- );
- if(Formulir[playerid][Receiving] == 1 && Formulir[playerid][Type] == 1)
- Dialog_Show(playerid, FormIDCardMenu, DIALOG_STYLE_TABLIST, "Formulir Menu", contain, "Done", "Exit");
- return 1;
- }
- Dialog:FormIDCardAddr(playerid, response, listitem, inputtext[])
- {
- new contain[128];
- if(!response) return 0;
- if(IsNull(Inputtext))
- {
- OutputError(playerid, "Kamu belum mengisi datanya, tolong diisi segera!");
- return Dialog_Show(playerid, FormIDCardName, DIALOG_STYLE_INPUT, "Isilah Tempat Tinggal anda dibawah ini!", "Sudah", "");
- }
- Formulir[playerid][FormFill3] = inputtext;
- format(contain, sizeof(contain),
- "Nama\t%s\n \
- Umur\t%s\n \
- Tempat Tinggal\t%s\n \
- Jenis Kelamin\t%s\n \
- Agama\t%s\n \
- Status\t%s\n",
- Formulir[playerid][FormFill1],
- Formulir[playerid][FormFill2],
- Formulir[playerid][FormFill3],
- Formulir[playerid][FormFill4],
- Formulir[playerid][FormFill5],
- Formulir[playerid][FormFill6]
- );
- if(Formulir[playerid][Receiving] == 1 && Formulir[playerid][Type] == 1)
- Dialog_Show(playerid, FormIDCardMenu, DIALOG_STYLE_TABLIST, "Formulir Menu", contain, "Done", "Exit");
- return 1;
- }
- Dialog:FormIDCardSex(playerid, response, listitem, inputtext[])
- {
- new contain[128];
- if(!response) return 0;
- if(IsNull(Inputtext))
- {
- OutputError(playerid, "Kamu belum mengisi datanya, tolong diisi segera!");
- return Dialog_Show(playerid, FormIDCardName, DIALOG_STYLE_INPUT, "Isilah Jenis Kelamin anda dibawah ini!", "Sudah", "");
- }
- Formulir[playerid][FormFill4] = inputtext;
- format(contain, sizeof(contain),
- "Nama\t%s\n \
- Umur\t%s\n \
- Tempat Tinggal\t%s\n \
- Jenis Kelamin\t%s\n \
- Agama\t%s\n \
- Status\t%s\n",
- Formulir[playerid][FormFill1],
- Formulir[playerid][FormFill2],
- Formulir[playerid][FormFill3],
- Formulir[playerid][FormFill4],
- Formulir[playerid][FormFill5],
- Formulir[playerid][FormFill6]
- );
- if(Formulir[playerid][Receiving] == 1 && Formulir[playerid][Type] == 1)
- Dialog_Show(playerid, FormIDCardMenu, DIALOG_STYLE_TABLIST, "Formulir Menu", contain, "Done", "Exit");
- return 1;
- }
- Dialog:FormIDCardReli(playerid, response, listitem, inputtext[])
- {
- new contain[128];
- if(!response) return 0;
- if(IsNull(Inputtext))
- {
- OutputError(playerid, "Kamu belum mengisi datanya, tolong diisi segera!");
- return Dialog_Show(playerid, FormIDCardName, DIALOG_STYLE_INPUT, "Isilah Agama yang anda ikuti dibawah ini!", "Sudah", "");
- }
- Formulir[playerid][FormFill5] = inputtext;
- format(contain, sizeof(contain),
- "Nama\t%s\n \
- Umur\t%s\n \
- Tempat Tinggal\t%s\n \
- Jenis Kelamin\t%s\n \
- Agama\t%s\n \
- Status\t%s\n",
- Formulir[playerid][FormFill1],
- Formulir[playerid][FormFill2],
- Formulir[playerid][FormFill3],
- Formulir[playerid][FormFill4],
- Formulir[playerid][FormFill5],
- Formulir[playerid][FormFill6]
- );
- if(Formulir[playerid][Receiving] == 1 && Formulir[playerid][Type] == 1)
- Dialog_Show(playerid, FormIDCardMenu, DIALOG_STYLE_TABLIST, "Formulir Menu", contain, "Done", "Exit");
- return 1;
- }
- Dialog:FormIDCardStat(playerid, response, listitem, inputtext[])
- {
- new contain[128];
- if(!response) return 0;
- if(IsNull(Inputtext))
- {
- OutputError(playerid, "Kamu belum mengisi datanya, tolong diisi segera!");
- return Dialog_Show(playerid, FormIDCardName, DIALOG_STYLE_INPUT, "Isilah Status Pekerjaan anda dibawah ini!", "Sudah", "");
- }
- Formulir[playerid][FormFill6] = inputtext;
- format(contain, sizeof(contain),
- "Nama\t%s\n \
- Umur\t%s\n \
- Tempat Tinggal\t%s\n \
- Jenis Kelamin\t%s\n \
- Agama\t%s\n \
- Status\t%s\n",
- Formulir[playerid][FormFill1],
- Formulir[playerid][FormFill2],
- Formulir[playerid][FormFill3],
- Formulir[playerid][FormFill4],
- Formulir[playerid][FormFill5],
- Formulir[playerid][FormFill6]
- );
- if(Formulir[playerid][Receiving] == 1 && Formulir[playerid][Type] == 1)
- Dialog_Show(playerid, FormIDCardMenu, DIALOG_STYLE_TABLIST, "Formulir Menu", contain, "Done", "Exit");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement