Jump to content

Basketball: pohaneci system


ATomas

Recommended Posts

cau lidi trosicku sem se nudil tak sem udelal pohaneci system basketu jedna se jenom o hody na kos a bud date kos nebo se mic odrazi zni to jednoduse ale aby jste to zvladly chce to mozek :)

neni to uplne perfektni script ma to sve mouchy casem vychytam..

new mic;//id objectu
new Float:Vyska;//zde budeme menit vysku tak nam vznicke oblouk
new Float:XM,Float:YM,Float:ZM;//pozice pro odraz

forward Hod();
forward Odrazka();

public OnGameModeInit()
{
mic = CreateObject(3065,2316.7790527344,-1519.2508544922,24.478769302368,0,0,0);//vytvorime mic
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/hod",cmdtext,true) == 0)//prikaz
{
    new Float:X,Float:Y,Float:Z;
    //GetObjectPos(mic,X,Y,Z);//zjistime pozici objectu
    //if(IsPlayerInSphere(playerid,X,Y,Z,2))//kdyz je u nej
    //{
        //ApplyAnimation(playerid,"BSKTBALL","BBALL_Jump_Shot",4.1,0,1,1,1,1);
		GetPlayerPos(playerid,X,Y,Z);//zjistime pozici hrace
		SetObjectPos(mic,X,Y+0.4,Z+1.1);//mic dame k menu
		SetTimer("Hod",1000,0);//spustime timer
		Vyska = 31;//nastavime vysku kam bude mic mirit
	//}else{
	    //SendClientMessage(playerid,0xFFF000AA,"Musite byt u mice");
	//}
	return 1;
}
if(strcmp("/port",cmdtext,true) == 0)//port na hriste pro rychlejsi testing 
{
    SetPlayerPos(playerid,2316,-1519,26);
    SendClientMessage(playerid,0xFFF000AA,"Pro hod napiste /hod");
    return 1;
}
return 0;
}

//pokud chcete klavesou...
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == IDKLAVESY)
{
new Float:X,Float:Y,Float:Z;
//GetObjectPos(mic,X,Y,Z);//zjistime pozici objectu
//if(IsPlayerInSphere(playerid,X,Y,Z,2))//kdyz je u nej
//{
//ApplyAnimation(playerid,"BSKTBALL","BBALL_Jump_Shot",4.1,0,1,1,1,1);
GetPlayerPos(playerid,X,Y,Z);//zjistime pozici hrace
SetObjectPos(mic,X,Y+0.4,Z+1.1);//mic dame k menu
SetTimer("Hod",1000,0);//spustime timer
Vyska = 31;//nastavime vysku kam bude mic mirit
//}else{
//SendClientMessage(playerid,0xFFF000AA,"Musite byt u mice");
//}
}
return 1;
}

public Hod()//vyvolan z prikazu
{
if(Vyska > 27.4)//kdyz bude vyse nez kos
{
	MoveObject(mic,2316.8337,-1514.7951,Vyska,3);//pohneme objectem
    Vyska -= 0.2;//odecteme vysku pro pristi let vznikne nam tak obloukova draha
    SetTimer("Hod",100,0);//a zase si spustime timer
}else{
    new moznost = random(4);//trefi nebo netrefi 
    switch(moznost)
    {
        case 0,1: MoveObject(mic,2316.8337,-1514.7951,24.4,3);//tady trefi mic projede kosem az na zem
		case 2,3://tady netrefi
		{
		    //vybereme si pozici u kose
		    XM = 2313 + random(7);
			YM = -1519 + random(3);
			ZM = 24.4787;
			MoveObject(mic,XM,YM,ZM,3);//a mic tam namirime
			SetTimer("Odrazka",100,0);//pustime tiemr na odraz
			Vyska = 31;//nastavime vysku pro odraz ze ktere zase budeme odecitat
		}
	}
}
return 1;
}

public Odrazka()//vyvolano pro odraz
{
if(Vyska > 24.4)//kdyz nebude na zemi
{
    MoveObject(mic,XM,YM,Vyska,3);//pohneme objectem
    Vyska -= 0.2;//odecmete vysku zase pro priste aby vznikl obkoukovy let
    SetTimer("Odrazka",100,0);//pustime timer
   }
return 1;
}

 

//toto znate

stock IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius2)

{

if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius2) return 1;

return 0;

}

 

stock GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z)

{

new Float:x1,Float:y1,Float:z1,Float:tmpdis;

GetPlayerPos(playerid,x1,y1,z1);

tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2));

return floatround(tmpdis);

}

 

stock IsObjectInSphere(objectid,Float:x,Float:y,Float:z,radius2)

{

if(GetObjectDistanceToPointEx(objectid,x,y,z) < radius2) return 1;

return 0;

}

 

stock GetObjectDistanceToPointEx(objectid,Float:x,Float:y,Float:z)

{

new Float:x1,Float:y1,Float:z1,Float:tmpdis;

GetObjectPos(objectid,x1,y1,z1);

tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2));

return floatround(tmpdis);

}

 

Link to comment
Share on other sites

  • Replies 78
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

JJ diky vypada to good :d Ale jak si tam daval

if(Vyska > 27.4)//kdyz bude vyse nez kos
  {
     MoveObject(mic,2316.8337,-1514.7951,Vyska,3);//pohneme objectem
      Vyska -= 0.2;//odecteme vysku pro pristi let vznikne nam tak obloukova draha
      SetTimer("Hod",100,0);//a zase si spustime timer
  }else{
      new moznost = random(4);//trefi nebo netrefi 
      switch(moznost)
      {
          case 0,1: MoveObject(mic,2316.8337,-1514.7951,24.4,3);//tady trefi mic projede kosem az na zem
        case 2,3://tady netrefi
        {
            //vybereme si pozici u kose
            XM = 2313 + random(7);
           YM = -1519 + random(3);
           ZM = 24.4787;
           MoveObject(mic,XM,YM,ZM,3);//a mic tam namirime
           SetTimer("Odrazka",100,0);//pustime tiemr na odraz
           Vyska = 31;//nastavime vysku pro odraz ze ktere zase budeme odecitat
        }
     }
  }
  return 1;
}

Nahore to asi nemas dodelany... Nema tam jeste bejt

public Hod()
{

? :)

Link to comment
Share on other sites

Víš jak máš toto :d

 

public OnPlayerCommandText(playerid, cmdtext[])
{
  if(strcmp("/hod",cmdtext,true) == 0)//prikaz
  {
      new Float:X,Float:Y,Float:Z;
      //GetObjectPos(mic,X,Y,Z);//zjistime pozici objectu
      //if(IsPlayerInSphere(playerid,X,Y,Z,2))//kdyz je u nej
      //{
          //ApplyAnimation(playerid,"BSKTBALL","BBALL_Jump_Shot",4.1,0,1,1,1,1);
        GetPlayerPos(playerid,X,Y,Z);//zjistime pozici hrace
        SetObjectPos(mic,X,Y+0.4,Z+1.1);//mic dame k menu
        SetTimer("Hod",1000,0);//spustime timer
        Vyska = 31;//nastavime vysku kam bude mic mirit
     //}else{
         //SendClientMessage(playerid,0xFFF000AA,"Musite byt u mice");
     //}
     return 1;
  }
  if(strcmp("/port",cmdtext,true) == 0)//port na hriste pro rychlejsi testing 
  {
      SetPlayerPos(playerid,2316,-1519,26);
      SendClientMessage(playerid,0xFFF000AA,"Pro hod napiste /hod");
      return 1;
  }
  return 0;
}

 

Nejde to udělat jako že dam třeba shift a on hodí? :d

Link to comment
Share on other sites

Víš jak máš toto :d

 

public OnPlayerCommandText(playerid, cmdtext[])
{
  if(strcmp("/hod",cmdtext,true) == 0)//prikaz
  {
      new Float:X,Float:Y,Float:Z;
      //GetObjectPos(mic,X,Y,Z);//zjistime pozici objectu
      //if(IsPlayerInSphere(playerid,X,Y,Z,2))//kdyz je u nej
      //{
          //ApplyAnimation(playerid,"BSKTBALL","BBALL_Jump_Shot",4.1,0,1,1,1,1);
        GetPlayerPos(playerid,X,Y,Z);//zjistime pozici hrace
        SetObjectPos(mic,X,Y+0.4,Z+1.1);//mic dame k menu
        SetTimer("Hod",1000,0);//spustime timer
        Vyska = 31;//nastavime vysku kam bude mic mirit
     //}else{
         //SendClientMessage(playerid,0xFFF000AA,"Musite byt u mice");
     //}
     return 1;
  }
  if(strcmp("/port",cmdtext,true) == 0)//port na hriste pro rychlejsi testing 
  {
      SetPlayerPos(playerid,2316,-1519,26);
      SendClientMessage(playerid,0xFFF000AA,"Pro hod napiste /hod");
      return 1;
  }
  return 0;
}

 

Nejde to udělat jako že dam třeba shift a on hodí? :d

 

Předělej si to na keystatechange ;)

Link to comment
Share on other sites

ten zacatek publicu sem dodelal to sem jaksi prehlidnul a s tou klavesou si misto priakzu das if(newkey == IDKLAVESY) a das si to do OnPlayerKey... a mas to

Link to comment
Share on other sites

  • Globální moderátor

 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

{

if(newkeys == IDKLAVESY){

new Float:X,Float:Y,Float:Z;

//GetObjectPos(mic,X,Y,Z);//zjistime pozici objectu

//if(IsPlayerInSphere(playerid,X,Y,Z,2))//kdyz je u nej

//{

//ApplyAnimation(playerid,"BSKTBALL","BBALL_Jump_Shot",4.1,0,1,1,1,1);

GetPlayerPos(playerid,X,Y,Z);//zjistime pozici hrace

SetObjectPos(mic,X,Y+0.4,Z+1.1);//mic dame k menu

SetTimer("Hod",1000,0);//spustime timer

Vyska = 31;//nastavime vysku kam bude mic mirit

//}else{

//SendClientMessage(playerid,0xFFF000AA,"Musite byt u mice");

//}

}

return 1;

}

 

 

prostě takhle jednoduše . ID klávesy najdeš tady http://wiki.sa-mp.com/wiki/GetPlayerKeys

Link to comment
Share on other sites

Very good len mohol si to spravit ako v Single Playeri že stlači nwm čo a hodi to inač g00d :thumbup:

 

Ved to tu je :d

Link to comment
Share on other sites

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

{

if(newkeys == IDKLAVESY){

new Float:X,Float:Y,Float:Z;

//GetObjectPos(mic,X,Y,Z);//zjistime pozici objectu

//if(IsPlayerInSphere(playerid,X,Y,Z,2))//kdyz je u nej

//{

//ApplyAnimation(playerid,"BSKTBALL","BBALL_Jump_Shot",4.1,0,1,1,1,1);

GetPlayerPos(playerid,X,Y,Z);//zjistime pozici hrace

SetObjectPos(mic,X,Y+0.4,Z+1.1);//mic dame k menu

SetTimer("Hod",1000,0);//spustime timer

Vyska = 31;//nastavime vysku kam bude mic mirit

//}else{

//SendClientMessage(playerid,0xFFF000AA,"Musite byt u mice");

//}

}

return 1;

}

 

 

prostě takhle jednoduše . ID klávesy najdeš tady http://wiki.sa-mp.com/wiki/GetPlayerKeys" onclick="window.open(this.href);return false;

 

Ale je to tu jenže ty si slepý :d

Link to comment
Share on other sites

lol proto sem to pojmenoval pohaneci system ne tohovo basketbal az budu mit naladu mozna tyhle detaily dopiluju ale hlavne s tim hazenim to este musim dopilovat

jinak griblovani.. ono by to slo akorat se mi nechce :d

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...