• 22 Avril 2025, 20:49:31


Auteur Sujet: codes/scripts utiles  (Lu 132464 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne BuBuNo

  • Radio Guingamp - Bien plus qu'une radio !
  • *
  • Grand Banditisme
  • La radio bien plus qu'une passion !
  • Messages: 840
    • Voir le profil
    • Radio Guingamp - Bien plus qu'une radio !
Re : codes/scripts utiles
« Réponse #165 le: 21 Novembre 2009, 17:02:15 »
Heu je croit que cette ligne n'est jammais utiliser : "new Vehicle[MAX_VEHICLES];"
ıllıllı вυвυησ ıllıllı


Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : codes/scripts utiles
« Réponse #166 le: 21 Novembre 2009, 20:07:11 »
Ouaip ta raison j ai pas vu ca lol



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne BuBuNo

  • Radio Guingamp - Bien plus qu'une radio !
  • *
  • Grand Banditisme
  • La radio bien plus qu'une passion !
  • Messages: 840
    • Voir le profil
    • Radio Guingamp - Bien plus qu'une radio !
Re : codes/scripts utiles
« Réponse #167 le: 22 Novembre 2009, 02:25:22 »
:D

Et puis j'ai remarquer aussi qu'il ne marchais pas du moin pour moi !

DOnc du coup en discutant avec un amis et avec mes talent ( je sait je suis pas super)
J'ai fait un ptit RespawnAuto

en haut
[code]forward IsVehicleOccupied(vehicleid);
forward Respawn(playerid);

Dans OnGameModeInit :
SetTimer("Respawn", 30000, 1);
Et tout en bas :
public Respawn(playerid)
{
for(new i=0;i<MAX_VEHICLES;i++)
{
if(IsVehicleOccupied(i)  == 0)
   {
       SetVehicleToRespawn(i) ;
   }
}
return 1;
}

public IsVehicleOccupied(vehicleid)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerInVehicle(i,vehicleid)) return 1;
}
return 0;
}


Bon sinon une autre de mes réalisation :

Réparation automatique du vehicule avec activation/désactivation.

En Haut :
forward Repair(playerid);
new Autorep[MAX_PLAYERS];

Dans OnGameModeInit :
SetTimer("Repair", 10000, 1);
La commande :
if (strcmp("/autorep", cmdtext, true, 10) == 0)
{
if(Autorep[playerid]==0)
   {
   Autorep[playerid]=1;
   GameTextForPlayer(playerid,"~n~~b~Autorep ~n~~g~Activer !",5000,3);
}
else
{
Autorep[playerid]=0;
GameTextForPlayer(playerid,"~n~~b~Autorep ~n~~r~DesActiver !",5000,3);
}
return 1;
}

Et tout en bas :
public Repair(playerid)
{
if(Autorep[playerid]==1)
{
for (new i=0 ; i<MAX_PLAYERS ; i++)// Pour tout les players en même temps
{
if (IsPlayerConnected (i))
{
if(IsPlayerInAnyVehicle(playerid))// Si le player est dans un vehicule
{
RepairVehicle(GetPlayerVehicleID(i));
}
}
}
}
return 1;
}
[/code]
« Modifié: 22 Novembre 2009, 02:29:17 par master-bru »
ıllıllı вυвυησ ıllıllı


Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : codes/scripts utiles
« Réponse #168 le: 24 Novembre 2009, 09:01:02 »
Lup je vient de voir le code de sasuke pour SetVehicleParamsForPlayerEx mais ya un truc qui me gêne c'est qu'on perd la fonctionnalité de ne pas verrouillé le véhicule pour certain joueur une fois le véhicule re-streamer
vla donc comment moi j'ai fait:

Code: (pawn) [Sélectionner]
new VehicleObjective[MAX_PLAYERS][MAX_VEHICLES][2];
public OnVehicleStreamIn(vehicleid,forplayerid)
{
        SetVehicleParamsForPlayer(vehicleid,forplayerid,VehicleObjective[forplayerid][vehicleid][0],VehicleObjective[forplayerid][vehicleid][1]);
        return 1;
}
stock SetVehicleParamsForPlayerEx(vehicleid, playerid, objective, doorslocked)
{
SetVehicleParamsForPlayer(vehicleid, playerid, objective, doorslocked);
VehicleObjective[playerid][vehicleid][0] = objective;
VehicleObjective[playerid][vehicleid][1] = doorslocked;
return 1;
}
Donc on utiliser la fonction SetVehicleParamsForPlayrerEx de la même manière qu'on utilise SetVehicleParamsForPlayer ;)

Et en bonus une fonction qui va locker un véhicule pour tout le monde excepter un joueur:
stock SetVehicleLock(vehicleid,bool:locked,exception = INVALID_PLAYER_ID)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && i != exception)
SetVehicleParamsForPlayerEx(vehicleid,i,VehicleObjective[i][vehicleid][0],locked);
}
return 1;
}

Allait encore un pti bout de code , tout le monde sait que la callback OnPlayerEnterVehicle est appeler quand un joueur COMMENCE a entrer dans un vehicule mais que celui ci peux tres bien annulé sont action durant le laps de temps ou le personnage se dirige vers le vehicule, et il est parfois util de savoir si un joueur a FINI d'entrer dans un vehicule j'vous propose pour sa un pti bout de code tout con:

Code: (pawn) [Sélectionner]
forward OnPlayerFinishEnterVehicle(playerid, vehicleid, seat);
public OnPlayerFinishEnterVehicle(playerid, vehicleid, seat)
{
      //Code a executer quand le joueur a FINI d'entrer dans un vehicule
      return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
      if(oldstate == PLAYER_STATE_ONFOOT && (newstate == PLAYER_STATE_PASSENGER || newstate == PLAYER_STATE_DRIVER)) //Fini d'entrer dans un vehicule en tant que passager ou conducteur
      {
            OnPlayerFinishEnterVehicle(playerid,GetPlayerVehicleID(playerid),GetPlayerVehicleSeat(playerid));
      }
      return 1;
}

Et en bonus la callback OnPlayerFinishEnterVehicle recoit le numero du siege dans lequel se trouve le joueur ^^

Hors ligne BuBuNo

  • Radio Guingamp - Bien plus qu'une radio !
  • *
  • Grand Banditisme
  • La radio bien plus qu'une passion !
  • Messages: 840
    • Voir le profil
    • Radio Guingamp - Bien plus qu'une radio !
Re : codes/scripts utiles
« Réponse #169 le: 24 Novembre 2009, 16:04:14 »
Ah sa peu être très utile ;)
ıllıllı вυвυησ ıllıllı


Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : codes/scripts utiles
« Réponse #170 le: 24 Novembre 2009, 19:36:48 »
Voila le code qui vous permettras de faire une foret de sapin de noel :)
a venir: la save

SapinCreat(Float:sapinx,Float:sapiny,Float:sapinz)
{
CreateObject(656, sapinx, sapiny, Float:sapinz-10, 0.0000, 0.0000, 0.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz-8, 0.0000, 0.0, 72.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz-6, 0.0000, 0.0, 144.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz-4, 0.0000, 0.0, 216.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz-2, 0.0000, 0.0, 288.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz, 0.0000, 00000, 255.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz+2, 0.0000, 0.0000, 0.0000);
printf("sapin cree");
return 1;
}

PS voila la commande

if(strcmp(cmd,"/sapin",true)==0)
{
 new Float:px,Float:py,Float:pz;
 GetPlayerPos(playerid,px,py,pz);
 SapinCreat(px,py,pz);
 SetPlayerPos(playerid,px,py+2,pz+1);
 SendClientMessage(playerid,COLOR_ORANGE, "sapin cree");
 return 1;
}

ps si vous conaisser deja la position que vous souhaiter dans le OnGameModeInit ajouter ceci
SapinCreat(Float:sapinx,Float:sapiny,Float:sapinz); avec les positions desirer est le sapin ce creera :)

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 S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : codes/scripts utiles
« Réponse #171 le: 25 Novembre 2009, 01:20:36 »
Salut,

je pense qu'il serait mieux d'utiliser CallRemoteFunction au lieu d'appeler directement la fonction...
CallRemoteFunction("OnPlayerFinishEnterVehicle", "iii", playerid, GetPlayerVehicleID(playerid), GetPlayerVehicleSeat(playerid));Intéressant la commande au sapin^^

++Sim++





Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : codes/scripts utiles
« Réponse #172 le: 25 Novembre 2009, 13:52:23 »
Plutôt CallLocalFunction dans ce cas , car si tu met le bout de code dans un GM et dans un FS sa risque de poser probleme (enfin je croit XD)

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : codes/scripts utiles
« Réponse #173 le: 26 Novembre 2009, 16:59:25 »
Salut,

bah jme suis dit que ça simplifierais de mettre dans un seul script et pouvoir utiliser dans tous les scripts.....
on peut facilement en faire un include (enfin une version "serveur" et une version "client"....)

++Sim++





Hors ligne Xoss

  • Xoss | Alexandre Bocquet
  • *
  • Grand Banditisme
  • Xoss | Alexandre Bocquet
  • Messages: 847
    • Voir le profil
    • UnderWeb
Re : Re : codes/scripts utiles
« Réponse #174 le: 07 Décembre 2009, 07:29:08 »
Voila le code qui vous permettras de faire une foret de sapin de noel :)
a venir: la save

SapinCreat(Float:sapinx,Float:sapiny,Float:sapinz)
{
CreateObject(656, sapinx, sapiny, Float:sapinz-10, 0.0000, 0.0000, 0.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz-8, 0.0000, 0.0, 72.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz-6, 0.0000, 0.0, 144.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz-4, 0.0000, 0.0, 216.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz-2, 0.0000, 0.0, 288.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz, 0.0000, 00000, 255.0000);
CreateObject(3472, sapinx, sapiny, Float:sapinz+2, 0.0000, 0.0000, 0.0000);
printf("sapin cree");
return 1;
}

PS voila la commande

if(strcmp(cmd,"/sapin",true)==0)
{
 new Float:px,Float:py,Float:pz;
 GetPlayerPos(playerid,px,py,pz);
 SapinCreat(px,py,pz);
 SetPlayerPos(playerid,px,py+2,pz+1);
 SendClientMessage(playerid,COLOR_ORANGE, "sapin cree");
 return 1;
}

ps si vous conaisser deja la position que vous souhaiter dans le OnGameModeInit ajouter ceci
SapinCreat(Float:sapinx,Float:sapiny,Float:sapinz); avec les positions desirer est le sapin ce creera :)


lol GG ^^
Alexandre Bocquet Xoss

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : codes/scripts utiles
« Réponse #175 le: 23 Janvier 2010, 17:12:22 »
Hello,
Revenant d'un cours de Maths d'hier, je me suis dit que j'allais utiliser ce que j'ai appris.
Pour cela, j'ai fait une petite commande, qui est pratique, car un peu gonflant d'avoir un SetVehicleVelocity où l'on peut que aller en X ou Y :
Cette commande vous sert à vous donner un bon coup de boost vers l'angle auquel vous êtes orienté.


if(strcmp(cmd,"/vitesse",true)==0)
{
if(!IsPlayerInAnyVehicle(playerid))
{
new Float:Angle5;
new Float:Xx, Float:Yy, Float:Zz;
GetPlayerFacingAngle(playerid, Angle5);
GetPlayerPos(playerid, Xx, Yy, Zz);
new Float:DeltaX = 2 * (-floatsin(Angle5,degrees));
new Float:DeltaY = 2 * floatcos(Angle5,degrees);
SetPlayerVelocity(playerid, DeltaX, DeltaY, 0.1);
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
new Float:Angle6;
GetVehicleZAngle(GetPlayerVehicleID(playerid), Angle6);
new Float:DeltaX = 2 * (-floatsin(Angle6,degrees));
new Float:DeltaY = 2 * floatcos(Angle6,degrees);
SetVehicleVelocity(GetPlayerVehicleID(playerid), DeltaX, DeltaY, 0.0);
return 1;
}
}


En haut de votre GM, vérifiez que vous ayez bien ceci : #include <float>
Intégrez cette commande dans "OnPlayerCommandText".

Je vous laisse profiter !  ;D

Hors ligne Alexendro_Torres

  • *
  • Tueur en série
  • Messages: 147
    • Voir le profil
Re : Re : codes/scripts utiles
« Réponse #176 le: 11 Avril 2010, 19:14:37 »
Hello,
Revenant d'un cours de Maths d'hier, je me suis dit que j'allais utiliser ce que j'ai appris.
Pour cela, j'ai fait une petite commande, qui est pratique, car un peu gonflant d'avoir un SetVehicleVelocity où l'on peut que aller en X ou Y :
Cette commande vous sert à vous donner un bon coup de boost vers l'angle auquel vous êtes orienté.


if(strcmp(cmd,"/vitesse",true)==0)
{
if(!IsPlayerInAnyVehicle(playerid))
{
new Float:Angle5;
new Float:Xx, Float:Yy, Float:Zz;
GetPlayerFacingAngle(playerid, Angle5);
GetPlayerPos(playerid, Xx, Yy, Zz);
new Float:DeltaX = 2 * (-floatsin(Angle5,degrees));
new Float:DeltaY = 2 * floatcos(Angle5,degrees);
SetPlayerVelocity(playerid, DeltaX, DeltaY, 0.1);
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
new Float:Angle6;
GetVehicleZAngle(GetPlayerVehicleID(playerid), Angle6);
new Float:DeltaX = 2 * (-floatsin(Angle6,degrees));
new Float:DeltaY = 2 * floatcos(Angle6,degrees);
SetVehicleVelocity(GetPlayerVehicleID(playerid), DeltaX, DeltaY, 0.0);
return 1;
}
}


En haut de votre GM, vérifiez que vous ayez bien ceci : #include <float>
Intégrez cette commande dans "OnPlayerCommandText".

Je vous laisse profiter !  ;D


Pour ceux qui veulent que ce cois juste les admins , on le rajoute ou le "If" s'il vous plaît, merci de m'aidé je suis débutant

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : codes/scripts utiles
« Réponse #177 le: 11 Avril 2010, 19:42:42 »
if(strcmp(cmd,"/vitesse",true)==0)
{
              if(IsPlayerAdmin(playerid)){
if(!IsPlayerInAnyVehicle(playerid))
{
new Float:Angle5;
new Float:Xx, Float:Yy, Float:Zz;
GetPlayerFacingAngle(playerid, Angle5);
GetPlayerPos(playerid, Xx, Yy, Zz);
new Float:DeltaX = 2 * (-floatsin(Angle5,degrees));
new Float:DeltaY = 2 * floatcos(Angle5,degrees);
SetPlayerVelocity(playerid, DeltaX, DeltaY, 0.1);
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
new Float:Angle6;
GetVehicleZAngle(GetPlayerVehicleID(playerid), Angle6);
new Float:DeltaX = 2 * (-floatsin(Angle6,degrees));
new Float:DeltaY = 2 * floatcos(Angle6,degrees);
SetVehicleVelocity(GetPlayerVehicleID(playerid), DeltaX, DeltaY, 0.0);
return 1;
}}
}
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 Alexendro_Torres

  • *
  • Tueur en série
  • Messages: 147
    • Voir le profil
Re : Re : codes/scripts utiles
« Réponse #178 le: 12 Avril 2010, 19:40:52 »
if(strcmp(cmd,"/vitesse",true)==0)
{
              if(IsPlayerAdmin(playerid)){
if(!IsPlayerInAnyVehicle(playerid))
{
new Float:Angle5;
new Float:Xx, Float:Yy, Float:Zz;
GetPlayerFacingAngle(playerid, Angle5);
GetPlayerPos(playerid, Xx, Yy, Zz);
new Float:DeltaX = 2 * (-floatsin(Angle5,degrees));
new Float:DeltaY = 2 * floatcos(Angle5,degrees);
SetPlayerVelocity(playerid, DeltaX, DeltaY, 0.1);
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
new Float:Angle6;
GetVehicleZAngle(GetPlayerVehicleID(playerid), Angle6);
new Float:DeltaX = 2 * (-floatsin(Angle6,degrees));
new Float:DeltaY = 2 * floatcos(Angle6,degrees);
SetVehicleVelocity(GetPlayerVehicleID(playerid), DeltaX, DeltaY, 0.0);
return 1;
}}
}

merci

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : codes/scripts utiles
« Réponse #179 le: 12 Avril 2010, 20:39:41 »
Voila le code a Gz' en un peu plus beau =)
for(new id=0;id<300;id++) {
     if(id==3 || id==8 || id==42 || id==65 || id==74 || id==86 || id==119 || id==149 ||  id==208 || id==266 || id==273 || id==289)
{
    continue;
}
AddPlayerClass(id,0.0,0.0,0.0,0.0,0,0,0,0,0,0);
}



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog