Jump to content
  • 0

Fucție de calculat distanța.


Believer>

Question

Problema intalnita (descriere): Am început să creez un job de tip trucker și aș vrea să pun distanța de la punctul din care se pornește până la destinație. Întrebarea mea este care e mai exact funcția cu care realizez acest lucru și cum pot să adaug numărul de metrii în lista de tip ShowPlayerDialog [DIALOG_STYLE_LIST].
Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul(obligatoriu): Nu cred că e nevoie în cazul acesta.
Imagini / Video (optional): -
Ati incercat sa rezolvati singur?: Practic nu.. 
:sleep:

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Inlocuieste partea asta

19 minutes ago, DeYu(S) said:

format(string,sizeof(string), "Choose a destination:", "LS Trucker Point(%f m) - {009900}Legal\nLV Trucker Point(meters) - {FF0000}Illegal\nSF Trucker Point(meters) - {FF0000}Explosive", "Select", "Close", fDistance1); ShowPlayerDialog(playerid, 10, DIALOG_STYLE_LIST);

cu

format(string,sizeof(string), "LS Trucker Point(%f m) - {009900}Legal\nLV Trucker Point(meters) - {FF0000}Illegal\nSF Trucker Point(meters) - {FF0000}Explosive", fDistance1);
ShowPlayerDialog(playerid, 10, DIALOG_STYLE_LIST, "Choose a destination:", string, "Select", "Close");

 

Link to comment
Share on other sites

  • 0

Daca te straduiai macar 0.0001 % cred ca gaseai aceasta functie

https://wiki.sa-mp.com/wiki/GetPlayerDistanceFromPoint

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

  • 0

Daca te straduiai macar 0.0001 % cred ca gaseai aceasta functie

https://wiki.sa-mp.com/wiki/GetPlayerDistanceFromPoint

M-am străduit și am găsit-o. Dar nu am reușit să adaug funcția cum trebuie. Acolo e explicată cu SendClientMessage. Eu primesc un waring iar când intru să testez nu apare deloc dialogul.

Link to comment
Share on other sites

  • 0
22 minutes ago, WopsS said:

Salut!

Am încercat deja să fac ceva în genul dar nu îmi apare dialogul. Știu cam care e problema dar nu și cum să o rezolv. 

Uite aici scriptul,dacă poți să îți dai seama ce e greșit. (Eu cred că e la funcția ShowPlayerDialog,nu știu exact cum să o scriu într-o astfel de situație)

if(StartTruck[playerid] == 1)
	{
	    DisablePlayerCheckpoint(playerid);
	    new Float: fDistance1 = GetPlayerDistanceFromPoint(playerid, 2753.2, -2430.5, 13.4);
	    new string[44];
	    format(string,sizeof(string), "Choose a destination:", "LS Trucker Point(%f m) - {009900}Legal\nLV Trucker Point(meters) - {FF0000}Illegal\nSF Trucker Point(meters) - {FF0000}Explosive", "Select", "Close", fDistance1);
	    ShowPlayerDialog(playerid, 10, DIALOG_STYLE_LIST);
	}
	return 1;
}

 

Link to comment
Share on other sites

  • 0
11 minutes ago, WopsS said:

Nu ai toti parametrii pentru ShowPlayerDialog, uita-te aici http://wiki.sa-mp.com/wiki/ShowPlayerDialog

Păi nu îi am pentru că am crezut că trebuie să îi pun doar sus la format(string,sizeof(string) . Trebuie să scriu și la ShowPlayerDialog exact ceea ce am scris și sus sau cum?

Link to comment
Share on other sites

  • 0

@WopsS

Da,asta era problema. Pe parcurs au mai apărut ceva probleme (Apărea doar o parte din dialog,numărul de metrii era dat cu foarte multe zecimale) dar până la urmă am rezolvat. Deci,cu ajutorul tău am mai învățat ceva. Încă o singură întrebare:

Să înțeleg că numărul pe care îl pun la new string[numar] este numărul maxim de caractere?

Mulțumesc pentru timpul acordat! (Poți închide topic-ul după ce răspunzi la întrebare,mă rog dacă știi. :D )

Link to comment
Share on other sites

  • 0
Just now, DeYu(S) said:

@WopsS

Da,asta era problema. Pe parcurs au mai apărut ceva probleme (Apărea doar o parte din dialog,numărul de metrii era dat cu foarte multe zecimale) dar până la urmă am rezolvat. Deci,cu ajutorul tău am mai învățat ceva. Încă o singură întrebare:

Să înțeleg că numărul pe care îl pun la new string[numar] este numărul maxim de caractere?

Mulțumesc pentru timpul acordat! (Poți închide topic-ul după ce răspunzi la întrebare,mă rog dacă știi. :D )

Partial da, numarul pe care il pui intre paranteze patrate cand declari un sir de caractere este numarul de caractere - 1 pe care il poti stoca in sir.

De ce este numarul de caractere - 1?

Pai pentru ca ultimul caracter trebuie sa fie caracterul NULL (\0) care marcheaza sfarsitul sirului. Nu stiu sigur daca in PAWN se intampla acest lucru, dar in C++ daca nu marchezi sfarsitul sirului o sa iti apara caractere reziduale (adica caractere la intamplare, depinde ce a fost inainte in segmentul de memorie unde este stocat sirul respectiv).

 

Exemplu:

Declari sirul

new String[6];

in el poti stoca doar 5 caractere pentru ca caracterul de pe pozitia 6 o sa fie caracterul NULL.

Cu placere :)

  • Upvote 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.