GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: jonjon le 04 Février 2008, 21:36:04

Titre: Pickup d'amorce pour death match
Posté par: jonjon le 04 Février 2008, 21:36:04
bonjour, j'ai essayé (je dit bien essayé lol) de faire un fs (pastebin : http://pastebin.gtaonline.fr/pastebin.php?show=331 (http://pastebin.gtaonline.fr/pastebin.php?show=331) ) où quand l'on marche sur le pickup on peu faire la commande /aamorce qui fait péter plusieurs bombes, je voudrais pouvoir faire cette commande que sur se pickup et qu'il y est un compte a rebour avant de tout faire péter mais j'ai plusieurs problèmes :

-On peu faire la commande n'importe où (alors que je voudrais pouvoir la faire que sur le pickup, pourtant j'ai essayé de mettre des variables pour ça)
-Quand on tape /log pour se loggé cela nous dit "veuillez entrer le nombre de secondes (lol c'est une phrase qui se trouve dans le FS que j'essaie de faire)
-Quand je fait la commande rien ne se passe (même pas de compte à rebour, même pas d'explosions)

Je crois que c'est tout, c'est déja pas mal :s
Ps : aucune erreurs, aucun warning mais sa marche pas quand même ^^

Pastebin : http://pastebin.gtaonline.fr/pastebin.php?show=331 (http://pastebin.gtaonline.fr/pastebin.php?show=331)

Si vous pouvez m'aider..... Svp


Merci d'avance!

j0nj0n

Titre: Re : Pickup d'amorce pour death match
Posté par: Syg le 05 Février 2008, 11:55:18
J'ai corrigé ton script, je ne l'ai pas testé donc il se peut que ça ne fonctionne pas :
http://pastebin.gtaonline.fr/pastebin.php?show=333

Ce que j'ai fait :
Tout d'abord, "décortication" correcte de la commande (tu avais oubliés de le faire).
Dans la commande, on contrôle que le joueur est dans une zone de 0.5 mètre autour du pickup sinon, on affiche un message.

Maintenant, tu veux peut-être que le pickup serve de "ticket pour une explosion" utilisable n'importe où.
Dans ce cas, il faut remplacer le test que j'ai ajouté par un test sur DMArena[playerid] (qui doit être égal à 1).

Aprés coup, j'ai vu une erreur qui peut écrouler ton serveur.
Dans ton timer ctimer, tu as mis le code suivant :
        for (new i = 0; i < MAX_PLAYERS; i ++)
    {
        if (IsPlayerConnected(i)) SetTimer("resetcount",2000,0);
    }
Dans cette boucle, tu lance le même timer autant de fois qu'il y a de joueurs et ce n'est pas la peine puisque le timer resetcount fait un reset pour tous les joueurs.
Donc remplaces toutes les lignes précedentes par un appel unique à ton timer :
SetTimer("resetcount",2000,0);
Et moi même je ne suis pas en reste :
cmd = strtok(cmdtxt, idx);Il fallait bien évidement lire :
cmd = strtok(cmdtext, idx);

++
Syg
Titre: Re : Pickup d'amorce pour death match
Posté par: jonjon le 05 Février 2008, 13:43:37
salut, merci je testerais ce script quand je rentrerais chez moi.

a+++

j0nj0n

EDIT : ça y est presque, merci syg !!
Mais j'ai toujours un problème important lol :

-On peu faire la commande n'importe où (alors que je voudrais pouvoir la faire que sur le pickup, pourtant j'ai essayé de mettre des variables pour ça)
-Quand on tape /log pour se loggé cela nous dit "veuillez entrer le nombre de secondes (lol c'est une phrase qui se trouve dans le FS que j'essaie de faire)

-Quand je fait la commande rien ne se passe (même pas de compte à rebour, même pas d'explosions)

Maintenant quand je fais la commande sur le pickup ( /amorce nombre de secondes) ça n'enclenche pas le compte à rebour et ensuite rien ne se passe. Et ensuite quand je fais une autre fois la commande sur le pickup ça me dit comme quoi le compte à rebour est déja enclenché alors que c'est le contraire :s .

Si quelqu'un peu m'aider.....

Merci d'avance

j0nj0n

Titre: Re : Pickup d'amorce pour death match
Posté par: yoyo17 le 05 Février 2008, 20:42:49
J'ai reussi à t'aider pour commencer le script mais la je ne pourrais pas t'aider désolé.

Cordialement, yoyo17.
Titre: Re : Pickup d'amorce pour death match
Posté par: jonjon le 06 Février 2008, 13:09:27
Merci de vos aides Yoyo17 et Syg mais j'ai encore besoin d'un petit peu d'aide ;)

+++

j0nj0n
Titre: Re : Pickup d'amorce pour death match
Posté par: Eloctro le 06 Février 2008, 13:31:56
Je croi savoir d'ou sa vien mais le probléme ?
http://pastebin.gtaonline.fr/pastebin.php?show=337
Titre: Re : Pickup d'amorce pour death match
Posté par: jonjon le 06 Février 2008, 13:59:31
euh j'ai rien compris, il n'y a pas de modifs dans le scritp en plus... alors je vois pas

j0nj0n
Titre: Re : Pickup d'amorce pour death match
Posté par: Eloctro le 06 Février 2008, 15:56:15
J'ai mis l'edroit ou je pense qu'il y a le problème .
Titre: Re : Pickup d'amorce pour death match
Posté par: Syg le 06 Février 2008, 16:04:57
Moi, y'a quand même un truc qui m'étonne, c 'est que tes pickups sont crées à plus de 1000 mètres d'altitude !!!
Est-tu sùr que les coordonnées sont correctes ?

++
Syg
Titre: Re : Pickup d'amorce pour death match
Posté par: jonjon le 06 Février 2008, 16:18:35
oui syg car mes pickups se trouvent dans un intérieur ;)
Titre: Re : Pickup d'amorce pour death match
Posté par: Syg le 06 Février 2008, 17:30:40
Ah OK, est-ce que tu peux me donner l'ID de l'intérieur pour que je puisse tester parceque tout à l'heure j'ai fait des essais, j'ai ajouté un téléport mais je me suis retrouvé dans le ciel en chute libre.

++
Syg
Titre: Re : Pickup d'amorce pour death match
Posté par: Eloctro le 06 Février 2008, 18:13:24
tes spider-man xd.
Citer
Posté par: jonjon 
oui syg car mes pickups se trouvent dans un intérieur 
Dans une position savegardé sa prend la hauteur ou commence le pickup .
Titre: Re : Pickup d'amorce pour death match
Posté par: jonjon le 06 Février 2008, 18:21:09
Désolé pour le retard, j'ai quelques problèmes avec ma dns alor voila... lol
L'id de l'intérieur est "5" .

voila une petite téléportation :

if (strcmp(cmdtext, "/manoir", true) == 0)
{
     SetPlayerInterior(playerid, 5);
     SetPlayerFacingAngle(playerid, 55);
     SetPlayerPos(playerid, 1299.14 ,-794.77,1084.00);
     GameTextForPlayer(playerid,"BIENVENUE AU MANOIR !",2000,5);
     SendClientMessageToAll(COLOR_SYSTEM, "Un joueur vien d'entrer dans la zone /manoir");
     return 1;
}

++

j0nj0n
Titre: Re : Pickup d'amorce pour death match
Posté par: UrbanGhetto le 07 Février 2008, 13:21:17
Pourquoi tu utilise pas le fonction Code du forum ?  ???
Titre: Re : Pickup d'amorce pour death match
Posté par: jonjon le 07 Février 2008, 17:22:47
hein? quel fonction code ?

j0nj0n

Edit : ah oui, finalement je vois ce que tu veux dire ben c'est pas un script "important" ce que je viens de mettre , le script dont je parle se trouve dans le pastebin
Titre: Re : Pickup d'amorce pour death match
Posté par: UrbanGhetto le 07 Février 2008, 17:29:11
C'est pas que c'est important ou pas, C'est que c'est un peux con de mettre des scripts en l'air comme ça...
Titre: Re : Pickup d'amorce pour death match
Posté par: jonjon le 07 Février 2008, 17:30:22
oui tu as raison.

Quelqu'un a une solution a mon problème de FS? lol

merci d'avance

j0nj0n
Titre: Re : Pickup d'amorce pour death match
Posté par: jonjon le 09 Février 2008, 12:26:45
Quelqu'un pour m'aider?? svp lol

Merci d'avance!

j0nj0n
Titre: Re : Pickup d'amorce pour death match
Posté par: ApocKalipsS le 09 Février 2008, 16:01:49
Je pense que ta oublié de mettre un SetTimer pour enclencher le "ctimer" dans ta commande /amorce