GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: kriszrap - 2011. április 17. - 00:06:49

Cím: Checkpoint és ha ha benne van értékátadás
Írta: kriszrap - 2011. április 17. - 00:06:49
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.
Cím: Checkpoint és ha ha benne van értékátadás
Írta: Zsolesszka - 2011. április 17. - 01:37:55
http://wiki.sa-mp.com/wiki/OnPlayerEnterCheckpoint
Cím: Checkpoint és ha ha benne van értékátadás
Írta: Csabesz - 2011. április 17. - 09:47:26
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
Cím: Checkpoint és ha ha benne van értékátadás
Írta: kriszrap - 2011. április 17. - 10:04:19
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
Cím: Checkpoint és ha ha benne van értékátadás
Írta: Csabesz - 2011. április 17. - 10:07:38
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.  ;)
Cím: Checkpoint és ha ha benne van értékátadás
Írta: kriszrap - 2011. április 17. - 10:25:05
hát nem találtam:)
Cím: Checkpoint és ha ha benne van értékátadás
Írta: Buba - 2011. április 17. - 10:26:13
#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!
Cím: Checkpoint és ha ha benne van értékátadás
Írta: Zsolesszka - 2011. április 17. - 13:12:16
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.
Cím: Checkpoint és ha ha benne van értékátadás
Írta: kriszrap - 2011. április 18. - 15:10:00
akkor hogy jó??:) kóddal szeetném kérni ha szabad:)??
Cím: Checkpoint és ha ha benne van értékátadás
Írta: Csabesz - 2011. április 18. - 15:44:36
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;
}
Cím: Checkpoint és ha ha benne van értékátadás
Írta: kriszrap - 2011. április 18. - 20:44:13
óó sikerült már csak annyi hogy tom eltüntetni a cp-t??:D
Cím: Checkpoint és ha ha benne van értékátadás
Írta: Zsolesszka - 2011. április 18. - 20:52:24
http://wiki.sa-mp.com/wiki/DisablePlayerCheckpoint
Cím: Checkpoint és ha ha benne van értékátadás
Írta: kriszrap - 2011. április 18. - 20:59:41
de azzal az összes cp eltüntetem!!!
ja meg
SetPVarInt(playerid, \"CP\", 1);
hogy tudom le nulázni szerver kapcsolodásnál??:)
Cím: Checkpoint és ha ha benne van értékátadás
Írta: Zsolesszka - 2011. április 18. - 21:21:42
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.
Cím: Checkpoint és ha ha benne van értékátadás
Írta: kriszrap - 2011. április 18. - 21:31:56
Köszönöm sikerült:)
De  nem zárok lehet hogy felléphet hiba azt nem akarok majd új topikot nyitni:)