GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Le poulain de gta le 18 Février 2009, 16:55:32
-
Bonjour a tousse
J'ai un probleme voila j'ai fait une commande dans un dm et quand je la fait la voiture aparai mai quand elle est detruite elle reaparai au point de depard dans le garage a chaque fois
pouvez vous maidez a regler le probleme pour ne plus que la voiture ne revienne ?
*voici la cmd
if(strcmp("/Patriot", cmdtext, true, 10) == 0)
{
if (PlayerToPoint(3.0, playerid,2464.2737,-3745.6746,7.0214))
{
//
if(GetPlayerMoney(playerid) >= 200)
{
GivePlayerMoney(playerid, -200);
SendClientMessage(playerid, 0x00FF00FF, "Special patriot bought for 200$ !");
CreateVehicle(470,2457.3677,-3709.2319,4.5314,157.8664,1,1, 1000000000);
}
else if(GetPlayerMoney(playerid) < 200)
{
SendClientMessage(playerid, 0xEB000FFF, "ERROR: Not enought Moneys, 200$ needed !");
}
//
}
else if (PlayerToPoint(3.0, playerid,2464.2737,-3745.6746,7.0214))
{
//
if(GetPlayerMoney(playerid) >= 200)
{
GivePlayerMoney(playerid, -200);
SendClientMessage(playerid, 0x00FF00FF, "Special patriot bought for 200$ !");
CreateVehicle(470,2457.3677,-3709.2319,4.5314,157.8664,1,1, 1000000000);
}
else if(GetPlayerMoney(playerid) < 200)
{
SendClientMessage(playerid, 0xEB000FFF, "ERROR: Not enought Moneys, 200$ needed !");
}
//
}
}
aufete a quoi sert le , 1000000000 a la fin du create vehicle ?
Double post: 18 Février 2009, 17:20:01
Sil Vous plais aidez moi :s
-
Salut,
le 10000 sert a définir le temps de respawn.
-
Je crois qu'il manque un destroy j'ai la flème d'allé voir dans le pawn mais tu fais apparaitre ta voiture dans le garage donc elle y respawn créer une autre commande pour la supprimer ^^ ou sinon met que si elle se détruit elle ne réapparait plus.
désolé si ce n'est pas la réponse à la quelle tu t'attendais mais je n'ai pas bien compris ta question.
-
Merci mai ou on peut le maitre se destroye vehicule je l'ai mis dans
public OnPlayerExitVehicle(playerid, vehicleid)
{
DestroyVehicle(vehicleid);
return 1;
}
mai sa le detrui mai il revien ou doitje le maitre
et si je changeai le temp de reaparition en un nombre enrome sa sera le nombre ou un moment sa ne va pad au dessus de 1000 par exemple ? sinon je fait un enorme nombre ou sinon je trouve un script pour l'infini ou encor un timer mai la le timer ou le maitre je gualaire :s merci quand meme
-
Salut,
tu devrais vraiment aller voir sur le wiki: WIKI (http://wiki.sa-mp.com/wiki/Main_Page)
le temps de respawn est en secondes, le respawn veut dire que le véhicule réapprait à l'endroit où il a été créé, la callback OnPlayerExitVehicle est appelée kan un joueur appui sur la touche pour sortir du véhicule, donc peut recommandé pour détruire un véhicule (le joueur étant toujours à l'intérieur) et tu devrais utiliser un IsAnyPlayerInVehicle(vehicleid)
stock bool:IsAnyPlayerInVehicle(vehicleid)
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i,vehicleid))
{
return true;
}
}
return false;
}
et enfin le DestroyVehicle efface complètement le véhicule du serveur, par contre il n'a aucun effet sur les véhicules créés à l'aide de AddStaticVehicle(Ex)
P.S. es-ce que la contrainte sur ces véhicules ne fait que les protéger où s'ils sont "stockés" d'une façon différente qui empêche leur destruction, qui serait plus stable?
++Sim++
-
Aucune idée pour ma part juste qu'il est vrai qu'il ne se del pas avec le DestroyVehicle je viens d'y penser prend le GF je crois qu'il y à une commande pour détruire les véhicules que l'on à fait apparaitre avec le /veh il me semble voila en espérant avoir pu t'aider un minimum.
-
bonjour et merci mai le
stock bool:IsAnyPlayerInVehicle(vehicleid)
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i,vehicleid))
{
return true;
}
}
return false;
}
c'est sympa mai je suis nouvea dans se jenre de script de public tout sa le reste sa va mai la c'est pire je le mai ou se code que tu ma donner ??
je l'ai mis a la fin c'est bon ? sa me mai pawn compiler alors sa doit etre bon je vais esayer
sa ne marche pas il revien quand meme je vais laissez le
public OnPlayerExitVehicle(playerid, vehicleid)
{
DestroyVehicle(vehicleid);
return 1;
}
et allonger le temp de respawn pour que elle se detruiise mai soit bocoup plus longue a respawn au point de depard elle serat alor pendant pas mal de temp detruite sa depanera
mai avant je vais enlever le
public OnPlayerExitVehicle(playerid, vehicleid)
{
DestroyVehicle(vehicleid);
return 1;
}
et reasaiyer
-
Salut,
par contre le code que tu as là détruira systématiquement les véhicules dès qu'un joueur en sortira, donc je te recommande de faire une variable avec le véhicule de la commande, dans la commande tu test si le véhicule existe puis dans la callback tu test si la vehicleid est égal à celui du véhicule tu el détruit, sinon c'est inutile...
++Sim++
-
Ouai car comme tu l'as mis la dès qu'un joueur sortira de n'importe quel véhicule il disparaitra il me semble.
-
new vehicle1;
new vehicle2;
...
public OnVehicleDeath(vehicleid, killerid)
{
DestroyVehicle(vehicle1);
DestroyVehicle(vehicle2);
...
return 1;
}
on playerexit vehicle ...
mais si je fer sa detruira la voiture meme si elle n'est pa c'elle de lotre
(le gars sort dune otre voiture sa detruira la vehicle1 vehicle2 et tout ?
sinnon on peut fair dans le public
public OnVehicleDeath(vehicleDM, killerid)
{
DestroyVehicle(vehicleDM);
return 1;
}
on pe le faire sa ?
vais esayyer sa sera long
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(92) : error 017: undefined symbol "vehicle1"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(93) : error 017: undefined symbol "vehicle1"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(110) : error 017: undefined symbol "vehicle1"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(111) : error 017: undefined symbol "vehicle1"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(134) : error 017: undefined symbol "vehicle2"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(151) : error 017: undefined symbol "vehicle2"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(174) : error 017: undefined symbol "vehicle3"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(191) : error 017: undefined symbol "vehicle3"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(222) : error 017: undefined symbol "vehicle4"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(240) : error 017: undefined symbol "vehicle4"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(264) : error 017: undefined symbol "vehicle5"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(281) : error 017: undefined symbol "vehicle5"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(314) : error 017: undefined symbol "vehicle6"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(332) : error 017: undefined symbol "vehicle6"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(355) : error 017: undefined symbol "vehicle7"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(373) : error 017: undefined symbol "vehicle7"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(397) : error 017: undefined symbol "vehicle8"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(414) : error 017: undefined symbol "vehicle8"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(439) : error 017: undefined symbol "vehicle9"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(456) : error 017: undefined symbol "vehicle9"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(482) : error 017: undefined symbol "vehicle10"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(499) : error 017: undefined symbol "vehicle10"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(525) : error 017: undefined symbol "vehicle11"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(542) : error 017: undefined symbol "vehicle11"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(568) : error 017: undefined symbol "vehicle12"
C:\Program Files\JEUX\Rockstar Games\GTA San Andreas\filterscripts\Crysis2.pwn(585) : error 017: undefined symbol "vehicle12"
ce n'est pas une bonne ider ^^
-
Salut,
je te donne un petit indice:
public OnVehicleDeath(vehicleid, killerid)
{
if(vehicleid == vehicle1 || vehicleid == vehicle2.....)
{
DestroyVehicle(vehicleid);
}
...
return 1;
}
aller, amuse toi :P
EDIT:
et pour ce qui est de tes erreurs, tu ne déclare pas tes variables dans l'en tête, elle doivent se trouver en haut du script, exactement sous les includes (pour être sûr)
++Sim++
-
lol il ne met pas # pour citer du code mais il le met pour citer les erreurs pawns c'est assez space ^^.
-
merci sim et pour le new vehicle 1; je l'ai mis sous les includes je le sais
je vais esayez de le faire
sa na pas marcher le script :s
il conait pas vehicle1
pourtant jai sous les include et defines
new vehicle1;
new vehicle2;
...
new vehicle14;
public OnVehicleDeath(vehicleid, killerid)
{
if(vehicleid == vehicle1 || vehicleid == vehicle2 || vehicleid == vehicle3 || vehicleid == vehicle4 || vehicleid == vehicle5 || vehicleid == vehicle6 || vehicleid == vehicle7 || vehicleid == vehicle8 || vehicleid == vehicle9 || vehicleid == vehicle10 || vehicleid == vehicle11 || vehicleid == vehicle12 || vehicleid == vehicle13 || vehicleid == vehicle14)
{
DestroyVehicle(vehicleid);
}
return 1;
}
if(strcmp("/Patriot", cmdtext, true, 10) == 0)
{
if (PlayerToPoint(3.0, playerid,2749.1309,-3780.8003,14.3915))
{
//
if(GetPlayerMoney(playerid) >= 200)
{
GivePlayerMoney(playerid, -200);
SendClientMessage(playerid, 0x00FF00FF, "Special patriot bought for 200$ !");
vehicle1 = CreateVehicle(470,2771.0166,-3768.1536,16.2424,109.7293,1,1, 99999999999999999999999999999999999999999999999999999999);
}
else if(GetPlayerMoney(playerid) < 200)
{
SendClientMessage(playerid, 0xEB000FFF, "ERROR: Not enought Moneys, 200$ needed !");
}
//
}
else if (PlayerToPoint(3.0, playerid,2749.1309,-3780.8003,14.3915))
{
//
if(GetPlayerMoney(playerid) >= 200)
{
GivePlayerMoney(playerid, -200);
SendClientMessage(playerid, 0x00FF00FF, "Special patriot bought for 200$ !");
vehicle1 = CreateVehicle(470,2771.0166,-3768.1536,16.2424,109.7293,1,1, 99999999999999999999999999999999999999999999999999999999);
}
else if(GetPlayerMoney(playerid) < 200)
{
SendClientMessage(playerid, 0xEB000FFF, "ERROR: Not enought Moneys, 200$ needed !");
}
//
}
}
/*Rouge*/
if(strcmp("/Jeep", cmdtext, true, 10) == 0)
{
if (PlayerToPoint(3.0, playerid,2513.7493,-3615.0122,15.6226))
{
//
if(GetPlayerMoney(playerid) >= 50)
{
GivePlayerMoney(playerid, -50);
SendClientMessage(playerid, 0x00FF00FF, "Special Jeep bought for 50$ !");
vehicle2 = CreateVehicle(500,2509.6716,-3633.3635,11.8737,197.5357,102,102, 99999999999999999999999999999999999999999999999999999999);
}
else if(GetPlayerMoney(playerid) < 50)
{
SendClientMessage(playerid, 0xEB000FFF, "ERROR: Not enought Moneys, 50$ needed !");
}
//
}
else if (PlayerToPoint(3.0, playerid,2513.7493,-3615.0122,15.6226))
{
//
if(GetPlayerMoney(playerid) >= 50)
{
GivePlayerMoney(playerid, -50);
SendClientMessage(playerid, 0x00FF00FF, "Special Jeep bought for 50$ !");
vehicle2 = CreateVehicle(500,2509.6716,-3633.3635,11.8737,197.5357,102,102, 99999999999999999999999999999999999999999999999999999999);
}
else if(GetPlayerMoney(playerid) < 50)
{
SendClientMessage(playerid, 0xEB000FFF, "ERROR: Not enought Moneys, 50$ needed !");
}
//
}
}
....
//rouge
if(strcmp("/Barack", cmdtext, true, 10) == 0)
{
if (PlayerToPoint(3.0, playerid,2513.7493,-3615.0122,15.6226))
{
//
if(GetPlayerMoney(playerid) >= 250)
{
GivePlayerMoney(playerid, -250);
SendClientMessage(playerid, 0x00FF00FF, "Special Barack bought for 250$ !");
vehicle14 = CreateVehicle(433,2509.6716,-3633.3635,11.8737,197.5357,1,1, 99999999999999999999999999999999999999999999999999999999);
}
else if(GetPlayerMoney(playerid) < 250)
{
SendClientMessage(playerid, 0xEB000FFF, "ERROR: Not enought Moneys, 250$ needed !");
}
//
}
else if (PlayerToPoint(3.0, playerid,2513.7493,-3615.0122,15.6226))
{
//
if(GetPlayerMoney(playerid) >= 250)
{
GivePlayerMoney(playerid, -250);
SendClientMessage(playerid, 0x00FF00FF, "Special Barack bought for 250$ !");
vehicle14 = CreateVehicle(433,2509.6716,-3633.3635,11.8737,197.5357,1,1, 99999999999999999999999999999999999999999999999999999999);
}
else if(GetPlayerMoney(playerid) < 250)
{
SendClientMessage(playerid, 0xEB000FFF, "ERROR: Not enought Moneys, 250$ needed !");
}
//
}
}
PS:
j'ai trouver sa en haut des includes
#pragma tabsize 0
c'est quoi ?
et les ereurs sont
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(804) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1328) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1410) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1622) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1667) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1838) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
6 Warnings.
Double post: 01 Janvier 1970, 00:59:59
je vais voir si sa marche mais pour les warnings sa minquiete il me met un warning a un if:
/*Message a la position Rocket*/
//
if(strcmp("/Info", cmdtext, true, 10) == 0)
{
if (PlayerToPoint(3.0, playerid,2339.7913,-3941.9358,9.7175))
{
//
{
SendClientMessage(playerid, 0x00FFFFFF, "Is possible to buy weapons /Rocket");
}
//
}
}
le reste a un autre if des voiture spawn bon je vais voir si sa marche :)
il marche et j'ai esayer de le faire une sorte de script mutan dison mai il n'as pas marcher voila se que je voulais faire
public OnPlayerExitVehicle(vehicleid, playerid)
{
if(vehicleid == vehicle1 || vehicleid == vehicle2 || vehicleid == vehicle3 || vehicleid == vehicle4 || vehicleid == vehicle5 || vehicleid == vehicle6 || vehicleid == vehicle7 || vehicleid == vehicle8 || vehicleid == vehicle9 || vehicleid == vehicle10 || vehicleid == vehicle11 || vehicleid == vehicle12 || vehicleid == vehicle13 || vehicleid == vehicle14)
{
DestroyVehicle(vehicleid);
}
return 1;
}
visiblement sa na pas marcher
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(657) : error 025: function heading differs from prototype
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(816) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1340) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1422) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1634) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1679) : warning 217: loose indentation
C:Program FilesJEUXRockstar GamesGTA San AndreasgamemodesCrysis2.pwn(1850) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
^^
o le connn!!!!!!
j'ai inverser
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(vehicleid == vehicle1 || vehicleid == vehicle2 || vehicleid == vehicle3 || vehicleid == vehicle4 || vehicleid == vehicle5 || vehicleid == vehicle6 || vehicleid == vehicle7 || vehicleid == vehicle8 || vehicleid == vehicle9 || vehicleid == vehicle10 || vehicleid == vehicle11 || vehicleid == vehicle12 || vehicleid == vehicle13 || vehicleid == vehicle14)
{
DestroyVehicle(vehicleid);
}
return 1;
}
^^
entre
public OnPlayerExitVehicle(playerid, vehicleid) (le bon)
et
public OnPlayerExitVehicle(vehicleid, playerid)
Double post: 21 Février 2009, 15:42:28
desoler pour le triple mai merci a tousse de votre aide je suis conten
++
ou peut etre a plus tard si il y a un probleme sur se script encore ^^
-
Poulain, il faut que tu comprenne un truc là...
la fonction edit est là pour permettre de modifier son post et éviter les double/triple/quadruple post, alors sert toi s'en
++Sim++
-
Salut,
Yeah sim => Poulain, il faut que tu comprendre un truc là...
Maintenant poulain, on comprend plus rien a tes posts !
-
Et aussi tu as un icone # pour mettre tes code ou utilise pastebin parce que au point ou tu en est je crois que bientôt tu va nous mettre ton GM dans 5-6 post t'inquiète pas je pense qu'il rentrera. :snip :bangin