• 23 Avril 2025, 21:42:44


Auteur Sujet: CheckPoint  (Lu 972 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Paul_Kellerman

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
CheckPoint
« le: 29 Février 2008, 23:52:15 »
Bonjours ,

Voila j'ai suivis le tuto de Urban sur les checkpoint très bien fait ...

comme j'avais dit je ne sais plus ou je développe un mode Prison Break.

Le principe est de faire /obtenir clef allé chercher la clef puis faire /evader pour vous evader ] ces 2 commande ajoutes des checkpoint différents.
Ils ont aussi la possibiliter de faire /obtenir gilet pour avoir un gilet pare balle...

Lors d'un test j'ai taper /obtenir clef j'ai été au checkpoint ensuite je ne suis pas rentré dedans j'ai fait /Evader ce qui met un autre checkpoint apres j'ai refait /obtenir clef et une fois rentré dans le checkpoint de /obtenir clef sa me donne l'effet de /evader je vous donne mon scripte aidez moi s'il vous plait.

public OnPlayerEnterCheckpoint(playerid) {
if (Tazer1)
{
if(pTazer[playerid] == 1){SendClientMessage(playerid,COLOR_RED,"Vous possédez déja une clef.");}
if(pTazer[playerid] == 0){pTazer[playerid] = 1;SendClientMessage(playerid,COLOR_YELLOW,"Vous avez obtenus Une clef de sortis.");}
DisablePlayerCheckpoint(playerid);
}

if (sortir)
{
    SetPlayerColor(playerid,COLOR_DBLUE);
    SetPlayerPos(playerid,1552.3749,-1675.4244,16.1953);
    SendClientMessage(playerid,COLOR_YELLOW,"Vous etes sortis de Fox River !!");
    GivePlayerMoney(playerid,100000);
DisablePlayerCheckpoint(playerid);
}

if (evader)
{
if(pTazer[playerid] == 1)
{
    SetPlayerColor(playerid,COLOR_RED);
    SetPlayerPos(playerid,1539.8716,-1662.1938,13.5495);
    SendClientMessage(playerid,COLOR_YELLOW,"Vous vous etes evader !!");
    SendClientMessageToAll(COLOR_RED,"Un prisonniers c'est evader de Fox River.");
    GivePlayerMoney(playerid,50000);
DisablePlayerCheckpoint(playerid);
}

else

{
SendClientMessage(playerid,COLOR_RED,"Vous n'avez pas la clef !!");
DisablePlayerCheckpoint(playerid);
}
}

if (gilet)
{
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid,100);
    SendClientMessage(playerid,COLOR_YELLOW,"Vous avez obtenus un gilet pare balle.");
    DisablePlayerCheckpoint(playerid);
}

if (prison)
{
SetPlayerPos(playerid,201.7346,1869.4531,13.1406);
    SendClientMessage(playerid,COLOR_YELLOW,"Vous etes retourné a la prison.");
    DisablePlayerCheckpoint(playerid);
}

return 1;
}

Merci d'avance.

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : CheckPoint
« Réponse #1 le: 01 Mars 2008, 03:13:38 »
salut,

tu n'as qu'a faire comme pour mon script de course, défini une zone pour chaque checkpoint.....

par contre, si tu as plus d'un checkpoint au même endroit, ça ne marche plus....il faut en changer de place

donc exemple:
new check[][4] = {
{check_X,check_y,check_z,size},
{check_X,check_y,check_z,size},
{check_X,check_y,check_z,size},
.....tu en met autant que tu veut...
{check_X,check_y,check_z,size}
};
ensuite
public OnPlayerEnterCheckpoint(playerid) {
if (IsPlayerInArea(playerid,check[0][0]+5,check[0][0]-5,check[0][1]+5,check[0][1]-5)){//tu augmente les 5 si tes checkpoints sont gros....
if(pTazer[playerid] == 1){SendClientMessage(playerid,COLOR_RED,"Vous possédez déja une clef.");}
if(pTazer[playerid] == 0){pTazer[playerid] = 1;SendClientMessage(playerid,COLOR_YELLOW,"Vous avez obtenus Une clef de sortis.");}
DisablePlayerCheckpoint(playerid);
}

if(IsPlayerInArea(playerid,check[1][0]+5,check[1][0]-5,check[1][1]+5,check[1][1]-5))
{
    SetPlayerColor(playerid,COLOR_DBLUE);
    SetPlayerPos(playerid,1552.3749,-1675.4244,16.1953);
    SendClientMessage(playerid,COLOR_YELLOW,"Vous etes sortis de Fox River !!");
    GivePlayerMoney(playerid,100000);
DisablePlayerCheckpoint(playerid);
}

if (IsPlayerInArea(playerid,check[2][0]+5,check[2][0]-5,check[2][1]+5,check[2][1]-5))
{
if(pTazer[playerid] == 1)
{
    SetPlayerColor(playerid,COLOR_RED);
    SetPlayerPos(playerid,1539.8716,-1662.1938,13.5495);
    SendClientMessage(playerid,COLOR_YELLOW,"Vous vous etes evader !!");
    SendClientMessageToAll(COLOR_RED,"Un prisonniers c'est evader de Fox River.");
    GivePlayerMoney(playerid,50000);
DisablePlayerCheckpoint(playerid);
}

else

{
SendClientMessage(playerid,COLOR_RED,"Vous n'avez pas la clef !!");
DisablePlayerCheckpoint(playerid);
}
}

if (IsPlayerInArea(playerid,check[3][0]+5,check[3][0]-5,check[3][1]+5,check[3][1]-5))
{
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid,100);
    SendClientMessage(playerid,COLOR_YELLOW,"Vous avez obtenus un gilet pare balle.");
    DisablePlayerCheckpoint(playerid);
}

if (IsPlayerInArea(playerid,check[4][0]+5,check[4][0]-5,check[4][1]+5,check[4][1]-5))
{
SetPlayerPos(playerid,201.7346,1869.4531,13.1406);
    SendClientMessage(playerid,COLOR_YELLOW,"Vous etes retourné a la prison.");
    DisablePlayerCheckpoint(playerid);
}

ou sinon, c'est un truc qui ressemble à ça...

et pour la fonction IsPlayerInArea, regarde dans la signature d'Urbanghetto ou cherche dans le showroom

bonne chance :) ;)

++Sim++





Hors ligne Paul_Kellerman

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : CheckPoint
« Réponse #2 le: 01 Mars 2008, 12:41:55 »
Ok , un grand merci.