Jump to content

Salutareee ! Am si eu o problema ! Cine ma poate ajuta ? Vreau ca prin aceasta comanda doar daca te cheama pe samp GamerulFOX sa poti intra in casa accea!


GamerulFOX

Recommended Posts

Salutareee ! Am si eu o problema ! Cine ma poate ajuta ? Vreau ca prin aceasta comanda doar daca te cheama pe samp GamerulFOX sa poti intra in casa accea!
Dar nu am stiut cum !

CMD:enterhouse1(playerid, params[])
{
    new name[MAX_PLAYER_NAME], GamerulFOX[MAX_PLAYERS];
    GetPlayerName(playerid, name, sizeof(name));
    if(!IsPlayerInRangeOfPoint(playerid, 3.0, 124.0870, 1747.3165, 17.5925)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti la usa acelei case!");
    if(GetPlayerName(playerid, name, sizeof(name)) != GamerulFOX[playerid]) return SendClientMessage(playerid, 0xff0000FF, "Nu este casa ta!");
    else
        SendClientMessage(playerid, 0xff0000FF, "Bun venit acasa!");
    return 1;
}

Link to comment
Share on other sites

1 hour ago, GamerulFOX said:

Salutareee ! Am si eu o problema ! Cine ma poate ajuta ? Vreau ca prin aceasta comanda doar daca te cheama pe samp GamerulFOX sa poti intra in casa accea!
Dar nu am stiut cum !

CMD:enterhouse1(playerid, params[])
{
    new name[MAX_PLAYER_NAME], GamerulFOX[MAX_PLAYERS];
    GetPlayerName(playerid, name, sizeof(name));
    if(!IsPlayerInRangeOfPoint(playerid, 3.0, 124.0870, 1747.3165, 17.5925)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti la usa acelei case!");
    if(GetPlayerName(playerid, name, sizeof(name)) != GamerulFOX[playerid]) return SendClientMessage(playerid, 0xff0000FF, "Nu este casa ta!");
    else
        SendClientMessage(playerid, 0xff0000FF, "Bun venit acasa!");
    return 1;
}

Salut, @GamerulFOX!

Pentru inceput iti voi arata o functie usoara pe care sa o folosesti pentru a nu fi nevoit sa definesti de fiecare data o varibila si sa te folosesti de functia GetPlayerName.

stock GetName(playerid) {
	new name[MAX_PLAYER_NAME]; // numarul maxim de caractere pe care il poate avea numele jucatorilor pe SA:MP este de 24 de caractere, deci te poti folosi si de MAX_PLAYER_NAME
  	GetPlayerName(playerid, name, sizeof(name)); // ia numele jucatorului
	return name; // returneaza numele jucatorului
}

Practic va trebui sa scrii doar GetName(playerid); peste tot pe unde doresti sa aflii numele jucatorului.

Am observat ca tu ai definit o variabila pentru a-ti afla numele, ceea ce nu este corect, acea variabila nu te va ajuta cu absolut nimic.

Acum voi incerca sa iti dau o rezolvare problemei tale, insa voi incerca sa fac de asa maniera incat sa incerci sa gandesti tu, nu sa iti dau codul direct, pentru ca doar asa vei invata.

ATENTIE: Asta e rezolvarea mea, stiu ca sunt si alte rezolvari, dar incerc sa ii prezint una dintre rezolvarile pentru nivelul lui de cunostinte ca sa aiba macar o varianta pentru ceea ce vrea sa faca! Oricine poate veni cu rezolvarea lui si ma poate corecta daca am gresit si considera ca puteam sa ii prezint o varianta mai usoara.

Pentru inceput, va trebui sa faci o functie care sa verifice daca numele jucatorului este GamerulFOX.

Prin urmare:

forward EstiGamerulFOX(playerid);
public EstiGamerulFOX(playerid) {
	return 1;
}

In interiorul ei va trebui sa te folosesti de functia strcmp. Ce face aceasta functie? Compara 2 string-uri pentru a verifica daca ele sunt la fel.
Pentru a ne folosi de functia strcmp va trebui sa ne folosim si de if.

Prin urmare, linia de cod va arata in felul urmator:

if(strcmp(GetName(playerid), "GamerulFOX", true) == 0)

Observ ca te duce putin mintea in ceea ce tine de pawn, asa ca te voi lasa pe tine sa faci aceasta functie, apoi, peste tot pe unde vei dorii sa verifici daca jucatorul are numele tau, va trebui sa folosesti doar EstiGamerulFOX(playerid) in interiorul unui if.

Daca nu vei reusi sa creezi functia sau pur si simplu nu vrei sa faci o functie care sa verifice daca numele jucatorului este GamerulFOX, atunci te poti folosi doar de linia de cod de mai sus, adica:

if(strcmp(GetName(playerid), "GamerulFOX", true) == 0)

Daca ai nelamuriri, ma poti contacta pe discord sau imi poti scrie aici si voi raspunde cand voi avea timp.

Discord: S0NNIX#0525

Edited by S0NNIX
Link to comment
Share on other sites

6 minutes ago, S0NNIX said:

Salut, @GamerulFOX!

Pentru inceput iti voi arata o functie usoara pe care sa o folosesti pentru a nu fi nevoit sa definesti de fiecare data o varibila si sa te folosesti de functia GetPlayerName.

stock GetName(playerid) {
	new name[MAX_PLAYER_NAME]; // numarul maxim de caractere pe care il poate avea numele jucatorilor pe SA:MP este de 24 de caractere, deci te poti folosi si de MAX_PLAYER_NAME
  	GetPlayerName(playerid, name, sizeof(name)); // ia numele jucatorului
	return name; // returneaza numele jucatorului
}

Practic va trebui sa scrii doar GetName(playerid); peste tot pe unde doresti sa aflii numele jucatorului.

Am observat ca tu ai definit o variabila pentru a-ti afla numele, ceea ce nu este corect, acea variabila nu te va ajuta cu absolut nimic.

Acum voi incerca sa iti dau o rezolvare problemei tale, insa voi incerca sa fac de asa maniera incat sa incerci sa gandesti tu, nu sa iti dau codul direct, pentru ca doar asa vei invata.

ATENTIE: Asta e rezolvarea mea, stiu ca sunt si alte rezolvari, dar incerc sa ii prezint una dintre rezolvarile pentru nivelul lui de cunostinte ca sa aiba macar o varianta pentru ceea ce vrea sa faca! Oricine poate veni cu rezolvarea lui si ma poate corecta daca am gresit si considera ca puteam sa ii prezint o varianta mai usoara.

Pentru inceput, va trebui sa faci o functie care sa verifice daca numele jucatorului este GamerulFOX.

Prin urmare:

forward EstiGamerulFOX(playerid);
public EstiGamerulFOX(playerid) {
	return 1;
}

In interiorul ei va trebui sa te folosesti de functia strcmp. Ce face aceasta functie? Compara 2 string-uri pentru a verifica daca ele sunt la fel.
Pentru a ne folosi de functia strcmp va trebui sa ne folosim si de if.

Prin urmare, linia de cod va arata in felul urmator:

if(strcmp(GetName(playerid), "GamerulFOX", true) == 0)

Observ ca te duce putin mintea in ceea ce tine de pawn, asa ca te voi lasa pe tine sa faci aceasta functie, apoi, peste tot pe unde vei dorii sa verifici daca jucatorul are numele tau, va trebui sa folosesti doar EstiGamerulFOX(playerid) in interiorul unui if.

Daca nu vei reusi sa creezi functia sau pur si simplu nu vrei sa faci o functie care sa verifice daca numele jucatorului este GamerulFOX, atunci te poti folosi doar de linia de cod de mai sus, adica:

if(strcmp(GetName(playerid), "GamerulFOX", true) == 0)

Daca ai nelamuriri, ma poti contacta pe discord sau imi poti scrie aici si voi raspunde cand voi avea timp.

Discord: S0NNIX#0525

mersi ! Ai explicat bine ! Sunt la inceput cu pawn dar cred ca fac progrese ! :)

  • Like 1
Link to comment
Share on other sites

6 hours ago, S0NNIX said:

Salut, @GamerulFOX!

Pentru inceput iti voi arata o functie usoara pe care sa o folosesti pentru a nu fi nevoit sa definesti de fiecare data o varibila si sa te folosesti de functia GetPlayerName.

stock GetName(playerid) {
	new name[MAX_PLAYER_NAME]; // numarul maxim de caractere pe care il poate avea numele jucatorilor pe SA:MP este de 24 de caractere, deci te poti folosi si de MAX_PLAYER_NAME
  	GetPlayerName(playerid, name, sizeof(name)); // ia numele jucatorului
	return name; // returneaza numele jucatorului
}

Practic va trebui sa scrii doar GetName(playerid); peste tot pe unde doresti sa aflii numele jucatorului.

Am observat ca tu ai definit o variabila pentru a-ti afla numele, ceea ce nu este corect, acea variabila nu te va ajuta cu absolut nimic.

Acum voi incerca sa iti dau o rezolvare problemei tale, insa voi incerca sa fac de asa maniera incat sa incerci sa gandesti tu, nu sa iti dau codul direct, pentru ca doar asa vei invata.

ATENTIE: Asta e rezolvarea mea, stiu ca sunt si alte rezolvari, dar incerc sa ii prezint una dintre rezolvarile pentru nivelul lui de cunostinte ca sa aiba macar o varianta pentru ceea ce vrea sa faca! Oricine poate veni cu rezolvarea lui si ma poate corecta daca am gresit si considera ca puteam sa ii prezint o varianta mai usoara.

Pentru inceput, va trebui sa faci o functie care sa verifice daca numele jucatorului este GamerulFOX.

Prin urmare:

forward EstiGamerulFOX(playerid);
public EstiGamerulFOX(playerid) {
	return 1;
}

In interiorul ei va trebui sa te folosesti de functia strcmp. Ce face aceasta functie? Compara 2 string-uri pentru a verifica daca ele sunt la fel.
Pentru a ne folosi de functia strcmp va trebui sa ne folosim si de if.

Prin urmare, linia de cod va arata in felul urmator:

if(strcmp(GetName(playerid), "GamerulFOX", true) == 0)

Observ ca te duce putin mintea in ceea ce tine de pawn, asa ca te voi lasa pe tine sa faci aceasta functie, apoi, peste tot pe unde vei dorii sa verifici daca jucatorul are numele tau, va trebui sa folosesti doar EstiGamerulFOX(playerid) in interiorul unui if.

Daca nu vei reusi sa creezi functia sau pur si simplu nu vrei sa faci o functie care sa verifice daca numele jucatorului este GamerulFOX, atunci te poti folosi doar de linia de cod de mai sus, adica:

if(strcmp(GetName(playerid), "GamerulFOX", true) == 0)

Daca ai nelamuriri, ma poti contacta pe discord sau imi poti scrie aici si voi raspunde cand voi avea timp.

Discord: S0NNIX#0525

dar crezi ca ai putea sa ma ajuti mai mult ? Ca tot nu dau de cap ! Daca poti direct ce trebuie sa scriu acolo !

Link to comment
Share on other sites

1 hour ago, GamerulFOX said:

dar crezi ca ai putea sa ma ajuti mai mult ? Ca tot nu dau de cap ! Daca poti direct ce trebuie sa scriu acolo !

Da-mi add pe discord si vorbim de luni in colo pentru ca nu am timp momentan.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.