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
-
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 ! ::)
-
gné ? ;D
Désolé mais moi j'aurai besoin d'aide pour faire des DM :D
-
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
-
et moi xD
-
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
-
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
-
Merci pour les Dm :-[
-
Ya pas de quoi ;)
++
nikko
-
Un conseil pour les bouts de code, utilisez le pastebin (http://pastebin.gtaonline.fr/pastebin.php) pour une meilleur lisibilité des codes. ;)
-
Ok la prochaine fois j'y penserai. A vrai dire je n'ai jamais utilisé le pastebin. xD
++
nikko
-
Oula faut que tu me resplique parce que la !!... ???
-
Oula faut que tu me resplique parce que la !!... ???
Moi ???
-
oui , j'ai pas du tous compris !!! :wall
-
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 ;)
-
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.
-
sil vous plaiz aider moi mon serveur est hs la ! :wall :wall >:(
-
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
-
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 !
-
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 ...
-
Oui biensur j'arrete de vous emmerder :lock
-
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 ... ;)
-
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
-
va si montre moi tes lignes... ;)
-
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
-
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
-
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.
-
ajoute aussi des "S" partout ou tu as
SetPlayerPos(playerid, PlayerReSpawn[rand][0],PlayerReSpawn[rand][1],PlayerReSpawn[rand][2]);
-
ok je test
ok , merci s'etais sa et pour plusieur dm je rajoute komment ?
-
A ton avis ;)
-
nOn ?
-
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
-
Faut donner différents nom aux dm et recommencer la commande.... enfin jpense
++
nikko
-
OU OU AIDEZ MOIIIII SVP
-
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++
-
merci bien staff man oui s'est pas compliquer .. quand on s'est ! lol allez je test sa tento et encore merci