GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: futenesie le 31 Juillet 2009, 01:27:06
-
Message Supprimé
-
Je te donne un petit conseil fait un topic unique pour tes soucis, car là de nombreux topics à chaque soucis et y'en a 5 tout les jours..
-
Message Supprimé
-
Salut,
en ce qui concerne les // (aussi appelés commentaires): Commentaires - Pawn Center (http://pawn.gtaonline.fr/index.php/Les_commentaires)
1 - Tu dois utiliser SetPlayerPos, SetPlayerCameraPos, SetPlayerCameraLookAt et probablement SetPlayerFacingAngle
2 - regarde dans ta callback OnPlayerDeath et supprime le code concernant l'argent (tu peut tout de même donner un certains montant au tueur)
3 - d'après les réponses que tu as eu, tu devrais être capable de le faire maintenant
sur ce, bonne chance
++Sim++
-
Message Supprimé
-
on ne te donneras pas un code tout fais commence le code et si tu arrive pas montre nous pour avoir de l'aide ici tu es dans la section aide et non dans un catalogue de script a commander au pire tu peu tenter une demande claire sur le post de sim prevu a cette effet Attention sa ne veut pas dire qu'il seras forcement creer
Voici le lien du post a Sim => http://www.gtaonline.fr/forums/index.php/topic,8041.0.html (http://www.gtaonline.fr/forums/index.php/topic,8041.0.html)
-
Message Supprimé
-
pour les code de plus de 20 ligne utilise le pastebin stp
de plus la ce code ne sert a rien de le poster
-
Message Supprimé
-
Salut,
1- lire les règlements avant de poster : http://www.gtaonline.fr/forums/index.php/topic,2.0.html (http://www.gtaonline.fr/forums/index.php/topic,2.0.html)
2- Lorsqu'il y a un topic avec À LIRE AVANT DE POSTER en début de section, on le lit: http://www.gtaonline.fr/forums/index.php/topic,1098.0.html (http://www.gtaonline.fr/forums/index.php/topic,1098.0.html)
3- La plupart des gens ont des choses à faire, fais des efforts, on t'aidera, on ne fais pas de code (généralement) que pour une seule personne, fais un code, nous te dirons ce que tu dois changer
++Sim++
-
Message Supprimé
-
Pour le code des voitures (j'ai pas pu tester), tien :
http://sd-1.archive-host.com/membres/up/110025996263904683/ColorVÃhicules.zip (http://sd-1.archive-host.com/membres/up/110025996263904683/ColorVÃhicules.zip)
Fichier .zip tout prêt !
-
Message Supprimé
-
la c'est pas possible je pense comment faire apparaitre ton pointeur de souris en jeux
et essaie de te servir de la fonction recherche du forum stp il y a deja ce genre de scipt
-
Message Supprimé
-
code juste
public OnPlayerDeath(playerid, killerid, reason)
{
new score[100]; // crée la variable score
score = GetPlayerScore(killerid); // indique dans la variable score , le score acctuelle du tueur
if(killerid == INVALID_PLAYER_ID)
{
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
}
else
{
score = ++; // ajoute 1 a la variable score
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,score); // donne le score contenu dans la variable score au tueur
GivePlayerMoney(killerid, 1000); // donne 1000 au tueur
}
return 1;
}
code originale
public OnPlayerDeath(playerid, killerid, reason)
{
new playercash; <----------------------- sert a rien
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
} else {
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1); <----------------------- la c'es totalement faux, regarde mon script ^^
playercash = GetPlayerMoney(playerid); <----------------------- la tu insert le nombre de l'argent du joueur dans la var playercash ( inutile )
if (playercash > 1000) { <----------------------- la tu dit "si playercash es plus grand que 1000" ( inutile )
GivePlayerMoney(killerid, playercash); <----------------------- la tu donne au joueur le contenu de playercash et non 1000
} <----------------------- sert a rien
else<----------------------- sert a rien
{<----------------------- sert a rien
}<----------------------- sert a rien
}
return 1;
}
++ D4 ++
8) 8)
-
public OnPlayerDeath(playerid, killerid, reason)
{
new playercash;
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
} else {
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 1000);
playercash = GetPlayerMoney(playerid);
if (playercash > 1000) {
GivePlayerMoney(killerid, playercash);
}
else
{
}
}
return 1;
}
tu efface ce que tu as en rouge et tu remplace par ce qui'il y a en vert
Pour l'autre soucis tu doit avoir
ResetPlayerMoney(playerid); tu efface
-
ma réponse étais efficace et éductaive =p
* La Guerre Pawnonale du scripting & de l'apprentissage du scripting *
++ D4 ++
8) 8)
-
peu etre mais sa comporte des erreures puis il aurais pas compris
SetPlayerScore(killerid,GetPlayerScore(killerid)+1); <----------------------- la c'es totalement faux, regarde mon script ^^
cette ligne est ok elle ajoute un point au killer
il peu meme de cette façon retirer un point au mort
SetPlayerScore(playerid,GetPlayerScore(playerid)-1);
;)
-
Message Supprimé
-
Salut,
simple remarque, à quoi te sert ce code ci?:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
} else {
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1); //score donner a celui qui tue quelqu'un
GivePlayerMoney(killerid, 1000); //argent donner a selui qui a tuer quelqu'un
}
return 1;
}
pourquoi envoyer un DeathMessage différent s'il n'y a aucun tueur?
si on y pense un peu, le code sera exécuté comme ceci:
un joueur en tue un autre => appele la calback avec les paramètres suivants: playerid = 1 et killerid = 3
Remplacons dans le code pour plus de clarté...
public OnPlayerDeath(2, 3, reason)
{
if(3 == INVALID_PLAYER_ID) {//INVALID_PLAYER_ID = 255, dponc cette expression est fausse, on passe à la suite
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);//non-exécuté
} else {
SendDeathMessage(3,2,reason);
SetPlayerScore(3,GetPlayerScore(3)+1); //score donner a celui qui tue quelqu'un
GivePlayerMoney(3, 1000); //argent donner a selui qui a tuer quelqu'un
}
return 1;
}
maintenant, le même joueur se tue lui-même...
public OnPlayerDeath(2, INVALID_PLAYER_ID, reason)
{
if(INVALID_PLAYER_ID == INVALID_PLAYER_ID) {//expression vraie
//en ayant utiliser directement la variable, on arrive à la même chose (on test même que les valeurs sont égales en premier lieu....?!?)
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
} else {//non appelé
SendDeathMessage(3,2,reason);
SetPlayerScore(3,GetPlayerScore(3)+1); //score donner a celui qui tue quelqu'un
GivePlayerMoney(3, 1000); //argent donner a selui qui a tuer quelqu'un
}
return 1;
}
bref, ta condition pourrait être revue...
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
SetPlayerScore(killerid,GetPlayerScore(killerid)+1); //score donner a celui qui tue quelqu'un
GivePlayerMoney(killerid, 1000); //argent donner a selui qui a tuer quelqu'un
}
SendDeathMessage(killerid,playerid,reason);
return 1;
}
voilà, ce code donne exactement le même résultat....
bon maintenant j'aimerais savoir comment creer une liste de vehicule a choisir c'est a dire quand je fait par exemple une commande au hazard comme /car une liste s'affiche avec tous plein de vehicule et quand on choisi son vehicule on et mis dedans automatiquement apres validation de la commande
Voici un exemple de script que j'ai mis dans filterscript pour la liste de choix par commande pour les armes voir le lien ci dessous
http://pastebin.gtaonline.fr/pastebin.php?show=636 (http://pastebin.gtaonline.fr/pastebin.php?show=636)
sa c'est le script pour les arme comme j'avais preciser moi j'aimerais pour les vehicule comment faire?
tu peut utiliser un menu, tu n'aura qu'a créer le véhicule et y placer le joueur (après avoir récupéré la position du joueur afin de créer le véhicule à la bonne place...)
++Sim++