Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- @Dunamiczny system teleportów - teles.pwn
- @date : 15 marca 2014 13.33
- @Last update: 20 marca 2014 15.09
- */
- #include a_samp.inc
- #include mysql.inc
- #include zcmd.inc
- #include sscanf.inc
- new Query[600];
- public OnGameModeInit()
- {
- mysql_init();
- mysql_connect("host_mysql", "user_mysql", "password_mysql", "user_mysql", MySQL:0, 1);//Połączenie z bazą danych(mysql).
- if(mysql_ping() != 0)
- {
- printf("Nie udalo sie wczytac konfiguracji bazy danych");//Jeśli nie połączy z bazą danych(mysql).
- }
- printf("Inicjacja i laczenie z baza MySQL...");//jesli połaczy z bazą danych(mysql).
- //tworzy tabele w bazie danych ;d
- new dynamic_teles[500];
- format(dynamic_teles, sizeof(dynamic_teles), "CREATE TABLE IF NOT EXISTS `dynamic_teles` (");
- strcat(dynamic_teles, "`id` int(11) NOT NULL AUTO_INCREMENT");
- strcat(dynamic_teles, ", `name` varchar(30) NOT NULL");
- strcat(dynamic_teles, ", `x` float NOT NULL");
- strcat(dynamic_teles, ", `y` float NOT NULL");
- strcat(dynamic_teles, ", `z` float NOT NULL");
- strcat(dynamic_teles, ", `world` int(11) NOT NULL DEFAULT '0'");
- strcat(dynamic_teles, ", `interior` int(11) NOT NULL DEFAULT '0'");
- strcat(dynamic_teles, ", PRIMARY KEY (`id`)");
- strcat(dynamic_teles, ", UNIQUE KEY `name` (`name`)");
- strcat(dynamic_teles, " ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=63 ;");
- mysql_query(dynamic_teles);
- printf("Dynamiczny system teleportów by NexuS, Adagio - uruchomiony!");
- return 1;
- }
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(!success)
- {
- SendClientMessage(playerid, -1, "(E) System nie wykrył takiek komendy!");//Sprawdza czy dana komenda jest w systemie.
- return 1;
- }
- return 1;
- }
- public OnPlayerCommandReceived(playerid, cmdtext[])//tutaj całą funkcja do czytania teleportu z bazy danych(mysql).
- {
- format(Query, sizeof Query, "SELECT `interior`,`world`,`x`,`y`,`z` FROM `dynamic_teles` WHERE `name` = '%s'", cmdtext);
- mysql_query(Query);
- mysql_store_result();
- static interior[6], world[6], X[12], Y[12], Z[12];
- mysql_fetch_field("interior", interior);
- mysql_fetch_field("world", world);
- mysql_fetch_field("x", X);
- mysql_fetch_field("y", Y);
- mysql_fetch_field("z", Z);
- mysql_free_result();
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && strval(interior) == 0 && strval(world) == 0)
- {
- new vid = GetPlayerVehicleID(playerid);
- SetVehiclePos(vid, floatstr(X),floatstr(Y),floatstr(Z) + 0.5);
- LinkVehicleToInterior(vid, 0);
- SetVehicleVirtualWorld(vid, 0);
- }else{
- SetPlayerPos(playerid, floatstr(X),floatstr(Y),floatstr(Z));
- GameTextForPlayer(playerid, cmdtext, 5000, 2);
- }
- SetPlayerInterior(playerid, strval(interior));
- SetPlayerVirtualWorld(playerid, strval(world));
- PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
- mysql_free_result();
- return 1;
- }
- CMD:newteleport(playerid, name_tele[], params[])//cała komenda ;d
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xB00000FF, "(E) Brak dostępu RCON!");//Sprawdza czy jesteś zalogowany na ROCON
- if(isnull(name_tele) || params[0] == '/') return SendClientMessage(playerid, 0xD20000FF, "(E) /newteleport [nazwa]");//Jeśli wpiszesz błędnie komende
- new Float:x_y_z[3];
- GetPlayerPos(playerid, x_y_z[0], x_y_z[1], x_y_z[2]);//Sprawdza pozycje
- format(Query, sizeof Query, "INSERT INTO `dynamic_teles` (`name`,`interior`, `world`, `X`, `Y`, `Z`) VALUES ('/%s', '%d', '%d', '%.2f', '%.2f', '%.2f');",
- name_tele, GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid), x_y_z[0], x_y_z[1], x_y_z[2]);//Zapisuje daną cmd, interior, world, pozycje(x,y,z) do bazy danych(mysql0.
- mysql_query(Query);
- SendClientMessage(playerid, 0xC46200FF, "(I) Teleport poprawnie został stworzony, zapisanu do bazy danych!");//Jesli wszystko zrobisz dobrze - pokaże się info. ;d
- return 1;
- }
- //Koniec ;p Tera razem z Adagio pracujemy nad systemem administratora. Pozdrawiamy!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement