GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Ludo43 le 03 Janvier 2012, 21:32:42

Titre: Problème TP - ne voyant plus la map.
Posté par: Ludo43 le 03 Janvier 2012, 21:32:42
Bonsoir à tous !

Après une bonne soirée de script, je reviens avec un question concernant mon derby. J'ai un problème, si une map est élue après un vote, lorsque je spawn dessus, aucune texture apparait, il doit me manquer quelque chose. Ce que je comprends pas si je remplace les résultats de mon vote par une simple commande "/map2" là je vois les textures...

J'avoue que je ne comprends pas toujours ^^.

Merci de vos réponses & merci de celui que je me suis inspiré.

voici le code :

  else if((Bvotes >= Cvotes) && (Cvotes >= Avotes))
{
            if(qderbyplaying == 1)
            {
                SendClientMessage(playerid, 0xB4B5B7AA, "Le derby est déjà lancé!");
                return 1;
            }
            if(playerinminigame[playerid] == 1)
            {
                SendClientMessage(playerid, 0xB4B5B7AA, "Vous êtes déjà dans un minigame");
                return 1;
            }
            new pname[256];
            GetPlayerName(playerid, pname, 256);
            if(qderbyon == 0)
            {
                Respawnqbloodrings();
                qderbyon = 1;
                playerinminigame[playerid] = 1;
                playerinqderby[playerid] = 1;
                qderbyrank = 1;
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid,7);
                SetVehicleVirtualWorld(qbloodring[0],7);
                qbloodringfull[0] = 1;
                PutPlayerInVehicle(playerid, qbloodring[0], 0);
                playerinqbloodring[playerid] = 0;
                TogglePlayerControllable(playerid, 0);
                startvar[3] = 1;
                qdtimer = SetTimer("StartqDerby", 60000, 0);
                format(string, sizeof(string), "%s vient de créer un derby fait /rejoindrederby pour le rejoindre!", pname);//
                SendClientMessageToAll(0x33AA33AA,string);
                return 1;
            } else if(qderbyon == 1 && qderbyrank < 15) {
                playerinminigame[playerid] = 1;
                playerinqderby[playerid] = 1;
                qderbyrank++;
                SetPlayerInterior(playerid,0);
                for(new i=0; i<15; i++)
                {
                        if(qbloodringfull[i] == 0)
                        {
                            SetPlayerVirtualWorld(playerid,7);
                            SetVehicleVirtualWorld(qbloodring[i],7);
                            qbloodringfull[i] = 1;
                            PutPlayerInVehicle(playerid, qbloodring[i], 0);
                            TogglePlayerControllable(playerid, 0);
                            playerinqbloodring[playerid] = i;
                            format(string, sizeof(string), "%s vient de rejoindre le derby", pname);//
                            SendClientMessageToAll(0x33AA33AA,string);
                            return 1;
                        }
                        }
            } else if(qderbyon == 1 && qderbyrank >= 15) {
                    format(string, sizeof(string), "Le derby est full !", pname);//
                    SendClientMessage(playerid,0x33AA33AA,string);
                    return 1;
            }
        }

Merci.
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: mehdi-jumper le 03 Janvier 2012, 22:09:51
C'est pas au niveau de l'interior? On peut voir ta commande /map2 ?
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ludo43 le 03 Janvier 2012, 22:18:19
Ma commande /map2 correspond au nombre de vote donc rien à voir.

Sinon tu me conseilles quoi pour l'intérieur ?
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ssk le 04 Janvier 2012, 13:52:02
C'est un bug qui survient seulement sur SA-MP je ne l'ai jamais compris.

Ce qu'il faut faire si le joueur se téléporte à la map avec un véhicule, il faire le faire descendre pour qu'il touche les objets puis remonter sur son véhicule.
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ludo43 le 04 Janvier 2012, 14:38:39
Ok merci mais ... ^^

"il faire le faire descendre" ?? Il faut le faire ?

Si oui, comment faut-il faire ?

Encore merci de ton aide.
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ssk le 04 Janvier 2012, 14:42:58
Tu téléporte le joueur puis quelque seconde après tu téléporte son véhicule et le met dans le véhicule.

Tu peux utiliser SetPlayerPos, GetPlayerVehicleID, GetPlayerPos, SetVehiclePos et SetTimerEx pour tout ça et normalement tu pourra régler ton problème.
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Interceptor le 04 Janvier 2012, 14:58:33
ou pas  :boulet
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ludo43 le 04 Janvier 2012, 15:23:22
???
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Interceptor le 04 Janvier 2012, 15:25:14
Ne te tracasses pas , c'est moi le  :boulet
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ludo43 le 04 Janvier 2012, 15:34:47
Ok mais je comprends pas pourquoi tu postes ici :s

Ssk, pourrais-tu m'aider en MP s'il te plait ?

Merci.
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ludo43 le 07 Janvier 2012, 06:02:39
Petit UP :( toujours bloqué, Merci :D
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ssk le 07 Janvier 2012, 12:03:27
Toujours bloqué ? montre ce que tu as essayé de codé et on te dira ce qui ne va pas
Titre: Re : Problème TP - ne voyant plus la map.
Posté par: Ludo43 le 07 Janvier 2012, 13:42:06
Bonjour,

Voici mon code :

   if(aderbyon == 0)
    {
       aderbyon = 1;
       aplayerinderby[playerid] = 1;
       aderbyrank = 1;
       SetPlayerInterior(playerid,17);
       SetPlayerVirtualWorld(playerid,7);
       SetVehicleVirtualWorld(abloodring[0],7);
       abloodringfull[0] = 1;
       PutPlayerInVehicle(playerid, abloodring[0], 0);
       aplayerinbloodring[playerid] = 0;
       TogglePlayerControllable(playerid, 0);
       startvar[0] = 1;
       dtimer = SetTimer("StartDerby", 3000, 0);
return 1;
    } else if(aderbyon == 1 && aderbyrank < 15) {
       playerinminigame[playerid] = 1;
       aplayerinderby[playerid] = 1;
       aderbyrank++;
       SetPlayerInterior(playerid,15);
       for(new i=0; i<15; i++)
                {
                        if(abloodringfull[i] == 0)
                        {
                            SetPlayerVirtualWorld(playerid,7);
                            SetVehicleVirtualWorld(abloodring[i],7);
                            abloodringfull[i] = 1;
                            PutPlayerInVehicle(playerid, abloodring[i], 0);
                            TogglePlayerControllable(playerid, 0);
                            aplayerinbloodring[playerid] = i;
                            return 1;
                        }
                        }
return 1;
    } // 2eme TRUC
    }

Et pour le TP des autres personnes :

public aStartDerby()
{
new delay = 1000;
new string[32];
if(startvar[0] == 1)
{
if( aderbyrank <= 1 )
{
   SendClientMessageToAll(0x33AA33AA, "Derby annulé , nombres de joueurs insuffisant. (minimum = 2)");
   aderbyplaying = 0;
   aderbyrank = 0;
   aderbyon = 0;
   startvar[0] = 0;
   aRespawnbloodrings();
    for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (aplayerinderby[i] == 1)
{
   aplayerinderby[i] = 0;
   aplayerinminigame[i] = 0;
   aplayerinbloodring[i] = -1;
SetPlayerVirtualWorld(i,0);
SetPlayerInterior(i, 0);
   SetPlayerPos(i, spawnX, spawnY, spawnZ);
   TogglePlayerControllable(i, 1);
}
}
}
   return 1;
}
format(string, sizeof(string), "~r~Ready");
aderbyplaying = 1;
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (aplayerinderby[i] == 1)
{
GameTextForPlayer(i, string, delay, 6);
PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
}
}
}
startvar[0] = 2;
SetTimer("StartDerby", delay, 0);
} else if(startvar[0] == 2) {
format(string, sizeof(string), "~r~Set");
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (aplayerinderby[i] == 1)
{
GameTextForPlayer(i, string, delay, 6);
PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
}
}
}
startvar[0] = 3;
SetTimer("StartDerby", delay, 0);
} else if(startvar[0] == 3) {
format(string, sizeof(string), "~g~RAM!");
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (aplayerinderby[i] == 1)
{
GameTextForPlayer(i, string, delay, 6);
PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
TogglePlayerControllable(i, 1);
}
}
}
startvar[0] = 0;
}
return 1;
}

EDIT : je crois que je viens de trouver une faille, je vous tient au courant ;)

Merci beaucoup de votre aide.