• 28 Mars 2024, 10:15:58


Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Ludo43

Pages: [1] 2 3 ... 9
1
Ah ok, merci de m'avoir éclairer ;)

Double post
Désolé du double post mais j'ai également une seconde question, à quoi sert à l'incrémentation, j'ai lu plusieurs tuto notamment celui de Gilux mais je n'ai toujours pas compris...

Merci de vos explications :)

2
Salut,

Voilà que cela fait quelques semaines que je script, je rencontre souvent des codes de ce type & je ne comprends pas très bien la signification, merci de me la signifier.

for(new i = 0; i <= MAX_PLAYERS; i++)
@ Bientôt.

3
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.

4
Petit UP :( toujours bloqué, Merci :D

5
Ok mais je comprends pas pourquoi tu postes ici :s

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

Merci.

6
???

7
Ok merci mais ... ^^

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

Si oui, comment faut-il faire ?

Encore merci de ton aide.

8
Ma commande /map2 correspond au nombre de vote donc rien à voir.

Sinon tu me conseilles quoi pour l'intérieur ?

9
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.

10
Scripting SA-MP [Pawn center] / Re : [DEMANDE] GM RP 0.3D
« le: 03 Janvier 2012, 19:04:55 »
Commence surtout par essayer de scripter autre chose d'autre qu'un RolePlay si tu ne veux pas être dégouter immédiatement par le pawn x)

11
Ok merci, je vais essayer de faire mon truc, je vous tient au courant.

12
Bonsoir à tous,

Comme vous le savez je suis entrain de réaliser le script d'un derby, j'ai déjà pas mal avancer mais avant d'en faire un peu plus, j'aimerais avoir votre avis. J'ai réaliser mon derby sur une base que je me suis inspiré, je l'ai modifié, j'ai réussi à créer une première map à mélanger pas mal de choses. Maintenant je voudrais en créer une deuxième, et là ceci s'avère un peu plus compliquer. Je vais donc poster ci-dessous les codes qui sont en relation avec le derby en lui même, je vous demanderais donc de m'expliquer ce qu'il faut réellement changer pour avoir une seconde map. J'ai déjà pas mal insister mais malheureusement les erreurs apparaissent, je préfère demander sur votre forum car j'ai eu déjà pas mal de réponses qui m'ont bien avancés & permit l'avancement de mon GameMode.

PS : Pour les positions des véhicules, notez leur position XYZ je comprendrais.

Voici donc mon code :



new playerinminigame[MAX_PLAYERS];
new bloodring[16],derbyon,derbyplaying,playercarid[MAX_PLAYERS],playerinderby[MAX_PLAYERS],derbyrank,reward,bloodringfull[15],playerinbloodring[MAX_PLAYERS];

forward Spawnbloodrings();
forward Destroybloodrings();
forward Respawnbloodrings();
forward StartDerby();

new Float:derbycars[15][4] = {
{-1362.9799,932.8219,1036.0580,9.0890}, // 0
{-1346.4526,935.4996,1036.0889,13.6811}, // 1
{-1335.6995,938.2600,1036.1177,16.8043}, // 2
{-1320.8756,944.9904,1036.2062,27.0307}, // 3
{-1306.8385,953.5919,1036.3212,37.8366}, // 4
{-1353.9670,934.0486,1036.2421,11.5836}, // 5
{-1328.6377,941.0197,1036.3208,18.9670}, // 6
{-1313.9012,948.6513,1036.4198,29.5596}, // 7
{-1501.0956,960.3203,1036.9474,313.0457}, // 8
{-1506.8105,968.1082,1037.0840,304.3027}, // 9
{-1513.0317,976.8713,1037.2457,301.9500}, // 10
{-1516.0858,988.2343,1037.4362,274.5044}, // 11
{-1517.6569,995.6628,1037.5626,272.2782}, // 12
{-1515.1127,1004.8807,1037.6969,262.3869}, // 13
{-1510.7020,1014.6202,1037.8568,249.1825} // 14
};

public OnFilterScriptExit()
{
    Destroybloodrings();
    return 1;
}

public OnGameModeExit()
{
    Destroybloodrings();
    return 1;
}

public OnPlayerConnect(playerid)
{
playerinminigame[playerid] = 0;
playercarid[playerid] = -1;

playerinderby[playerid] = 0; // Derby
playerinbloodring[playerid] = -1;
return 1;
}

{
    new string[256];
if(playerinderby[playerid] == 1)
{
   new DerbyPlayerName[MAX_PLAYER_NAME];
   GetPlayerName(playerid, DerbyPlayerName, sizeof(DerbyPlayerName));
format(string, sizeof(string), "%s a abandonné le derby en cours , rank : %d", DerbyPlayerName, derbyrank);
SendClientMessageToAll(0x33AA33AA, string);
playerinderby[playerid] = 0;
playerinminigame[playerid] = 0;
bloodringfull[playerinbloodring[playerid]] = 0;
playerinbloodring[playerid] = -1;
if(derbyrank <= 2)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i) && playerinderby[i] == 1)
{
   new winnername[256];
GetPlayerName(i,winnername, sizeof(winnername));
RewardCalc(i,100,1000);
format(string, sizeof(string), "%s remporte la somme de $%d", winnername, reward);
SendClientMessageToAll(0x33AA33AA, string);
GivePlayerMoney(i,reward);
playerinderby[i] = 0;
playerinminigame[i] = 0;
SetPlayerVirtualWorld(i,0);
SetPlayerInterior(playerid, 0);
SetPlayerPos(i, spawnX, spawnY, spawnZ);
}
}
   derbyplaying = 0;
   derbyrank = 0;
   derbyon = 0;
   KillTimer(dtimer);
    Respawnbloodrings();
    return 1;
}
derbyrank--;
}
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    new string[256];
if(playerinderby[playerid] == 1)
{
   new DerbyPlayerName[MAX_PLAYER_NAME];
   GetPlayerName(playerid, DerbyPlayerName, sizeof(DerbyPlayerName));
format(string, sizeof(string), "%s a été expulsé du derby pour kill, rank: %d", DerbyPlayerName, derbyrank);
SendClientMessageToAll(0x33AA33AA, string);
playerinderby[playerid] = 0;
playerinminigame[playerid] = 0;
bloodringfull[playerinbloodring[playerid]] = 0;
playerinbloodring[playerid] = -1;
if(derbyrank <= 2)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i) && playerinderby[i] == 1)
{
   new winnername[256];
GetPlayerName(i,winnername, sizeof(winnername));
RewardCalc(i,100,1000);
format(string, sizeof(string), "%s vient de gagner la somme de $%d", winnername, reward);
SendClientMessageToAll(0x33AA33AA, string);
GivePlayerMoney(i,reward);
playerinderby[i] = 0;
playerinminigame[i] = 0;
SetPlayerVirtualWorld(i,0);
SetPlayerInterior(playerid, 0);
SetPlayerPos(i, spawnX, spawnY, spawnZ);
}
}
   derbyplaying = 0;
   derbyrank = 0;
   derbyon = 0;
   KillTimer(dtimer);
    Respawnbloodrings();
    return 1;
}
derbyrank--;
}
return 1;
}

if(strcmp(cmd, "/derby", true) == 0) // Là je vais créer /derby2 pour la 2eme map
{
   if(derbyplaying == 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(derbyon == 0)
   {
       derbyon = 1;
       playerinminigame[playerid] = 1;
       playerinderby[playerid] = 1;
       derbyrank = 1;
       SetPlayerInterior(playerid,15);
       SetPlayerVirtualWorld(playerid,7);
       SetVehicleVirtualWorld(bloodring[0],7);
       bloodringfull[0] = 1;
       PutPlayerInVehicle(playerid, bloodring[0], 0);
       playerinbloodring[playerid] = 0;
       TogglePlayerControllable(playerid, 0);
       startvar[0] = 1;
       dtimer = SetTimer("StartDerby", 60000, 0);
         format(string, sizeof(string), "%s a lancé le derby vous avez une minute pour le rejoindre /join", pname);//
SendClientMessageToAll(0x33AA33AA,string);
return 1;
   } else if(derbyon == 1 && derbyrank < 15) {
       playerinminigame[playerid] = 1;
       playerinderby[playerid] = 1;
       derbyrank++;
       SetPlayerInterior(playerid,15);
       for(new i=0; i<15; i++)
     {
    if(bloodringfull[i] == 0)
    {
       SetPlayerVirtualWorld(playerid,7);
       SetVehicleVirtualWorld(bloodring[i],7);
       bloodringfull[i] = 1;
       PutPlayerInVehicle(playerid, bloodring[i], 0);
       TogglePlayerControllable(playerid, 0);
       playerinbloodring[playerid] = i;
       format(string, sizeof(string), "%s a rejoind le derby", pname);//
SendClientMessageToAll(0x33AA33AA,string);
return 1;
    }
}
   } else if(derbyon == 1 && derbyrank >= 15) {
   format(string, sizeof(string), "Le derby est plein , veuillez patientez", pname);//
   SendClientMessage(playerid,0x33AA33AA,string);
   return 1;
   }
}
return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == 2)
{
playercarid[playerid] = GetPlayerVehicleID(playerid);
}
if(oldstate == 2)
{
if(playerinderby[playerid])
{
PutPlayerInVehicle(playerid,playercarid[playerid],0);
}
}
return 1;
}

public Spawnbloodrings()
{
    for(new i=0; i<15; i++)
    {
bloodring[i] = CreateVehicle(504,derbycars[i][0],derbycars[i][1],derbycars[i][2],derbycars[i][3],-1,-1,-1);
LinkVehicleToInterior(bloodring[i],15);
SetVehicleVirtualWorld(bloodring[i],1);
   bloodringfull[i] = 0;
}
return 1;
}

public Destroybloodrings()
{
    for(new i=0; i<15; i++)
    {
     DestroyVehicle(bloodring[i]);
     bloodringfull[i] = 0;
    }
}

public Respawnbloodrings()
{
for(new i=0; i<15; i++)
{
   SetVehicleToRespawn(bloodring[i]);
   SetVehicleVirtualWorld(bloodring[i],1);
   bloodringfull[i] = 0;
}
}

public load()
{
Spawnbloodrings();
return 0;
}

Voilà, merci énormément de votre aide. C'est la dernière grande étape de mon gamemode, je vous demande seulement par précaution, j'ai réellement chercher avant de vous demander.

Merci & Bonnes fêtes & bonnes rentrées aux Etudiants.

13
Scripting SA-MP [Pawn center] / Re : Problème de Timer
« le: 02 Janvier 2012, 19:27:54 »
Merci beaucoup, encore & encore une fois, le problème est résolu.

@ bientôt.

14
Marque Réglé dans le titre, cela facilitera la tâche des admins ;)

15
Aurez tu un code à nous faire part ?

Pages: [1] 2 3 ... 9