Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < a_samp >
- #include < a_mysql >
- #include < foreach >
- #include < Pawn.CMD >
- #include < sscanf2 >
- #define MYSQL_HOST "127.0.0.1"
- #define MYSQL_USER "root"
- #define MYSQL_PASSWORD ""
- #define MYSQL_DATABASE "dilerdb"
- #define MAX_DILERI 70
- // CENE //
- const CENA_M4 = 5000; // (50 metkova)
- const CENA_AK47 = 5000; // (50 metkova)
- const CENA_DEAGLE = 4000; // (30 metkova)
- const CENA_ARMOR = 7000; // (full)
- const CENA_SNIPER = 7000; // (20 metkova)
- enum {
- DIALOG_DILERBUY
- }
- enum DILER_INFO {
- Float:dX,
- Float:dY,
- Float:dZ,
- Float:dA,
- dSkin,
- dIme[ 30 ],
- dVW,
- dID,
- dMySQLID
- }
- new MySQL:g_SQL, Iterator:ServerDileri<MAX_DILERI>, DilerInfo[ MAX_DILERI ][ DILER_INFO ], Text3D:DilerLabel[ sizeof(DilerInfo) ];
- SetupDilerTable() {
- mysql_tquery(g_SQL, "CREATE TABLE IF NOT EXISTS `dileri` (`id` int(11),`X` float NOT NULL,`Y` float NOT NULL,`Z` float NOT NULL, `A` float NOT NULL, `Skin` int(11) NOT NULL, `VW` int(11) NOT NULL, `Ime` varchar(30) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`))");
- return 1;
- }
- forward LoadDilere();
- public LoadDilere() {
- new rows = cache_num_rows();
- if(rows) {
- for(new i; i < rows; i++) {
- new id = Iter_Free(ServerDileri), str[ 100 ];
- cache_get_value_name_float(i, "X", DilerInfo[ id ][ dX ]);
- cache_get_value_name_float(i, "Y", DilerInfo[ id ][ dY ]);
- cache_get_value_name_float(i, "Z", DilerInfo[ id ][ dZ ]);
- cache_get_value_name_float(i, "A", DilerInfo[ id ][ dA ]);
- cache_get_value_name_int(i, "id", DilerInfo[ id ][ dMySQLID ]);
- cache_get_value_name_int(i, "Skin", DilerInfo[ id ][ dSkin ]);
- cache_get_value_name_int(i, "VW", DilerInfo[ id ][ dVW ]);
- cache_get_value_name(i, "Ime", DilerInfo[ id ][ dIme ], 30);
- DilerInfo[ id ][ dID ] = CreateActor(DilerInfo[ id ][ dSkin ], DilerInfo[ id ][ dX ], DilerInfo[ id ][ dY ], DilerInfo[ id ][ dZ ], DilerInfo[ id ][ dA ]);
- SetActorVirtualWorld(DilerInfo[ id ][ dID ], DilerInfo[ id ][ dVW ]);
- format(str, sizeof(str), "Diler %s.\n{FFFFFF}Koristite /diler za kupovinu.", DilerInfo[ id ][ dIme ]);
- DilerLabel[ i ] = Create3DTextLabel(str, 0x0077C7FF, DilerInfo[ id ][ dX ], DilerInfo[ id ][ dY ], DilerInfo[ id ][ dZ ], 10.0, DilerInfo[ id ][ dVW ], 0);
- Iter_Add(ServerDileri, id);
- }
- }
- return 1;
- }
- public OnGameModeInit() {
- new MySQLOpt: option_id = mysql_init_options();
- g_SQL = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE, option_id);
- if (g_SQL == MYSQL_INVALID_HANDLE || mysql_errno(g_SQL) != 0)
- {
- print("MySQL konekcija neuspesna. Proverite podatke i databazu");
- SendRconCommand("exit");
- return 1;
- }
- print("MySQL konekcija, uspesna");
- SetupDilerTable();
- mysql_tquery(g_SQL, "SELECT * FROM `dileri`", "LoadDilere", "");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- switch(dialogid) {
- case DIALOG_DILERBUY: {
- if(!response) return 1;
- switch(listitem) {
- case 0: {
- GivePlayerWeapon(playerid, 31, 50);
- GivePlayerMoney(playerid, -CENA_M4);
- SendClientMessage(playerid, -1, "Kupili ste M4.");
- }
- case 1: {
- GivePlayerWeapon(playerid, 30, 50);
- GivePlayerMoney(playerid, -CENA_AK47);
- SendClientMessage(playerid, -1, "Kupili ste AK-47.");
- }
- case 2: {
- GivePlayerWeapon(playerid, 24, 30);
- GivePlayerMoney(playerid, -CENA_DEAGLE);
- SendClientMessage(playerid, -1, "Kupili ste Deagle.");
- }
- case 3: {
- GivePlayerWeapon(playerid, 34, 20);
- GivePlayerMoney(playerid, -CENA_SNIPER);
- SendClientMessage(playerid, -1, "Kupili ste Sniper.");
- }
- case 4: {
- SetPlayerArmour(playerid, 100);
- GivePlayerMoney(playerid, -CENA_ARMOR);
- SendClientMessage(playerid, -1, "Kupili ste Armor.");
- }
- }
- }
- }
- return 1;
- }
- CMD:kreirajdilera(playerid, params[]) {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Niste RCON Admin.");
- new dskin, dime[ 30 ], Float:X, Float:Y, Float:Z, Float:A, str[ 100 ], i = Iter_Free(ServerDileri), query[ 500 ];
- if(sscanf(params, "ds[30]", dskin, dime)) return SendClientMessage(playerid, -1, "/kreirajdilera [ID Skina] [Ime dilera]");
- GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid, A);
- format(str, sizeof(str), "Diler %s.\n{FFFFFF}Koristite /diler za kupovinu.", dime);
- DilerLabel[ i ] = Create3DTextLabel(str, 0x0077C7FF, X,Y,Z, 10.0, GetPlayerVirtualWorld(playerid), 0);
- DilerInfo[ i ][ dID ] = CreateActor(dskin, X,Y,Z,A);
- SetActorVirtualWorld(DilerInfo[ i ][ dID ], GetPlayerVirtualWorld(playerid));
- SetPlayerPos(playerid, X+2, Y+2, Z);
- DilerInfo[ i ][ dX ] = X;
- DilerInfo[ i ][ dY ] = Y;
- DilerInfo[ i ][ dZ ] = Z;
- DilerInfo[ i ][ dA ] = A;
- DilerInfo[ i ][ dSkin ] = dskin;
- DilerInfo[ i ][ dVW ] = GetPlayerVirtualWorld(playerid);
- DilerInfo[ i ][ dMySQLID ] = i;
- DilerInfo[ i ][ dIme ] = dime;
- mysql_format(g_SQL, query, sizeof query, "INSERT INTO `dileri` (`id`, `X`, `Y`, `Z`, `A`, `Skin`, `VW`, `Ime`) VALUES ('%d', '%f', '%f', '%f', '%f', '%d', '%d', '%s')",
- i, X,Y,Z,A, dskin, GetPlayerVirtualWorld(playerid), dime);
- mysql_tquery(g_SQL, query);
- Iter_Add(ServerDileri, i);
- format(str, sizeof(str), "Uspesno ste krerali dilera ID %d %s.", i, dime);
- SendClientMessage(playerid, -1, str);
- return 1;
- }
- CMD:diler(playerid, params[]) {
- new str[ 150 ];
- if(GetNearestDiler(playerid) == -1) return SendClientMessage(playerid, -1, "Niste blizu dilera.");
- format(str, sizeof(str), "M4 (%d$ 50 metkova)\nAK-47 (%d$ 50 metkova)\nDeagle (%d$ 30 metkova)\nSniper (%d$ 20 metkova)\nArmor (%d$ full)", CENA_M4, CENA_AK47, CENA_DEAGLE, CENA_SNIPER, CENA_ARMOR);
- ShowPlayerDialog(playerid, DIALOG_DILERBUY, DIALOG_STYLE_LIST, "Diler", str, "Izaberi","Izlaz");
- return 1;
- }
- GetNearestDiler( playerid ) {
- for( new i = 1; i < MAX_DILERI; i++) {
- if( IsPlayerInRangeOfPoint( playerid, 5.0, DilerInfo[ i ][ dX ], DilerInfo[ i ][ dY ], DilerInfo[ i ][ dZ ] ) ) { return i; }
- }
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement