• 24 Avril 2025, 01:44:43


Auteur Sujet: Problemes ScriptSarto (pour ne pas polluer)  (Lu 1227 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
Problemes ScriptSarto (pour ne pas polluer)
« le: 06 Mai 2009, 17:03:44 »
Le 7 mai renomement du topic en Problemes ScriptSarto car, ayant énormément de question car débutant en pawn je risque de polluer un peut... donc je poserait maintenant toutes mes questions ici.


Eh bien voila Aujourd'hui j'ai croisé R@f sur le sftdm et il m'a dit de créer un topic ici parce que c'etait assez compliqué d'expliquer sur le serveur.
Donc voila. Je voudrais pouvoir stoker tous les pickups SPAWNES dans une variable tous les vehicules SPAWNES dans une autre. et apres si eventuellement je n'arive pas a trouver la fonction pour detruire /supprimer je vous demanderait.

Donc pour le spawn car, j'e n'ai en ce moment sur le serveur que le RAS de R@f.
Pour le spawn pickup, je n'ai pour le moment que une seule commande pour créer un jetpack. ==>

  // /jetpack
if(strcmp(cmdtext,"/jetpack", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid,X,Y,Z);
CreatePickup(370,15, X,Y,Z);
}
return 1;
}
. Merci d'avance.
« Modifié: 07 Mai 2009, 12:31:42 par Sartoflo »


Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
C'était compliqué de donner une réponse complète sur le serveur ^^ 
Si j'ai bien compris, ce que tu veux c'est que quand on ramasse le pickup il disparait peu de temps après. Si c'est bien ça, suffit de changer le 2ème chiffre de CreatePickup. Essaie de changer le nombre 15 par 4 ou 5.

++
R@f

Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
petit probleme, ce n'est pas ce que je veux en fait je voudrais créer une variable pour stoker plusieurs objets crées par commande et pouvoir les détruire avec une autre commande pas les detruire de maniere a ce qu'ils respan mais les supprimer totalement pareil pour les vehicules. Sinon est-il possible de stoquer tous les addstaticvehicle dans une variable et de mettre
 if((le ! a l'envers mais je sais pas comment le faire)is scriptcar

remove vehicle ou quelque chose du genre


J'ai aussi un petit probleme avec une commande afk censée ajouter afk_ devant le pseudo du joueur mais j'ai quelques erreures:

  // /afk
if(strcmp(cmdtext,"/afk", true) == 0)
{
    new result[128];
new nameplayer;
GetPlayerName(playerid, nameplayer);
SetPlayerName(format(result,sizeof(result), "AFK_%s.",nameplayer);
return 1;
}

Erreures: C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(165) : error 035: argument type mismatch (argument 2)
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(166) : error 001: expected token: ",", but found ";"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.
On peut 'indiquer ce qui ne vas pas?
« Modifié: 07 Mai 2009, 00:34:56 par Sartoflo »


Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Problemes ScriptSarto (pour ne pas polluer)
« Réponse #3 le: 07 Mai 2009, 00:54:03 »
Salut,

ta variable pour récupérer le nom doit être un array donc: new PlayerName[MAX_PLAYER_NAME];//MAX_PLAYER_NAME est une constante qui correspond à la longueur maximale du nom d'un joueur
de plus, format ne retourne pas le string formaté, ce string est enregistré dans la variable passée en paramètre (result dans ton cas):
format(result,sizeof(result), "AFK_%s.",nameplayer);
SetPlayerName(playerid, result);

++Sim++





Hors ligne Sartoflo

  • Revenant
  • *
  • Tueur en série
  • -_-_-_-_-_-_-_-_-_-
  • Messages: 119
    • Voir le profil
Re : Problemes ScriptSarto (pour ne pas polluer)
« Réponse #4 le: 07 Mai 2009, 11:56:29 »
donc voila, avec:   // /afk
if(strcmp(cmdtext,"/afk", true) == 0)
{
new result[128];
new PlayerName[MAX_PLAYER_NAME];
format(result,sizeof(result), "AFK_%s.",PlayerName);
SetPlayerName(playerid, result);
SendClientMessageToAll(COLOR_RED,"quelqu'un est maintenant afk");
return 1;
}
et je n'ai aucune erreur.

ça affiche bien que quelqu'un est afk, mais le nom de passe pas du tout de Pseudo a AFK_Pseudo ça reste comme avant...


Pourrait-on aussi m'indiquer si il est possible de stoquer tous les addstaticvehicle dans une variable (une seule) et les addstaticpickup dans une autre? car je voudrais faire une comande genre /destroyspawn qui détruit tous les objets spawnées.

// /destroyspawn

if(strcmp(cmdtext,"/destroyspawn", true) == 0)
{
// ici une ligne pour prendre tous les vehicules... spawnés et add paar addstaticvehicle
   if(¡(is scriptcar))
          DestroyVehicle(vehicleid) // defini juste avant
return 1;
}
  (apres j'ajouterat les pickup)
« Modifié: 07 Mai 2009, 12:38:32 par Sartoflo »


Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Problemes ScriptSarto (pour ne pas polluer)
« Réponse #5 le: 07 Mai 2009, 13:56:34 »
en haut du GM
new initialname[32][MAX_PLAYERS];
new playerfinal[32];
dans la callback OnePlayerConnecte
GetPlayerName(playerid, initialname[playerid], 32);dans la callback OnePlayerDisconnect
SetPlayerName(playerid,initialname[playerid]);/afk
// /afk
if(strcmp(cmdtext,"/afk", true) == 0)
{
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s est parti en pause", name);
SendClientMessageToAll(0x33CCFFAA, string);
SetPlayerVirtualWorld(playerid,7);
format(playerfinal, 32, "[PAUSE]%s", initialname[playerid]);
SetPlayerName(playerid, playerfinal);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "tape /re pour revenir dans le jeu");
TogglePlayerControllable(playerid,false);
SendClientMessageToAll(COLOR_RED,"quelqu'un est maintenant afk");
return 1;
}
/re
if(strcmp(cmdtext,"/re", true) == 0)
{
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s est de retour", name);
SendClientMessageToAll(0x33CCFFAA, string);
SetPlayerName(playerid, initialname[playerid]);
SetPlayerVirtualWorld(playerid,0);
TogglePlayerControllable(playerid,true);
return 1;
}
je pense n'avoir rien oublier
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : Problemes ScriptSarto (pour ne pas polluer)
« Réponse #6 le: 07 Mai 2009, 14:21:56 »
Juste petite correction cristab le tableau initialname n'est pas correct pouf bien fonctioner

il faut le faire comme ceci

Code: (pawn) [Sélectionner]
new initialname[MAX_PLAYERS][32];

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Problemes ScriptSarto (pour ne pas polluer)
« Réponse #7 le: 07 Mai 2009, 14:27:45 »
oui aussi pourtant il fonctionne bien comme je les mit je testerais comme tu as fait pour voir Merci
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : Problemes ScriptSarto (pour ne pas polluer)
« Réponse #8 le: 07 Mai 2009, 14:51:58 »
Comme tu la fait il fonctionera pour les joueur ayant un id entre 0 et 31 ;)

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Problemes ScriptSarto (pour ne pas polluer)
« Réponse #9 le: 07 Mai 2009, 14:59:33 »
a ben ue mais comme au grand max on est euh 6 xd je voyait pas le default ^^
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici