GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Dark57 le 25 Décembre 2009, 18:05:19
-
bonjours,
j'ai vu dans un serveur qu'on peu avoir une bière en main, boire quand on veut et qui rend bourré (l'écran bouge et ya plus de map)
moi, qui est débutant je cherche comment faire pour que :
-quand j'écris /beer une bière apparait dans ma main
-ensuite quand j'appuie sur Ctrl je personnage boit
-au bout de 5 verres environ l'écran bouge
-au bout de 10 verres environ le personnage marche bizare, mais qu'on peu le diriger
-que tous redevient normal après un certain temps
aidez moi svp
-
Je ne sias pas comment avoir un verre, mais il y une bouteille. Va là http://wiki.sa-mp.com/wiki/SpecialActions (http://wiki.sa-mp.com/wiki/SpecialActions)
Si non
if(strcmp(cmdtext, "/beer", true) == 0)
{
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_SPRUNK);
return 1;
}
Par contre pour enlever la bouteille, je ne sais pas comment faire, je n'ai jamais chercher a savoirr
pour le fait de boire
si le joueur a la bouteille en main (( GetPlayerSpecialAction ))
new Versbus[MAX_PLAYERS];
si il appuie sur tirer
Versbus[playerid] ++;
si verbus >= 5
tu fait bouger l'ecran
si verbus >= 10
ApplyAnimation (( cherche l'animation du mec bourrer ))
Pour l'ecran qui bouge je pense excusez moi si je me trompe que Sim ou Rambo a fait un FS desus, si non il doit y en avoir un de Seif
-
Ou tout simplement GetPlayerDrunkLevel(playerid);
-
merci beaucoup je vais essayer, sinon c'était bien une bouteille que je voulais ^^
-
Ou tout simplement GetPlayerDrunkLevel(playerid);
Pas bête ^^, mais avec cette fonction il faut combien de temps pour desaouler? Genre de 3000 à 2000? Merci
-
moi il me faut 1 minute pour me rendre au bistrot et commander une mousse pas besoin de l'effet cameras ::) :dejadehors :cheers
-
bon j'ai fais :
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/beer", true) == 0)
{
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
return 1;
}
if SetPlayerSpecialAction;
{
new Versbus[MAX_PLAYERS];
Versbus[playerid] ++;
return 1;
}
et j'ai pas continué car j'ai
killmode.pwn(31) : error 076: syntax error in the expression, or invalid function call
killmode.pwn(31) : error 036: empty statement
ligne 31 :
if SetPlayerSpecialAction;je voudrais savoir où sont mes erreurs, sinon GetPlayerDrunkLevel(playerid); j'ai pas compris ???
-
if SetPlayerSpecialAction;
completement faux
new Beer[MAX_PLAYERS];
new Versbus[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
Beer[playerid]=0;
Versbus[playerid]=0;
}
public OnPlayerDeath(playerid,killerid,reason)
{
Beer[playerid]=0;
Versbus[playerid]=0;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/beer", true) == 0)
{
if (Beer[playerid] == 0)
{
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
beer[playerid]=1;
}
else
{
Versbus[playerid] ++;
}
return 1;
}
return 0;
}
-
merci mais y'a encore des erreurs :
killmode.pwn(37) : error 017: undefined symbol "beer"
killmode.pwn(37) : warning 215: expression has no effect
killmode.pwn(37) : error 001: expected token: ";", but found "]"
killmode.pwn(37) : error 029: invalid expression, assumed zero
killmode.pwn(37) : fatal error 107: too many error messages on one line
ligne 37 :
beer[playerid]=1;
sinon pour
new Beer[MAX_PLAYERS];
new Versbus[MAX_PLAYERS];
je les ais mis pile au dessus de public OnPlayerConnect(playerid), c'est juste?
ou pour les
Beer[playerid]=0;
Versbus[playerid]=0;
comme j'ai déjà quelque chose dans public OnPlayerDeath(playerid,killerid,reason) et public OnPlayerConnect(playerid)
sa me donne :
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,"~b~Welcome",5000,5);
Beer[playerid]=0;
Versbus[playerid]=0;
return 1;
}et
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid,playerid,reason);
GameTextForPlayer(playerid,"~r~Tu es mort",2500,5);
Beer[playerid]=0;
Versbus[playerid]=0;
return 1;
}il manque quelque chose, hein??
Edition : la seul faute qui change tous : le B majuscul de Beer
car
Beer[playerid]=0; (ya une majuscule)
et beer[playerid]=1; (ya pas de majuscule)
donc j'ai mis Beer[playerid]=1;
et sa marche :...
sinon comment ajout-on l'animation DRUNK??
-
J'ai pas trop le temps, j'ai chercher dans les animation de Seif ( a la base WI KI SA-MP, mais y'avait que le nom enfin bref )
LoopingAnim(playerid,"PED","WALK_DRUNK",4.1,1,1,1,1,1);
-
sa je sais mais le problème c'est où le placer??
-
Dans le code ou le joueur est bouré
-
j'ai réussi problème : il marche bizare quand je re-écris /beer et sa s'enlève quand je tape