Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- _________________________________
- | KREDITAI: |
- | A_SAMP - SA-MP Team |
- | ZCMD - ZeeX |
- | SSCANF - Alex a.k.a. Y_Less |
- | DINI - Dracoblue |
- | DUDB - Dracoblue |
- | SCRIPT - Stuneris |
- |_________________________________|
- */
- /* Includes */
- #include <a_samp>
- #include <zcmd>
- #include <sscanf>
- #include <dini>
- #include <dudb>
- /* Defines/Binds */
- #define SKAMB_KAINA_EZYS 3 //Minutės kaina ežys
- #define SKAMB_KAINA_PILDYK 4 //Minutės kaina pildyk
- #define SKAMB_KAINA_LABAS 3 //Minutės kaina labas
- #define SMS_KAINA 1 //Sms kaina
- #define EZIO_PAKUOTE 5 //Ezio pakuotes kaina
- #define PILDYK_PAKUOTE 5 //Pildyk pakuotes kaina
- #define LABAS_PAKUOTE 5 //Labas pakuotes kaina
- #define TEL_KAINA 150 //Telefono kaina
- #define BUY_DIALOG 555 //Pirkimo dialog'o ID
- /* Kintamieji */
- enum Items
- {
- Telefonas,
- Saskaita,
- Papildymas,
- Ijungtas,
- Skambina,
- Tinklas
- }
- new tInfo[MAX_PLAYERS][Items];
- new kas[MAX_PLAYERS];
- new Paskambino[MAX_PLAYERS];
- /* Forwards */
- forward Kalba(playerid);
- //==============================================================================
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Telefonų sistema by Stuneis loaded");
- print("--------------------------------------\n");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- DataNull(playerid);
- LoadPlayerData(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SavePlayerData(playerid);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(tInfo[playerid][Skambina] == 1)
- {
- SendPlayerMessageToPlayer(kas[playerid], playerid, text);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == BUY_DIALOG)
- {
- if(response)
- {
- if(listitem == 0)
- {
- if(GetPlayerMoney(playerid) < TEL_KAINA) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi tiek pinigų.");
- tInfo[playerid][Telefonas] = 1;
- SendClientMessage(playerid, 0x00FF00FF, "Nusipirkote telefoną.");
- }
- if(listitem == 1)
- {
- ShowPlayerDialog(playerid, BUY_DIALOG+1, DIALOG_STYLE_INPUT, "Papildymas", "Įveskite sumą už kurią pirksite papildymą:", "Gerai", "Išeiti");
- }
- if(listitem == 2)
- {
- new string[128];
- format(string, 128, "Ežys(%dLT)\nPildyk(%dLT)\nLabas(%dLT)", EZIO_PAKUOTE, PILDYK_PAKUOTE, LABAS_PAKUOTE);
- ShowPlayerDialog(playerid, BUY_DIALOG+2, DIALOG_STYLE_LIST, "Kortelė", string, "Rinktis", "Išeiti");
- }
- }
- }
- if(dialogid == BUY_DIALOG+1)
- {
- if(response)
- {
- if(tInfo[playerid][Telefonas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi telefono.");
- if(inputtext[playerid] > GetPlayerMoney(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi tiek pinigų.");
- if(inputtext[playerid] > 500)
- {
- SendClientMessage(playerid, 0xFF0000FF, "Didžiausia galima suma 500LT.");
- ShowPlayerDialog(playerid, BUY_DIALOG+1, DIALOG_STYLE_INPUT, "Papildymas", "Įveskite sumą už kurią pirksite papildymą:", "Gerai", "Išeiti");
- return 1;
- }
- tInfo[playerid][Papildymas]+=inputtext[playerid];
- GivePlayerMoney(playerid, -inputtext[playerid]);
- new string[128];
- format(string, 128, "Nusipirkote papildymą, dabar turite papildymų už {FF0000}%iLT", tInfo[playerid][Papildymas]);
- SendClientMessage(playerid, 0xFFFF00FF, string);
- }
- }
- if(dialogid == BUY_DIALOG+2)
- {
- if(response)
- {
- if(listitem == 0)
- {
- if(GetPlayerMoney(playerid) < EZIO_PAKUOTE) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi tiek pinigų.");
- tInfo[playerid][Tinklas] = 1;
- SendClientMessage(playerid, 0x00FF00FF, "Nusipirkote ežio pakuotę.");
- }
- if(listitem == 1)
- {
- if(GetPlayerMoney(playerid) < PILDYK_PAKUOTE) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi tiek pinigų.");
- tInfo[playerid][Tinklas] = 2;
- SendClientMessage(playerid, 0x00FF00FF, "Nusipirkote pildyk pakuotę.");
- }
- if(listitem == 2)
- {
- if(GetPlayerMoney(playerid) < LABAS_PAKUOTE) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi tiek pinigų.");
- tInfo[playerid][Tinklas] = 3;
- SendClientMessage(playerid, 0x00FF00FF, "Nusipirkote labas pakuotę.");
- }
- }
- }
- return 1;
- }
- /* Paskambino */
- public Kalba(playerid)
- {
- if(tInfo[playerid][Tinklas] == 1 && tInfo[playerid][Saskaita] < SKAMB_KAINA_EZYS)
- {
- tInfo[playerid][Skambina] = 0;
- tInfo[kas[playerid]][Skambina] = 0;
- SendClientMessage(kas[playerid], 0x00FF00FF, "Pokalbis baigtas (Pasibaigė sąskaita)");
- SendClientMessage(playerid, 0x00FF00FF, "Pokalbis baigtas (Pasibaigė sąskaita)");
- }
- if(tInfo[playerid][Tinklas] == 2 && tInfo[playerid][Saskaita] < SKAMB_KAINA_PILDYK)
- {
- tInfo[playerid][Skambina] = 0;
- tInfo[kas[playerid]][Skambina] = 0;
- SendClientMessage(kas[playerid], 0x00FF00FF, "Pokalbis baigtas (Pasibaigė sąskaita)");
- SendClientMessage(playerid, 0x00FF00FF, "Pokalbis baigtas (Pasibaigė sąskaita)");
- }
- if(tInfo[playerid][Tinklas] == 3 && tInfo[playerid][Saskaita] < SKAMB_KAINA_LABAS)
- {
- tInfo[playerid][Skambina] = 0;
- tInfo[kas[playerid]][Skambina] = 0;
- SendClientMessage(kas[playerid], 0x00FF00FF, "Pokalbis baigtas (Pasibaigė sąskaita)");
- SendClientMessage(playerid, 0x00FF00FF, "Pokalbis baigtas (Pasibaigė sąskaita)");
- }
- if(tInfo[playerid][Tinklas] == 1) tInfo[playerid][Saskaita]-=SKAMB_KAINA_EZYS;
- if(tInfo[playerid][Tinklas] == 2) tInfo[playerid][Saskaita]-=SKAMB_KAINA_PILDYK;
- if(tInfo[playerid][Tinklas] == 3) tInfo[playerid][Saskaita]-=SKAMB_KAINA_LABAS;
- return 1;
- }
- /* Komandos */
- CMD:sms(playerid, params[])
- {
- new name, sms[128], string[128], msg[128];
- if(sscanf(params, "us", name, sms)) return SendClientMessage(playerid, 0xFF0000FF, "Siųsti sms: /sms [Dalis vardo][Žinutė]");
- if(tInfo[playerid][Telefonas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi telefono.");
- if(tInfo[playerid][Ijungtas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tavo telefonas išjungtas, norėdamas įjungti - /ijungti.");
- if(tInfo[playerid][Saskaita] < SMS_KAINA)
- {
- format(string, 128, "Tavo sąskaitoje trūksta pinigų, sms kainą %dLT", SMS_KAINA);
- SendClientMessage(playerid, 0xFF0000FF, string);
- return 1;
- }
- format(string, 128, "SMS nuo {FF0000}%s", PlayerName(playerid));
- format(msg, 128, "{00FF00}%s\n\n{FF0000}Nori atsakyti? Komanda - /sms");
- ShowPlayerDialog(name, 777, DIALOG_STYLE_MSGBOX, string, msg, "Gerai", "");
- tInfo[playerid][Saskaita]-=SMS_KAINA;
- return 1;
- }
- CMD:papildyti(playerid, params[])
- {
- new lt, string[128];
- if(sscanf(params, "i", lt)) return SendClientMessage(playerid, 0xFF0000FF, "Papildyti sąskaitą: /papildyti [Kiek]");
- if(tInfo[playerid][Telefonas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi telefono.");
- if(tInfo[playerid][Ijungtas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tavo telefonas išjungtas, norėdamas įjungti - /ijungti.");
- if(tInfo[playerid][Saskaita] > 500) return SendClientMessage(playerid, 0xFF0000FF, "Tavo sąskaitoje 500LT, daugiau papildyti negalima.");
- if(tInfo[playerid][Papildymas] < lt)
- {
- format(string, 128, "Tu neturi tokio didelio papildymo, tavo papildymas %i", tInfo[playerid][Papildymas]);
- SendClientMessage(playerid, 0xFF0000FF, string);
- return 1;
- }
- if(lt > 500) return SendClientMessage(playerid, 0xFF0000FF, "Didžiausia galima suma 500LT.");
- tInfo[playerid][Saskaita]+=lt;
- tInfo[playerid][Papildymas]-=lt;
- return 1;
- }
- CMD:pirkti(playerid, params[])
- {
- new string[128];
- format(string, 128, "Telefonas (%dLT)\nPapildymas\nKortelė", TEL_KAINA);
- ShowPlayerDialog(playerid, BUY_DIALOG, DIALOG_STYLE_LIST, "Parduotuvė", string, "Rinktis", "Išeiti");
- return 1;
- }
- CMD:skambinti(playerid, params[])
- {
- new name, string[128];
- if(sscanf(params, "u", name)) return SendClientMessage(playerid, 0xFF0000FF, "Skambinti: /skambinti [Dalis vardo]");
- if(tInfo[playerid][Telefonas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi telefono.");
- if(tInfo[playerid][Ijungtas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tavo telefonas išjungtas, norėdamas įjungti - /ijungti.");
- if(tInfo[playerid][Tinklas] == 1 && tInfo[playerid][Saskaita] < SKAMB_KAINA_EZYS)
- {
- format(string, 128, "Tavo sąskaitoje trūksta pinigų, skambučio, minutės kainą %dLT", SKAMB_KAINA_EZYS);
- SendClientMessage(playerid, 0xFF0000FF, string);
- return 1;
- }
- if(tInfo[playerid][Tinklas] == 2 && tInfo[playerid][Saskaita] < SKAMB_KAINA_PILDYK)
- {
- format(string, 128, "Tavo sąskaitoje trūksta pinigų, skambučio, minutės kainą %dLT", SKAMB_KAINA_PILDYK);
- SendClientMessage(playerid, 0xFF0000FF, string);
- return 1;
- }
- if(tInfo[playerid][Tinklas] == 3 && tInfo[playerid][Saskaita] < SKAMB_KAINA_LABAS)
- {
- format(string, 128, "Tavo sąskaitoje trūksta pinigų, skambučio, minutės kainą %dLT", SKAMB_KAINA_LABAS);
- SendClientMessage(playerid, 0xFF0000FF, string);
- return 1;
- }
- format(string, 128, "Skambinate {FF0000}%s", PlayerName(name));
- SendClientMessage(playerid, 0xFFFF00FF, string);
- kas[name] = playerid;
- format(string, 128, "Jums skambina {FF0000}%s, {FFFF00}jei norite atsiliepti - /atsiliepti, atmesti - /atmesti", PlayerName(playerid));
- SendClientMessage(name, 0xFFFF00FF, string);
- /* Trumpieji numeriai */
- if(name == 1500) format(string, 128, "Jūsų sąskaitoje yra {FF0000}%iLT", tInfo[playerid][Saskaita]);
- if(name == 1501)
- {
- if(tInfo[playerid][Tinklas] == 1) format(string, 128, "Tarifai: Skambučių kainą - {FF0000}%dLT/MIN.{00FF00}, SMS kainą - {FF0000}%dLT", SKAMB_KAINA_EZYS, SMS_KAINA);
- if(tInfo[playerid][Tinklas] == 2) format(string, 128, "Tarifai: Skambučių kainą - {FF0000}%dLT/MIN.{00FF00}, SMS kainą - {FF0000}%dLT", SKAMB_KAINA_PILDYK, SMS_KAINA);
- if(tInfo[playerid][Tinklas] == 3) format(string, 128, "Tarifai: Skambučių kainą - {FF0000}%dLT/MIN.{00FF00}, SMS kainą - {FF0000}%dLT", SKAMB_KAINA_LABAS, SMS_KAINA);
- }
- SendClientMessage(playerid, 0x00FF00FF, string);
- return 1;
- }
- CMD:atsiliepti(playerid, params[])
- {
- new string[128];
- tInfo[playerid][Skambina] = 1;
- tInfo[kas[playerid]][Skambina] = 1;
- Paskambino[kas[playerid]] = SetTimer("Kalba", 60000, 1);
- kas[kas[playerid]] = playerid;
- format(string, 128, "%s atsiliepė", PlayerName(playerid));
- SendClientMessage(kas[playerid], 0x00FF00FF, string);
- SendClientMessage(playerid, 0x00FF00FF, "Atsiliepete");
- SendClientMessage(kas[playerid], 0x00FF00FF, "Norėdamas baigti pokalbi rašyk /baigti");
- SendClientMessage(playerid, 0x00FF00FF, "Norėdamas baigti pokalbi rašyk /baigti");
- return 1;
- }
- CMD:atmesti(playerid, params[])
- {
- new string[128];
- tInfo[playerid][Skambina] = 0;
- tInfo[kas[playerid]][Skambina] = 0;
- format(string, 128, "%s atmetė", PlayerName(playerid));
- SendClientMessage(kas[playerid], 0x00FF00FF, string);
- SendClientMessage(playerid, 0x00FF00FF, "Atmetėte");
- return 1;
- }
- CMD:baigti(playerid, params[])
- {
- tInfo[playerid][Skambina] = 0;
- tInfo[kas[playerid]][Skambina] = 0;
- KillTimer(Paskambino[playerid]);
- KillTimer(Paskambino[kas[playerid]]);
- SendClientMessage(kas[playerid], 0x00FF00FF, "Pokalbis baigtas (Padėjo rageli)");
- SendClientMessage(playerid, 0x00FF00FF, "Pokalbis baigtas (Padėjo rageli)");
- return 1;
- }
- CMD:ijungti(playerid, params[])
- {
- if(tInfo[playerid][Telefonas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi telefono.");
- if(tInfo[playerid][Tinklas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi SIM kortelės.");
- tInfo[playerid][Ijungtas] = 1;
- SendClientMessage(playerid, 0x00FF00FF, "Telefonas įjungtas");
- return 1;
- }
- CMD:isjungti(playerid, params[])
- {
- if(tInfo[playerid][Telefonas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi telefono.");
- if(tInfo[playerid][Tinklas] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Tu neturi SIM kortelės.");
- tInfo[playerid][Ijungtas] = 0;
- SendClientMessage(playerid, 0x00FF00FF, "Telefonas išjungtas");
- return 1;
- }
- CMD:telknyga(playerid, params[])
- {
- ShowPlayerDialog(playerid, 9998, DIALOG_STYLE_MSGBOX, "Telefonų knyga", "1500 - Sąskaitos likučio patikrinimas.\n1501 - Tarifai.", "Gerai", "");
- return 1;
- }
- CMD:telcmds(playerid, params[])
- {
- ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Telefonų komandos", "/sms\n/papildydi\n/pirkti\n/skambinti\n/atsiliepti\n/atmesti\n/baigti\n/ijungti\n/isjungti\n/telknyga", "Gerai", "");
- return 1;
- }
- /* Funkcijos */
- PlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- return name;
- }
- DataNull(playerid)
- {
- tInfo[playerid][Telefonas] = 0;
- tInfo[playerid][Saskaita] = 0;
- tInfo[playerid][Papildymas] = 0;
- tInfo[playerid][Tinklas] = 0;
- }
- LoadPlayerData(playerid)
- {
- new file[128];
- format(file, 128, "Tele/%s.ini", PlayerName(playerid));
- tInfo[playerid][Telefonas] = dini_Int(file, "Telefonas");
- tInfo[playerid][Saskaita] = dini_Int(file, "Saskaita");
- tInfo[playerid][Papildymas] = dini_Int(file, "Papildymas");
- tInfo[playerid][Tinklas] = dini_Int(file, "Tinklas");
- }
- SavePlayerData(playerid)
- {
- new file[128];
- format(file, 128, "Tele/%s.ini", PlayerName(playerid));
- dini_IntSet(file, "Telefonas", tInfo[playerid][Telefonas]);
- dini_IntSet(file, "Saskaita", tInfo[playerid][Saskaita]);
- dini_IntSet(file, "Papildymas", tInfo[playerid][Papildymas]);
- dini_IntSet(file, "Tinklas", tInfo[playerid][Tinklas]);
- }
Advertisement
Add Comment
Please, Sign In to add comment