[pomoc]komande

Započeo makelele, April 10, 2011, 09:29:56 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

makelele

Skripta koju koristim:ma onako pravim to bezveze pa me interesuje
Detaljan opis problema:Moze ko da mi da primjer samo posto ja nemogu sjeti kako tacno da stavim ako lik dodje na neko mjesto da moze kupiti nesto,znaci dodje na poziciju ukuca komandu neku i dobije ono sto ja stavim
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):

poznaticovik

Ne razumijem nešto ovog tipa?

Kod: c
    CMD:oruzje(playerid, params[])
    {
       if(IsPlayerInRangeOfPoint(playerid, 837.4081,-2060.8938,12.8672,179.2266))
       {
   	   GivePlayerWeapon(playerid,27,145);
	   GivePlayerMoney(playerid,-1000);
       }
	   return 1;
    }


Nisam te skužio uopće

Citat: fixman|AND1| poslato April 10, 2011, 09:29:56 PRE PODNE
Skripta koju koristim:ma onako pravim to bezveze pa me interesuje
Detaljan opis problema:Moze ko da mi da primjer samo posto ja nemogu sjeti kako tacno da stavim ako lik dodje na neko mjesto da moze kupiti nesto,znaci dodje na poziciju ukuca komandu neku i dobije ono sto ja stavim
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):


mogao si ovo malo bolje formulisati

poznaticovik

Vjerujem da je ovo tražio da doÄ'e do neke pozicije i da igrač dobije neÅ¡to kad ukuca komandu ali samo na tom mjestu.

pa sigurno je to mislio..nek potrazi malo msm da je bilo ovakvih tema

Evo mislim da bi trebao ovako(ispravite me ako grijesim):
Ovako je za gf:

if (strcmp(cmd, "/kupi", true) == 0)
{
if ( PlayerToPoint (radisu, playerid, x, y, z))//provjerava jeli igrac na pozicij koju zelis
{
GivePlayerWeapon(playerid, idoruzija, municija);//daje igracu neko oruzije
GivePlayerMoney(playerid, -2000);//oduzima igracu 2000$
}
return 1;
}

poznaticovik

Citat: ƧΛЯMΛ poslato April 10, 2011, 09:49:38 PRE PODNE
Evo mislim da bi trebao ovako(ispravite me ako grijesim):
Ovako je za gf:

if (strcmp(cmd, "/kupi", true) == 0)
{
if ( PlayerToPoint (radisu, playerid, x, y, z))//provjerava jeli igrac na pozicij koju zelis
{
GivePlayerWeapon(playerid, idoruzija, municija);//daje igracu neko oruzije
GivePlayerMoney(playerid, -2000);//oduzima igracu 2000$
}
return 1;
}


Već sam mu dao što treba.
Poslednja Izmena: April 10, 2011, 10:36:23 PRE PODNE od [M]att

Znam, ti si postao dok sam ja jos pisao...Pa onda ja sam jos tu stavio neka objasnjenja...Pa onda reko da stavim...

poznaticovik

PTP nije samo u GF možeš ga ti forwardat i u svom modu od 0 ili bilo kojem

Kod: c
forward PlayerToPoint(Float:Matt, playerid, Float:x, Float:y, Float:z);

Kod: c
public PlayerToPoint(Float:Matt, playerid, Float:x, Float:y, Float:z)
{
	new Float:oldposx, Float:oldposy, Float:oldposz;
	new Float:tempposx, Float:tempposy, Float:tempposz;
	GetPlayerPos(playerid, oldposx, oldposy, oldposz);
	tempposx = (oldposx -x);
	tempposy = (oldposy -y);
	tempposz = (oldposz -z);

	if (((tempposx < Matt) && (tempposx > -Matt)) && ((tempposy < Matt) && (tempposy > -Matt)) && ((tempposz < Matt) && (tempposz > -Matt)))
	{
		return 1;
	}
	return 0;
}

Na kraj moda:

Kod: c
forward Nesto();
public Nesto()
{
 for(new i=0;i<GetMaxPlayers();i++)
  {
    if(IsPlayerInRangeOfPoint(i,radius,x,y,z)) GameTextForPlayer(i,"Upisi ovu komandu da nesto popijes",5000,5);
    //Ili mozes da ti odma izbaci dialog

  }

 return 1;
}


OnGameModeInIt:

Kod: c
SetTimer("Nesto",6000,true);


@Matt

-Zasto PlayerToPoint kad vec skripta sama po sebi ima definirano IsPlayerInRangeOfPoint ?
Poslednja Izmena: April 10, 2011, 12:34:49 POSLE PODNE od BloodMaster

poznaticovik

Zato što je ovaj rekao da je PTP za GF , napisao sam da može PTP i u drugim modovima , makar to netreba.

makelele

ok hval to,imam jos jedan problem nece da mi radi ova komanda kada stavim ovo da na odredjenom mjestu moze samo


CMD:sultan(playerid, params[])
{
       if(IsPlayerInRangeOfPoint(playerid, 1430.8628,1029.6882,9.8212,272.8908))
    {
    if(GetPlayerMoney(playerid) <= 4999) {
    SendClientMessage(playerid,COLOR_RED, "Nemate dovoljno novca");
    return 1;
    }
    new Float:X,Float:Y,Float:Z,Float:Angle, carid;
   GetPlayerPos(playerid,X,Y,Z);
   GetPlayerFacingAngle(playerid,Angle);
    carid = GetPlayerVehicleID(playerid);
   carid = CreateVehicle(560,X,Y,Z,Angle,-1,-1,600);
    AddVehicleComponent(carid,1029);
    AddVehicleComponent(carid,1033);
    AddVehicleComponent(carid,1139);
    AddVehicleComponent(carid,1010);
    AddVehicleComponent(carid,1073);
    ChangeVehiclePaintjob(carid,1);
   PutPlayerInVehicle(playerid,carid,0);
   TogglePlayerControllable(playerid,true);
   GivePlayerMoney(playerid, -5000);
}
    return SendClientMessage(playerid,COLOR_WHITE, "Tunirani sultan je dovezen!");
   }

Auuu, sta si ti svasta zbrljo, i zasto koristite milion ovih { i }, kad se napravi skoro bez njih....

Evo kako treba ici:

CMD:sultan(playerid, params[])
{
       if(!IsPlayerInRangeOfPoint(playerid, 1430.8628,1029.6882,9.8212,272.8908)) return  SendClientMessage(playerid,COLOR_WHITE, "Nisi na poziciji gdje se kupuje sultan!");
    if(GetPlayerMoney(playerid)  < 5000) return SendClientMessage(playerid,COLOR_RED, "Nemate dovoljno novca (5000$)");

    new Float:X,Float:Y,Float:Z,Float:Angle;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,Angle);
    new carid1 = CreateVehicle(560,X,Y,Z,Angle,-1,-1,600);
    PutPlayerInVehicle(playerid,carid1,0);
    new carid = GetPlayerVehicleID(playerid);
    AddVehicleComponent(carid,1029);
    AddVehicleComponent(carid,1033);
    AddVehicleComponent(carid,1139);
    AddVehicleComponent(carid,1010);
    AddVehicleComponent(carid,1073);
    ChangeVehiclePaintjob(carid,1);
   PutPlayerInVehicle(playerid,carid,0);
   TogglePlayerControllable(playerid,true);
   GivePlayerMoney(playerid, -5000);
   SendClientMessage(playerid,COLOR_WHITE,"Kupili ste tuniran sultan za $5000");
   return true;
}
Poslednja Izmena: April 10, 2011, 13:21:59 POSLE PODNE od BloodMaster