GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: imerdu91 le 29 Mai 2010, 13:48:41

Titre: Limite de texte In game
Posté par: imerdu91 le 29 Mai 2010, 13:48:41
Bonjour chers Scripteur/Joueurs.
Voila depuis quelques mois maintenant, j'ai ouvert un serveur sur la base du LARp, je l'ai entièrement refait a mon goût etc, sa n'a rien d'une copie simple et j'ai énormément appris en SA:MP avant de commencer.
Mais maintenant une question importante me vient:
Lorsqu'on écrit il y a un certain moment ou on ne voit plus se qu'on écrit puisque une sorte de limite est dépasser.
Mais cette limite est plus petite que d'autre serveur donc je pense qu'on peut l'agrandir voir mettre un retour a la ligne quand c'est trop long, j'ai essayer de chercher et de comprendre mais sans fin.

Donc je me tourne vers vous pour savoir si vous savez comment augmenter la limite ou faire un retour a la ligne.

Merci d'avance et bon jeu.
Titre: Re : Limite de texte In game
Posté par: Ssk le 29 Mai 2010, 18:14:06
Augmente la taille de la variable qui reçoit le texte que tu formate =)
Titre: Re : Limite de texte In game
Posté par: imerdu91 le 29 Mai 2010, 23:41:11
J'ai limite envie de dire que tu me parle en langage codé :p

Non sérieux, je pense savoir se que tu veut dire mais je ne sait pas quel est cette variable, esque String[256] peut etre en rapport avec sa ?
des fois je voit log[36] des truc comme sa.
Titre: Re : Limite de texte In game
Posté par: Ssk le 30 Mai 2010, 00:23:34
Donne nous ton OnPlayerText(playerid,text[])
Titre: Re : Limite de texte In game
Posté par: imerdu91 le 30 Mai 2010, 13:08:53
Début
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;

Fin, la il s'agit de quand le joueur parle dans le jeu
if (realchat)
{
    if(gPlayerLogged[playerid] == 0)
    {
        return 0;
      }
GetPlayerName(playerid, sendername, sizeof(sendername));
if(!IsPlayerInAnyVehicle(playerid))
{
if(PlayerInfo[playerid][pMaskuse] == 1)
{
format(string, sizeof(string), "Etrangé dit: %s", text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
SetPlayerChatBubble(playerid,text,COLOR_WHITE,35.0,2500);
}
else if(bailloner[playerid] == 1)
            {
                format(string, sizeof(string), "%s Dit: Hmmmmm hmmmmmm mmmmm", sendername);
ProxDetector(10.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
            }
else
{
    format(string, sizeof(string), "%s dit: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
}
else
{
    new carid = GetPlayerVehicleID(playerid);
    new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
    if(IsABike(carid) || IsAOBike(carid) || IsAPizzabike(carid) || IsAPlane(carid) || IsABoat(carid) || IsASweeper(carid) || IsAHarvest(carid) || IsADrugHarvest(carid) || IsATank(carid) || pveh == 523 || pveh == 480 || pveh == 567 || pveh == 533 || pveh == 555 || pveh == 539 || pveh == 572 || pveh == 571 || pveh == 530 || pveh == 457 || pveh == 575 || pveh == 536 || pveh == 424)
    {
        if(PlayerInfo[playerid][pMaskuse] == 1)
{
format(string, sizeof(string), "Etrangé dit: %s", text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
SetPlayerChatBubble(playerid,text,COLOR_WHITE,35.0,2500);
}
    else if(bailloner[playerid] == 1)
                {
                    format(string, sizeof(string), "%s Dit: Hmmmmm hmmmmmm mmmmm", sendername);
    ProxDetector(10.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
                }
else
{
    format(string, sizeof(string), "%s dit: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
    }
    else
    {
    if(VehicleWindows[GetPlayerVehicleID(playerid)] == 0)
    {
    if(PlayerInfo[playerid][pMaskuse] == 1)
{
format(string, sizeof(string), "(Fenêtre Fermée) Etrangé dit: %s", text);
ProxDetector(10.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
else if(bailloner[playerid] == 1)
                    {
                        format(string, sizeof(string), "(Fenêtre fermée) %s Dit: Hmmmmm hmmmmmm mmmmm", sendername);
        ProxDetector(3.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);

                    }
else
{
    format(string, sizeof(string), "(Fenêtre Fermée) %s dit: %s", sendername, text);
    ProxDetector(10.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
}
else
{
    if(PlayerInfo[playerid][pMaskuse] == 1)
{
format(string, sizeof(string), "(Fenêtre Ouverte) Etrangé dit: %s", text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
SetPlayerChatBubble(playerid,text,COLOR_WHITE,35.0,2500);
}
else if(bailloner[playerid] == 1)
                    {
                        format(string, sizeof(string), "(Fenêtre ouverte) %s Dit: Hmmmmm hmmmmmm mmmmm", sendername);
                ProxDetector(10.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
                SetPlayerChatBubble(playerid,text,COLOR_WHITE,35.0,2500);
                    }
else
{
    format(string, sizeof(string), "(Fenêtre Ouverte) %s dit: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
}
}
}
return 0;
}
return 1;
}

Escusez moi pour la longueur, j'avoue n'avoir pas pris le temp de le mette sur un pastebin.

J'espere qu'il y a se don tu a besoin
Titre: Re : Limite de texte In game
Posté par: Ssk le 30 Mai 2010, 13:10:21
Augmente la taille de string
Titre: Re : Limite de texte In game
Posté par: BuBuNo le 30 Mai 2010, 13:14:01
le mieux ces de faire un retour a la ligne car sa permet a ce qui sont en petite résolution comme moi de voir le message.

Mais bon moi ce que j'avait fait pour mon RRace n'est pas super :s
Titre: Re : Limite de texte In game
Posté par: cristab le 30 Mai 2010, 13:16:33
le new string est a 256 sa sert a rien ni de l'augmenter ni qu'il soit a 256 car le chat il me semble est limiter a 140 caractere il me semble
Titre: Re : Limite de texte In game
Posté par: imerdu91 le 30 Mai 2010, 23:52:07
Pourtant beaucoup d'autre serveur ont une limite de ligne qui va beaucoup plus loin,
Je vais essayer d'augmenter et je vous en dirait des nouvelle ;)
Titre: Re : Limite de texte In game
Posté par: cristab le 31 Mai 2010, 10:06:47
je ne voit pas comment cela est possible a moin de cree ton propre chat avec un TD
Titre: Re : Limite de texte In game
Posté par: BuBuNo le 31 Mai 2010, 12:17:04
moi j'avait fait sa pour mon RRace :
for(new j=0;j<50;j++)
{
if(j == 12||j == 25||j == 35)
{
                format(CInfo,sizeof(CInfo), "%s\n%s",Info,strtok(templine,i));
}
else
{
format(CInfo,sizeof(CInfo), "%s %s",Info,strtok(templine,i));
}
}
en sachant que je recuperais la description de la course dans le fichier de la course :P
Titre: Re : Limite de texte In game
Posté par: cristab le 31 Mai 2010, 12:39:37
il parle de la callback OnPlayerText
Titre: Re : Re : Limite de texte In game
Posté par: Bayshore le 31 Mai 2010, 16:26:16
Pourtant beaucoup d'autre serveur ont une limite de ligne qui va beaucoup plus loin,
Je vais essayer d'augmenter et je vous en dirait des nouvelle ;)

Non c'est impossible, même le client est limité à 128 caractères.