Jump to content
  • 0

ajutor la o comanda


marianpro2020

Question

CMD:getbonus(playerid, params[])  { 
if(PlayerInfo[playerid][pLevel] > 1) return SCM(playerid, -1, "{FF0000}EROARE :{FF69B4}Aceasta comanda poate fi folosita doar de playerii noi cu level 1 si desigur o singura data.");
ShowPlayerDialogEx(playerid, DIALOG_BONUSA, DIALOG_STYLE_LIST, "{FFFFFF}BONUS MENU", "{FFFFFF}Level 3+5kk\n Level 3+25pp", "Select", "Exit");
return 1;
}
               
si
 
case DIALOG_BONUSA: {
            if(!response) return true;
        switch(listitem) {
            case 0: {
            ShowPlayerDialogEx(playerid, DIALOG_BONUSB, DIALOG_STYLE_MSGBOX, "Bonus Selected", "Ai selectat sa primesti level 3 si 5kk", "Exit", "");
            GivePlayerCash(playerid, 5000000);
                PlayerInfo[playerid][pLevel] = 3;
                SCM(playerid, COLOR_GREEN, "Ai primit level 3 si 5kk !");
            }
                case 1: {
                ShowPlayerDialogEx(playerid, DIALOG_BONUSC, DIALOG_STYLE_MSGBOX, "Bonus Selected", "Ai selectat sa primesti level 3 si 25pp", "Exit", "");
                    PlayerInfo[playerid] [pLevel] = 3 ;
                PlayerInfo[playerid] [pPremiumPoints] = 25 ;
                SCM(playerid, COLOR_GREEN2, "Ai primit level 3 si 25pp !");
          }                                            
      }
  } //
 
cum fac sa se salveze level-ul (level 3) respectiv punctele premium (25pp) in baza de date 
Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0
2 hours ago, marianpro2020 said:
CMD:getbonus(playerid, params[])  { 
if(PlayerInfo[playerid][pLevel] > 1) return SCM(playerid, -1, "{FF0000}EROARE :{FF69B4}Aceasta comanda poate fi folosita doar de playerii noi cu level 1 si desigur o singura data.");
ShowPlayerDialogEx(playerid, DIALOG_BONUSA, DIALOG_STYLE_LIST, "{FFFFFF}BONUS MENU", "{FFFFFF}Level 3+5kk\n Level 3+25pp", "Select", "Exit");
return 1;
}
               
si
 
case DIALOG_BONUSA: {
            if(!response) return true;
        switch(listitem) {
            case 0: {
            ShowPlayerDialogEx(playerid, DIALOG_BONUSB, DIALOG_STYLE_MSGBOX, "Bonus Selected", "Ai selectat sa primesti level 3 si 5kk", "Exit", "");
            GivePlayerCash(playerid, 5000000);
                PlayerInfo[playerid][pLevel] = 3;
                SCM(playerid, COLOR_GREEN, "Ai primit level 3 si 5kk !");
            }
                case 1: {
                ShowPlayerDialogEx(playerid, DIALOG_BONUSC, DIALOG_STYLE_MSGBOX, "Bonus Selected", "Ai selectat sa primesti level 3 si 25pp", "Exit", "");
                    PlayerInfo[playerid] [pLevel] = 3 ;
                PlayerInfo[playerid] [pPremiumPoints] = 25 ;
                SCM(playerid, COLOR_GREEN2, "Ai primit level 3 si 25pp !");
          }                                            
      }
  } //
 
cum fac sa se salveze level-ul (level 3) respectiv punctele premium (25pp) in baza de date 

Salutare!

 

Rezolvare:

1: Mai simplu)

Tutorial:

 9EUtVgk.gif

Daca folosesti un gamemode RPG, in majoritatea cazurilor gamemode-urilor luate de pe internet sau celor mai vechi poti folosi functia:
 

Update(playerid, pLevelx);
Update(playerid, pPremiumPointsx);

// Adaugi dupa: PlayerInfo[playerid][pLevel] = 3;

(?) Primesti errori?

Folosind CTRL + F (Find) cauta :

  • forward Update // Daca nu exista cauta la cea de mai jos
  • function Update // Daca nu exista cauta la cea de mai jos
  • public Update // Daca nu exista treci la rezolvarea cu nr. 2.

* Exista? Verifica paramterii functiei: 

Acestia trebuie sa fie doi, in majoritatea cazurilor Update(playerid, type) sau ceva de acest gen, daca sunt mai multii, da reply la acest comentariu cu functia.

 

* Ai verificat si crezi ca este totul corect in pasul de mai sus?

Verifica daca exista defitinita pLevelx folosind CTRL + F (find) caut-o in gamemode, daca aceasta nu exista incearca sa mai cauti si Levelx, etc.

* Niciun rezultat?

Treci la rezolvarea 2.

 

2: Mai complicat pentru incepatori) 

Tutorial:

96A8Jik.gif

Adauga dupa PlayerInfo[playerid][pLevel]:

new query[128];
mysql_format(SQL, query, sizeof(query), "UPDATE `users` SET `Level`='%d',`PremiumPoints`='%d' WHERE `name`='%s'",PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pPremiumPoints], PlayerInfo[playerid][pNormalName]);
mysql_tquery(SQL, query,"","");

Ai adaugat script-ul?

Daca da, urmareste pasii:

  • Verifica daca gamemode-ul are variabila username-ul a jucatorului definita pNormalName. Daca nu o gasesti folosind CTRL + F (find) cauta pName, pUsername, etc. O sa o gasesti pana la urma. Daca nu este pNormalName du-te inapoi la script-ul de mai jos si inlocuieste pNormalName cu variabila.
  • Intra in baza de date si verifica daca exista in structura bazei de date name, daca este trecut username inlocuieste in script. Cat si despre Level.

La fel si in cazul Premium Points.

 

Atasamenthttps://i.imgur.com/48yk83i.png

 

Ai intampinat probleme?

Lasa un reply acestui mesaj.

 

As aprecia un +1.

Am incercat sa adaptez acest tutorial conform script-ului tau.

 

Sugestie:

Cand setezi punctele premium inloc de PlayerInfo[playerid][pPremiumPoints] = x; foloseste PlayerInfo[playerid][pPremiumPoints] += x;

- Ce face += ?

Ii seteaza jucatorului in plus valoarea definita, spre exemplu daca acesta primeste de la inregistrare 5 puncte premium acesta primeste 30 de puncte premium deoarece se mai adauga 5.

 

Multumesc pentru atentia acordata!

Edited by Yonut
Sugestii, etc.
Link to comment
Share on other sites

  • 0
Acum 13 ore, Yonut a spus:

Salutare!

 

Rezolvare:

1: Mai simplu)

Tutorial:

 9EUtVgk.gif

Daca folosesti un gamemode RPG, in majoritatea cazurilor gamemode-urilor luate de pe internet sau celor mai vechi poti folosi functia:
 


Update(playerid, pLevelx);
Update(playerid, pPremiumPointsx);

// Adaugi dupa: PlayerInfo[playerid][pLevel] = 3;

(?) Primesti errori?

Folosind CTRL + F (Find) cauta :

  • forward Update // Daca nu exista cauta la cea de mai jos
  • function Update // Daca nu exista cauta la cea de mai jos
  • public Update // Daca nu exista treci la rezolvarea cu nr. 2.

* Exista? Verifica paramterii functiei: 

Acestia trebuie sa fie doi, in majoritatea cazurilor Update(playerid, type) sau ceva de acest gen, daca sunt mai multii, da reply la acest comentariu cu functia.

 

* Ai verificat si crezi ca este totul corect in pasul de mai sus?

Verifica daca exista defitinita pLevelx folosind CTRL + F (find) caut-o in gamemode, daca aceasta nu exista incearca sa mai cauti si Levelx, etc.

* Niciun rezultat?

Treci la rezolvarea 2.

 

2: Mai complicat pentru incepatori) 

Tutorial:

96A8Jik.gif

Adauga dupa PlayerInfo[playerid][pLevel]:


new query[128];
mysql_format(SQL, query, sizeof(query), "UPDATE `users` SET `Level`='%d',`PremiumPoints`='%d' WHERE `name`='%s'",PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pPremiumPoints], PlayerInfo[playerid][pNormalName]);
mysql_tquery(SQL, query,"","");

Ai adaugat script-ul?

Daca da, urmareste pasii:

  • Verifica daca gamemode-ul are variabila username-ul a jucatorului definita pNormalName. Daca nu o gasesti folosind CTRL + F (find) cauta pName, pUsername, etc. O sa o gasesti pana la urma. Daca nu este pNormalName du-te inapoi la script-ul de mai jos si inlocuieste pNormalName cu variabila.
  • Intra in baza de date si verifica daca exista in structura bazei de date name, daca este trecut username inlocuieste in script. Cat si despre Level.

La fel si in cazul Premium Points.

 

Atasamenthttps://i.imgur.com/48yk83i.png

 

Ai intampinat probleme?

Lasa un reply acestui mesaj.

 

As aprecia un +1.

Am incercat sa adaptez acest tutorial conform script-ului tau.

 

Sugestie:

Cand setezi punctele premium inloc de PlayerInfo[playerid][pPremiumPoints] = x; foloseste PlayerInfo[playerid][pPremiumPoints] += x;

- Ce face += ?

Ii seteaza jucatorului in plus valoarea definita, spre exemplu daca acesta primeste de la inregistrare 5 puncte premium acesta primeste 30 de puncte premium deoarece se mai adauga 5.

 

Multumesc pentru atentia acordata!

am bagat asta cum ai zis si nu stiu de ce nu se salveaza in baza de date 

new query[128]; mysql_format(SQL, query, sizeof(query), "UPDATE `users` SET `Level`='%d',`PremiumPoints`='%d' WHERE `name`='%s'",PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pPremiumPoints], PlayerInfo[playerid][pNormalName]); mysql_tquery(SQL, query,"","");

 

am toti termenii definiti 

erori nu 

 

si apropo eu lucru pe un gamemode stoners (gamemode rpg) (stoners era serverul lui CheaTer asta era de mult mai pe la inceputul sampului pe telefon)*

nush o sa incerc si cealalta varianta 

poate merge aia

Link to comment
Share on other sites

  • 0
1 hour ago, marianpro2020 said:

si am incercat cu Update... dar vad ca nu e definit nicaieri in gm 

Ok, incearca aceasta varianta atunci.

Daca nu merge verifica daca ai scris mysql_tquery, daca ai scris intra in error log si dami-l daca poti.

Link to comment
Share on other sites

  • 0
19 hours ago, marianpro2020 said:
CMD:getbonus(playerid, params[])  { 
if(PlayerInfo[playerid][pLevel] > 1) return SCM(playerid, -1, "{FF0000}EROARE :{FF69B4}Aceasta comanda poate fi folosita doar de playerii noi cu level 1 si desigur o singura data.");
ShowPlayerDialogEx(playerid, DIALOG_BONUSA, DIALOG_STYLE_LIST, "{FFFFFF}BONUS MENU", "{FFFFFF}Level 3+5kk\n Level 3+25pp", "Select", "Exit");
return 1;
}
               
si
 
case DIALOG_BONUSA: {
            if(!response) return true;
        switch(listitem) {
            case 0: {
            ShowPlayerDialogEx(playerid, DIALOG_BONUSB, DIALOG_STYLE_MSGBOX, "Bonus Selected", "Ai selectat sa primesti level 3 si 5kk", "Exit", "");
            GivePlayerCash(playerid, 5000000);
                PlayerInfo[playerid][pLevel] = 3;
                SCM(playerid, COLOR_GREEN, "Ai primit level 3 si 5kk !");
            }
                case 1: {
                ShowPlayerDialogEx(playerid, DIALOG_BONUSC, DIALOG_STYLE_MSGBOX, "Bonus Selected", "Ai selectat sa primesti level 3 si 25pp", "Exit", "");
                    PlayerInfo[playerid] [pLevel] = 3 ;
                PlayerInfo[playerid] [pPremiumPoints] = 25 ;
                SCM(playerid, COLOR_GREEN2, "Ai primit level 3 si 25pp !");
          }                                            
      }
  } //
 
cum fac sa se salveze level-ul (level 3) respectiv punctele premium (25pp) in baza de date 

adauga   Update(playerid, pCash);    
               Update(playerid, pLevel);

daca nu merge Update(playerid, pCashx);
                          Update(playerid, pLevelx);

Link to comment
Share on other sites

  • 0
Acum 4 ore, Yonut a spus:

Ai compilat gamemode-ul?

Daca da, inloc de mysql_tquery foloseste mysql_query si fara "".

 

Acum 2 ore, nQeed a spus:

adauga   Update(playerid, pCash);    
               Update(playerid, pLevel);

daca nu merge Update(playerid, pCashx);
                          Update(playerid, pLevelx);

sunteti asa de destepti de dati prin gropi, mysql_query e pentru altceva, a folosit bine mysql_tquery, problema e la stocarea numelui sau variabila in baza de date in tabelul respectiv nu exista, data viitoare sa va asigurati ca el are deja anumite lucruri definite, nu toate gm-urile sunt la fel, sau voi va numiti scripteri dupa 3 luni

 

poti pune o varianta de test in urmatorul fel si vei vedea daca functioneaza sau nu

stock getName(playerid)
{
    new name[MAX_PLAYER_NAME] = "Unknown";
    if(IsPlayerConnected(playerid)) GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
}

CMD:test(playerid, params[]) // daca folosesti ZCMD
{
    new string[100];
    mysql_format(SQL, string, sizeof(string), "UPDATE `table` SET `Money` = '%d' WHERE `Name` = '%e'", GetPlayerMoney(playerid), getName(playerid));
    mysql_tquery(SQL, string, "", "");
    return 1;
}

 

Edited by iSkull
Link to comment
Share on other sites

  • 0

Aparent nu se salveaza nici cum in baza de date 

nush ori eu sunt prost ori mysql_format e *futut* scz de limbaj

azi m-am uitat prin gm si am gasit pUpdateInt 

pUpdateInt(playerid, "Level", PlayerInfo[playerid][pLevel]);

pUpdateInt(playerid, "PremiumPoints", PlayerInfo[playerid][pPremiumPoints]

astea le-am pus dupa acele PlayerInfo[playerid][pLevel] = 3 ; //level 3 sau cat era

PlayerInfo[playerid][pPremiumPoints] += 30 ; //parca era 30 pp dar ok =))

 

 

cu asta se salveaza bine

 

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
Answer this question...

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