GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nip le 30 Janvier 2008, 19:59:49

Titre: spawn vehicule puis destroyl vehicule
Posté par: Nip le 30 Janvier 2008, 19:59:49
Bonjour tout le monde

Voici le code
new VehiculeJoueur[MAX_PLAYERS];
//------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/veh", cmdtext, true,4)==0)
{


{
SendClientMessage(playerid,0xFFFFFFAA,"tu na pas donner l'id du vehicule !");

DestroyVehicle (VehiculeJoueur[playerid]);
    new vecid = strval(cmdtext[5]);
new Float:px, Float:py, Float:pz, Float:pa;
GetPlayerPos(playerid, px, py, pz);
CreateVehicle(vecid, px+5, py+5, pz+5, pa+5,-1,-1,-1);
PutPlayerInVehicle(playerid, vecid, 0);
}
}
return 1;



return 1;
}

//-------------------------------------------------
Alor voici mes BuG.!

1.Mais le probleme est qu'il spawn le vehicule mais quand j'en cree un autre le suprime pas.
2.quand il se spawn le joueur ne rentre pas dedans
3.il me met toujour le même messages (mais sa sa doit etre un reglache avec un else


+

Merci de votre aide
Titre: Re : spawn vehicule puis destroyl vehicule
Posté par: ApocKalipsS le 30 Janvier 2008, 20:14:07
J'ai pas le temps de te donne rle code entier donc aide toi de ça :

if(strcmp(cmdtext, "/instructeur", true) == 0)
        {
              new message[127];
                new pid, tmp[256], tmpp[256];
                tmp = strtok(cmdtext, idx);
                tmpp = strtok(cmdtext, idx);
if(IsPlayerAdmin(playerid))
{
                if      (!strlen(tmpp))
                {
                        SendClientMessage(playerid, COLOR_GREEN, "USAGE: /instructeur [Playerid] [Message]");
                        return 1;
                }

                pid = strval(tmpp);
                if      (!(IsPlayerConnected(pid)))
                {
                        SendClientMessage(playerid, COLOR_RED, "Ce joueur n'est pas connecter !");
                        return 1;
                }
                GetPlayerName(pid, pidName, sizeof(pidName));
                format(tmpp, sizeof(tmpp), "Tu as mit %s (ID:%d) 'Instructeur'.",pidName,pid);
                SendClientMessage(playerid, 0xAA3333AA, tmpp);
            GetPlayerName(playerid, message, sizeof(message));
                format(tmpp, sizeof(tmpp), "Un admin ta mit Instructeur ! |Message : %s", cmdtext[idx]);
                SendClientMessage(pid,0xAA3333AA, tmpp);
    SendInstructorMessage(COLOR_RED, "Un joueur à rejoins le job : Instructeur !");
    Instructeur = 1;
                }else{
                SendClientMessage(playerid, COLOR_RED, "Tu n'est pas Admin !");
                                           }
Titre: Re : spawn vehicule puis destroyl vehicule
Posté par: UZI-I le 30 Janvier 2008, 22:31:25
Code: (c) [Sélectionner]
new VehiculeJoueur[MAX_PLAYERS];
/* Hey Time To Make Some Code */
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/veh", cmdtext, true,4)==0)
{
                        // declare Some Shit
                            new Float:px, Float:py, Float:pz, Float:pa;

                        // destroy Old Car
    DestroyVehicle ( VehiculeJoueur[playerid] );

                        // Time to Create The Fuckin Player's Vehicle
GetPlayerPos ( playerid, px, py, pz) ;

                                // We know Where he is located so create car near his location...
    CreateVehicle ( VehiculeJoueur[playerid], px+5.0f, py+5.0f, pz+5.0f, pa,-1,-1,-1 );

                                // Put The Player in his fuckin Car
    PutPlayerInVehicle ( playerid, VehiculeJoueur[playerid], 0 );
               return 1;
        }

return 1;
}

Essaye ceci...
savourer le peu d'humour que j'integre a mes commentaires xD ( Sa donne un certain plaisir a programmer disont lol )
Titre: Re : spawn vehicule puis destroyl vehicule
Posté par: Nip le 30 Janvier 2008, 23:42:49
Salut
Merci a toi de ton aide

Mais quand je tape la commandes je crash !
Mais pas le serveur

Le code que j'ai placé:

new VehiculeJoueur[MAX_PLAYERS];
//------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/veh", cmdtext, true,4)==0) {
// declare Some Shit
new Float:px, Float:py, Float:pz, Float:pa;
// destroy Old Car
DestroyVehicle ( VehiculeJoueur[playerid] );
// Time to Create The Fuckin Player's Vehicle
GetPlayerPos ( playerid, px, py, pz) ;
// We know Where he is located so create car near his location...
CreateVehicle ( VehiculeJoueur[playerid], px+5.00, py+5.00, pz+5.00, pa,-1,-1,-1 );
// Put The Player in his fuckin Car
PutPlayerInVehicle ( playerid, VehiculeJoueur[playerid], 0 );
return 1;
}
return 1;
}

Avec les "f" sa deconne :s

Merci de 'maidee
Titre: Re : spawn vehicule puis destroyl vehicule
Posté par: UrbanGhetto le 31 Janvier 2008, 12:52:26
UZI tu t'es trompé, Dans le CreateVehicle tu as mis l'id du véhicule et non le model.

Exemple,

Tu entre dans le 3ème véhicule de ton script, Donc l'id est 3.

Et quand tu fais /Veh ça crée le model 3, Qui n'existe pas.

J'ai fais un autre code :

if (strcmp("/veh", cmdtext, true,4)==0){
new VehiculeJoueur;
new VehiculeModel;
new Float:X,Float:Y,Float:Z,Float:A;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,A);
VehiculeJoueur=GetPlayerVehicleID(playerid);
VehiculeModel=GetVehicleModel(VehiculeJoueur);
DestroyVehicle(VehiculeJoueur);
CreateVehicle(VehiculeModel,X,Y,Z,A,-1,-1,1000);
PutPlayerInVehicle(playerid,VehiculeJoueur,0);
return 1;
}

Bricoleur hein ?  :)
Titre: Re : spawn vehicule puis destroyl vehicule
Posté par: UZI-I le 31 Janvier 2008, 12:59:13
Mouai peut etre... J'ai plus la liste des commande... J'ai arreter le scripting SA-MP depuis la 0.2, c'est plus du pseudocode par rapport au sien que j'ai fait ;)
Et pour les 'f' c'est l'habitude du C ça, excuse moi :)

Tient essaye de convertir ça en du Pawn... N'oublie pas de convertir l'ID de texte vers Integer (Entier)
Il te faudra par contre faire un truc pour recup les param de ta fonction :)

Code: (c) [Sélectionner]
new VehiculeJoueur[MAX_PLAYERS];
/* Hey Time To Make Some Code */
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/veh", cmdtext, true,4)==0)
{
                        // declare Some Shit
                            new Float:px, Float:py, Float:pz, Float:pa;
                            new iModel = cmdtext[1]; // Use a Convert Stuff for get the CarID with integer type....

                        // destroy Old Car
    DestroyVehicle ( VehiculeJoueur[playerid] );

                        // Time to Create The Fuckin Player's Vehicle
GetPlayerPos ( playerid, px, py, pz) ;

                                // We know Where he is located so create car near his location...
    VehiculeJoueur[playerid] = CreateVehicle ( iModel, px+5.0f, py+5.0f, pz+5.0f, pa,-1,-1,-1 );

                                // Put The Player in his fuckin Car
    PutPlayerInVehicle ( playerid, VehiculeJoueur[playerid], 0 );
               return 1;
        }

return 1;
}