GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Leonidas300 le 18 Juillet 2010, 13:06:22

Titre: Questions s'il vous plaît réponder
Posté par: Leonidas300 le 18 Juillet 2010, 13:06:22
SAlut


Comme le titre de ma question, je cherche comment faire pour que le joueur cours moin vite, car la c'set pas RP dans le miami RP de base

et aussi c'est quoi qui cloche ici ?

Code: (pawn) [Sélectionner]
                   SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
       format(string, sizeof(string), "[Radio]%s %s dit: %s", rtext, sendername, result);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);

Car IG il fait la 1er action quand je /r normal, mais il le range pas comme l'ai prévut le second SetPlayerSpecialAction

EDIT, pour la 1er question : UsePlayerPedAnims();, je l'ai retiré mais maintenant le probleme c'est qu'il cours à l'infini sans pause :o
Titre: Re : Comment courir moin vite
Posté par: Gilux le 18 Juillet 2010, 13:21:54
Essaye un truc avec SetPlayerVelocity(GetPlayerVelocity(playerid) * 0.8 );
Avec la touche KEY_UP , mais je ne sais pas trop faire ;)
++
Titre: Re : Comment courir moin vite
Posté par: Leonidas300 le 18 Juillet 2010, 13:38:07
Non justement je l'ai  retiré car il courait trop vite, mais sur beaucoup de serveur on cours comme je cours la sur mon serveur ( sans le sePlayerPedAnims(); dans OnGameModeinit ) mais ou il s'arrete car il a pas d'endurance
voila quoi svp
Titre: Re : Comment courir moin vite
Posté par: Leonidas300 le 18 Juillet 2010, 14:40:25
Je comprend pas
Titre: Re : Comment courir moin vite
Posté par: Leonidas300 le 18 Juillet 2010, 15:17:43
il sort bien le telephone mais il le range pas :s
Merci d'avance de ton aide x)
Titre: Re : Questions s'il vous plaît réponder
Posté par: scott1 le 18 Juillet 2010, 22:58:42
Tu cree une valeur pour chaque player.

Quand il se co elle est a 100

quand il appuie sur courrit ça kui enleve, quand il arrive a 0 et qu'il essaye de courrir tu le fait jouer une anim
Titre: Re : Questions s'il vous plaît réponder
Posté par: Leonidas300 le 19 Juillet 2010, 15:56:45
merci et pour la 1er question ?
Titre: Re : Questions s'il vous plaît réponder
Posté par: scott1 le 19 Juillet 2010, 17:28:26
En fait tu lui fait jouer 2 action en l'espace de quelque mili seconde.

2Choix s'offre a toi.

Soit tu fait

        format(string, sizeof(string), "[Radio]%s %s dit: %s", rtext, sendername, result);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);

Soit tu cree une fonction X

SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
        format(string, sizeof(string), "[Radio]%s %s dit: %s", rtext, sendername, result);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
                                         Tu lance un timer de 1seconde avec X comme fonction

et dans le public x

SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
Titre: Re : Questions s'il vous plaît réponder
Posté par: Leonidas300 le 21 Juillet 2010, 20:35:12
J'ai essayé les deux mais aucuns ne marchent

( pour ta seconde proposition, il sort le phone à l'infinit x) )
Titre: Re : Re : Questions s'il vous plaît réponder
Posté par: scott1 le 21 Juillet 2010, 22:04:13
J'ai essayé les deux mais aucuns ne marchent

( pour ta seconde proposition, il sort le phone à l'infinit x) )

Bisard car moi j'utilise la 2eme proposition et elle marche du tonnere
Titre: Re : Questions s'il vous plaît réponder
Posté par: Leonidas300 le 21 Juillet 2010, 23:37:45
Aurais tu la gentillesse de m'envoyé tes Settimer, la fin du radio ?
Titre: Re : Questions s'il vous plaît réponder
Posté par: Leonidas300 le 21 Juillet 2010, 23:48:31
Pourquoi deux Timers ? Bon tien regarde :

l'erreur que j'ai :
Code: (pawn) [Sélectionner]
H:DOCUME~1GaetanBureauServeurLS-RPGAMEMO~1LSGRP.pwn(1884) : error 017: undefined symbol "i"

Le public : ( l'erreur est sur la ligne SetPlayerSpecial Action du public )

Code: (pawn) [Sélectionner]
public Radioanimouais()
{
  SetTimer("Radioanimouais", 1000, 0);
  SetPlayerSpecialAction(i, SPECIAL_ACTION_STOPUSECELLPHONE);
return 1;
}
Code: (pawn) [Sélectionner]
forward Radioanimouais();
et dans le /r

Code: (pawn) [Sélectionner]
                    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
        format(string, sizeof(string), "[Radio]%s %s dit: %s", rtext, sendername, result);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
SetTimer("Radioanimouais", 1000, 0);

Double post
et quand je met

Code: (pawn) [Sélectionner]
public Radioanimouais(playerid)et
Code: (pawn) [Sélectionner]
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
J'obtient sa :

Code: (pawn) [Sélectionner]
H:\DOCUME~1\Gaetan\Bureau\Serveur\LS-RP\GAMEMO~1\LSGRP.pwn(1881) : error 025: function heading differs from prototype
Titre: Re : Questions s'il vous plaît réponder
Posté par: Foo le 22 Juillet 2010, 00:27:03
Remplace ton forward par forward Radioanimouais(playerid);
Titre: Re : Questions s'il vous plaît réponder
Posté par: Leonidas300 le 22 Juillet 2010, 00:41:02
sa marche toujours pas, IG sa le fait à l'infinis
ou est le PB svp
Titre: Re : Questions s'il vous plaît réponder
Posté par: Leonidas300 le 22 Juillet 2010, 00:53:50
Ben c'est sa non

Code: (pawn) [Sélectionner]
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
je l'ai bien mise..

Double post
EDIT : j'ai trouvé un solution ( LA COMMANDE IG /VIRERRADIO RETIRE BIEN LA RADIO )

Code: (pawn) [Sélectionner]
           

la la fin du /r

 for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(PlayerInfo[i][pFreq] == PlayerInfo[playerid][pFreq])
    {
                    SetPlayerSpecialAction(i, SPECIAL_ACTION_USECELLPHONE);
        format(string, sizeof(string), "[Radio]%s %s dit: %s", rtext, sendername, result);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
format("/virerradio");//la on va faire croire au serveur que le joueur tape /login sonpasse
                    return OnPlayerCommandText(playerid);// on retourne la reponse dans la callback OnPlayerText ^^
}
}
format(string, sizeof(string), "[Radio]%s dit: %s", sendername, result);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
return 1;
}
if(strcmp(cmd, "/virerradio", true) == 0)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
return 1;
}


et voila le bug c que IG sa radio reste dans sa main :s et quand on tappe /R sa met bien le /r suivis d'un UNKOWN commande et d'un specplayer [id]

         format("/virerradio");//la on va faire croire au serveur que le joueur tape /virerradio
                    return OnPlayerCommandText(playerid);// on retourne la reponse dans la callback OnPlayerText