-
Üdv mindenkinek!Csináltam egy /random parancsot, de az a baj, hogy nemtudom megadni azt, hogy ha már egyszer használta a parancsot, akkor következõleg csak 1 perc múlva tudja...(Random = Hülyeség szerû nyeremény játék...Nyerhetsz bármit...) és azt hogy tudom, hogy csak 1 perc mulva tudja használni a parancsot?A segítségeket köszönöm elõre is!A parancsom:
CMD:random(playerid, params[])
{
new versenyall[200],verseny[200],nev[MAX_PLAYER_NAME],jatekos;
GetPlayerName(jatekos,nev,sizeof(nev));
switch ( 10 )
{
case 1:format(versenyall,sizeof(versenyall),\"{ffc800}[Verseny] {ff0000}%s {00c864}nyert {000096}egy {ff0000}M4-et {00c864}a {ff0000}/verseny {00ff00}parancsal{ff0000}!\",nev) || format(verseny,sizeof(verseny),\"{ff0000}Nyertél {000096egy {00c864}M4-et{ff0000}!\") || GivePlayerWeapon(playerid,31,500);
}
SCM(playerid,-1,verseny);
SendClientMessageToAll(-1,versenyall);
return 1;
}
-
Csak úgy mellékesen. A switch-et nem így kell használni. Verjetek meg ha tévedek
-
Switcekkel is megoldható ha jól tudom, de még csak 1 parancsot írtam...Nekem régen az isemi jól mûködött...(Hasonló)..De lehet nem jó, de akk ilyet hogy írjak? help me :D
-
CMD:verseny(playerid, params[])
{
new versenyall[200],verseny[200],nev[MAX_PLAYER_NAME],jatekos;
GetPlayerName(jatekos,nev,sizeof(nev));
switch (random(2))
{
case 1: format(versenyall,sizeof(versenyall),\"{ffc800}[Verseny] {ff0000}%s {00c864}nyert {000096}egy {ff0000}M4-et {00c864}a {ff0000}/verseny {00ff00}parancsal{ff0000}!\",nev), SendClientMessageToAll(-1, versenyall), format(verseny,sizeof(verseny),\"{ff0000}Nyertél {000096egy {00c864}M4-et{ff0000}!\");//, SCM(playerid,-1,verseny), GivePlayerWeapon(playerid,31,500);
case 2: format(versenyall,sizeof(versenyall),\"{ffc800}[Verseny] {ff0000}%s {00c864}nyert {000096}egy {ff0000}MP5-öt {00c864}a {ff0000}/verseny {00ff00}parancsal{ff0000}!\",nev), SendClientMessageToAll(-1, versenyall), format(verseny,sizeof(verseny),\"{ff0000}Nyertél {000096egy {00c864}MP5-öt{ff0000}!\");//, SCM(playerid,-1,verseny), GivePlayerWeapon(playerid,29,500);
}
return 1;
}
-
De ebben nem látok timer-t...Azt hogy kell, hogy csak 1 percenként lehessen?
-
new bool:lehetverseny;
forward versenytimer();
CMD:verseny(playerid, params[])
{
if(lehetverseny == false) return SendClientMessage(playerid, -1, \"Nem rég versenyzett valaki, várj egy kicsit!\");
new versenyall[200],verseny[200],nev[MAX_PLAYER_NAME],jatekos;
GetPlayerName(jatekos,nev,sizeof(nev));
switch (random(2))
{
case 0: format(versenyall,sizeof(versenyall),\"{ffc800}[Verseny] {ff0000}%s {00c864}nyert {000096}egy {ff0000}M4-et {00c864}a {ff0000}/verseny {00ff00}parancsal{ff0000}!\",nev), SendClientMessageToAll(-1, versenyall), format(verseny,sizeof(verseny),\"{ff0000}Nyertél {000096egy {00c864}M4-et{ff0000}!\");//, SCM(playerid,-1,verseny), GivePlayerWeapon(playerid,31,500);
case 1: format(versenyall,sizeof(versenyall),\"{ffc800}[Verseny] {ff0000}%s {00c864}nyert {000096}egy {ff0000}MP5-öt {00c864}a {ff0000}/verseny {00ff00}parancsal{ff0000}!\",nev), SendClientMessageToAll(-1, versenyall), format(verseny,sizeof(verseny),\"{ff0000}Nyertél {000096egy {00c864}MP5-öt{ff0000}!\");//, SCM(playerid,-1,verseny), GivePlayerWeapon(playerid,29,500);
lehetverseny = false;
SetTimer(\"versenytimer\", 60000, false);
}
return 1;
}
public versenytimer()
{
lehetverseny = true;
SendClientMessageToAll(-1, \"Újra lehet versenyezni, hogy ki nyeri meg az M4-et, vagy MP5-öt!\");
}
-
Csak egy észrevétel Cannonn kódjába, a random(2) két lehetséges értéket fog vissza adni. 0-át vagy 1-et.
-
Nem jó :S
Hibák:
C:\\Users\\Pál Család\\Desktop\\samp03e_svr_win32 (2)\\filterscripts\\teszt.pwn(15) : error 002: only a single statement (or expression) can follow each \"case\"
C:\\Users\\Pál Család\\Desktop\\samp03e_svr_win32 (2)\\filterscripts\\teszt.pwn(15) : error 029: invalid expression, assumed zero
C:\\Users\\Pál Család\\Desktop\\samp03e_svr_win32 (2)\\filterscripts\\teszt.pwn(15) : warning 215: expression has no effect
C:\\Users\\Pál Család\\Desktop\\samp03e_svr_win32 (2)\\filterscripts\\teszt.pwn(17) : warning 209: function \"cmd_verseny\" should return a value
C:\\Users\\Pál Család\\Desktop\\samp03e_svr_win32 (2)\\filterscripts\\teszt.pwn(18) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
3 Errors.
megpróbáltam módosítani, de nem jön össze :S
-
CMD:random( playerid, params[] )
{
new
szName[ MAX_PLAYER_NAME + 1 ],
szFormat[ 128 + 1 ];
GetPlayerName( playerid, szName, MAX_PLAYER_NAME );
switch( random( 2 ) )
{
case 0:
{
format( szFormat, sizeof( szFormat ), \"*** %s(%d) Nevû játékos nyert egy M4-et, a /random paranccsal!\", szName, playerid );
SendClientMessageToAll( 0xFF0000AA, szFormat );
SendClientMessage( playerid, 0xFF0000AA, \"Nyertél egy M4-et.\" );
GivePlayerWeapon( playerid, 31, 500 );
}
case 1:
{
format( szFormat, sizeof( szFormat ), \"*** %s(%d) Nevû játékos nyert egy MP5-öt, a /random paranccsal!\", szName, playerid );
SendClientMessageToAll( 0xFF0000AA, szFormat );
SendClientMessage( playerid, 0xFF0000AA, \"Nyertél egy MP5-öt.\" );
GivePlayerWeapon( playerid, 29, 500 );
}
}
return 1;
}