• 05 Juin 2026, 11:53:11


Auteur Sujet: Probleme texte pour une personne  (Lu 6015 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Tetra-S

  • Codeur C/C++ Mais pas encore quelque incomprention de certaine truc mais le plus gros est passer
  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Probleme texte pour une personne
« le: 14 Septembre 2007, 21:00:06 »
Bonjour je vien de modifier mon script et g un probleme un texte qui doit etre reserver au un classid special ba s'affiche avec toute les classid voici le code qui me pose probleme

http://pastebin.gtaonline.fr/pastebin.php?show=60

bien sur g modifier a_sa-mp pour metre sa la

j'epere que quelq'un peut remedier a mon probleme car cela m'arrangerai bien

Hors ligne Tetra-S

  • Codeur C/C++ Mais pas encore quelque incomprention de certaine truc mais le plus gros est passer
  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #1 le: 15 Septembre 2007, 08:39:38 »
y'a quelq'un sur se topic j'ai besion d'aide svp

merci de votre futur aide

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #2 le: 15 Septembre 2007, 11:46:35 »
C'est normal, tu n'a pas mis ton code dans le bonne fonction :
public OnPlayerSpawn (playerid) -> il n'y a pas de classid donc il vaut toujours 0.

Ton code doit être placé dans le fonction OnPlayerRequestClass :
public OnPlayerRequestClass (playerid, classid) -> attention, il n'y a pas de vehicleid

Et quand je dit "ton code", c'est juste la partie concernant classid.

++
Syg
Courtesy of GtaManiac

Hors ligne Tetra-S

  • Codeur C/C++ Mais pas encore quelque incomprention de certaine truc mais le plus gros est passer
  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #3 le: 15 Septembre 2007, 19:10:50 »
merci je je v modier tou de suite mon script par contre on peut empecher des personne de prendre des pickup

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #4 le: 15 Septembre 2007, 22:53:16 »
non, on ne peut pas empêcher les joueurs de prende un pickup.

++
Syg
Courtesy of GtaManiac

Hors ligne Tetra-S

  • Codeur C/C++ Mais pas encore quelque incomprention de certaine truc mais le plus gros est passer
  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #5 le: 16 Septembre 2007, 16:28:06 »
ok ba alors est il posible d'mpecher un personne d'entrer dans un perimtre definnit

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #6 le: 16 Septembre 2007, 22:48:50 »
Tu peux limiter la zone dans laquelle évolue un joueur avec la fonction SetPlayerWorldBounds mais je ne pense pas qu'elle corresponde à ce que tu veux faire.

Par contre, la solution à ton problème pourrait être de téléporter le joueur qui entre dans une zone aux limites de cette zone, ou en un point prédéfini à l'extérieur de la zone.

Mais là encore, ce n'est pas très joli car tu risques de devoir téléporter le joueur en un point autre que son point d'entrée dans la zone, ce qui créera des choses bizarres pour les joueurs sur ton serveur (téléportation semblant aléatoire).

Bien sur, pour corriger cela, tu peux toujours coder un script compliqué qui détecte le point d'entrée dans la zone et téléporte le joueur à ce point. Mais là, je te dis juste : "Bon courage" :)

++
Syg
Courtesy of GtaManiac

Hors ligne Tetra-S

  • Codeur C/C++ Mais pas encore quelque incomprention de certaine truc mais le plus gros est passer
  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #7 le: 17 Septembre 2007, 06:57:07 »
ok mais vu mon ba niv je me v tenter de me lancer dans quelque que ligne de code pour annuler le effet du pickup aux moment ou on le prend

mais je c meme pas le nom de la fonction ou mettre sa

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #8 le: 17 Septembre 2007, 11:58:34 »
Il existe une callback appelée OnPlayerPickUpPickup.
Je pense qu'elle pourrait t'aider.

Sinon, pour enlever une arme (si c'est ce qu'est ton pickup) à un joueur, il faut :
1 - Faire la liste des armes du joueur (GetPlayerWeaponData)
2 - Lui enlever toutes ces armes (ResetPlayerWeapons)
3 - Puis lui redonner toutes les armes qu'il avait sauf le pickup (GivePlayerWeapon)

Si ton pickup est autre chosequ'une arme (jetpack, vie, ...), il faut utiliser une autre méthode.

++
Syg
Courtesy of GtaManiac

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Probleme texte pour une personne
« Réponse #9 le: 17 Septembre 2007, 14:01:51 »
Pour la callback voila ce que tu peux faire :

Tout en haut :

new pick1;
Devant le pickup qui doit executer une action :

pick1 =
Exemple :

pick1 = AddStaticPickup(372,2,414.4668,2535.3127,23.2773); // TEC 9
Et enfin tout en bas :

public OnPlayerPickUpPickup(playerid, pickupid);
if (pick1)
{
/* On fais ce qu'il y a a faire */
}
return 0;
}

Et voila le travail  ;)
« Modifié: 17 Septembre 2007, 14:37:04 par urbanghetto »

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #10 le: 17 Septembre 2007, 22:54:22 »
Urbanghetto, ton test if (pick1) est erroné.
Un test c'est un comparaison entre deux valeurs et dans le tien, il n'y en a qu'une.

Par défaut, le compilateur va remplacer ton test pas if (pick1 != 0)
C'est à dire que si pick1 vaut 0, on n'exécute pas le code.
Par contre, pour toutes les autres valeurs 1,2,3, ... -1, -2, ..., le code sera exécuté.

Et pour le cas qui nous occupe, ton test aurait du être :
if (pickupid = = pick1)

++
Syg
Courtesy of GtaManiac

Hors ligne Tetra-S

  • Codeur C/C++ Mais pas encore quelque incomprention de certaine truc mais le plus gros est passer
  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #11 le: 18 Septembre 2007, 22:11:38 »
merci maintenant g plus que 1 probleme pour annuler les effets du pick up de vie. je pense que je dois utiliser la fonction getplayerheath (si elle existe) pour obtenir sa vie et la mettre dans une variable puis utiliser setplayerhealth

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #12 le: 18 Septembre 2007, 22:18:05 »
Oui sa existe GetPlayerHealth

AK NV.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Tetra-S

  • Codeur C/C++ Mais pas encore quelque incomprention de certaine truc mais le plus gros est passer
  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #13 le: 19 Septembre 2007, 13:12:20 »
oui mais sa ajouterais pas de la vie par hazard
« Modifié: 19 Septembre 2007, 16:06:13 par Tetra-S »

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Probleme texte pour une personne
« Réponse #14 le: 19 Septembre 2007, 18:20:04 »
GetPlayerHealth permet d'obtenir la vie d'un joueur.
SetPlayerHealth permet de fixer la vie d'un joueur.


++
Syg
Courtesy of GtaManiac