GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: LePtitClown le 09 Avril 2009, 13:42:28
-
Salut
Je n'arrive pas à réaliser une tempo de 30 seconde dans la une cellule de LV, existe t-ill des tutos???
A++
-
pour ton interieur il faut que tu aille dans ta prison et que tu tappe /interior et la l'id de l'interieur ce met.
++ Franky
-
Pour la prison ça y est j'ai réussi, j'ai tapé /interior comme tu dis
Maintenant je recherche un tuto pour réaliser une tempo pour ma prison
A++ :)
-
SetTimer
Utilise sa, comme sa tu pourras définir un temps pour sortir de la cellule..
-
J'en suis ici, il me reste à mettre un timer et j'ai un autre problème je ne veux pas que ce soit le flic qui parte en prison mais bien un autre joueur en tapant /prison id
code:
new timer[MAX_PLAYERS];
if(gTeam[playerid] == TEAM_FLICS)
{
if(strcmp(cmd, "/prison", true) == 0)
{
SetPlayerInterior(playerid, 3); // INTERIORID : Mets l'id de l'intérieur
SetPlayerPos(playerid, 198.4599, 161.8843, 1003.0234); // intérieur prison
SendClientMessage(playerid, COLOR_BLUE, "Bienvenue en prison délinquant!");
SendClientMessageToAll( COLOR_BLUE, "Un joueur vient d'être arrêté et mis en prison");
timer[playerid] = SetTimerEx("T1",7000,1, "i", playerid);
KillTimer(timer[playerid]);
Si quelqu'un a des réponses à mes questions merci de répondre :)
A++
-
Salut,
Je vais t'aider un peu,
Tout en haut du script met sa:
forward Prison();
Ensuite, dans la callback => OnGameModeInitAjoute y sa: SetTimer("Prison", 7000, 1);
Allez, je t'es beaucoup aidé..
-
Dans la callback code: OneGameModeInit
Je dois faire quoi exactement stp?
A+ :)
-
Mettre un timer
SetTimer("Prison", 7000, 1);
-
Je vais essyer ça merci
-
Salut
Je n'arrive pas à réaliser une tempo de 30 seconde dans la une cellule de LV, existe t-ill des tutos???
A++
si je comprend tu veut une auto liberation quand la personne et envoyer en prison ??
desoler mais j'ai du mal a comprendre en faite de plus
je pige meme pas les reponse qu'on re donne :s
voila ce que je comprend moi
les position seront a changer evidement
forward Unjail (playerid);
new prison[MAX_PLAYERS];
if(strcmp(cmd, "/prison", true) == 0)
{
new tmpp[256];
tmp = strtok(cmdtext, idx);
tmpp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xEFEFF7AA, "Usage: /prison [playerid] [seconds]");
return 1;
}
giveplayerid = strval(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new Second = strval(tmpp);
if(logged[playerid] == 1)
{
if(gTeam[playerid] == TEAM_FLICS)
{
format(string, sizeof(string), "Vous enfermer %s(%i)pendant %d secondes", giveplayer, giveplayerid, Second);
SendClientMessage(playerid, 0xEFEFF7AA, string);
format(string, sizeof(string), "Information %s enferme %s(%i)pendant %d secondes", sendername, giveplayer, giveplayerid, Second);
SendClientMessageToAll(0xEFEFF7AA, string,1);
format(string, sizeof(string), "Vous etes enfermer pendant %d secondes par %s", Second, sendername);
SendClientMessage(giveplayerid, 0xEFEFF7AA, string);
format(string, sizeof(string), "Le policier %s a emprisoner %s pendant %d secondes", sendername, giveplayer, Second);
SendClientMessageToAll(0xEFEFF7AA, string);
SetPlayerInterior(giveplayerid, 3);
SetPlayerPos(giveplayerid, 197.6661,173.8179,1003.0234);
prison[giveplayerid] = 1;
SetTimerEx("Unjail", Second*1000, 0, "i", giveplayerid);
}
else
{
SendClientMessage(playerid, 0xAA3333AA, "cette commande est reserver a la team FLIC!");
}
}
else
{
SendClientMessage(playerid,0xAA3333AA, "Veuillez vous loguer pour utiliser cette commande!");
}
return 1;
}
public Unjail (playerid)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1579.2653,-1636.5597,13.5532);
SetPlayerFacingAngle(playerid,94.5551);
SetCameraBehindPlayer(playerid);
prison[playerid] = 0;
}
voila j'espere avoir etait assez utile .
-
Merci à toi
Oui il est util mais assez difficile à comprendre
J'ai pleins d'erreurs
A++
-
fais y dont voir tes erreure
attention je les coder sur le site meme donc sa reste a voir
-
Non mais ça doit venir de moi tu en aurias pas un plus simple car sur mon serveur il n'y a pa de logue et tout et tou moi je veux taper /prison et hop en tole pendant 30s sans qu'il n'y ait des elese et tout et tout
car la ça me donne ça ( ça vient sûrement de moi mais bon je comprend pas ces fonctions
erreurs:
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(41) : warning 201: redefinition of constant/macro (symbol "Text_Minimap")
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(170) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(204) : error 017: undefined symbol "strtok"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(204) : error 033: array must be indexed (variable "cmd")
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(207) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(208) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(209) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(210) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(211) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(212) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(217) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(218) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(219) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(220) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(221) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(226) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(227) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(228) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(229) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(233) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(234) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(235) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(239) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(240) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(241) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(257) : error 079: inconsistent return types (array & non-array)
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm11.pwn(265) : error 079: inconsistent return types (array & non-array)
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
26 Errors.
A++ :)
-
il manque une accolade
-
place ca a la fin de ton Gm
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
-
arf je penser qu'il avait deja moi
-
J'ai beaucoup moins d'erreurs de différents types mais il y a toujours la même qui se répète plusieurs fois même après avoir ajouter le bout de script à sasuke
erreurs:
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(170) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(204) : error 017: undefined symbol "strtok"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(204) : error 033: array must be indexed (variable "cmd")
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(207) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(208) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(209) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(210) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(211) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(212) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(217) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(218) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(219) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(220) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(221) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(226) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(227) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(228) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(229) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(233) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(234) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(235) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(239) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(240) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(241) : error 017: undefined symbol "SendPlayerFormattedText"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(257) : error 079: inconsistent return types (array & non-array)
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(265) : error 079: inconsistent return types (array & non-array)
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
A++
-
petite faute de frappe de ma part
change
SendClientMessageToAll(0xEFEFF7AA, string,1);en
SendClientMessageToAll(0xEFEFF7AA, string);desoler encore
-
Lol ne dis pas désolé tu m'aides
PS: j'avais vu la faute je l'ai supprimé mais ça ne chnage toujours rine
A++
-
mais a quelle ligne coorespond tes erreure car je voit pas trop la
-
Il en a vraiment de toutes les sortes je pense qu'il y a une ligne qui n'est pas définie donc qui m' désactive pleins
-
le plus gros probleme vient de la SendPlayerFormattedText
-
Oui je sais d'ailleurs il ne faut pa faire un new ou un define..... pour réparer ces erreurs????
-
a tu ceci dans le OnPlayerCommandText cmd = strtok(cmdtext, idx);
-
Oui tout au début du One Player ( j'ai le Gm LV-DM)
je viens de rajouter ça au début: new SendPlayerFormattedText;
je n'ai plus que 5 erreuer mais problème toutes ces erreurs sont sur une ligne qui n'a aucuen rapport avec le script flic
ligne:SendPlayerFormattedText(playerid, "Bienvenue sur le serveur LV-DM de LePtitClown, pour les commandes d'aide tapez /aide.", 0);
erreurs:
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(172) : error 012: invalid function call, not a valid address
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(172) : warning 215: expression has no effect
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(172) : warning 215: expression has no effect
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(172) : warning 215: expression has no effect
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(172) : error 001: expected token: ";", but found ")"
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(172) : error 029: invalid expression, assumed zero
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\GAMEMO~1\lvdm12.pwn(172) : fatal error 107: too many error messages on one line
A++
-
je ne savais pas quel gm tu avait modifie toute mes phrases ^^
-
change sendplayerformatted par sendclientmessage
-
Le problème ne doit pas être celui la car dans mon GM LV-DM même la commande est une /aide est en SendPlayerFormattedText; et il n'y a jamais eu de problème.
En ce moment j'essaye de chercher un script avec un timer plus simple à comprendre car je n'ai pas besoin de toutes ces conditions. Moi je veux juste que quand le joueur soit un flic il fasse /prison id et l id en question est en prison pour par exemple 30s. Je n'ai pas besoin que ce joueur soir loguer ou non car de toute façon je n'ai pas de système avec register et login. Je n'ai pas besoin non plus que quand il tape /prison sans l'ID qu'un message s'affiche pour lui dire qu'il a oublié quelque chose dans sa commande.
En gros je recherche un timer tout simple pour mettre un joueur en prison pendant 30s si il fait parti de la team flic.
A++ :)
Double post
Salut
Est t-il possible d'autoriser le port des armes dans certains bâtiments par exemple dans mon cas dans la prison?
A+ :)
-
Tu veux dire ?
De pouvoir, quand on est dans un interieur, utiliser les armes ? Si c'est ca, il y a un petit code, ca commence par Enable..jesaisplusquoi. Cherche sur wiki samp.
-
Salut,
je t'en ai recréé une version simple à l'aide des dcmd:
En haut complètement:
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1dans ta callback OnPlayerCommandText:
dcmd(rjail, 5, cmdtext);
En bas de ton code:
dcmd_rjail(playerid, params[])
{
if(gTeam[playerid] == TEAM_FLIC)
{
if(!params[0])
{
SendClientMessage(playerid, COLOR_RED, "USAGE: /rjail [joueur]");
return 1;
}
new pid = strval(params);
if(!IsPlayerConnected(pid))
{
SendClientMessage(playerid, COLOR_RED, "Ce joueur n,est pas connecté!");
return 1;
}
PutPlayerInJail(pid);
SetTimerEx("Unjail", 30000, 0, "i", pid);
SendClientMessage(playerid, COLOR_WHITE, "Tu l'as mis en prison!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Tu n'est pas flic!");
}
return 1;
}
stock PutPlayerInJail(playerid)
{
SetPlayerInterior(giveplayerid, 3);
SetPlayerPos(giveplayerid, 197.6661,173.8179,1003.0234);
prison[giveplayerid] = 1;
}
en passant il faudra sans doute que tu ajuste certains trucs comme le nom de la team, les couleurs et tu devras prendre la fonction Unjail de Cristab...
++Sim++
-
Salut merci à toi pour ton aide
est il possible de mettre ce script dans un FS au cas où si un jour je venais à changer de GM j'aurai encore ce script???
A++ :D
-
Oui tu peux.
Les FS sont formé de la meme facon que les GM, mais sont chargés en parallèle au GM ... Il te suffit de mettre ce que t'a dit Sim dans un Nouveau fichier pawno et de le mettre dans le dossier des FS. ;)
++
nikko