Jump to content

CheckPoint - ako ho správne spravit


Jáá

Recommended Posts

CP TuT

 

Je to mini Tut . Ukážeme si ako spravit jeden CP napr : pri robení nejakej práce ..

 

 

Include : (Dôležité pre chod celého scriptu)

 

#include 
#include  // zcmd - nemusíte používat . Môžete používat klasický spôsob ..

 

Define : (Definuje veci napr : Farby ,..

 

#define COLOR_WHITE 0xFFFFFFAA // White - biela farba , môžete aj zmenit .

 

New : (a teraz si vytvíme prví CP cez new)

 

new CP[MAX_PLAYERS]; //max player - pre všetkých hráčov , CP -ako náš Checkpoint

 

Ok teraz pôjdeme robit príkaz .

 

COMMAND:work(playerid, params[])//COMMAND - je to vlastne spôsob toho includu čo sme vložili na začiatku (zcmd)
{
CP[playerid] =1; 
SetPlayerCheckpoint(playerid, 1577.3411,1504.8600,10.5608, 4.0); //LV Letisko - 1577.3411,1504.8600,10.5608 - súradnice
SendClientMessage(playerid,COLOR_WHITE,"Bežte doručit náklad"); // Pošle správu pri použití príkazu .
return 1;//ukončíme príkaz
}

 

Ok nemusíme používat práve moje súradnice môžete si ich dat vlastné . Urobíte to príkazom /save kde sa vám uložia suradnice..

 

Tak a prejdeme do public OnPlayerEnterCheckpoint

 

if (CP[playerid] ==1)//id CP
{
DisablePlayerCheckpoint(playerid); // Vymaže všetky ostatné CP
SendClientMessage(playerid,COLOR_WHITE,"Dostávaš 15 000 za prevezenie nákladu "); // A znova zpráva
GivePlayerMoney(playerid, +15000); //givne peniaze 15000
}

 

A teraz zpráva na predčastné ukončenie misie

 

CMD:stopwork(playerid, params[])
{
DisablePlayerCheckpoint(playerid); // Vymaže všetky CP
SendClientMessage(playerid, COLOR_WHITE, "Ztrácaš 1000 za neprevezení náklad");//penále
GivePlayerMoney(playerid, -1000); // Kolko sa odpočíta penazí
return 1;
}

 

Hlavné tagy :

 

SetPlayerCheckpoint // nastaví CP , potrebné su ktomu suradnice

DisablePlayerCheckpoint // zničí všetky VYTVORENé CP

GivePlayerMoney //Dá peniaze

 

Hlásenie primitivných errorov prosím vynechajte je to TuT na použitie a nie na celé okopírovanie

 

A sorry za moju gramatiku :d

Link to comment
Share on other sites

if (CP[playerid] ==1)//id CP

{

DisablePlayerCheckpoint(playerid); // Vymaže všetky ostatné CP

SendClientMessage(playerid,COLOR_WHITE,"Dostávaš 15 000 za prevezenie nákladu "); // A znova zpráva

GivePlayerMoney(playerid, +15000); //givne peniaze 15000

}

Link to comment
Share on other sites

"New : (a teraz si vytvíme prví CP cez new)" - vytváříš proměnnou a ne CP

 

 

"// Vymaže všetky ostatné CP" - CP může být zobrazen pouze 1

 

Chybí ti tam vyresetováí proměnné CP, celkově by se na to spíše hodily PVary, ale to záleží na individuálním rozhodnutí každého z nás, co se mu "líbí" víc.

 

Je v tom mnoho zbytečných informací, stačilo by říct, že CP se vytvoří pomocí funkce SetPlayerCheckPoint/SetPlayerRaceCheckpoint a při vstupu do CP se vyvolá OnPlayerEnterCheckpoint/OnPlayerEnterRaceCheckpoint. Nějáké ty proměnné, podmínky, příkazy a ostatní funkce tam jsou zbytečné.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...