GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: [kx]axe13 le 03 Décembre 2008, 16:03:02
-
Bonjour / Re A Tous
Je Voudrai savoir si il existe un script pour que tous les jouer soit invincible des leur connection :P
Merci de vos Reponse a++
-
Oui il éxiste ce script . Il est principalement utilisé par les serveur stunt aussi .
Par contre lequel c'est ... ??? Attend la réponse d'un pro du script , d'ici peut tu en aura une . ;)
-
Ben il suffit pas de crée une fonction SetPlayerHealth qui reste constante .
-
Bah tu crée un timer qui se lance toutes les 500ms qui donne 100hp a tt le monde.
Ou tout simplement tu met SetPlayerHealt(playerid, 9999999999) a son spawn et normalement il est invincible...
++
nikko
-
Salut,
enfin presque nikko, il peut arriver parfois de petites exceptions, par exemple, dans un véhicule
si tu veut mettre tous les joueurs invincible, utilise ça, ou à peu près:
en haut de ton script:
new TimerInvincibilite;
forward Invincibilite();
dans ton OnGameModeinit()
TimerInvincibilite = SetTimer("Invincibilite",4000,1);//moins que 4 sec = inutile
puis à la fin:
public Invincibilite()
{
for(new i; i<GetMaxPlayers(); i++){
if(IsPlayerConnected(i)){
if(IsPlayerInAnyVehicle(i)){
SetVehicleHealth(GetPlayerVehicleID(i),50000);
}
SetPlayerHealth(i,50000);
}
}
}
P.S. ce code à été écrit sur le forum et n'a pas été testé...
++Sim++
-
il faut metre moin de 4 sec car si on saute d'un endroit assez haut, on meurt .. :-X
++
nikko
EDIT: Ah je n'avais pas vu que cété "5000" ..
-
salut,
je n,ai pas tester, mais je crois que peu importe le temps que tu mettra au timer, si tu tombe de haut avec 100 de vie, tu mourra, car ne serait ce que le temps que le serveur envoie l'info, le client a eu le temps de te faire mourrir....
j'ai pas osé mettre plus de 4 secondes vu le temps d'explosion des véhicules...
++Sim++
-
sauf si tu lui met 9999999999 de vie.
++
nikko
-
Quelle que soit la quantité de vie que l'on donne au joueur (100.0 ou 9999999999.0) ou la durée du timer qui lui redonne sa vie, aucun joueur ne peut résister à une chute de très haut ou à l'explosion de son véhicule.
Même avec un timer de 1 ms (qui écroulera le serveur) ça ne marchera pas.
De plus, lorsque l'on met trop de vie au joueur, sa barre de vie clignote et ce n'est pas très beau.
Donc, un timer de 5000 ms (5s) et remettre la vie à 100.0 permet d'éviter que le joueur meurt sous les coups de points d'un stunter mal intentionné.
C'est le mieux qu'on puisse faire.
++
Syg
-
aucun joueur ne peut résister à une chute de très haut
Faux :D
Je prouve :)
- - -
Ma ligne:
SetPlayerHealth(playerid, 99999999999999);
Screen1: Je saute de TLS
Screen2: En vole
Screen3: L'atterrissage
Screen4: Pas mort :D
(De plus, ma ligne de vie ne clignoté pas)
NV.
-
Faux sur ta machine alors.
Parce que j'ai fait exactement la même chose que toi avant mon premier post (au passage, c'est la bonne démarche et ça ne m'étonne pas de toi ;)).
Et je l'ai refait après ton post et j'obtiens toujours le même résultat, je meurs en bas de la tour de LS.
Config utilisée pour ce test :
Mon PC du boulot
SAMP server 0.2.X
SAMP client 0.2.X
Script de Lalu's Stunt V4 (et oui, je suis un veinard, je peux m'amuser avec tout seul)
A moins que tu sois tomber sur le cas où le timer s'exécute juste au moment où tu meurs.
Fais le test au moins 5 fois. Si 5 fois de suite tu ne meurs pas, c'est que .... je ne sais pas .... (ou alors, désactive ton logiciel de cheat :) )
++
Syg
-
Fais le test au moins 5 fois. Si 5 fois de suite tu ne meurs pas, c'est que .... je ne sais pas .... (ou alors, désactive ton logiciel de cheat :) )
Je les fait une dizaine de fois ;D
Et nan je cheat pas :P
NV.
-
Je' l ai tester j ai le meme resultat que native je meurt pas meme en sautant du Mt Chilliad
-
En tout cas, ça ne marche pas sur le script de Lalu's Stunt où on remet la vie du joueur à 100 toutes les 5 secondes.
Pour mes tests, je remet la vie du joueur à 99999999999999 toutes les 5 secondes et il meurt quand même en tombant de la tour de LS ou quand son véhicule explose et qu'il est dedans.
J'ai essayé de mettre le SetPlayerHealth dans le OnPlayerSpawn et c'est pareil, je meurs.
Pareil si je passe le timer de 5000 à 100.
++
Syg
-
Essaye sans timer Syg, juste au spawn tu lui met 9999999999 et t'essaie
NV. 8)
-
Oui ca marche comme ca mais sinon quand le joueur est dans un vehicule qui explose il meurt automatiquement meme avec 999999999 de vie c' est inevitable =D
-
Ah OK Native, dans ce cas là ça marche surement (je te fais confiance, j'ai la flemme de tester).
Mais ici, on parle d'un timer donc j'intervenais dans cette optique, même si Nikko avait donné la solution dès son premier post:
Ou tout simplement tu met SetPlayerHealt(playerid, 9999999999) a son spawn et normalement il est invincible...
Donc pour résumer, ça ne marche pas si on passe par un timer.
++
Syg
-
Oui voila =D
-
Salut,
il me semble que 99999999999999 est un nombre trop grand pour être géré par la fonction, non?
sinon, chez moi on ne meurt pas peu importe ce qui arrive, les véhicules de mes admin sont "healer" toutes les secondes et la commande god ne fait que remettre la vie du joueur à 999999 s'il spawn et quand il fait la commande....
++Sim++
-
Il faut simplement esseyer sim :) on rajoute un 9 a chaque foi jusqua que ca marche plus ^^
++
nikko
-
A l' ancienne Nikko :lmfao
-
bah .. ouai tant que ca marche 8)
++
nikko