Skocz do zawartości
konradowski02

Prosta komenda z użyciem if(GetPlayerMoney(playerid)

Rekomendowane odpowiedzi

Witam, dzisiaj zrobimy prostą komendę z użyciem if(GetPlayerMoney(playerid) no to zaczynamy!

 

na górze mapy:

 #include <a_samp>

potrzebne definicje:

#define COLOR_GREEN 0x33AA33FF
#define COLOR_RED 0xAA3333AA

jeżeli już to mamy to szukamy to szukamy

 

public OnPlayerCommandText(playerid, cmdtext[])

{
    return 1;
}
 
i piszemy tam

if (strcmp("/kamizelka", cmdtext, true, 10) == 0)
{
     if(GetPlayerMoney(playerid)) >= 5000) // dzięki tej funkcji gracz musi mieć 5000$ aby kupić kamizelke
    {
 
jeżeli mamy już Początek komendy i funkcje która sprawdza czy gracz posiada 5000$ to teraz piszemy pod if(GetPlayerMoney(playerid)) >= 5000)
{

    SetPlayerArmour(playerid,100); // funkcja daje graczowi kamizelke
    SendClientMessage(playerid,0x33AA33FF,"Kupiłeś kamizelke (5000$) :)"); // wysyła graczowi wiadomość
    GivePlayerMoney(playerid,-5000); // funkcja daje graczowi pieniądze w tym przypadku -5000$
lecimy dalej, teraz musimy wysłać graczowi wiadomość że nie posiada tyle i tyle pięniedzy... więc piszemy tak:
pod GivePlayerMoney(playerid,-5000); piszemy:
       }
       else // jeżeli nie ma tyle pieniedzy to:
       {
           SendClientMessage(playerid,0xAA3333AA,"Nie posiadasz tyle kasy na życie!(5000$)"); // wysyłamy wiadomość graczowi że nie posiada tyle pieniedzy
       }
 return 1;
 }
teraz połączymy całą komende:
if (strcmp("/100hp", cmdtext, true, 10) == 0)
{
   if(GetPlayerMoney(playerid)) >= 10000)
   {
SetPlayerHealth(playerid,100);
SendClientMessage(playerid,0x33AA33FF,"Kupiłeś kamizelke (5000$) :)");
GivePlayerMoney(playerid,-10000);
}
else
{
SendClientMessage(playerid,0xAA3333AA,"Nie posiadasz tyle kasy na życie!(5000$)");
}
return 1;
}
i to wszystko  :D 
Edytowane przez konradowski02

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Łap like za chęci aczkolwiek użyłbym tutaj zcmd.

#include <a_samp>
#include <zcmd>
 
CMD:kamizelka(playerid)
{
if(!GetPlayerMoney(playerid) >= 5000) return SendClientMessage(playerid, -1, "{FF0000}Nie masz wystarczającej kwoty");
SetPlayerArmour(playerid,100);
return 1;
}
Edytowane przez FullGaming.pl

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Witam, dzisiaj zrobimy prostą komendę z użyciem if(GetPlayerMoney(playerid) no to zaczynamy!

 

 

Jak już to komendęz użyciem funkcji GetPlayerMoney(playerid). A jeśli już chcesz używać tego w warunku to dodaj jeszcze jeden nawias na końcu(zamykaj nawiasy, bo przeciąg)

if(GetPlayerMoney(playerid))
if (strcmp("/kamizelka", cmdtext, true, 10) == 0)

To nie jest "początek komendy". Jest to funkcja wywołująca komendę o podanej nazwie oraz o podanych argumentach. Jeśli używasz jakichś argumentów w funkcji to je opisz. Co oznacza 10, co oznacz == 0. Ludzie czytający poradnik chcieli by pewnie wiedzieć coś więcej.

 

SendClientMessage(playerid,0xAA3333AA,"Nie posiadasz tyle kasy na życie!(10000$)");

 

Wcześniej deklarowałeś się, że będzie to 5000$. Wiem, że to tylko komunikat ale bądźmy konsekwentni w tym co piszemy. 

 

Z każdego nawet marnego poradnika da się wyprowadzić fajny tekst. Popraw jeszcze tagi w poście, bo fatalnie to wygląda.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Prosta sprawa, kilka małych błędów i w dodatku te kolory. :blink:

 

Według mnie nie zasługuje to na dodanie do działu poradników, ale to tylko moja opinia.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×