GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Azz45 le 09 Juin 2009, 23:05:17
-
Cette après midi, j'ai touché a mon RPG que je suis en train de faire à partir de 0, et je m'aperçois que le T fonctionne plus, c'est à dire que quand je parle je vois rien mais dans la console je vois !
Help me please...
Azz 8)
-
Alors ça c'ets fort! car jme connectais pour poster un message avec le meme bug, pourtant j'ai pas toucher au chat que se passe t'il ? et comment regler ça?
-
Salut, montre ton code sa doit venir de "OnPlayerText" je pense.
-
Salut,
je crois plutôt que le problème est côté client. N'aurais tu pas supprimé un/des fichiers dans le dossier d'installation de Sa-mp /GTA:SA (genre une image nommée dxutgui.png)
++Sim++
-
Ben moi j'avais eu sa et c'étais au niveau du 'return' du 'OnPlayerText' enfin sa fait longtemps. ;D
-
Salut,
oh oui désolé,
'ai mal compris sont problème, pour moi la barre pour écrire le texte lui était invisible....
effectivement, il doit remplacer le return
PS. le return 0 cause ce problème
++Sim++
-
voici le code (enfin je sais pas si j'ai bien compris si ct ce code la
public OnPlayerText(playerid, text[])
{
new giver[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new tmp[256];
new string[256];
new giveplayerid;
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Tu ne peux plus parler tu as été réduit au silence");
return 0;
}
if(SelectChar[playerid] == 255)
{
new idx;
tmp = strtok(text, idx);
if ((strcmp("next", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("next")))
{
switch (SelectCharID[playerid])
{
-
EDIT : Problème résolu, ça venait de l'include de Fred.. donc je vais essayer de régler le soucis.
car quand je met l'include de fredo, sa me modifie mon textdraw au début, et sa bug mon T une solution ?
Azz 8)
-
Pour le textdraw j'voit pas, pour le t ta bien mit 'if(Script_OnPlayerText(playerid, text)) return 0;' dans ta callback OnPlayerText ?
J'vais faire des ptit test voir d'ou peux venir le blem mais jusqua mtn j'avait jamais eu de prob :s
-
Je l'utilise en FS donc pas besoin si ?!
Azz 8)
-
A oué en FS pas besoin, j'vais reg alor pour ton blem en FS j'vais faire des test pour le script en FS j'te tient au courant
-
hu hu j'ai pas compris qqun pourai m'aider? moi je l'utilise en FS, et mon texte ne 'ssaffiche tout de meme pas, :s Help
-
Fredo, merci tiens moi au courant ou peut être que sa vien de mon text draw ? Mais je ne pense pas..
Ps: Topic ci dessus, ne pourrit pas mon topic pour rien, Merci.
Azz 8)
-
bah az tu crois quoi je vais refaire un topics avec le meme probleme? non plutot tout faire un un -_-
-
Fredo laisse tombé, c'est mon textdraw qui est buggé.
forward DestroyTextTimer(Text:text);
public OnPlayerConnect(playerid)
{
new Text: gText; // texte global
new Text:text = TextDrawCreate(130.0, 120.0,"~y~ AIDE ~n~~y~~n~~g~~n~-Pour se creer un compte => /register MDP~n~~n~~y~~n~~g~-Pour se loggue => /login MDP~n~~y~~n~~r~~n~-Une fois votre compte, cree lisez /but et /regles~n~~n~~y~~n~~w~-Pour contactez un admin veuillez utiliser le forum~n~~n~~y~-Pour de l'aide sur le serveur, taper /aide");
TextDrawUseBox(text, 1);
TextDrawBoxColor(text, 0x000000AA);
TextDrawTextSize(gText, 450.0, 10.0);
TextDrawFont(text, 0);
TextDrawSetShadow(text,1);
TextDrawSetOutline(text,1);
TextDrawBackgroundColor(text,0x000000FF);
TextDrawColor(text,0xFFFFFFFF);
TimeTextForPlayer(playerid,text,20000);
printf("OnPlayerConnect(%d)", playerid);
new string[256];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "Bienvenue %s, rèspecte les règles.", playername);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
TimeTextForPlayer(playerid, Text:text, time)
{
TextDrawShowForPlayer(playerid,text);
SetTimerEx("DestroyTextTimer",time,40000,"i",_:text); // Timer pour la déstruction !
return 1;
}
public DestroyTextTimer(Text:text)
{
TextDrawDestroy(text);
return 1;
}
Je vois pas ce qui cause problème !
Azz 8)
-
Si c'est un textdraw qui ne change pas selon les joueur tu doit le cree dans OnGameModeInit et ensuite l'aficher pour le joueur avec TextDrawShowForPlayer et le cacher avec TextDrawHideForPlayer sinon a chaque connection sa va cree un textdraw et sa va causer des probleme
-
leptiroman : envoie toute la fonction "OnPlayerText" la il n'y a pas tout.
-
Hmm, ok j'y arrive pas, sa me cause un autre soucis..
Sa se trouve je l'ai mal fait mais bon ..
Azz 8)
-
Salut,
tu dois simplement faire comme l'a dit Mr Fredo
Tu crée et arrange ton TextDraw dans OnGameModeInit() :
new Text:Variable;
public OnGameModeInit()
{
Variable = TextDrawCreate(....)
....//tu défini les différents paramètres du textdraw
return 1;
}
PS. Si tu l'utilise dans un FS, la callback a utiliser est plutôt OnFilterScriptInit()
Puis il ne te reste qu'à montrer ce textdraw au joueur au moment désiré (à la connexion?)
public OnPlayerConnect(playerid)
{
TextDrawShowForPlayer(playerid, Variable);
//le reste de ta callback
return 1;
}
et le cacher lorsque le joueur se déconnecte ( ou un autre moment selon ton désir)
public OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, Variable);
//reste de ta callback
return 1;
}
voilà en espérant que le tout soit clair
++Sim++
-
Niquel j'ai réussi, à lock.
Merci a ceux qui m'ont aidé !
Azz 8)