GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Brian Turner le 05 Juin 2011, 12:37:07
-
Bonjour,
je reviens vous voir car j'ai un probleme avec mon bot du tutoriel, je vous explique, je fais un serveur RP, scripter de A a Z, mais le probleme est que j'ai fait mon bot avec l'id d'un vehicule qui est 102(qui lui est crée que pendant le tuto, et est supprimer juste apres, il n'est donc pas dans les fichiers des vehicules), mais apres j'ai crée des vehicules jusqu'a 175, se qui fait que le vehicule 102 existe tout le temps maintenant, se qui fait que mon bot ne conduit plus le taxi!
Comment faire? Je dois refaire un bot? Cela m'embete car apres je replacerai les vehicules de faction donc sa veu dire que je dois le rerefaire a chaque fois....
Ou y a t-il une solution pour mettre le bot dans un autre vehicule et qu'il le conduise.
Voila mon code:
OnPlayerSpawn:
<?php
if(IsPlayerNPC(playerid))
{
new Bot[64];
GetPlayerName(playerid, Bot, sizeof(Bot));
if(!strcmp(Bot,"Edward_Wolfe",true))
{
SetPlayerSkin(playerid, 255);
PutPlayerInVehicle(playerid, VTuto, 0);
ShowPlayerMarkers(0);
TutoBot++;
BotTuto[playerid] = 1;
new strbot[50];
format(strbot, sizeof(strbot), "%s%d", Bot, TutoBot);
SetPlayerName(playerid, strbot);
printf("bot renomer en %s",strbot);
}
return 1;
}
Callback qui lance le tuto:
<?php
public JTuto(playerid)
{
if(IsPlayerConnected(playerid))
{
TogglePlayerControllable(playerid, 0);
SetPlayerInterior(playerid, 0);
ConnectNPC("Edward_Wolfe","Tyler2");
new strbot[50];
VTuto = AddStaticVehicle(420,1914.3597,-2646.0505,13.3296,357.8665,6,6);
VvTuto[VTuto] = 1;
format(strbot, sizeof(strbot), "Edward_Wolfe%d",TutoBot);
new idnpc = ReturnUser(strbot);
PutPlayerInVehicle(idnpc, VTuto, 0); // D'origine sa sa n'y est pas mais j'ai tester avec sa marche pas quand meme
PutPlayerInVehicle(playerid, VTuto, 3);
GetVehicleParamsEx(VTuto,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(VTuto,1,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, VERT, "Conducteur: {FFFFFF} Salut, Tu est nouveau en ville, je vais t'aider en te montrant quelque endroits");
SendClientMessage(playerid, VERT, "Conducteur: {FFFFFF} Bref, je m'appel Edward, Allez, On y va!");
Tuto[playerid] = 1;
Joueur[playerid][pInt] =0;
Joueur[playerid][pMV] =0;
//Joueur[playerid][pTuto] = 1;
//SetPlayerVirtualWorld(playerid, 0);
}
return 1;
}
Et la derniere callback qui supprime le vehicule et kick le bot(mais elle, elle marche super bien):
<?php
public TimerBot()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerNPC(i))
{
if(IsPlayerInRangeOfPoint(i, 6,1814.4037,-1851.4969,13.1881))
{
BotTuto[i] = 4;
}
if(IsPlayerInRangeOfPoint(i, 6,1914.3597,-2646.0505,13.3296))
{
if(BotTuto[i] == 4)
{
Kick(i);
TutoBot--;
}
}
}
}
for(new i=0;i<MAX_VEHICLES;i++)
{
if(VvTuto[i] == 2)
{
if(ProximiteV(6, 1914.3597,-2646.0505,13.3296, i))
{
VvTuto[i] = 0;
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(i,0,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
DestroyVehicle(i);
}
}
}
return 1;
}
PS: je le renome car quand plusieurs personnes font le tuto, sa appel plusieur fois le meme bot, donc sa rentre en conflit.
Voila c'est pas simple a expliquer.
Bonne journée
-
archis faut dans ton public Jtuto VTuto = AddStaticVehicle(420,1914.3597,-2646.0505,13.3296,357.8665,6,6); il faut le cree soit createvehicle doit etre utliser
en gros avec ta ligne la voiture n'est pas creer ;)
-
Pourtant en jeu, moi je suis TP dedans, et je suis en passager, mais je vais essayer
Double post
Toujours le meme probleme :( je desespere sa fait des jours que je cherche