Szerző Téma: Checkpoint és ha ha benne van értékátadás  (Megtekintve 1717 alkalommal)

Checkpoint és ha ha benne van értékátadás
« Dátum: 2011. április 17. - 00:06:49 »
0 Show voters
Sziasztok!!!
A cim mindent elárul.:D
Annyi az egész hogy ha ebbe a checkpointba lépnek:
SetPlayerCheckpoint(playerid, 1898.8331, 2314.3550, 10.8203, 3.0);
akkor kapjon egy értéket a játékos.

Checkpoint és ha ha benne van értékátadás
« Válasz #1 Dátum: 2011. április 17. - 01:37:55 »
0 Show voters

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
Checkpoint és ha ha benne van értékátadás
« Válasz #2 Dátum: 2011. április 17. - 09:47:26 »
0 Show voters
Idézetet írta: Zsolesszka date=1302997075\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7569\" data-ipsquote-contentclass=\"forums_Topic
http://wiki.sa-mp.com/wiki/OnPlayerEnterCheckpoint
 
:D
-OnPlayerEnterCheckpoint

Checkpoint és ha ha benne van értékátadás
« Válasz #3 Dátum: 2011. április 17. - 10:04:19 »
0 Show voters
OnPlayerEnterCheckpoint Hát igen ezzel probálkoztam. OnPlayerEnterCheckpoint mindegyik chekpointnál érvényes lesz a parancs vagy akármi mindt ezzen a példán:
 

public OnPlayerSpawn(playerid)// játékos le spannolása
{
    SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0); chekpoint lerakás
    return 1;
}
public OnPlayerEnterCheckpoint(playerid) ha a játékos a Checkpointba van akkor ez fog történi (összes chekpoint)
{
    CreateVehicle(520, 1982.6150, -221.0145, -0.2432, 82.2873, -1, -1, 60000);//kocsi lerakás
    DisablePlayerCheckpoint(playerid);// Checkpoint eltüntetése
    return 1;
}

 
eddig rendben értem
de amikor azt akkrom hogy minden Checkpoint mást csináljon azt hogy??:D
« Utoljára szerkesztve: 2011. április 17. - 10:06:17 írta kriszrap »

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
Checkpoint és ha ha benne van értékátadás
« Válasz #4 Dátum: 2011. április 17. - 10:07:38 »
0 Show voters
Az már kicsit összetettebb, de ha jól emlékszem már írtak róla leírást, próbáld megkeresni, ha nincs, akkor szólj, és írok majd róla leírást.  ;)

Checkpoint és ha ha benne van értékátadás
« Válasz #5 Dátum: 2011. április 17. - 10:25:05 »
0 Show voters
hát nem találtam:)

Nem elérhető Buba

  • 540
    • Profil megtekintése
Checkpoint és ha ha benne van értékátadás
« Válasz #6 Dátum: 2011. április 17. - 10:26:13 »
0 Show voters
#include <a_samp>
#include <zcmd>
#define cp 0
new gPlayerCheckpointStatus[MAX_PLAYERS];
CMD:cp1(playerid,params[])
{
SetPlayerCheckpoint(playerid,-210.4612,987.3130,19.1967,5.0); // Ez a CP
return 1;
}
 
public OnPlayerEnterCheckpoint(playerid)
{
switch(gPlayerCheckpointStatus[playerid]) {
case cp: {
SendClientMessage(playerid,0x00CC00AA,\"Felvettél egy checkpointot!\");
}
   }
return 1;
}

 
Lehet hogy nem mûködik, teszteld le!

Checkpoint és ha ha benne van értékátadás
« Válasz #7 Dátum: 2011. április 17. - 13:12:16 »
0 Show voters
Idézetet írta: Buba date=1303028773\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7569\" data-ipsquote-contentclass=\"forums_Topic

#include <a_samp>
#include <zcmd>
#define cp 0
new gPlayerCheckpointStatus[MAX_PLAYERS];
CMD:cp1(playerid,params[])
{
SetPlayerCheckpoint(playerid,-210.4612,987.3130,19.1967,5.0); // Ez a CP
return 1;
}
 
public OnPlayerEnterCheckpoint(playerid)
{
switch(gPlayerCheckpointStatus[playerid]) {
case cp: {
SendClientMessage(playerid,0x00CC00AA,\"Felvettél egy checkpointot!\");
}
   }
return 1;
}

 
Lehet hogy nem mûködik, teszteld le!
 
Majdnem...
A történet ott kezdõdik hogy létre kell hozni egy adattömböt a checkpointokkal.
Akkor minden egyes létrehozott adat sor kap egy index számot.
Ezen index szám alapján tudod meghatározni hogy épp melyik cp aktív az adott játékosnak, mivel tudjuk hogy egy Checkpointot lehet csak megjeleníteni egy játékosnak egyszerre (leszámítva a mapicon cp-t 0.3c óta).
Mikor létrehozod a játékosnak a cpt akkor eltárolod az adott cp index számát is a játékosnak, ismétlem minden egyes alkalommal mikor létrehozod, akkor kell tárolni az adott cp index számát.
Majd ezt a tárolt adatot hívod meg OnPlayerEnterCheckpoint-nál.

Checkpoint és ha ha benne van értékátadás
« Válasz #8 Dátum: 2011. április 18. - 15:10:00 »
0 Show voters
akkor hogy jó??:) kóddal szeetném kérni ha szabad:)??

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
Checkpoint és ha ha benne van értékátadás
« Válasz #9 Dátum: 2011. április 18. - 15:44:36 »
0 Show voters
Tessék,
 

CMD:cp1(playerid,params[])
{
   SetPlayerCheckpoint(playerid,-210.4612,987.3130,19.1967,5.0); // Ez a CP
   SetPVarInt(playerid, \"CP\", 1 );
   return 1;
}
CMD:cp2(playerid,params[])
{
   SetPlayerCheckpoint(playerid,-210.4612,987.3130,19.1967,5.0); // Ez a 2 CP
   SetPVarInt(playerid, \"CP\", 2 );
   return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
    if(GetPVarInt(playerid, \"CP\") == 1 )
    {
        SendClientMessage(playerid,0x00CC00AA,\"Felvetted a checkpointot!\");
        SetPVarInt(playerid, \"CP\", 0 );
    }
    if(GetPVarInt(playerid, \"CP\") == 2 )
    {
        SendClientMessage(playerid,0x00CC00AA,\"Felvetted a 2 checkpointot!\");
        SetPVarInt(playerid, \"CP\", 0 );
    }
    return 1;
}

Checkpoint és ha ha benne van értékátadás
« Válasz #10 Dátum: 2011. április 18. - 20:44:13 »
0 Show voters
óó sikerült már csak annyi hogy tom eltüntetni a cp-t??:D

Checkpoint és ha ha benne van értékátadás
« Válasz #11 Dátum: 2011. április 18. - 20:52:24 »
0 Show voters

Checkpoint és ha ha benne van értékátadás
« Válasz #12 Dátum: 2011. április 18. - 20:59:41 »
0 Show voters
de azzal az összes cp eltüntetem!!!
ja meg
SetPVarInt(playerid, \"CP\", 1);
hogy tudom le nulázni szerver kapcsolodásnál??:)

Checkpoint és ha ha benne van értékátadás
« Válasz #13 Dátum: 2011. április 18. - 21:21:42 »
0 Show voters
Idézetet írta: kriszrap date=1303153181\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"7569\" data-ipsquote-contentclass=\"forums_Topic
de azzal az összes cp eltüntetem!!!
ja meg
SetPVarInt(playerid, \"CP\", 1);
hogy tudom le nulázni szerver kapcsolodásnál??:)
 
What?
Hogy hogy az összes cpt?
Mikor csak egyet jelenít meg.
Ja meg
 

public OnPlayerConnect(playerid)
{
    SetPVarInt(playerid, \"CP\", 0);
}

 
De minden játékos kilépésnél törlõdik a PVar adat, és minden PVar alap értéke nulla, ha nincs létrehozva.
( Gondolom lekérdezés hát vazze nincs is ilyen néven PerPlayerVariable nesze return 0; )
Emiatt OnPlayerConnectnél felesleges 0-ra állítani, inkább -1 re szokás ott állítani, mert lehet szükség van a nulla értékre is.

Checkpoint és ha ha benne van értékátadás
« Válasz #14 Dátum: 2011. április 18. - 21:31:56 »
0 Show voters
Köszönöm sikerült:)
De  nem zárok lehet hogy felléphet hiba azt nem akarok majd új topikot nyitni:)
« Utoljára szerkesztve: 2011. április 20. - 21:40:27 írta kriszrap »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal