[Pomoc] /pay


Započeo LoOdaK, Novembar 26, 2015, 21:44:22 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Moja
Detaljan opis problema: napravio sam komandu /pay da dam pare nekom igracu i sada sam napravio da provjerava dali je igrac u blizini mene tj. onog koji hoce da da pare. Ali nesto nisam dobro napravio pa kad dodjem do igraca pise "Igrac nije u vasoj blizini" iako sam ko njega
Dio skripte:
CMD:pay(playerid, params[])
{
	new id,Float:Poz[3],kolicina,string[64],string2[64],string3[64],ime[MAX_PLAYER_NAME],igrac[MAX_PLAYER_NAME];
	if(sscanf(params,"ui",id,kolicina)) return SCM(playerid, SIVA,"Koristi: /pay [ id ] [ kolicina ]");
	if(!IsPlayerInRangeOfPoint(playerid, 5.0, Poz[0], Poz[1], Poz[2])) return SCM(playerid, SIVA," Igrac nije u vasoj blizini");
	if(PlayerInfo[playerid][pMoney] < kolicina) return SCM(playerid, SIVA,"Nemate toliko para u dzepu");
	if(id == INVALID_PLAYER_ID) return SCM(playerid, SIVA,"Pogresan id");
	if(kolicina > 99999) return SCM(playerid, SIVA,"Ne mozete dati vise od 99999$");
	if(kolicina < 1) return SCM(playerid, SIVA,"Ne mozete dati manje od 1$");
	else
	{
	    GetPlayerPos(id, Poz[0], Poz[1], Poz[2]);
	    PlayerInfo[playerid][pMoney] -= kolicina;
	    GivePlayerMoney(playerid, -kolicina);
	    PlayerInfo[id][pMoney] += kolicina;
	    GivePlayerMoney(id, kolicina);
	    GetPlayerName(id, igrac, sizeof(igrac));
	    GetPlayerName(playerid, ime, sizeof(ime));
	    format(string2,sizeof(string2)," Dali ste $%d igracu %s",kolicina,igrac);
	    SCM(playerid, SIVA, string2);
	    format(string3,sizeof(string3)," Dobili ste $%d od igraca %s",kolicina,ime);
		SCM(id, SIVA, string3);
	    format(string,sizeof(string),"* %s vadi novcanik i daje nesto novca %s",ime,igrac);
	    ProxDetector(30.0, playerid, string, PROX,PROX,PROX,PROX,PROX);
	}
	return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno): //
CitatElectric Power is everywhere present in unlimited quantities and can drive the world's machinery without the need of coal, oil, gas, or any other of the common fuels!



Bos

*

dodaj ovo negdje na kraj skripte ili gdje ti stoje ostali
forward ProxDetectorS(Float:radi,playerid,targetid);
public ProxDetectorS(Float:radi, playerid, targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
	{
	new Float:posx, Float:posy, Float:posz;
	new Float:oldposx, Float:oldposy, Float:oldposz;
	new Float:tempposx, Float:tempposy, Float:tempposz;
	GetPlayerPos(playerid, oldposx, oldposy, oldposz);
	GetPlayerPos(targetid, posx, posy, posz);
	tempposx = (oldposx -posx);
	tempposy = (oldposy -posy);
	tempposz = (oldposz -posz);
	if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
	{
	return 1;
	}
	}
	return 0;
}

a ovo dodaj u komandu
if(!ProxDetectorS(2.0,playerid,id)) return SCM(playerid,-1,""CRVENA"[Greska]"BIJELA"Niste u blizizni tog igraca!");

Umjesto
if(!IsPlayerInRangeOfPoint(playerid, 5.0, Poz[0], Poz[1], Poz[2])) return SCM(playerid, SIVA," Igrac nije u vasoj blizini");


Koristi ProxDetector i napravi ovako

if(ProxDetectorS(5.0, playerid, giveplayerid))
{
      /// ako je u blizini njega od 5 metara sta da se desi
}
else
{
     /// ako nije da mu jebe mater onda sto to pokusava
}


forward ProxDetectorS(Float:radi, playerid, targetid);



public ProxDetectorS(Float:radi, playerid, targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
	{
		new Float:posx, Float:posy, Float:posz;
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		//radi = 2.0; //Trigger Radius
		GetPlayerPos(targetid, posx, posy, posz);
		tempposx = (oldposx -posx);
		tempposy = (oldposy -posy);
		tempposz = (oldposz -posz);
		//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
		if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
		{
			return 1;
		}
	}
	return 0;
}

Hvala ljudi resio sam moze kljucic  8)
CitatElectric Power is everywhere present in unlimited quantities and can drive the world's machinery without the need of coal, oil, gas, or any other of the common fuels!