Jump to content

[REZOLVAT]Intrebare sistem telefoane


Jakewow
 Share

Recommended Posts

Salut, deci vreau sa fac un sistem de telefoane, am facut /sms /call

Intrebarea mea e:

Cum ii pot crea userului un numar de telefon cand da comanda /buyphoneandcredit ?

Eu am facut ceva cu random, doar ca daca se intampla sa creeze 2 numere identice la 2 playeri diferiti?

Vreau sa imi dati doar o verificare in care sv verifica daca numarul creat exista deja in db, daca exista sa creeze inca o data.

Aveti aici comanda mea https://pastebin.com/SceMPcrg .

Link to comment
Share on other sites

  • Retired

Ai putea face ceva simplu la ce iti da random sa adaugi id-ul playerului din DB deoarece ala e unic si nu va fi posibil sa fie la fel.

adica sunt sanse mult mai mici sa fie identic

Edited by Nurdock
Link to comment
Share on other sites

  • Administrator

@@iulik

@@IbrahimovicEMBLEMA

@

 

Sunteti total pe dinafara, mai bine nu lasati reply.

 

 

Poti face ceva si mai simplu, te poti folosii de SQLID-ul unui jucator pentru ai genera un numar de telefon unic.

 

Ti-am facut un mic tutorial care sper sa te ajute:

#define 	getPlayerSQLID(%0)		PlayerInfo[%0][pSQLID] // definim un shortcut pentru a fi mai usor de citit

stock generatePlayerPhoneNumber(playerid) { // creem stock-ul care genereaza un numar unic cu ajutorul SQLID-ul jucatorului
	new numarGenerat; // declaram o variabila de tip int(iger)
	numarGenerat = getPlayerSQLID(playerid) + random(9999); // dam variabilei inainte declarate o valoare, in cazul notru SQLID-ul jucatorului + random un numar.
	return numarGenerat; // returnam numarul generat
}

YCMD:buyphoneandcredit(playerid, params[], help) {
    if(PlayerInfo[playerid][pPhone] != 0) return SCM(playerid, -1, "Ai deja un telefon.");
    if(PlayerInfo[playerid][pCredit] > 1000) return SCM(playerid, -1, "Credit maxim ~1000.");

    #pragma unused params // ignoram parametrul "params[]"
    #pragma unused help // ignoram parametrul "help"

    PlayerInfo[playerid][pPhone] = ++;
    Update(playerid, pPhonex);
    
    PlayerInfo[playerid][pCredit] += 100;
    Update(playerid, pCreditx);

    PlayerInfo[playerid][pNumber] = generatePlayerPhoneNumber(playerid); // ne folosim de stock-ul creat mai sus pentru a genera un numar de telefon unic
    Update(playerid, pNumberx);

    SCMEx(playerid, -1, "You have purchased a cell phone and 100 credits! Your number is %d.", PlayerInfo[playerid][pNumber]);   
    return 1;
}
Link to comment
Share on other sites

  • Retired

 

@@iulik

@@IbrahimovicEMBLEMA

@

 

Sunteti total pe dinafara, mai bine nu lasati reply.

 

 

Poti face ceva si mai simplu, te poti folosii de SQLID-ul unui jucator pentru ai genera un numar de telefon unic.

 

Ti-am facut un mic tutorial care sper sa te ajute:

#define 	getPlayerSQLID(%0)		PlayerInfo[%0][pSQLID] // definim un shortcut pentru a fi mai usor de citit

stock generatePlayerPhoneNumber(playerid) { // creem stock-ul care genereaza un numar unic cu ajutorul SQLID-ul jucatorului
	new numarGenerat; // declaram o variabila de tip int(iger)
	numarGenerat = getPlayerSQLID(playerid) + random(9999); // dam variabilei inainte declarate o valoare, in cazul notru SQLID-ul jucatorului + random un numar.
	return numarGenerat; // returnam numarul generat
}

YCMD:buyphoneandcredit(playerid, params[], help) {
    if(PlayerInfo[playerid][pPhone] != 0) return SCM(playerid, -1, "Ai deja un telefon.");
    if(PlayerInfo[playerid][pCredit] > 1000) return SCM(playerid, -1, "Credit maxim ~1000.");

    #pragma unused params // ignoram parametrul "params[]"
    #pragma unused help // ignoram parametrul "help"

    PlayerInfo[playerid][pPhone] = ++;
    Update(playerid, pPhonex);
    
    PlayerInfo[playerid][pCredit] += 100;
    Update(playerid, pCreditx);

    PlayerInfo[playerid][pNumber] = generatePlayerPhoneNumber(playerid); // ne folosim de stock-ul creat mai sus pentru a genera un numar de telefon unic
    Update(playerid, pNumberx);

    SCMEx(playerid, -1, "You have purchased a cell phone and 100 credits! Your number is %d.", PlayerInfo[playerid][pNumber]);   
    return 1;
}

bine elevule, dar pt ce faci functie pentru o singura comanda

sincer nu m-am gandit ca numarul s-ar putea repeta pisoi =))

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

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