Szerző Téma: [ Leírás ]A Checkpointokról és a Race Checkpointokról  (Megtekintve 5747 alkalommal)

[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Dátum: 2010. november 03. - 15:26:47 »
+4 Show voters
A Checkpointokról és a Race Checkpointokról
 
Üdv!Nos errõl még nem láttam leírást,ezért gondoltam készítek egyet,mint a címbõl kiderül,a checkpointokról lesz szó,vagyis az ellenörzõpontokról.A függvényekrõl forrásként a SA:MP wikit használtam fel,a fügvény és eljárásnevekhez linkeket kötöttem,mind a wikire mutatnak.
1,Mi is az a checkpoint?
A checkpoint magyarul ellenörzõpont,egy kis piros kör,egyszemélyes játékmódban ez jelöli a küldetések helyét,a verseny (race) ellenörzõpontokkal meg versenyeken találkozhatunk.
Mi is létrehozhatunk ilyet,ez egy hasznos dolog.
2,Korlátozások
Természetesen vannak.Egyszerre csak 1 ellenörzõpontot és 1 verseny ellenörzõpontot hozhatsz létre.
3,Függvények és eljárások
Függvények:
DisablePlayerCheckpoint: Eltünteti az ellenörzõpontot egy játékosnak.
Paraméterek:
(playerid)

 
playerid    A játékos azonosítõ akinek eltüntetjük az ellenörzõpontot.
Visszatérés   Ez a funkció nem ad vissza értéket.
IsPlayerInCheckpoint: Megnézzük, hogy a játékos az ellenörzõpontban van-e.
Paraméterek:
(playerid)

 
playerid    A játékos azonosítõ akit vizsgálunk.
Visszatérés   Igaz (true) ha benne áll,hamis (false) ha nem.
SetPlayerRaceCheckpoint: Létrehozunk egy verseny ellenörzõpontot egy játékosnak.(Az elõzõ eltünik)
Paraméterek:
 
(playerid, type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size)

 
playerid         A játékos azonosítõ akinek megjelenítjük az ellenörzõpontot.
type              Ellenörzõpont típusa.
                              0-Normális, 1-Célvonal, 2-Semmi(Csak ellenörzõpont,semmi jel sincs rajta), 3-Légi normális, 4-Légi célvonal
Float:x           X-Koordináta
Float:y           Y-Koordináta
Float:z           Y-Koordináta
Float:nextx    X-Koordinátája a következõ ellenörzõpontnak,a nyíl erre fog mutatni.
Float:nexty    Y-Koordinátája a következõ ellenörzõpontnak,a nyíl erre fog mutatni.
Float:nextz    Y-Koordinátája a következõ ellenörzõpontnak,a nyíl erre fog mutatni.
Float:size       A mérete az ellenörzõpontnak.
Visszatérés   Ez a funkció nem ad vissza értéket.
SetPlayerCheckpoint:  Létrehozunk egy ellenörzõpontot egy játékosnak.(Az elõzõ eltünik)
Paraméterek:
 
(playerid,Float:x,Float:y,Float:z,Float:size)

 
playerid         A játékos azonosítõ akinek megjelenítjük az ellenörzõpontot.
Float:x           X-Koordináta
Float:y           Y-Koordináta
Float:z           Y-Koordináta
Float:size       A mérete az ellenörzõpontnak.
Visszatérés   Ez a funkció nem ad vissza értéket.
DisablePlayerRaceCheckpoint: Eltüntetjük a verseny ellenörzõpontot a játékosnak.
Paraméterek:
 
(playerid)

 
playerid         A játékos azonosító akinek eltüntetjük a verseny ellenörzõpontot.
Visszatérés   Ez a funkció nem ad vissza értéket.
IsPlayerInRaceCheckpoint: Megnézzük, hogy a játékos a verseny ellenörzõpontban van-e.
Paraméterek:
(playerid)

 
playerid    A játékos azonosító akit vizsgálunk.
Visszatérés   Igaz (true) ha benne áll,hamis (false) ha nem.
Eljárások:
OnPlayerEnterCheckpoint: Meghívódik amikor a játékos belép az ellenörzõpontba.
Paraméterek:
 
(playerid)

 
playerid         A játékos azonosító aki belép az ellenörzõpontba.
Visszatérés   Ez a funkció nem kezeli a visszatérési értékeket.
OnPlayerLeaveCheckpoint: Meghívódik amikor a játékos elhaggya az ellenörzõpontot.
Paraméterek:
 
(playerid)

 
playerid         A játékos azonosító aki elhaggya az ellenörzõpontot.
Visszatérés   Ez a funkció nem kezeli a visszatérési értékeket.
OnPlayerEnterRaceCheckpoint: Meghívódik amikor a játékos belép a verseny ellenörzõpontba.
Paraméterek:
 
(playerid)

 
playerid         A játékos azonosító aki belép a verseny ellenörzõpontba.
Visszatérés   Ez a funkció nem kezeli a visszatérési értékeket.
OnPlayerLeaveRaceCheckpoint: Meghívódik amikor a játékos elhaggya a verseny ellenörzõpontot.
Paraméterek:
 
(playerid)

 
playerid         A játékos azonosító aki elhaggya a verseny ellenörzõpontot.
Visszatérés   Ez a funkció nem kezeli a visszatérési értékeket.
4,Felhasználás
Nos,ezeket a fügvényeket nyugottan használhatjuk pl. parancsban,vagy eljárásokban feltételekhez kötve,könnyedén versenyeket készíthetünk.
Akár fegyvert vagy jármûvet adhatunk a játékosnak aki belép a checkpointba,vagy esetleg amíg a checkpointban van addig használhat egy fegyvert.Ezek nagyon hasznos dolgok.
Írok pár mintapéldát a wikirõl,de megmagyarázom õket:
 

public OnPlayerSpawn(playerid)//Amikor a játékos spawnol,
{
    SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0);//Megjelenítünk neki egy ellenörzõpontot.
    return 1;
}
public OnPlayerEnterCheckpoint(playerid) //Amikor a játékos belép az ellenörzõpontba,
{
    GivePlayerMoney(playerid, 10000);//Pénzt adunk neki
    DisablePlayerCheckpoint(playerid);//És eltüntetjük az ellenörzõpontot.
    return 1;
}

 
Hogyan hozzunk létre más tulajdonsággal rendelkezõ ellenörzõpontokat?
Mi sem egyszerübb!
Elõször is hozzunk létre egy új változót,
 
new gPlayerCPStatus[MAX_PLAYERS];

 
amikor egy játékos csatlakozik lenullázuk neki a változót,
 
public OnPlayerConnect(playerid)
{
    gPlayerCPStatus[playerid] = 0;
    return 1;
}

 
parancsokban megszabjuk a változó értékét,s így az ellenörzõpont tulajdonságait,
 

    if(!strcmp(cmdtext, \"/fegyocp\", true))
    {
        SendClientMessage(playerid, 0xFFFFFFFF, \"Fegyvert fogsz kapni!\");
        SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0);
        gPlayerCPStatus[playerid] = 1;
        return 1;
    }
    if(!strcmp(cmdtext, \"/mocicp\", true))
    {
        SendClientMessage(playerid, 0xFFFFFFFF, \"Motort fogsz kapni!\");
        SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0);
        gPlayerCPStatus[playerid] = 2;
        return 1;
    }

 
aztán amikor a játékos belép az ellenörzõpontba,
 

public OnPlayerEnterCheckpoint(playerid)
{
    switch(gPlayerCPStatus[playerid]) //Létrehozunk egy elágazást,
    {
        case 0: return 1; //Ha nem írt be parancsot,nem csinálunk semmit.
        case 1: GivePlayerWeapon(playerid, 26, 500); //Ha a változó értéke 1,akkor fegyvert kap a játékos,
        case 2: CreateVehicle(586, 1982.6150, -221.0145, -0.2432, 82.2873, -1, -1, 60000); //Ha a változó értéke 2,akkor mocit adunk neki.
    }
    DisablePlayerCheckpoint(playerid);//Eltüntetjük neki az ellenörzõpontot.
    gPlayerCPStatus[playerid] = 0;//Nullára állítjuk a változó értékét.
    return 1;
}

 
5,Utószó
Nos,remélem mindent jól írtam le,valamelyik példát itt írtam a fórumban,nem tudom nem néztem-e el valamit.
Ha észrevesztek valamit írjatok,különben várom az észrevételeket,kritikákat,esetleg ha kihagytam valamit szóljatok.
« Utoljára szerkesztve: 2011. január 15. - 17:32:02 írta ChuckNorris »

Nem elérhető KDDomi

  • 976
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #1 Dátum: 2010. november 03. - 15:31:07 »
0 Show voters
Jo leirás Grat!

Nem elérhető nyE

  • 1745
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #2 Dátum: 2010. november 03. - 15:32:34 »
0 Show voters
Gyönyörûûûû :D :D
Minyá írok egy verseny scriptet xD

[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #3 Dátum: 2010. november 03. - 16:33:54 »
0 Show voters
Kösz mindenkinek.
Nem tudom ez a leírás önmagában elég-e verseny script készítéséhez. :D

[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #4 Dátum: 2010. november 03. - 18:46:04 »
0 Show voters
Szép leírás ,ahogy a nagy könyvben meg van írva. :D Sokat segítettél,köszi.

Nem elérhető hpeter94

  • 1450
  • Fórum fenntartó
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #5 Dátum: 2010. november 03. - 20:37:56 »
0 Show voters
szép leírás

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #6 Dátum: 2010. november 03. - 21:52:19 »
0 Show voters
  • függvény*


  • egy kis piros kör[/quote] nem feltétlen pici.


  • new gPlayerCPStatus[MAX_PLAYERS];[/quote]
    Manapság már nem igazán kéne ilyen hatalmas tömböket létrehozni (PVar)


Nem elérhető nyE

  • 1745
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #7 Dátum: 2010. november 03. - 22:25:50 »
0 Show voters
Akkor valaki írhatna errõl a pvar-ról meg ezekrõl valami leírást mert nemnagyon vágom. (de lehet h nemcsak én)
sry az offért

[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #8 Dátum: 2010. november 13. - 14:14:32 »
0 Show voters

public OnPlayerEnterCheckpoint(playerid) //Amikor a játékos belép az ellenörzõpontba,
{
    GivePlayerMoney(playerid, 10000);//Fegyvert adunk neki
    DisablePlayerCheckpoint(playerid);//És eltüntetjük az ellenörzõpontot.
    return 1;
}
[/quote]
Nézdcsak meg a fegyvert adunk neki t.
az véletlen nem pénz???:D
Ezen kivül minden kira:D
Szép tut.

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #9 Dátum: 2010. november 13. - 16:40:13 »
0 Show voters
Szép leírás.  ;)
 
Idézetet írta: Antonyo date=1288819550\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"4018\" data-ipsquote-contentclass=\"forums_Topic
Akkor valaki írhatna errõl a pvar-ról meg ezekrõl valami leírást mert nemnagyon vágom. (de lehet h nemcsak én)
sry az offért
 
http://sampforum.hu/index.php?topic=7895.0

Nem elérhető Popec16

  • 1267
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #10 Dátum: 2010. november 13. - 23:31:44 »
0 Show voters
Szép tut! :P

Nem elérhető Coole

  • 159
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #11 Dátum: 2010. december 24. - 10:17:41 »
0 Show voters
Ez most nekem épp jól jön Rendõrös szeromnál bankrob-hoz :) köszi

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #12 Dátum: 2010. december 24. - 10:46:59 »
0 Show voters
Szép tutorial! Itt egy kis hiba:
 
GivePlayerMoney(playerid, 10000);//Fegyvert adunk neki[/quote]
Biztos vagy benne, hogy az fegyver?  ;D

[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #13 Dátum: 2010. december 24. - 10:51:10 »
0 Show voters
Idézetet írta: Iceaac date=1293184019\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"4018\" data-ipsquote-contentclass=\"forums_Topic
Szép tutorial! Itt egy kis hiba:
 
GivePlayerMoney(playerid, 10000);//Fegyvert adunk neki
Biztos vagy benne, hogy az fegyver?  ;D
 
[/quote]
Oh nemár azthittem azt már javítottam.  :D
Egy pill.
És kösz mindenkinek.
E:
Javítva,ez az átka ha a fórumban írod meg a kódot,átláthatatlan.  :D
« Utoljára szerkesztve: 2010. december 24. - 10:53:31 írta ChuckNorris »

Nem elérhető Bazsi

  • 345
    • Profil megtekintése
[ Leírás ]A Checkpointokról és a Race Checkpointokról
« Válasz #14 Dátum: 2011. július 30. - 11:00:58 »
0 Show voters
Hello
Bocs, hogy csak most írok ide, de most jutottam odáig, ahol kell. XD
Na szóval csinálnék egy sorompót, aminél ha beállsz a cp-be, akkor levon pénzt, és kinyitja a sorompót. Ez idáig jó is, csak azt nem tudom, hogy lehet-e olyat csinálni, hogy négy különálló cp legyen és ha valamelyikbe belemész, akkor csak annál vonjon le pénzt és nyissa ki a sorompót. A pénzlevonás és a sorompó kinyitását meg tudom oldani, csak ezzel a cp-vel van problémám :DD

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal