Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Poradnik pawn #2 zcmd - szybszy i prostszy system komend


Rekomendowane odpowiedzi

Opublikowano

Witajcie, dzisiaj pokaże wam jak pisać komendy w zcmd.

 

Coś odemnie

 

Kiedyś, nie mogłem się przekonać do zcmd, ale po napisaniu pierwszej komendy zmieniłem zdanie.

 

Plusy i minusy zcmd

 

+ szybkość

+ łatwe pisanie komend

+ wydajność

 

- brak

 

Link do oryginalnego tematu na oficjalnej stronie sa:mp: http://forum.sa-mp.com/showthread.php?t=91354

 

Skan: strona producenta( jeżeli będzie trzeba to podam )

 

Instalacja

 

Na początku usuwamy public OnPlayerCommandText, nie będzie on nam już potrzebny:)

 


public OnPlayerCommandText(playerid, cmdtext[])
{
return 0;
}

 

Teraz na dole mapy dodajemy dwa nowe callback'i :


public OnPlayerCommandReceived(playerid, cmdtext[])
{
return 1;
}

oraz:


public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
return 1;
}

 

Pierwszy callback OnPlayerCommandReceived odpowiada za to co stanie się przed komendą, a drugi, OnPlayerCommandPerformed co stanie się po komendzie. Instalacje mamy za sobą, zapraszam do opisania użycia zcmd.

 

Użycie zcmd

 

Więc pierwszą komendę piszemy na dole mapki. Możemy to robić na dwa sposoby:


CMD:komenda

lub


COMMAND:komenda

 

Przykładowa komenda doda nam hp za pieniądze(5000$)

 


CMD:zycie(playerid, params[])
{
if(GetPlayerMoney(playerid) < 5000)
return SendClientMessage(playerid, CZERWONY, "Nie masz tyle kasy!");
GivePlayerMoney(playerid, -5000);
SetPlayerHealth(playerid, 100.0);
SendClientMessage(playerid, ZIELONY, "Kupiłeś max hp!");
return 1;
}

 

Można zrobić też komunikat po źle wpisanej komendzie:

 


public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success)
{
SendClientMessage(playerid, CZERWONY, "Nie ma takiej komendy!");
return 1;
}
return 1;
}

 

Teraz blokada wykonywania komend np. w Jailu.

 


public OnPlayerCommandReceived(playerid, cmdtext[])
{
if(GetPVarInt(playerid, "JAIL") == 1)
{
SendClientMessage(playerid, CZERWONY, "Jesteś w więzieniu, nie możesz używać komend!");
return 0;
}
return 1;
}

 

Można również zrobić, że komenda będzie wykonywała taki sam kod jak inna. Skraca to komendę.

 


CMD:zycie2(playerid, params[])
{
return cmd_hp(playerid, params);
}

 

Powyższa komenda odeśle nas do komendy zycie.

 

 

Poradnik stworzony dla MPCForum. Autorem jestem ja, czyli Yamasaki zakaz kopiowania bez mojej zgody.

Pomogłem daj +

  • Rayzer. zmienił(a) tytuł na Poradnik pawn #2 zcmd - szybszy i prostszy system komend

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...