Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <sscanf2>
- #include <zcmd>
- new execute = 1;
- new objects = 0;
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/select", cmdtext, true) == 0)
- {
- execute = 1;
- SelectObject(playerid);
- return 1;
- }
- if (strcmp("/info", cmdtext, true) == 0)
- {
- execute = 0;
- SelectObject(playerid);
- return 1;
- }
- if (strcmp("/up", cmdtext, true) == 0)
- {
- new Float:PP[3];
- GetPlayerPos(playerid, PP[0], PP[1], PP[2]);
- SetPlayerPos(playerid, PP[0], PP[1], PP[2]+7.00);
- new veh = CreateVehicle(411, PP[0], PP[1], PP[2]+7.00, 0.00, 0, 0, 0);
- PutPlayerInVehicle(playerid, veh, 0);
- GivePlayerWeapon(playerid, 43, 10000);
- return 1;
- }
- if (strcmp("/getpos", cmdtext, true) == 0)
- {
- new Float:PP[3];
- GetPlayerPos(playerid, PP[0], PP[1], PP[2]);
- new str[256];
- format(str, sizeof str, "XYZ: %f.04, %f.04, %f.04", PP[0], PP[1], PP[2]);
- SendClientMessage(playerid, -1, str);
- return 1;
- }
- if (strcmp("/pos", cmdtext, true) == 0)
- {
- SetPlayerPos(playerid, 0.00, 0.00, 10.00);
- return 1;
- }
- if (strcmp("/test", cmdtext, true) == 0)
- {
- new Float:PP[3];
- GetPlayerPos(playerid, PP[0], PP[1], PP[2]);
- Generate_Island(PP[0], PP[1], PP[2]+5.00, 5,5);
- new str[128];
- format(str, 128, "%d", objects);
- SendClientMessage(playerid, -1, str);
- return 1;
- }
- return 0;
- }
- CMD:island(playerid, params[])
- {
- new w, h;
- if(sscanf(params, "ii", w, h)) SendClientMessage(playerid, -1, "USE: /island <W> <H>");
- else
- {
- new Float:PP[3];
- GetPlayerPos(playerid, PP[0], PP[1], PP[2]);
- SetPlayerPos(playerid, PP[0], PP[1], PP[2]+6.00);
- Generate_Island(PP[0], PP[1], PP[2]+5.00, w, h);
- new str[128];
- format(str, 128, "%d objects created. (%i*%i)", objects, w, h);
- SendClientMessage(playerid, -1, str);
- }
- return 1;
- }
- CMD:car(playerid, params[])
- {
- new Float:PP[3];
- GetPlayerPos(playerid, PP[0], PP[1], PP[2]);
- new veh = CreateVehicle(447, PP[0], PP[1], PP[2]+7.00, 0.00, 0, 0, 0);
- PutPlayerInVehicle(playerid, veh, 0);
- return 1;
- }
- CMD:tele(playerid, params[])
- {
- SetPlayerPos(playerid, -3343.57 + random(2), 194.34 + random(2), 6.2);
- SetPlayerFacingAngle(playerid, 315);
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- stock Upside_Plot(Float:X, Float:Y, Float:Z)
- {
- #define X_DIFF 70.0000
- #define Y_DIFF 70.0000
- CreateObject(19529, X, Y, Z, 0.00, 0.00, 90.00); // ALAP
- CreateObject(19532, X, ( Y + Y_DIFF ), Z, 0.00, 0.00, 90.00); //fennti út
- CreateObject(19532, X, ( Y - Y_DIFF ), Z, 0.00, 0.00, 90.00); //lennti út
- CreateObject(19532, ( X + X_DIFF ), Y, Z, 0.00, 0.00, 0.00); //jobb út
- CreateObject(19534, ( X + X_DIFF ), ( Y + Y_DIFF ), Z, 0.00, 0.00, 90.00); //sarok
- CreateObject(19534, ( X + X_DIFF ), ( Y - Y_DIFF ), Z, 0.00, 0.00, 90.00); //sarok
- objects += 6;
- return 1;
- }
- stock Rightside_Plot(Float:X, Float:Y, Float:Z)
- {
- #define X_DIFF 70.0000
- #define Y_DIFF 70.0000
- CreateObject(19529, X, Y, Z, 0.00, 0.00, 90.00); // ALAP
- CreateObject(19532, X, ( Y - Y_DIFF ), Z, 0.00, 0.00, 90.00); //lennti út
- CreateObject(19532, ( X + X_DIFF ), Y, Z, 0.00, 0.00, 0.00); //jobb út
- CreateObject(19534, ( X + X_DIFF ), ( Y - Y_DIFF ), Z, 0.00, 0.00, 90.00); //sarok
- objects += 4;
- return 1;
- }
- stock Leftside_Plot(Float:X, Float:Y, Float:Z)
- {
- #define X_DIFF 70.0000
- #define Y_DIFF 70.0000
- CreateObject(19529, X, Y, Z, 0.00, 0.00, 90.00); // ALAP
- CreateObject(19532, X, ( Y - Y_DIFF ), Z, 0.00, 0.00, 90.00); //alsó út
- CreateObject(19532, ( X - X_DIFF ), Y, Z, 0.00, 0.00, 0.00); //bal út
- CreateObject(19532, ( X + X_DIFF ), Y, Z, 0.00, 0.00, 0.00); //jobb út
- CreateObject(19534, ( X - X_DIFF ), ( Y - Y_DIFF ), Z, 0.00, 0.00, 270.00); //sarok
- CreateObject(19534, ( X + X_DIFF ), ( Y - Y_DIFF ), Z, 0.00, 0.00, 270.00); //sarok
- objects += 6;
- return 1;
- }
- stock Leftside_Sarok_Plot(Float:X, Float:Y, Float:Z) //utolsó amit lerak
- {
- #define X_DIFF 70.0000
- #define Y_DIFF 70.0000
- CreateObject(19529, X, Y, Z, 0.00, 0.00, 90.00); // ALAP
- CreateObject(19532, X, ( Y + Y_DIFF ), Z, 0.00, 0.00, 90.00); //fennti út
- CreateObject(19532, X, ( Y - Y_DIFF ), Z, 0.00, 0.00, 90.00); //alsó út
- CreateObject(19532, ( X - X_DIFF ), Y, Z, 0.00, 0.00, 0.00); //jobb út
- CreateObject(19532, ( X + X_DIFF ), Y, Z, 0.00, 0.00, 0.00); //bal út
- CreateObject(19534, ( X - X_DIFF ), ( Y - Y_DIFF ), Z, 0.00, 0.00, 90.00); //keresztezodes jobbfennt
- CreateObject(19534, ( X - X_DIFF ), ( Y + Y_DIFF ), Z, 0.00, 0.00, 180.00); //sarok jobblent
- CreateObject(19534, ( X + X_DIFF ), ( Y + Y_DIFF ), Z, 0.00, 0.00, 180.00); //sarok ballent
- CreateObject(19534, ( X + X_DIFF ), ( Y - Y_DIFF ), Z, 0.00, 0.00, 270.00); //keresztezodes fent
- objects += 9;
- return 1;
- }
- stock Coach_Large(Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ)
- {
- CreateObject(19539, X, Y, Z, rX, rY, rZ);
- objects++;
- return 1;
- }
- stock Coach_Small(Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ)
- {
- CreateObject(19541, X, Y, Z, rX, rY, rZ);
- objects++;
- return 1;
- }
- Generate_Island(Float:X, Float:Y, Float:Z, hossz=10, szelesseg=10)
- {
- #define PLOT_DIFF 140.0000
- #define SAND_DIFF 62.50
- new Float:COUNT_X = 0.00, Float:COUNT_Y = 0.00;
- // Telek, út, homok része
- for(new i = 0; i < hossz; i++)
- {
- if(i == (hossz-1))
- {
- Upside_Plot(X, floatadd(Y, COUNT_Y), Z);
- Leftside_Sarok_Plot( floatsub(X, floatmul(PLOT_DIFF, (szelesseg-1))), floatadd(Y, COUNT_Y), Z);
- }
- else
- {
- Rightside_Plot(X, floatadd(Y, COUNT_Y), Z);
- Leftside_Plot( floatsub(X, floatmul(PLOT_DIFF, (szelesseg-1))), floatadd(Y, COUNT_Y), Z);
- }
- if(i == 0) // Két első szél
- {
- Coach_Small( floatadd(X, floatadd(X_DIFF, 7.50)), floatsub(floatadd(Y, COUNT_Y), floatdiv(PLOT_DIFF, 2)), Z, 0.00, 0.00, 0.00);
- Coach_Small( floatsub(floatsub(floatsub(X, floatmul(PLOT_DIFF, (szelesseg-1))), floatdiv(PLOT_DIFF, 2)), 7.50), floatsub(floatadd(Y, COUNT_Y), floatdiv(PLOT_DIFF, 2)) , Z, 0.00, 0.00, 180.00);
- }
- Coach_Large( floatadd(X, floatadd(X_DIFF, 7.50)), floatsub(floatadd(Y, COUNT_Y), floatdiv(SAND_DIFF, 2)), Z, 0.00, 0.00, 0.00);
- Coach_Large( floatadd(X, floatadd(X_DIFF, 7.50)), floatadd(floatadd(Y, COUNT_Y), floatdiv(SAND_DIFF, 2)), Z, 0.00, 0.00, 0.00);
- Coach_Small( floatadd(X, floatadd(X_DIFF, 7.50)), floatadd(floatadd(Y, COUNT_Y), floatdiv(PLOT_DIFF, 2)), Z, 0.00, 0.00, 0.00);
- Coach_Large( floatsub( floatsub( floatsub(X, floatmul(PLOT_DIFF, (szelesseg-1))), floatdiv(PLOT_DIFF,2)),7.50), floatsub(floatadd(Y, COUNT_Y), floatdiv(SAND_DIFF, 2)), Z, 0.00, 0.00, 180.00);
- Coach_Large( floatsub( floatsub( floatsub(X, floatmul(PLOT_DIFF, (szelesseg-1))), floatdiv(PLOT_DIFF,2)),7.50), floatadd(floatadd(Y, COUNT_Y), floatdiv(SAND_DIFF, 2)), Z, 0.00, 0.00, 180.00);
- Coach_Small( floatsub( floatsub( floatsub(X, floatmul(PLOT_DIFF, (szelesseg-1))), floatdiv(PLOT_DIFF,2)),7.50), floatadd(floatadd(Y, COUNT_Y), floatdiv(PLOT_DIFF, 2)), Z, 0.00, 0.00, 180.00);
- COUNT_X = 140.0000;
- for(new a = 1; a < (szelesseg-1); a++)
- {
- if(i == (hossz-1))
- Upside_Plot(floatsub(X, COUNT_X), floatadd(Y, COUNT_Y), Z);
- else
- Rightside_Plot( floatsub(X, COUNT_X), floatadd(Y, COUNT_Y), Z);
- COUNT_X += PLOT_DIFF;
- }
- COUNT_Y += PLOT_DIFF;
- }
- return 1;
- }
- public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
- {
- if(execute == 1)
- {
- EditObject(playerid, objectid);
- }
- else
- {
- new str[256];
- new Float:rx, Float:ry, Float:rz;
- GetObjectRot( objectid, rx, ry, rz );
- format(str, sizeof str, "ID: %i, XYZ: %f.04, %f.04, %f.04, RXYZ: %f.04, %f.04, %f.04, MODELID: %i", objectid, fX, fY, fZ, rx, ry, rz, modelid);
- SendClientMessage(playerid, -1, str);
- }
- return 1;
- }
- public OnFilterScriptInit()
- {
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement