Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <pcmd>
- #include <mapandreas>
- #include <streamer>
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Swatropescript by IPrototypeI");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #define MAX_HEIGHT 100
- new PlayerAbseilen[MAX_PLAYERS char];
- new Count,
- Timer;
- CMD->abseilen(playerid,params[]){
- if(PlayerAbseilen{playerid})return SendClientMessage(playerid,-1,"Du seilst dich schon ab!");
- new Float:Pos[5],
- obj[MAX_HEIGHT];
- GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- GetPlayerFacingAngle(playerid,Pos[3]);
- Pos[0] += 2.0 * -floatsin(-Pos[3], degrees);
- Pos[1] += 2.0 * -floatcos(-Pos[3], degrees);
- GetPointZPos(Pos[0],Pos[1],Pos[4]);
- if(Pos[4] > Pos[2]-2.0)return SendClientMessage(playerid,-1,"Du kannst dich nicht abseilen");
- if((Pos[2] - Pos[4]) > (MAX_HEIGHT*2.3))return SendClientMessage(playerid,-1,"Du kannst dich nicht abseilen dein Seil ist zu kurz");
- PlayerAbseilen{playerid} = true;
- SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- ApplyAnimation(playerid,"ped","abseil",4.0,0,0,0,1,0);
- for(new i, j = floatround((Pos[2] - Pos[4])/2.3, floatround_ceil)+1; i <= j; ++i)obj[i] = CreateDynamicObject(19087,Pos[0],Pos[1],Pos[2]-2.3*i,0,0, 0);
- SetPVarString(playerid,"abseilen",obj);
- if(++Count == 1)Timer = SetTimer("@PutPlayerToPos", 500, true);
- return 1;
- }
- forward @PutPlayerToPos();
- @PutPlayerToPos(){
- if(!Count)return KillTimer(Timer);
- for(new p; p != MAX_PLAYERS; ++p){
- if(!PlayerAbseilen{p})continue;
- new Float:speed;
- GetPlayerVelocity(p, speed, speed, speed);
- if(speed == 0.0){
- new obj[MAX_HEIGHT];
- GetPVarString(p, "abseilen", obj,sizeof(obj));
- for(new i, j=strlen(obj); i != j; ++i)DestroyDynamicObject(obj[i]);
- ClearAnimations(p);
- PlayerAbseilen{p} = false;
- --Count;
- continue;
- }
- SetPlayerVelocity(p, 0.0, 0.0, -0.1);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement