Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include a_samp
- #include a_mysql
- #include sscanf2
- #include gvar
- #include foreach
- #include streamer
- #include zcmd
- #define function%0(%1) forward%0(%1); public %0(%1)
- enum {
- DIALOG_BCAR=1234,
- DIALOG_BCAR2,
- DIALOG_BCARNAME,
- DIALOG_BCARDELETE
- }
- new
- query[1024],
- string[1024],
- escape[512],
- Float:f[4],
- engine, lights, alarm, doors, bonnet, boot, objective,
- Text3D:bLabel,
- bcar_cash[MAX_PLAYERS],
- sql
- ;
- public OnFilterScriptInit() {
- sql = mysql_connect("localhost", "root", "test", ""); // Ide a saját csatlakozási adatodat kivéve ha GM-be helyezed!
- SetTimer("SpawnBonusCar", 60000*8, true);
- SetGVarInt("bcar", INVALID_VEHICLE_ID);
- return 1;
- }
- public OnFilterScriptExit() {
- DestroyVehicle(GetGVarInt("bcar"));
- DestroyDynamic3DTextLabel(bLabel);
- mysql_close(sql);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason) {
- if(GetPVarInt(playerid, "In_bCar")) KillTimer(bcar_cash[playerid]);
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate) {
- if(newstate == PLAYER_STATE_DRIVER && GetGVarInt("bcar_spawned") == 1 && GetPlayerVehicleID(playerid) == GetGVarInt("bcar")) {
- SetPVarInt(playerid, "In_bCar", 1);
- bcar_cash[playerid] = SetTimerEx("Add_bCarowner_cash", 15000, true, "i", playerid);
- format(string, sizeof(string), "{%06x}%s(%i) {00CD66}megszerezte a bónuszautót.", GetPlayerColor(playerid) >>> 8, Name(playerid), playerid);
- SendClientMessageToAll(0x33af99ff, string);
- SendClientMessage(playerid, 0x0ac92bff, "Graitulálunk! megszerezted a bónuszautót! Mostantól 15 másodpercenként kapsz 5000$, amíg el nem hagyod a járművet.");
- }
- if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT && GetPVarInt(playerid, "In_bCar")) {
- KillTimer(bcar_cash[playerid]);
- SetPVarInt(playerid, "In_bCar", 0);
- SendClientMessage(playerid, 0x0ac92bff, "Elhagytad a bónuszautót. Mostantól nem kapod a sok lóvét.");
- format(string, sizeof(string), "{%06x}%s(%i) {B0171F}elhagyta a bónuszautót.", GetPlayerColor(playerid) >>> 8, Name(playerid), playerid);
- SendClientMessageToAll(0x33af99ff, string);
- }
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid) {
- if(vehicleid == GetGVarInt("bcar") && GetGVarInt("bcar_spawned") == 1) {
- SetGVarInt("bcar", INVALID_VEHICLE_ID);
- DestroyDynamic3DTextLabel(bLabel);
- DestroyVehicle(GetGVarInt("bcar"));
- SetGVarInt("bcar_spawned", 0);
- SetPVarInt(killerid, "In_bCar", 0);
- KillTimer(bcar_cash[killerid]);
- format(string, sizeof(string), "{%06x}%s(%i) {B0171F}megsemmisítette a bónuszautót. Pár perc múlva újra elhelyezünk egyet.", GetPlayerColor(killerid) >>> 8, Name(killerid), killerid);
- SendClientMessageToAll(0x33af99ff, string);
- }
- return 1;
- }
- public OnPlayerCommandReceived(playerid, cmdtext[]) {
- if(GetPVarInt(playerid, "In_bCar")) return SendClientMessage(playerid, 0xff0000ff, "Hiba! Bónuszautóban nem használhatsz parancsokat!") ,0;
- return 1;
- }
- function THREAD_Finish() return 1;
- function Add_bCarowner_cash(playerid) { if(GetPVarInt(playerid, "In_bCar")) GivePlayerMoney(playerid, 5000); return 1; }
- function SpawnBonusCar() {
- DestroyDynamic3DTextLabel(bLabel);
- DestroyVehicle(GetGVarInt("bcar"));
- SetGVarInt("bcar_spawned", 1);
- new hely[64];
- cache_get_row(0, 0, hely, sql, sizeof(hely));
- f[0] = cache_get_row_float(0, 1, sql);
- f[1] = cache_get_row_float(0, 2, sql);
- f[2] = cache_get_row_float(0, 3, sql);
- f[3] = cache_get_row_float(0, 4, sql);
- SetGVarInt("bcar", CreateVehicle(411, f[0], f[1], f[2], f[3], random(255), random(255), -1));
- ChangeVehicleColor(GetGVarInt("bcar"), random(255), random(255));
- AddVehicleComponent(GetGVarInt("bcar"), 1073+random(14));
- GetVehicleParamsEx(GetGVarInt("bcar"), engine, lights, alarm, doors, bonnet, boot, objective);
- SetVehicleParamsEx(GetGVarInt("bcar"), engine, lights, alarm, doors, bonnet, boot, true);
- bLabel = CreateDynamic3DTextLabel(">> Bónuszautó <<", 0x33eeffff, f[0], f[1], f[2]+0.5, 50.0, INVALID_PLAYER_ID, GetGVarInt("bcar"), 0, 0, -1);
- SetGVarString("bCarHely", hely);
- format(string, sizeof(string), "BonusCar: {00CED1}Elhelyezve {1E90FF}'%s' {00CED1}környékén.", hely);
- SendClientMessageToAll(0x33af99ff, string);
- return 1;
- }
- function THREAD_SBCList(playerid) {
- new rows = cache_num_rows(sql);
- string[0] = EOS;
- for(new x; x < rows; x++) {
- cache_get_row(x, 0, query, sql, sizeof(query));
- format(query, sizeof(query), "%s\n", query);
- strcat(string, query);
- }
- ShowPlayerDialog(playerid, DIALOG_BCAR, 2, "Válassz kategóriát", string, "Választ", "Bezár");
- return 1;
- }
- CMD:bcar(playerid) {
- if(IsPlayerAdmin(playerid)) return 0; // írd át a saját adminrendszered alapján
- SpawnBonusCar();
- return 1;
- }
- CMD:createbcar(playerid, params[]) {
- if(IsPlayerAdmin(playerid)) return 0; // írd át a saját adminrendszered alapján
- if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 411) return SendClientMessage(playerid, 0xff0000ff, "Hiba! Nem ülsz 'Infernus'ba! (/v inf)");
- if(sscanf(params, "s[64]", params)) return SendClientMessage(playerid, -1, "/createbcar [Hely megnevezése]");
- if(!(3 < strlen(params) < 65)) return SendClientMessage(playerid, 0xff0000ff, "Hiba A hely megnevezésének karakterei nem lehet kissebb 4 nél és nem lehet több 64-nél!");
- GetVehiclePos(GetPlayerVehicleID(playerid), f[0], f[1], f[2]);
- GetVehicleZAngle(GetPlayerVehicleID(playerid), f[3]);
- mysql_real_escape_string(params, escape);
- format(query, sizeof(query), "INSERT INTO `bonuscar` (`Hely`, `X`, `Y`, `Z`, `A`) VALUES ('%s', '%f', '%f', '%f', '%f')", escape, f[0], f[1], f[2], f[3]);
- mysql_function_query(sql, query, true, "THREAD_Finish", "");
- return 1;
- }
- CMD:gotobcar(playerid) {
- if(IsPlayerAdmin(playerid)) return 0; // írd át a saját adminrendszered alapján
- if(!GetGVarInt("bcar_spawned")) return SendClientMessage(playerid, 0xff0000ff, "Hiba! A bónuszautó nincs lespawnolva.");
- GetVehiclePos(GetGVarInt("bcar"), f[0], f[1], f[2]);
- if(IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid), f[0]+2, f[1]+2, f[2]);
- else SetPlayerPos(playerid, f[0], f[1], f[2]+2);
- SendClientMessage(playerid, 0x89eeaaff, "Sikeresen elteleportáltál a bónuszautóhoz.");
- return 1;
- }
- CMD:setbcar(playerid) {
- if(IsPlayerAdmin(playerid)) return 0; // írd át a saját adminrendszered alapján
- mysql_function_query(sql, "SELECT `Hely` FROM `bonuscar`;", true, "THREAD_SBCList", "i", playerid);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- switch(dialogid) {
- case DIALOG_BCAR: {
- if(!response) return 0;
- SetGVarString("bCarNames", inputtext);
- ShowPlayerDialog(playerid, DIALOG_BCAR2, 2, "Válassz", "Hely nevének megváltoztatása\nEnnek a helynek a megszüntetése", "Választ", "Vissza");
- }
- case DIALOG_BCAR2: {
- if(!response) return cmd_setbcar(playerid);
- if(!listitem) ShowPlayerDialog(playerid, DIALOG_BCARNAME, DIALOG_STYLE_INPUT, "Írj be nevet", "Írd be a megváltoztatni kívánt bónuszautó új helyének a nevét", "Változtat", "Vissza");
- else if(listitem) ShowPlayerDialog(playerid, DIALOG_BCARDELETE, DIALOG_STYLE_MSGBOX, "Biztos?", "Biztosan szeretnéd törölni ezt a bónuszautó lepsawnolási helyet?", "Töröl", "Vissza");
- }
- case DIALOG_BCARNAME: {
- if(!response) return cmd_setbcar(playerid);
- new bc[64];
- GetGVarString("bCarNames", bc, 64);
- mysql_real_escape_string(inputtext, escape);
- format(query, sizeof(query), "UPDATE `bonuscar` SET Hely = '%s' WHERE Hely = '%s'", escape, bc);
- mysql_function_query(sql, query, true, "THREAD_Finish", "");
- format(string, sizeof(string), "Bónuszautó helyének az eggyik neve megváltoztatva erről: '%s', erre: '%s'", bc, escape);
- SendClientMessage(playerid, 0x33af99ff, string);
- }
- case DIALOG_BCARDELETE: {
- if(!response) return cmd_setbcar(playerid);
- new bc[64];
- GetGVarString("bCarNames", bc, 64);
- format(query, sizeof(query), "DELETE FROM `bonuscar` WHERE Hely = '%s'", bc);
- mysql_function_query(sql, query, true, "THREAD_Finish", "");
- format(string, sizeof(string), "Sikeresen törölve a '%s' neven lespawnolnó bónuszautó!", bc);
- SendClientMessage(playerid, 0x33af99ff, string);
- }
- }
- return 1;
- }
- Name(playerid) { new n[24]; GetPlayerName(playerid, n, 24); return n; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement