Szerző Téma: Checkpoint ID-k  (Megtekintve 1740 alkalommal)

Checkpoint ID-k
« Dátum: 2015. Február 11. - 09:42:37 »
0 Show voters
Sziasztok!
Régebben mindig pozició alapján döntötem el hogy melyik CP-nél van a karakter, de most kitaláltam rá egy jobb 5letet! Készítettem 2 (+2) függvényt és hozzá eljárásokat amivel egyszerűen ID alapján lehet a CP-ket megkülömböztetni :) Remélem nektek is hasznotokra fog válni főlag akik CP-s munkákat készítenek :)
Spoiler for függvények:
Checkpoint létrehozása:
 
SetPlayerCheckpointEx(playerid, x pozíció, y pozíció, z pozíció, méret, ID);

 
Törlése:
 
DisablePlayerCheckpointEx(playerid);

 
Race checkpoint létrehozása:
 
SetPlayerRaceCheckpointEx(playerid, x pozíció, y pozíció, z pozíció, köv. x poz, köv. y poz, köv. z poz, méret, ID);

 
Törlése:
 
DisablePlayerRaceCheckpointEx(playerid);

 
Spoiler for eljárások:
Munka checkpointal:
 

public OnPlayerEnterCheckpointEx(playerid, checkid)
{
return 1;
}
public OnPlayerLeaveCheckpointEx(playerid, checkid)
{
return 1;
}

 
Munka Race checkpointal:
 

public OnPlayerEnterRaceCheckpointEx(playerid, checkid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpointEx(playerid, checkid)
{
return 1;
}

 
Természetesen a checkid-el lehet \"megkérdezni\" melyik CP-nél van
forráskód:
 

#include <a_samp>
new checkpoint[MAX_PLAYERS];
new checkpointr[MAX_PLAYERS];
forward OnPlayerEnterCheckpointEx(playerid, checkid);
forward OnPlayerLeaveCheckpointEx(playerid, checkid);
forward OnPlayerEnterRaceCheckpointEx(playerid, checkid);
forward OnPlayerLeaveRaceCheckpointEx(playerid, checkid);
 
public OnPlayerEnterCheckpoint(playerid)
{
CallLocalFunction(\"OnPlayerEnterCheckpointEx\", \"ii\", playerid, checkpoint[playerid]);
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
    CallLocalFunction(\"OnPlayerLeaveCheckpointEx\", \"ii\", playerid, checkpoint[playerid]);
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
    CallLocalFunction(\"OnPlayerEnterRaceCheckpointEx\", \"ii\", playerid, checkpointr[playerid]);
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
    CallLocalFunction(\"OnPlayerLeaveRaceCheckpointEx\", \"ii\", playerid, checkpointr[playerid]);
return 1;
}
//Ezek alatt az eljárások alatt dolgozol a CP-vel:
public OnPlayerEnterCheckpointEx(playerid, checkid)
{
return 1;
}
public OnPlayerLeaveCheckpointEx(playerid, checkid)
{
return 1;
}
public OnPlayerEnterRaceCheckpointEx(playerid, checkid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpointEx(playerid, checkid)
{
return 1;
}
//És Ezekkel a funkciókkal állítod be azokat és kapcsolod ki:
stock SetPlayerCheckpointEx(playerid, Float:x, Float:y, Float:z, Float:size, id)
{
checkpoint[playerid] = id;
SetPlayerCheckpoint(playerid, x, y, z, size);
}
stock SetPlayerRaceCheckpointEx(playerid, Float:x, Float:y, Float:z, Float:size, Float:nx, Float:ny, Float:nz, id)
{
checkpointr[playerid] = id;
SetPlayerRaceCheckpoint(playerid, x, y, z, nx, ny, nz, size);
}
stock DisablePlayerCheckpointEx(playerid)
{
checkpoint[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
stock DisablePlayerRaceCheckpointEx(playerid)
{
checkpoint[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
}

 
Használjátok egészséggel!
Letöltés: http://pastebin.com/UrzdcaKS
*nem tudom bárki más publikált volna ilyet, ha igen bocs, nem copy
« Utoljára szerkesztve: 2015. Február 11. - 16:16:20 írta norbinator09 »

Checkpoint ID-k
« Válasz #1 Dátum: 2015. Február 11. - 15:01:25 »
0 Show voters
Gratulálok, jó lett, de nem ide kellett volna nyitnod :D

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Checkpoint ID-k
« Válasz #2 Dátum: 2015. Február 11. - 15:09:31 »
0 Show voters
Egész jó, de:
 
stock DiasblePlayerRaceCheckpointEx(playerid)
{
        checkpoint[playerid] = 0;
        DisablePlayerRaceCheckpoint(playerid);
}

 
Elírtad a nevét :) Ezeket javítsd(többit is).

Checkpoint ID-k
« Válasz #3 Dátum: 2015. Február 11. - 16:18:31 »
0 Show voters

Gratulálok, jó lett, de nem ide kellett volna nyitnod :D
 
[/quote]
kössz, nemtudtam hová nyissam, ez tűnt a legjobb helynek xd
 

Egész jó, de:
 
stock DiasblePlayerRaceCheckpointEx(playerid)
{
        checkpoint[playerid] = 0;
        DisablePlayerRaceCheckpoint(playerid);
}

 
Elírtad a nevét :) Ezeket javítsd(többit is).
 
[/quote]
Kössz, hogy szóltál, javítva!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal