GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: lepompier le 24 Avril 2008, 20:31:25

Titre: dm
Posté par: lepompier le 24 Avril 2008, 20:31:25
bonsoir j'aurai besoin d'aide j'ai fait des dm mais je voudrai que quand on tape /dm1 par ex que le joueur se TP a un endroit et puis si un dexieme joueur entre la cmd /dm1 il soit TP a un autre endroit que le joueur 1 et pareil quand on meurt merci a vous !   ::)
Titre: Re : dm
Posté par: MaDGhOsT le 24 Avril 2008, 20:42:44
gné ?  ;D
Désolé mais moi j'aurai besoin d'aide pour faire des DM  :D
Titre: Re : dm
Posté par: Nikko™ le 24 Avril 2008, 20:50:22
Bon pour toi madghost, jai quelques DM:

  //------------------- / Stadium's Exit's
 
if(strcmp(cmd, "/stadiumexit", true) == 0) {
SpawnPlayer(playerid);
SendClientMessage(playerid, COLOR_RED, "You have successfully left the Stadium!");
return 1;
}

  //------------------- / Oval Stadium In

if(strcmp(cmd, "/stadium", true) == 0) {
SetPlayerInterior(playerid, 1);
SetPlayerPos(playerid, -1402.6613, 106.3897, 1032.2734);
SendClientMessage(playerid, COLOR_RED, "Welcome to the Oval Stadium!");
SendClientMessage(playerid, COLOR_RED, "Type /stadiumexit to leave the Stadium!");
return 1;
}

  //------------------- / 8-Track Stadium In - 2

if(strcmp(cmd, "/stadium2", true) == 0) {
SetPlayerInterior(playerid, 7);
SetPlayerPos(playerid, -1403.0116, -250.4526, 1043.5341);
SendClientMessage(playerid, COLOR_RED, "Welcome to the 8-Track Stadium!");
SendClientMessage(playerid, COLOR_RED, "Type /stadiumexit to leave the Stadium!");
return 1;
}

  //------------------- / Kickstart Stadium In - 3

if(strcmp(cmd, "/stadium3", true) == 0) {
SetPlayerInterior(playerid, 14);
SetPlayerPos(playerid, -1420.4277, 1616.9221, 1052.5313);
SendClientMessage(playerid, COLOR_RED, "Welcome to the Kickstart Stadium!");
SendClientMessage(playerid, COLOR_RED, "Type /stadiumexit to leave the Stadium!");
return 1;
}

  //------------------- / Blood Bowl Stadium In - 4

if(strcmp(cmd, "/stadium4", true) == 0) {
SetPlayerInterior(playerid, 15);
SetPlayerPos(playerid, -1417.8927, 932.4482, 1041.5313);
SendClientMessage(playerid, COLOR_RED, "Welcome to the Blood Bowl Stadium!");
SendClientMessage(playerid, COLOR_RED, "Type /stadiumexit to leave the Stadium!");
return 1;
}

  //------------------- / Dirtbike Stadium In - 5

if(strcmp(cmd, "/stadium5", true) == 0) {
SetPlayerInterior(playerid, 4);
SetPlayerPos(playerid, -1421.5618, -663.8262, 1059.5569);
SendClientMessage(playerid, COLOR_RED, "Welcome to the Dirtbike Stadium!");
SendClientMessage(playerid, COLOR_RED, "Type /stadiumexit to leave the Stadium!");
return 1;
}

  //------------------- / Vice Stadium In - 6

if(strcmp(cmd, "/stadium6", true) == 0) {
SetPlayerInterior(playerid, 16);
SetPlayerPos(playerid, -1401.067, 1265.3706, 1039.8672);
SendClientMessage(playerid, COLOR_RED, "Welcome to the Vice Stadium!");
SendClientMessage(playerid, COLOR_RED, "Type /stadiumexit to leave the Stadium!");
return 1;
}

Voila  ;)

++
nikko
Titre: Re : dm
Posté par: lepompier le 24 Avril 2008, 20:59:40
et moi xD
Titre: Re : dm
Posté par: Nikko™ le 24 Avril 2008, 21:05:08
Bah aussi pour toi mais je ne suis pas arrivé a repondre a ta question ...  ;D
Il y a d'autres dm je pense mais je ne les connait pas tous dsl

++
nikko
Titre: Re : dm
Posté par: rivoal29 le 24 Avril 2008, 21:21:52
moi j'te donne la prosédure a suivre pour faire mais pas de code je suis pas motiver aprés ma journée

Si t'arive pas j'te donnerait demain ou au maximum aprés-demain
Bon... aller ji ver !!! 8)

en premier faut faire 2 variable
dmp[MAX_PLAYERS]
et... eu
dmpp(sans rien la)


aprés dans le dm

dans ta commande pour ta téléportation

tu met un

if(dmpp == 0 ) //si ya persone dans le dm
{
//le setplayerpos ici
dmpp = 1;    //youpi quel qu'un
dmp[playerid]=1;// pour savoir ou le player va aterir a sa mort taleur
}
...
..
.
et a la fin par exemple t'en mer que quatre
if(dmpp == 3 ) //le 0 conte donc 0 1 2 3 ya quatre nombre !
{
dmpp = 0; on met sa a 0 on va pas faire infinity de position ...
dmp[playerid]=4;/ 4eme pos !
}


aprés pour la mort dans OnPlayerDeath ( un truc du genre )

if(dmp[playerid] == 1) // si le joueur est au dm et a atéri a sa 1er pos
{
//le setplayerpos de sa 1er pos
// un message si tu ve ...
}
if(dmp[playerid] == 2) // 2eme pos
{
...
..
.
ect
la dans exemple ya quatre donc 4 pos !

aprés quand le joueur quitte le dm

tu rajoute que un dmp[playerid] = 0;

Voilla

Code non-tester

Titre: Re : dm
Posté par: MaDGhOsT le 24 Avril 2008, 21:32:43
Merci pour les Dm  :-[
Titre: Re : dm
Posté par: Nikko™ le 24 Avril 2008, 21:34:43
Ya pas de quoi  ;)

++
nikko
Titre: Re : dm
Posté par: Micka le 24 Avril 2008, 23:57:48
Un conseil pour les bouts de code, utilisez le pastebin (http://pastebin.gtaonline.fr/pastebin.php) pour une meilleur lisibilité des codes. ;)
Titre: Re : dm
Posté par: Nikko™ le 25 Avril 2008, 07:08:05
Ok la prochaine fois j'y penserai. A vrai dire je n'ai jamais utilisé le pastebin. xD

++
nikko
Titre: Re : dm
Posté par: lepompier le 25 Avril 2008, 11:25:38
Oula faut que tu me resplique parce que la !!...  ???
Titre: Re : Re : dm
Posté par: rivoal29 le 25 Avril 2008, 12:59:42
Oula faut que tu me resplique parce que la !!...  ???

Moi ???
Titre: Re : dm
Posté par: lepompier le 25 Avril 2008, 13:46:18
oui , j'ai pas du tous compris !!!   :wall
Titre: Re : dm
Posté par: [StAfF]MaN le 25 Avril 2008, 14:18:04
Alors en faite lepompier, tu veut des spawns différents a l'entrée et au respawn.... C'est pas bien compliqué ;)

En haut de ton script :


new DM[MAX_PLAYERS];

toujours en haut :

new Float:PlayerExitDM[8][3] = { //le 8 c le nombre de spawn diferent
{-1973.8761,306.6018,35.1719}, // c les coord du spawn X, Y, Z
{-1985.7239,95.1249,27.6799},
{2109.5410,2207.6575,10.8203},                    // après tu mets tes valeurs a toi
{2500.1804,2126.3611,10.8203},
{814.4354,-1609.0944,13.7167},
{763.2297,-1649.5553,4.7268},
{725.0118,-1478.0948,5.4688},
{-2808.8425,-1524.8247,140.8438}
};


new Float:PlayerReSpawns[8][3] = { //le 8 c le nombre de spawn diferent
{-1973.8761,306.6018,35.1719}, // c les coord du spawn X, Y, Z
{-1985.7239,95.1249,27.6799},
{2109.5410,2207.6575,10.8203},
{2500.1804,2126.3611,10.8203},
{814.4354,-1609.0944,13.7167},
{763.2297,-1649.5553,4.7268},
{725.0118,-1478.0948,5.4688},
{-2808.8425,-1524.8247,140.8438}
};

Après dans OnPlayerSpawn :

if(DM[playerid] == 1) // si ton Dm = n° de ton dm
    {
    new rand = random(sizeof(PlayerReSpawn));
    SetPlayerPos(playerid, PlayerReSpawn[rand][0],PlayerReSpawn[rand][1],PlayerReSpawn[rand][2]);// place le joueur au différents points de respawns ALEATOIREMENT
    GivePlayerWeapon(playerid, 29, 9999); // donne des armes quand le player meurt et qu'il respawn dans le DM
    GivePlayerWeapon(playerid, 34, 9999); // "           "
    SetPlayerArmour(playerid, 100); // donne aussi de l'armure
    }

Après dans ta commande de Dm
DM [playerid]= 1;
new rand = random(sizeof(PlayerReSpawn));
SetPlayerPos(playerid, PlayerReSpawn[rand][0],PlayerReSpawn[rand][1],PlayerReSpawn[rand][2]);// place le joueur au différents points de respawns ALEATOIREMENT
GivePlayerWeapon(playerid, 29, 9999); // donne des armes quand le player arrive dans le DM
GivePlayerWeapon(playerid, 34, 9999); // "           "
SetPlayerArmour(playerid, 100); // donne aussi de l'armure

suite de ta commande

Après dans la commande pour quitter ton Dm :

DM[playerid] = 0;
new rand = random(sizeof(PlayerExitDM));
SetPlayerPos(playerid, PlayerExitDM[rand][0],PlayerExitDM[rand][1],PlayerExitDM[rand][2]);

suite de ta commande, si tu veut laisser les armes et l'armure, etc...


Voila c'est a peut près ça ^^

A++ et bonne chance ;)
Titre: Re : dm
Posté par: lepompier le 26 Avril 2008, 11:03:46
Voila j'ai des erreur que j'arrive pas a corriger

C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1224) : error 017: undefined symbol "PlayerReSpawn"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : error 017: undefined symbol "PlayerReSpawn"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : warning 215: expression has no effect
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : error 001: expected token: ";", but found "]"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : error 029: invalid expression, assumed zero
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


aidez moi s'il vous plaiz

5 Errors.
Titre: Re : dm
Posté par: lepompier le 26 Avril 2008, 15:57:30
sil vous plaiz aider moi mon serveur est hs la ! :wall :wall >:(
Titre: Re : dm
Posté par: [StAfF]MaN le 26 Avril 2008, 16:55:27
Cherche un peut .... JE ne t'es pas dit de faire un copié coller non plus :s.... En plus ce sont des erreurs toutes bêtes, même TOI tu peut les réparer... :...

En plus si tu nous montre pas les lignes correspondantes xD
Titre: Re : dm
Posté par: lepompier le 26 Avril 2008, 17:24:44
cette ligne la SetPlayerPos(playerid, PlayerReSpawn[rand][0],PlayerReSpawn[rand][1],PlayerReSpawn[rand][2]);
et de deux j'ai pas copier coller ! vassy j'abandonne s'est pas grave !
Titre: Re : Re : dm
Posté par: Micka le 26 Avril 2008, 18:42:37
cette ligne la SetPlayerPos(playerid, PlayerReSpawn[rand][0],PlayerReSpawn[rand][1],PlayerReSpawn[rand][2]);
et de deux j'ai pas copier coller ! vassy j'abandonne s'est pas grave !
C'est pas en comptant sur les autres et crié haut et fort qu'on abandonne qu'on fait avancer les choses ...
Titre: Re : dm
Posté par: lepompier le 26 Avril 2008, 18:46:20
Oui biensur j'arrete de vous emmerder   :lock
Titre: Re : dm
Posté par: Micka le 26 Avril 2008, 18:49:09
Tu "emmerdes" personne, c'est un forum où tout le monde s'entraide et fait comprendre l'erreur mais pas pour donner des choses toutes faites ... ;)
Titre: Re : dm
Posté par: lepompier le 26 Avril 2008, 18:55:03
oui , ba j'y arrive pas et puis quand sa m'enerve j'arrete tous je vois pas tous sa vient il me reste que quatre erreur et puis paf
Titre: Re : dm
Posté par: [StAfF]MaN le 26 Avril 2008, 23:41:25
va si montre moi tes lignes... ;)
Titre: Re : dm
Posté par: lepompier le 27 Avril 2008, 10:23:53
voila les commandes :  aidez moi s'il vous plaiz j'ai recommencer 5 fois sans resultat   :wall

http://pastebin.gtaonline.fr/pastebin.php?show=427
Titre: Re : Re : dm
Posté par: rivoal29 le 27 Avril 2008, 11:21:59
Voila j'ai des erreur que j'arrive pas a corriger

C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1224) : error 017: undefined symbol "PlayerReSpawn"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : error 017: undefined symbol "PlayerReSpawn"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : warning 215: expression has no effect
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : error 001: expected token: ";", but found "]"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : error 029: invalid expression, assumed zero
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


aidez moi s'il vous plaiz

5 Errors.


C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1224) : error 017: undefined symbol "PlayerReSpawn"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1225) : error 017: undefined symbol "PlayerReSpawn"

rajoute un " S " a chaque " PlayerReSpawn " de ces lignes
Titre: Re : dm
Posté par: lepompier le 27 Avril 2008, 11:49:35
Oki je fais sa
non s'est pas sa


C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1248) : error 001: expected token: ",", but found "["
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1248) : error 029: invalid expression, assumed zero
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1248) : warning 215: expression has no effect
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1248) : error 001: expected token: ";", but found "]"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\urldm01c.pwn(1248) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
Titre: Re : dm
Posté par: [StAfF]MaN le 27 Avril 2008, 14:44:03
ajoute aussi des "S" partout ou tu as


SetPlayerPos(playerid, PlayerReSpawn[rand][0],PlayerReSpawn[rand][1],PlayerReSpawn[rand][2]);
Titre: Re : dm
Posté par: lepompier le 27 Avril 2008, 14:45:32
ok je test


ok , merci s'etais sa et pour plusieur dm je rajoute komment ?
Titre: Re : dm
Posté par: [StAfF]MaN le 27 Avril 2008, 15:13:40
A ton avis ;)
Titre: Re : dm
Posté par: lepompier le 27 Avril 2008, 15:38:56
nOn ?
Titre: Re : dm
Posté par: lepompier le 28 Avril 2008, 12:48:50
up aidez moi s'est la derniere question je vous embete plus apres je rajoute comment pour plusieur dm merci a vous tous de votre simpatis pour m'aidez merci
Titre: Re : dm
Posté par: Nikko™ le 28 Avril 2008, 22:05:30
Faut donner différents nom aux dm et recommencer la commande.... enfin jpense

++
nikko
Titre: Re : dm
Posté par: lepompier le 01 Mai 2008, 15:17:48
OU OU AIDEZ MOIIIII SVP
Titre: Re : dm
Posté par: [StAfF]MaN le 01 Mai 2008, 22:44:26
Bon allé.. Pour ajouter un DM tu fait :

En haut tu change :

new Float:TU MET AUTRE CHOSE[8][3] = { //le 8 c le nombre de spawn diferent        Si tu veut qu'il y est d'autre points de spawn a la sorti de ce DM   
{-1973.8761,306.6018,35.1719}, // c les coord du spawn X, Y, Z
{-1985.7239,95.1249,27.6799},
{2109.5410,2207.6575,10.8203},                    // après tu mets tes valeurs a toi
{2500.1804,2126.3611,10.8203},
{814.4354,-1609.0944,13.7167},
{763.2297,-1649.5553,4.7268},
{725.0118,-1478.0948,5.4688},
{-2808.8425,-1524.8247,140.8438}
};


new Float:TU MET AUTRE CHOSE[8][3] = { //le 8 c le nombre de spawn diferent
{-1973.8761,306.6018,35.1719}, // c les coord du spawn X, Y, Z
{-1985.7239,95.1249,27.6799},
{2109.5410,2207.6575,10.8203},
{2500.1804,2126.3611,10.8203},
{814.4354,-1609.0944,13.7167},
{763.2297,-1649.5553,4.7268},
{725.0118,-1478.0948,5.4688},
{-2808.8425,-1524.8247,140.8438}
};


Après dans OnPlayerSpawn :


if(DM[playerid] == 2) // Après le Dm 1, bah le 2 bien sur ^^
    {
    new rand = random(sizeof(CE QUE TU AS MIS POUR LE RESPAWN));
    SetPlayerPos(playerid, CE QUE TU AS MIS POUR LE RESPAWN[rand][0],CE QUE TU AS MIS POUR LE RESPAWN[rand][1],CE QUE TU AS MIS POUR LE RESPAWN[rand][2]);// place le joueur au différents points de respawns ALEATOIREMENT
    GivePlayerWeapon(playerid, 29, 9999); // donne des armes quand le player meurt et qu'il respawn dans le DM
    GivePlayerWeapon(playerid, 34, 9999); // "           "
    SetPlayerArmour(playerid, 100); // donne aussi de l'armure
    }


Après dans ta commande de Dm

DM [playerid]= 2; 2 puisque c'est le DM 2
new rand = random(sizeof(CE QUE TU AS MIS POUR LE RESPAWN));
SetPlayerPos(playerid, CE QUE TU AS MIS POUR LE RESPAWN[rand][0],CE QUE TU AS MIS POUR LE RESPAWN[rand][1],CE QUE TU AS MIS POUR LE RESPAWN[rand][2]);// place le joueur au différents points de respawns ALEATOIREMENT
GivePlayerWeapon(playerid, 29, 9999); // donne des armes quand le player arrive dans le DM
GivePlayerWeapon(playerid, 34, 9999); // "           "
SetPlayerArmour(playerid, 100); // donne aussi de l'armure

suite de ta commande


Après dans la commande pour quitter ton Dm :


DM[playerid] = 0;
new rand = random(sizeof(CE QUE TU SA A MIS POUR TON DEUXIEME QUITE DM (tu peut laisser le mm que le 1er)));
SetPlayerPos(playerid, CE QUE TU SA A MIS POUR TON DEUXIEME QUITE DM[rand][0],CE QUE TU SA A MIS POUR TON DEUXIEME QUITE DM[rand][1],CE QUE TU SA A MIS POUR TON DEUXIEME QUITE DM[rand][2]);

suite de ta commande, si tu veut laisser les armes et l'armure, etc...

C'est pas si complqué que ça lepompier ^^

a++
Titre: Re : dm
Posté par: lepompier le 02 Mai 2008, 12:19:08
merci bien staff man oui s'est pas compliquer .. quand on s'est ! lol allez je test sa tento et encore merci