• 23 Avril 2025, 08:26:10


Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - NevadaKee

Pages: [1]
1
Je pense plutôt :
VolEffectue[playerid] = 0; Au debut

VolEffectue[playerid] = 300; Lorsque qu'il a fait la commande ( 300 par exemple )

Puis tu met un timer qui retire 1 à la variable toute les secondes par exemple
VolEffectue[playerid] = 299;
VolEffectue[playerid] = 298;
etc.. Jusqu'a 0 et alors il pourra refaire la commande ^^.

2
Scripting SA-MP [Pawn center] / Re : Aide variable et timer
« le: 10 Mai 2012, 22:49:03 »
Merci quand même c'est très gentil de m'aider :D,
Donc j'ai fais :

new timer1; // Timer personalvehicle

public OnPlayerExitVehicle(playerid, vehicleid)
{
if(GetPlayerVehicleID(playerid) == vehicleidspawned[playerid])
{
timer1 = SetTimerEx("DestroyVehicle",900000, 0, "d", vehicleidspawned[playerid]);
}
return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(GetPlayerVehicleID(playerid) == vehicleidspawned[playerid])
    {
        KillTimer(timer1);
            }
return 1;
}

Je compile et aucune erreur mais lorsque j'enlève le KillTimer j'ai un warning alors que timer1 est utilisé dans OnPlayerExitVehicle :

C:\Users\NevadaKee\Documents\[Samp]ALPHA-NoName\Serveur\NoName\gamemodes\noname.pwn(214) : warning 204: symbol is assigned a value that is never used: "timer1"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.

J'ai loupé un épisode ? ^^'

Merci :)

3
Moi j'utilise DropBox pour mettre mes musiques sur le serveur et sa marche super bien ! ^^ https://www.dropbox.com/

4
Scripting SA-MP [Pawn center] / Re : Aide variable et timer
« le: 10 Mai 2012, 19:56:51 »
Citer
Je pense que ceci pourra t'aider : http://wiki.sa-mp.com/wiki/OnVehicleSpawn

Cette callback fonctionne aussi quand le véhicule en question REspawn.

Sinon tu peux toujours ajouter une ligne du genre : vehicleidspawned[playerid] = 0  à la fin de ton Timer , non  ?

Vincentdu90 : Ha mais oui ! Donc au lieu de créer un timer qui détruira le véhicule, je met le destroyvehicule quand le véhicule doit respawner ! Merci ^^ Par contre comment faire pour remettre à 0 la variable du joueur qui a spawner le vehicule ? ( Si un autre joueur entre dans le véhicule entre temps etc.. ) ^^

Citer
Ton code est bon malgré quelques problèmes.

Par exemple, tu ne peux pas appeler une fonction de SA-MP (notamment ici DestroyVehicle).
Tu dois donc créer une fonction qui elle appelle DestroyVehicle.


Ensuite si le joueur descend 4 fois de sont véhicule, il y aura 4 timer de créé pour rien, donc tu devrai détruire le timer déjà créé.

Ssk : Pour créer la fonction je la met en haut du GM avec un new... non ? ( Je crois avoir lu ça quelque part ) Mais pourtant quand je met le timer a 1 milliseconde, a peine j'appuie sur F et le véhicule disparaît ^^

Et aussi comment faire pour que le véhicule qu'un joueur spawn soit verrouiller pour les autres joueurs ?
J'ai "bricoler" un petit truc comme ça pour les véhicule déjà présent sur le serveur mais comment l'adapter pour les véhicules spawner ? ^^
Merci ! :)

Edit : Avec le code c'est mieux  :ninja :
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(GetVehicleModel(vehicleid) == 0 || (vehicleid) == 1 || (vehicleid) == 2 || (vehicleid) == 3 || (vehicleid) == 4 || (vehicleid) == 5 || (vehicleid) == 6 || (vehicleid) == 7 || (vehicleid) == 8 || (vehicleid) == 9 || (vehicleid) == 10 || (vehicleid) == 11 || (vehicleid) == 12 || (vehicleid) == 13 || (vehicleid) == 14 || (vehicleid) == 15 || (vehicleid) == 16 || (vehicleid) == 17 || (vehicleid) == 18 || (vehicleid) == 19)
{
if(Team[playerid] == TEAM_TERRO)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid, COLOR_RED, "Vehicule verrouiller");
TogglePlayerControllable(playerid,1);
}
}
else if(GetVehicleModel(vehicleid) == 20 || (vehicleid) == 21 || (vehicleid) == 22 || (vehicleid) == 23 || (vehicleid) == 24 || (vehicleid) == 25 || (vehicleid) == 26 || (vehicleid) == 27 || (vehicleid) == 28 || (vehicleid) == 29 || (vehicleid) == 30 || (vehicleid) == 31 || (vehicleid) == 32 || (vehicleid) == 33 || (vehicleid) == 34 || (vehicleid) == 35)
{
if(Team[playerid] == TEAM_ARMY)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid, COLOR_RED, "Vehicule verrouiller");
TogglePlayerControllable(playerid,1);
}
}
return 1;
}

Edit2 : Ha mais je peux pas mettre vehicleidspawned[playerid] dans on VehicleSpawn ;
public OnVehicleSpawn(vehicleid)
{
DestroyVehicle(vehicleidspawned[playerid]);
return 1;
}

C:\Users\NevadaKee\Documents\[Samp]ALPHA-NoName\Serveur\NoName\gamemodes\noname.pwn(87) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

5
Scripting SA-MP [Pawn center] / Aide variable et timer
« le: 10 Mai 2012, 13:32:47 »
Bonjour bonjour,
Je suis en train de scripter ( Je débute ) un petit DM tout simple et je bloque sur un point, j'ai fais un menu qui permet de faire spawner un véhicule, seulement j'aimerais éviter que certains abusent de la commande et fassent crasher le serveur, du coup j'ai déjà mis un Timer pour détruire le véhicule au bout de 30min (Pour eviter qu'il respawn aussi) une fois que le joueur est sortit mais ça n’empêche pas d'en créer une 50aine, du coup j'ai créer une variable que j'ai appelé comme ça :
new personalvehicle[MAX_PLAYERS];Et donc se soir je ferais un système pour que lorsque l'on se co la variable est a 0, une fois qu'on spawn un véhicule SI la variable est a 0 le véhicule spawn et la variable se met a 1 et donc on ne peu plus en spawner. Mais si on quitte le véhicule 30min et qu'il est détruit comment faire pour que la variable se mette a 0 une fois le véhicule détruit ?
Mon bout de code :
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(GetPlayerVehicleID(playerid) == vehicleidspawned[playerid])
{
SetTimerEx("DestroyVehicle",900000, 0, "d", vehicleidspawned[playerid]);
}
return 1;
}

Merci bonne journée :D

Pages: [1]