Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CMD:abrama(playerid, params[])
- {
- if(PlayerCache[playerid][pAdmin] != 1) return urp_Tip(playerid, "We don't mind");
- new typ[32], reszta[128];
- if(sscanf(params, "s[32]S()[128]", typ, reszta))
- {
- urp_Tip(playerid, "/abrama [stworz, edit, uid, zamroz, usun, rx, rz, ry, owner, typ, dokladnosc, sprawdz, info, zamknij, otworz, scal, zakoncz]");
- return 1;
- }
- else if(!strcmp(typ,"stworz",true))
- {
- new ownertype, owner, model;
- if(sscanf(reszta, "ddd", model, ownertype, owner))
- {
- urp_Tip(playerid, "/abrama stworz [model] [rodzaj właściciela] [właściciel]");
- return 1;
- }
- new uid = AddGate(ownertype, owner, model, GetPlayerVirtualWorld(playerid));
- new Float: x, Float: y, Float: z, Float: a;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, a);
- GetXYInFrontOfPoint(x, y, a, 3);
- Gate[uid][gUID] = CreateDynamicObject(model, x, y, z - 0.5, 0, 0, 0);
- Gate[uid][gOx] = x;
- Gate[uid][gOy] = y;
- Gate[uid][gOz] = z - 0.5;
- EditGate[playerid] = uid;
- Gate[uid][gDokladnosc] = 0.2;
- Gate[uid][gOpen] = 1;
- SendClientMessage(playerid, COLOR_GREY, "Stworzyłeś nową bramę. Ustal pozycję zamkniętą lub otwartą.");
- return 1;
- }
- else if(!strcmp(typ,"edit",true))
- {
- new uid;
- if(sscanf(reszta, "d", uid))
- {
- urp_Tip(playerid, "TIP: /abrama edit [uid]");
- return 1;
- }
- EditGate[playerid] = uid;
- SendClientMessage(playerid, COLOR_GREEN, "Rozpoczęto edytowanie bramy .");
- return 1;
- }
- else if(!strcmp(typ,"zamroz",true))
- {
- if(PlayerCache[playerid][pFreeze] == 1)
- {
- TogglePlayerControllable(playerid, true);
- PlayerCache[playerid][pFreeze] = 0;
- }
- else
- {
- TogglePlayerControllable(playerid, false);
- PlayerCache[playerid][pFreeze] = 1;
- }
- }
- else if(!strcmp(typ,"usun",true))
- {
- new uid;
- if(sscanf(reszta, "d", uid))
- {
- if(EditGate[playerid] == 0) return urp_Tip(playerid,"Nie edytujesz żadnej bramy!");
- DeleteGate(EditGate[playerid]);
- SendClientMessage(playerid, COLOR_GREY, "Usunąłeś bramę, którą edytowałeś.");
- EditGate[playerid] = 0;
- return 1;
- }
- DeleteGate(uid);
- return 1;
- }
- else if(!strcmp(typ,"scal",true))
- {
- new uid, uid2;
- if(sscanf(reszta, "dd", uid, uid2))
- {
- urp_Tip(playerid, "TIP: /abrama scal [uid pierwszej bramy] [uid drugiej bramy]");
- return 1;
- }
- if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
- Gate[uid][gScale] = uid2;
- SendClientMessage(playerid, COLOR_GREY, "Scaliłeś bramę z bramą .");
- SaveGate(uid);
- return 1;
- }
- else if(!strcmp(typ,"rx",true))
- {
- new uid, Float: rx;
- if(sscanf(reszta, "df", uid, rx))
- {
- urp_Tip(playerid, "TIP: /abrama rx [uid bramy] [poz]");
- return 1;
- }
- if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
- Gate[uid][gOrx] = rx;
- SetDynamicObjectRot(Gate[uid][gUID], Gate[uid][gOrx], Gate[uid][gOry], Gate[uid][gOrz]);
- SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś rotację X w bramie.");
- SaveGate(uid);
- return 1;
- }
- else if(!strcmp(typ,"ry",true))
- {
- new uid, Float: ry;
- if(sscanf(reszta, "df", uid, ry))
- {
- urp_Tip(playerid, "TIP: /abrama ry [uid bramy] [poz]");
- return 1;
- }
- if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
- Gate[uid][gOry] = ry;
- SetDynamicObjectRot(Gate[uid][gUID], Gate[uid][gOrx], Gate[uid][gOry], Gate[uid][gOrz]);
- SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś rotację Y w bramie.");
- SaveGate(uid);
- return 1;
- }
- else if(!strcmp(typ,"rz",true))
- {
- new uid, Float: rz;
- if(sscanf(reszta, "df", uid, rz))
- {
- urp_Tip(playerid, "TIP: /abrama rz [uid bramy] [poz]");
- return 1;
- }
- if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
- Gate[uid][gOrz] = rz;
- SetDynamicObjectRot(Gate[uid][gUID], Gate[uid][gOrx], Gate[uid][gOry], Gate[uid][gOrz]);
- SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś rotację Z w bramie.");
- SaveGate(uid);
- return 1;
- }
- else if(!strcmp(typ,"owner",true))
- {
- new uid, owner;
- if(sscanf(reszta, "dd", uid, owner))
- {
- urp_Tip(playerid, "TIP: /abrama owner [uid bramy] [właściciel(uid)]");
- return 1;
- }
- if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
- Gate[uid][gOwner] = owner;
- SetDynamicObjectRot(Gate[uid][gUID], Gate[uid][gOrx], Gate[uid][gOry], Gate[uid][gOrz]);
- SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś właściciela bramy");
- SaveGate(uid);
- return 1;
- }
- else if(!strcmp(typ,"typ",true))
- {
- new uid, owner;
- if(sscanf(reszta, "dd", uid, owner))
- {
- urp_Tip(playerid, "TIP: /abrama typ [uid bramy] [właściciel(uid)]");
- return 1;
- }
- if(Gate[uid][gUID] == 0) return urp_Tip(playerid,"Nie takiej bramy!");
- Gate[uid][gOwnertype] = owner;
- SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś typ właściciela bramy");
- SaveGate(uid);
- return 1;
- }
- else if(!strcmp(typ,"zamknij",true))
- {
- if(EditGate[playerid] == 0) return urp_Tip(playerid,"Nie edytujesz żadnej bramy!");
- new uid = EditGate[playerid];
- /*Gate[uid][gCx] = Gate[uid][gOx];
- Gate[uid][gCy] = Gate[uid][gOy];
- Gate[uid][gCz] = Gate[uid][gOz];*/
- new Float: x, Float: y, Float: z;
- GetDynamicObjectPos(Gate[uid][gUID], x, y, z);
- Gate[uid][gCx] = x;
- Gate[uid][gCy] = y;
- Gate[uid][gCz] = z;
- SendClientMessage(playerid, COLOR_GREY, "Pozycja bramy zamkniętej została ustalona");
- return 1;
- }
- else if(!strcmp(typ,"dokladnosc",true))
- {
- new Float: dokladnosc;
- if(sscanf(reszta, "f", dokladnosc))
- {
- urp_Tip(playerid, "TIP: /abrama dokladnosc [dokladność] - np. 0.3");
- return 1;
- }
- new uid = EditGate[playerid];
- if(EditGate[playerid] == 0) return urp_Tip(playerid,"Nie edytujesz żadnej bramy!");
- SendClientMessage(playerid, COLOR_GREY, "Zmieniłeś dokładność edytowania bramy");
- Gate[uid][gDokladnosc] = dokladnosc;
- //Gate[uid][gDokladnosc] = floatadd(Gate[uid][gDokladnosc], dokladnosc);
- return 1;
- }
- else if(!strcmp(typ,"otworz",true))
- {
- if(EditGate[playerid] == 0) return urp_Tip(playerid, "Nie edytujesz żadnej bramy!");
- new uid = EditGate[playerid];
- new Float: x, Float: y, Float: z;
- GetDynamicObjectPos(Gate[uid][gUID], x, y, z);
- Gate[uid][gOx] = x;
- Gate[uid][gOy] = y;
- Gate[uid][gOz] = z;
- SendClientMessage(playerid, COLOR_GREY, "Pozycja bramy otwartej została ustalona");
- return 1;
- }
- else if(!strcmp(typ,"uid",true))
- {
- new find = 0;
- new Float:posx, Float:posy, Float:posz, world, data[64];
- GetPlayerPos(playerid, posx, posy, posz);
- world = GetPlayerVirtualWorld(playerid);
- mysql_query_format("SELECT id FROM `urp_gates` WHERE cx < %f + 5 AND cx > %f - 5 AND cy < %f + 5 AND cy > %f - 5 AND cz < %f + 5 AND cz > %f - 5 AND vw = '%d' LIMIT 1", posx, posx, posy, posy, posz, posz, world);
- mysql_store_result();
- mysql_fetch_row_format(data, "|");
- sscanf(data, "p<|>d", find);
- mysql_free_result();
- new string[50];
- format(string, sizeof(string), "[BRAMA] >> %d <<", find);
- SendClientMessage(playerid, COLOR_GREEN, string);
- return 1;
- }
- else if(!strcmp(typ,"sprawdz",true))
- {
- new uid = EditGate[playerid];
- if(Gate[uid][gOx] == 0 || Gate[uid][gCx] == 0) return urp_Tip(playerid, "Brama nie została jeszcze ustawiona. (/abrama otworz, /abrama zamknij).");
- if(Gate[uid][gOpen] == 1)//otwarta
- {
- MoveDynamicObject(Gate[uid][gUID], Gate[uid][gCx], Gate[uid][gCy], Gate[uid][gCz], 4);
- Gate[uid][gOpen] = 0;
- }
- else
- {
- MoveDynamicObject(Gate[uid][gUID], Gate[uid][gOx], Gate[uid][gOy], Gate[uid][gOz], 4);
- Gate[uid][gOpen] = 1;
- }
- }
- else if(!strcmp(typ,"info",true))
- {
- new uid, string[128];
- if(sscanf(reszta, "d", uid))
- {
- urp_Tip(playerid, "TIP: /abrama info [uid bramy]");
- return 1;
- }
- format(string, sizeof(string), "ID:\t%d\nOx:\t%f\nOy:\t%f\nOz:\t%f\nCx:\t%f\nCy:\t%f\nCz:\t%f", uid, Gate[uid][gOx], Gate[uid][gOy], Gate[uid][gOz], Gate[uid][gCx], Gate[uid][gCy], Gate[uid][gCz]);
- urp_ShowPlayerDialog(playerid, D_INFO, DIALOG_STYLE_LIST, ""SERVER_NAME" » Brama", string, "Ok", "Anuluj");
- }
- else if(!strcmp(typ,"zakoncz",true))
- {
- new uid = EditGate[playerid];
- if(uid == 0) return urp_Tip(playerid, "Nie edytujesz żadnej bramy.");
- SendClientMessage(playerid, COLOR_GREEN, "Zakończyłeś edytować bramę");
- SaveGate(uid);
- EditGate[playerid] = 0;
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement